2016-09-25  Chris Dumez  <cdumez@apple.com>

        Unviewed, skip slow web-platform test in Debug builds

        The following test is slow and frequently times out for Debug builds:
        imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm

        * TestExpectations:

2016-09-25  Chris Dumez  <cdumez@apple.com>

        Unreviewed, mark fast/dom/HTMLAnchorElement/anchor-download.html as flaky on WK2.

        * platform/mac-wk2/TestExpectations:

2016-09-24  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r206221): [USER] com.apple.WebKit.WebContent.Development at com.apple.JavaScriptCore: vmEntryToJavaScript + 299
        https://bugs.webkit.org/show_bug.cgi?id=162536
        <rdar://problem/28415971>

        Reviewed by Gavin Barraclough.

        Add layout test coverage.

        * http/tests/security/cross-origin-window-property-caching-crash-expected.txt: Added.
        * http/tests/security/cross-origin-window-property-caching-crash.html: Added.

2016-09-24  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r205524): Crash under WTF::numGraphemeClusters()
        https://bugs.webkit.org/show_bug.cgi?id=162534
        <rdar://problem/28463828>

        Reviewed by David Kilzer.

        Add layout test coverage.

        * fast/dom/HTMLInputElement/handleBeforeTextInsertedEvent-crash-expected.txt: Added.
        * fast/dom/HTMLInputElement/handleBeforeTextInsertedEvent-crash.html: Added.

2016-09-24  Chris Dumez  <cdumez@apple.com>

        <a download> does not support Blob URLs
        https://bugs.webkit.org/show_bug.cgi?id=156099
        <rdar://problem/25535520>

        Reviewed by Darin Adler.

        Unskip / rebaseline existing tests now that <a download> supports Blob URLs.

        * TestExpectations:
        * fast/dom/HTMLAnchorElement/anchor-download-expected.txt:
        * fast/dom/HTMLAnchorElement/anchor-download-synthetic-click-expected.txt: Added.
        * fast/dom/HTMLAnchorElement/anchor-download-synthetic-click.html: Added.
        * fast/dom/HTMLAnchorElement/anchor-nodownload-set-expected.txt:
        * http/tests/security/anchor-download-allow-blob-expected.txt:
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:

2016-09-24  Chris Dumez  <cdumez@apple.com>

        [WK2] anchor.download attribute value is ignored by NETWORK_SESSION code path
        https://bugs.webkit.org/show_bug.cgi?id=162531

        Reviewed by Darin Adler.

        Unskip tests that are now passing.

        * platform/mac/TestExpectations:

2016-09-23  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !newRelayoutRoot.container() || is<RenderView>(newRelayoutRoot.container()) || !newRelayoutRoot.container()->needsLayout() while loading sohu.com
        https://bugs.webkit.org/show_bug.cgi?id=162466

        Reviewed by Simon Fraser.

        * fast/block/positioning/subtree-assert-when-positioned-element-dirties-containing-block-expected.txt: Added.
        * fast/block/positioning/subtree-assert-when-positioned-element-dirties-containing-block.html: Added.

2016-09-23  Ryan Haddad  <ryanhaddad@apple.com>

        Remove debug flag for flaky test js/regress-139548.html.
        https://bugs.webkit.org/show_bug.cgi?id=160017

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-23  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations to mark media/controls/inline-elements-dropoff-order.html as failing on Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=162494

        Unreviewed test gardening.
        * platform/mac/TestExpectations:

2016-09-23  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/media-source/mediasource-preload.html as flaky on Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=162523

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-09-23  Chris Dumez  <cdumez@apple.com>

        Align HTMLLabelElement.prototype.form with the HTML specification
        https://bugs.webkit.org/show_bug.cgi?id=162369

        Reviewed by Ryosuke Niwa.

        Update existing tests to reflect behavior change. I have verified
        that Firefox and Chrome were failing those tests.

        * fast/dom/HTMLLabelElement/form/test1.html:
        * fast/forms/form-attribute-expected.txt:
        * fast/forms/form-attribute-nonexistence-form-id-expected.txt:
        * fast/forms/form-attribute-nonexistence-form-id.html:
        * fast/forms/form-attribute.html:

2016-09-23  Ryan Haddad  <ryanhaddad@apple.com>

        Temporarily skipping media/media-source/media-source-duplicate-seeked.html on mac.
        https://bugs.webkit.org/show_bug.cgi?id=162496

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-09-22  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] ASSERT when sizing tracks with percentages inside calc
        https://bugs.webkit.org/show_bug.cgi?id=162383

        Reviewed by Darin Adler.

        * fast/css-grid-layout/tracks-wider-min-track-breadth-crash-expected.txt: Added.
        * fast/css-grid-layout/tracks-wider-min-track-breadth-crash.html: Added.

2016-09-23  Chris Dumez  <cdumez@apple.com>

        document.title getter does not strip / collapse the right whitespace characters
        https://bugs.webkit.org/show_bug.cgi?id=162468

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect behavior change.

        * fast/dom/Document/script-tests/document-title-get.js:

2016-09-23  Chris Dumez  <cdumez@apple.com>

        Align Element.insertAdjacentHTML() with the specification
        https://bugs.webkit.org/show_bug.cgi?id=162479

        Reviewed by Sam Weinig.

        Add layout test coverage for calling insertAdjacentHTML on an element
        whose parent is a DocumentFragment. I have verified that this test is
        passing in Firefox.

        * fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
        * fast/dom/insertAdjacentHTML-DocumentFragment-parent-expected.txt: Added.
        * fast/dom/insertAdjacentHTML-DocumentFragment-parent.html: Added.

2016-09-23  Commit Queue  <commit-queue@webkit.org>

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

        needs corresponding API change in bug 162475 (Requested by
        alexchristensen on #webkit).

        Reverted changeset:

        "Non-special URLs should have an opaque origin"
        https://bugs.webkit.org/show_bug.cgi?id=162254
        http://trac.webkit.org/changeset/206165

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

        REGRESSION (206001): Scrubbed video on Youtube stops playing
        https://bugs.webkit.org/show_bug.cgi?id=162481
        <rdar://problem/28436707>

        Reviewed by Eric Carlson.

        * media/media-source/media-source-seek-back-expected.txt: Added.
        * media/media-source/media-source-seek-back.html: Added.

2016-09-23  Per Arne Vollan  <pvollan@apple.com>

        Skip failing html/syntax web platform test on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=162415

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2016-09-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r194387): Crash on github.com in IntlDateTimeFormat::resolvedOptions in C locale
        https://bugs.webkit.org/show_bug.cgi?id=162139

        Reviewed by Michael Catanzaro.

        * js/intl-invalid-locale-crash-expected.txt: Added.
        * js/intl-invalid-locale-crash.html: Added.

2016-09-22  Megan Gardner  <megan_gardner@apple.com>

        Add long press selection test
        https://bugs.webkit.org/show_bug.cgi?id=162367

        Reviewed by Simon Fraser.

        Added test for long press selection.

        * fast/events/touch/ios/long-press-to-select-text-expected.txt: Added.
        * fast/events/touch/ios/long-press-to-select-text.html: Added.

2016-09-22  Brady Eidson  <beidson@apple.com>

        IDBIndex.openCursor() matches indices on multiple object stores.
        <rdar://problem/28434463> and https://bugs.webkit.org/show_bug.cgi?id=158833

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-expected.txt: Added.
        * storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-private-expected.txt: Added.
        * storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-private.html: Added.
        * storage/indexeddb/modern/multiple-objectstore-index-cursor-collision.html: Added.
        * storage/indexeddb/modern/resources/multiple-objectstore-index-cursor-collision.js: Added.

2016-09-22  Daniel Bates  <dabates@apple.com>

        [CSP] Violation report may be sent to wrong domain on frame-ancestors violation
        https://bugs.webkit.org/show_bug.cgi?id=162079
        <rdar://problem/28321575>

        Reviewed by Andy Estes.

        Modified http/tests/security/contentSecurityPolicy/resources/save-report.php to print the HTTP Host header as a means
        to validate that the CSP violation report was sent to the appropriate host. Update test expectations.

        Note that the presence of "localhost" in the HTTP Host header in the test results for tests
        security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin.html and
        security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https.html
        verify that we resolve a relative URL CSP report URI with respect to the blocked URL.

        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-https-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-https.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin.html:
        * http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-file-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-only-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
        * http/tests/security/contentSecurityPolicy/resources/save-report.php:
        * http/tests/security/xssAuditor/report-script-tag-expected.txt:
        * http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
        * http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt:

2016-09-22  Daniel Bates  <dabates@apple.com>

        [XSS Auditor] HTML5 entities can bypass XSS Auditor
        https://bugs.webkit.org/show_bug.cgi?id=161939
        <rdar://problem/25819815>

        Reviewed by David Kilzer.

        * http/tests/security/xssAuditor/script-tag-with-source-data-url5-expected.txt: Added.
        * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: Added.

2016-09-22  Daniel Bates  <dabates@apple.com>

        [XSS Auditor] Truncate data URLs at quotes
        https://bugs.webkit.org/show_bug.cgi?id=161937

        Reviewed by David Kilzer.

        * http/tests/security/xssAuditor/resources/echo-property.pl:
        * http/tests/security/xssAuditor/script-tag-with-source-data-url4-expected.txt: Added.
        * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: Added.

2016-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/media-source/mediasource-duration.html as flaky on mac.
        https://bugs.webkit.org/show_bug.cgi?id=162308

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r206112.

        This change made inspector/network/xhr-json-blob-has-
        content.html very flaky.

        Reverted changeset:

        "Web Inspector: adopt Object.awaitEvent in
        LayoutTests/inspector/network"
        https://bugs.webkit.org/show_bug.cgi?id=162099
        http://trac.webkit.org/changeset/206112

2016-09-22  Youenn Fablet  <youenn@apple.com>

        imported/w3c/web-platform-tests/resource-timing/idlharness.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=162414

        Unreviewed.

        * TestExpectations:

2016-09-22  Jonathan Bedard  <jbedard@apple.com>

        Automatic Text Replacement Testing in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=161919

        Reviewed by Ryosuke Niwa.

        Implemented test hooks for text replacement for WebKit2.
        Note that spell checking has not been implemented, so most tests which use text replacement still fail.

        * editing/inserting/smart-link-when-caret-is-moved-before-URL.html: Use internals instead of TestRunner.
        * editing/inserting/typing-space-to-trigger-smart-link.html: Ditto.
        * platform/efl/TestExpectations: Added port specific tests.
        * platform/gtk/TestExpectations: Added port specific tests.
        * platform/ios-simulator/TestExpectations: Added port specific tests.
        * platform/ios-simulator-wk1/TestExpectations: Moved skipped tests to ios-simulator.
        * platform/ios-simulator-wk2/TestExpectations: Moved skipped tests to ios-simulator.
        * platform/mac-wk2/TestExpectations: Removed passing test.
        * platform/win/TestExpectations: Added port specific tests.
        * platform/wk2/TestExpectations: Added better explanation for failing test.

2016-09-22  Youenn Fablet  <youenn@apple.com>

        Sync web-platform-tests up to revision 3801ab5
        https://bugs.webkit.org/show_bug.cgi?id=162375

        Reviewed by Chris Dumez.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/resource-timing/idlharness-expected.txt: Added.
        * platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:
        * tests-options.json:

2016-09-22  Nan Wang  <n_wang@apple.com>

        AX: aria-pressed state not correctly conveyed to VoiceOver iOS on <button> unless role=button added
        https://bugs.webkit.org/show_bug.cgi?id=162269

        Reviewed by Chris Fleizach.

        Added test cases and also fixed a wrong expected output.

        * accessibility/ios-simulator/aria-pressed-state-expected.txt:
        * accessibility/ios-simulator/aria-pressed-state.html:

2016-09-22  Youenn Fablet  <youenn@apple.com>

        CachedResourceRequest should store a SecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=162258

        Reviewed by Sam Weinig.

        Updated test to expect load even though CORS checks should fail as the document origin has universal access.

        * http/tests/local/script-crossorigin-loads-fail-origin-expected.txt: Removed.
        * http/tests/local/script-crossorigin-loads-file-scheme-expected.txt: Added.
        * http/tests/local/script-crossorigin-loads-file-scheme.html: Renamed from LayoutTests/http/tests/local/script-crossorigin-loads-fail-origin.html.

2016-09-19  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Remove the x2 computation of row sizes with indefinite heights
        https://bugs.webkit.org/show_bug.cgi?id=162150

        Reviewed by Darin Adler.

        Added a new reftest to check the behavior of grids acting also as grid items and how the
        track sizing of rows depend on that. It includes tests for grids which stretch their
        children and grids which do not.

        Apart from that some expected results were updated so that they no longer fail.

        * fast/css-grid-layout/maximize-tracks-definite-indefinite-height.html: Updated expectations.
        * fast/css-grid-layout/nested-grid-expected.html: Added.
        * fast/css-grid-layout/nested-grid.html: Added.
        * fast/css-grid-layout/percent-track-breadths-regarding-container-size.html: Removed FIXME.
        * fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt: Fixed 2
        failing tests.

2016-09-21  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update ios-simulator-wk1 test expectations

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

2016-09-21  Chris Dumez  <cdumez@apple.com>

        Setting HTMLMeterElement's attributes to non-finite values throws wrong exception type
        https://bugs.webkit.org/show_bug.cgi?id=162364

        Reviewed by Darin Adler.

        Update existing test to reflect behavior change.

        * fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:
        * fast/dom/HTMLMeterElement/set-meter-properties-expected.txt:

2016-09-21  Chris Dumez  <cdumez@apple.com>

        Fix serialization of HTML Element attributes
        https://bugs.webkit.org/show_bug.cgi?id=162356

        Reviewed by Alex Christensen.

        Rebaseline test to reflect behavior change.

        * editing/pasteboard/paste-noscript-expected.txt:

2016-09-21  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Improve output of TestHarness.expect* failures
        https://bugs.webkit.org/show_bug.cgi?id=162177
        <rdar://problem/28367186>

        Reviewed by Joseph Pecoraro.

        Extend coverage to more TestHarness messages by omitting the optional
        `message` parameter when calling expect* functions.

        Other improvements:
        - expectEqual/expectNotEqual should test WebInspector object instances,
          to cover more TestHarness message formatting cases.
        - expectEqual/expectNotEqual should test shallow equal arrays, since the
          test is for strict equality.

        * inspector/indexeddb/requestData-expected.txt:
        * inspector/unit-tests/number-utilities-expected.txt:
        Updated expectations for new TestHarness output.

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

2016-09-21  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/css/manager-preferredInspectorStyleSheetForFrame.html as flaky on mac.
        https://bugs.webkit.org/show_bug.cgi?id=162305

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-09-21  Chris Dumez  <cdumez@apple.com>

        Object.getOwnPropertyDescriptor() does not work correctly cross origin
        https://bugs.webkit.org/show_bug.cgi?id=162311

        Reviewed by Gavin Barraclough.

        Add layout test coverage.

        * http/tests/security/cross-origin-descriptors-expected.txt: Added.
        * http/tests/security/cross-origin-descriptors.html: Added.

2016-09-21  Daniel Bates  <dabates@apple.com>

        REGRESSION (r201090): Setting style.webkitTextSizeAdjust does not change text change on iPad
        https://bugs.webkit.org/show_bug.cgi?id=162227
        <rdar://problem/27201529>

        Reviewed by Simon Fraser.

        Add tests to ensure setting the CSS property -webkit-text-size-adjust in a stylesheet or
        programmatically is respected on iPhone and iPad. Also added a test to ensure that this
        CSS property is ignored on macOS by default.

        Note that we have existing tests that ensure that -webkit-text-size-adjust is respected
        on macOS when the internal setting Settings::textAutosizingEnabled() is enabled.

        * fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected.txt: Added.
        * fast/text-autosizing/ios/ipad/programmatic-text-size-adjust.html: Added.
        * fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected.html: Added.
        * fast/text-autosizing/ios/ipad/text-size-adjust-inline-style.html: Added.
        * fast/text-autosizing/ios/programmatic-text-size-adjust-expected.txt: Added.
        * fast/text-autosizing/ios/programmatic-text-size-adjust.html: Added.
        * fast/text-autosizing/ios/text-size-adjust-inline-style-expected.html: Added.
        * fast/text-autosizing/ios/text-size-adjust-inline-style.html: Added.
        * fast/text-autosizing/text-size-adjust-inline-style-expected.html: Added.
        * fast/text-autosizing/text-size-adjust-inline-style.html: Added.
        * platform/mac/TestExpectations: Skip the iOS and iPad tests on Mac. Otherwise, they will fail
        because these tests intentionally do not call window.internal.settings.setTextAutosizingEnabled(true)
        so as to test the default port behavior. And on Mac automatic text size adjustment is disabled
        by default.

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

        Unreviewed gardening; after r206208, update url-null.html test to reflect current (specced) behavior.

        * fast/files/url-null-expected.txt:
        * fast/files/url-null.html:

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

        Unreviewed gardening; mark imported/w3c/web-platform-tests/media-source/ tests as passing by default
        and mark specific tests to skip or fail (rather than vice versa).

        * platform/mac/TestExpectations:

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

        [media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-activesourcebuffers.html
        https://bugs.webkit.org/show_bug.cgi?id=162257

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:

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

        [media-source] Fix imported/w3c/web-platform-tests/media-source/URL-createObjectURL-null.html
        https://bugs.webkit.org/show_bug.cgi?id=162299

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:

2016-09-21  Youenn Fablet  <youenn@apple.com>

        [Fetch] Align Accept header default values with fetch spec
        https://bugs.webkit.org/show_bug.cgi?id=162260

        Reviewed by Sam Weinig.

        * http/tests/misc/resources/image-checks-for-accept.php: Updated according new image Accept header value.

2016-09-21  Chris Dumez  <cdumez@apple.com>

        Import html/syntax web platform tests
        https://bugs.webkit.org/show_bug.cgi?id=162331

        Reviewed by Youenn Fablet.

        * tests-options.json:

2016-09-20  Nan Wang  <n_wang@apple.com>

        AX: AppleVisUser: VO can't navigate web dialogs iOS10
        https://bugs.webkit.org/show_bug.cgi?id=162322

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/dialog-did-become-focused-expected.txt: Added.
        * accessibility/ios-simulator/dialog-did-become-focused.html: Added.

2016-09-20  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r204552): Athlete search on Strava gives bad rendering.
        https://bugs.webkit.org/show_bug.cgi?id=162250

        Reviewed by Simon Fraser.

        While computing the size of a particular layer, we unite the content size and the descendant layers' size.
        If a descendant layer is positioned far off, the computed rectangle might not fully cover the original rectangles.
        This happens when the 2 rectangles' distance is close to the maximum LayoutUnit value.
        It's fairly common technic to put some content offscreen (top: -99999999px;). In order to keep the main content
        visible, we need to ensure that the parent layer never gets cut off, while uniting it with the descendant layers.

        * fast/layers/blank-content-when-child-layer-is-at-negative-big-number-expected.html: Added.
        * fast/layers/blank-content-when-child-layer-is-at-negative-big-number.html: Added.

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

        [media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-appendwindow.html
        https://bugs.webkit.org/show_bug.cgi?id=162306

        Reviewed by Darin Adler.

        * platform/mac/TestExpectations:

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

        [media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-preload.html
        https://bugs.webkit.org/show_bug.cgi?id=162304

        Reviewed by Darin Adler.

        * platform/mac/TestExpectations:

2016-09-20  Nan Wang  <n_wang@apple.com>

        AX: voiceover does not read contents of input role="spinbutton"
        https://bugs.webkit.org/show_bug.cgi?id=162137

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/spinbutton-expected.txt:
        * accessibility/ios-simulator/spinbutton.html:

2016-09-20  Alex Christensen  <achristensen@webkit.org>

        Non-special URLs should have an opaque origin
        https://bugs.webkit.org/show_bug.cgi?id=162254

        Reviewed by Sam Weinig.

        * http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
        * http/tests/security/postMessage/invalid-origin-throws-exception.html:

2016-09-20  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] The 'grid' shorthand has a new syntax.
        https://bugs.webkit.org/show_bug.cgi?id=161954

        Reviewed by Darin Adler.

        Adapted the already defined test cases to the new syntax of the
        'grid' shorthand. Also added a few additional test cases.

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

2016-09-20  Ryan Haddad  <ryanhaddad@apple.com>

        Marking js/regress-139548.html as a flaky timeout on mac-wk2 debug.
        https://bugs.webkit.org/show_bug.cgi?id=160017

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-20  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/model
        https://bugs.webkit.org/show_bug.cgi?id=162074

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/model/frame-extra-scripts.html:
        * inspector/model/scope-chain-node.html:
        * inspector/model/script-resource-relationship-expected.txt:
        * inspector/model/script-resource-relationship.html:
        * inspector/model/stack-trace.html:

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

        [media-source] Support MediaSource.setLiveSeekableRanges()
        https://bugs.webkit.org/show_bug.cgi?id=162252

        Reviewed by Sam Weinig.

        * platform/mac/TestExpectations:
        * platform/mac/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/css
        https://bugs.webkit.org/show_bug.cgi?id=162071

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/css/createStyleSheet.html:
        * inspector/css/generate-css-rule-string.html:
        * inspector/css/manager-preferredInspectorStyleSheetForFrame-expected.txt:
        * inspector/css/manager-preferredInspectorStyleSheetForFrame.html:
        * inspector/css/stylesheet-events-basic.html:
        * inspector/css/stylesheet-events-inspector-stylesheet.html:
        * inspector/css/stylesheet-events-multiple-documents.html:

2016-09-19  Chris Dumez  <cdumez@apple.com>

        Align HTMLAppletElement with the specification
        https://bugs.webkit.org/show_bug.cgi?id=162240

        Reviewed by Alex Christensen.

        Drop outdated tests. Update existing tests to reflect behavior change.

        * dom/html/level2/html/HTMLAppletElement11-expected.txt: Removed.
        * dom/html/level2/html/HTMLAppletElement11.html: Removed.
        * dom/html/level2/html/HTMLAppletElement11.js: Removed.
        * dom/xhtml/level2/html/HTMLAppletElement11-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLAppletElement11.js: Removed.
        * dom/xhtml/level2/html/HTMLAppletElement11.xhtml: Removed.
        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/http/tests/inspector
        https://bugs.webkit.org/show_bug.cgi?id=162069

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * http/tests/inspector/dom/disconnect-dom-tree-after-main-frame-navigation.html:
        * http/tests/inspector/network/copy-as-curl.html:
        * http/tests/inspector/network/resource-timing-expected.txt:
        * http/tests/inspector/network/resource-timing.html:
        * http/tests/inspector/network/xhr-request-data-encoded-correctly.html:

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

        [media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-avtracks.html
        https://bugs.webkit.org/show_bug.cgi?id=162104

        Reviewed by Eric Carlson.

        * imported/w3c/web-platform-tests/media-source/mediasource-avtracks-expected.txt
        * platform/mac/TestExpectations:

2016-09-19  Daniel Bates  <dabates@apple.com>

        Remove ENABLE(TEXT_AUTOSIZING) automatic text size adjustment code
        https://bugs.webkit.org/show_bug.cgi?id=162167

        Reviewed by Simon Fraser.

        * TestExpectations:
        * fast/text-autosizing/cluster-inline-block-or-table-expected.html: Removed.
        * fast/text-autosizing/cluster-inline-block-or-table.html: Removed.
        * fast/text-autosizing/cluster-inline-grid-flex-box-expected.html: Removed.
        * fast/text-autosizing/cluster-inline-grid-flex-box.html: Removed.
        * fast/text-autosizing/cluster-list-item-expected.html: Removed.
        * fast/text-autosizing/cluster-list-item.html: Removed.
        * fast/text-autosizing/cluster-narrow-in-wide-expected.html: Removed.
        * fast/text-autosizing/cluster-narrow-in-wide-ohidden-expected.html: Removed.
        * fast/text-autosizing/cluster-narrow-in-wide-ohidden.html: Removed.
        * fast/text-autosizing/cluster-narrow-in-wide.html: Removed.
        * fast/text-autosizing/cluster-wide-in-narrow-expected.html: Removed.
        * fast/text-autosizing/cluster-wide-in-narrow.html: Removed.
        * fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html: Removed.
        * fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html: Removed.
        * fast/text-autosizing/cluster-with-narrow-lca-expected.html: Removed.
        * fast/text-autosizing/cluster-with-narrow-lca.html: Removed.
        * fast/text-autosizing/cluster-with-wide-lca-expected.html: Removed.
        * fast/text-autosizing/cluster-with-wide-lca.html: Removed.
        * fast/text-autosizing/clusters-insufficient-text-expected.html: Removed.
        * fast/text-autosizing/clusters-insufficient-text.html: Removed.
        * fast/text-autosizing/clusters-insufficient-width-expected.html: Removed.
        * fast/text-autosizing/clusters-insufficient-width.html: Removed.
        * fast/text-autosizing/clusters-sufficient-text-except-in-root-expected.html: Removed.
        * fast/text-autosizing/clusters-sufficient-text-except-in-root.html: Removed.
        * fast/text-autosizing/clusters-sufficient-width-expected.html: Removed.
        * fast/text-autosizing/clusters-sufficient-width.html: Removed.
        * fast/text-autosizing/constrained-and-overflow-auto-ancestor-expected.html: Removed.
        * fast/text-autosizing/constrained-and-overflow-auto-ancestor.html: Removed.
        * fast/text-autosizing/constrained-and-overflow-hidden-ancestor-expected.html: Removed.
        * fast/text-autosizing/constrained-and-overflow-hidden-ancestor.html: Removed.
        * fast/text-autosizing/constrained-and-overflow-paged-x-ancestor-expected.html: Removed.
        * fast/text-autosizing/constrained-and-overflow-paged-x-ancestor.html: Removed.
        * fast/text-autosizing/constrained-and-overflow-scroll-ancestor-expected.html: Removed.
        * fast/text-autosizing/constrained-and-overflow-scroll-ancestor.html: Removed.
        * fast/text-autosizing/constrained-height-ancestor-expected.html: Removed.
        * fast/text-autosizing/constrained-height-ancestor.html: Removed.
        * fast/text-autosizing/constrained-height-body-expected.html: Removed.
        * fast/text-autosizing/constrained-height-body.html: Removed.
        * fast/text-autosizing/constrained-maxheight-ancestor-expected.html: Removed.
        * fast/text-autosizing/constrained-maxheight-ancestor.html: Removed.
        * fast/text-autosizing/constrained-maxheight-expected.html: Removed.
        * fast/text-autosizing/constrained-maxheight.html: Removed.
        * fast/text-autosizing/constrained-out-of-flow-expected.html: Removed.
        * fast/text-autosizing/constrained-out-of-flow.html: Removed.
        * fast/text-autosizing/constrained-percent-maxheight-expected.html: Removed.
        * fast/text-autosizing/constrained-percent-maxheight.html: Removed.
        * fast/text-autosizing/constrained-percent-of-viewport-maxheight-expected.html: Removed.
        * fast/text-autosizing/constrained-percent-of-viewport-maxheight.html: Removed.
        * fast/text-autosizing/constrained-then-float-ancestors-expected.html: Removed.
        * fast/text-autosizing/constrained-then-float-ancestors.html: Removed.
        * fast/text-autosizing/constrained-then-overflow-ancestors-expected.html: Removed.
        * fast/text-autosizing/constrained-then-overflow-ancestors.html: Removed.
        * fast/text-autosizing/constrained-then-position-absolute-ancestors-expected.html: Removed.
        * fast/text-autosizing/constrained-then-position-absolute-ancestors.html: Removed.
        * fast/text-autosizing/constrained-then-position-fixed-ancestors-expected.html: Removed.
        * fast/text-autosizing/constrained-then-position-fixed-ancestors.html: Removed.
        * fast/text-autosizing/constrained-within-overflow-ancestor-expected.html: Removed.
        * fast/text-autosizing/constrained-within-overflow-ancestor.html: Removed.
        * fast/text-autosizing/em-margin-border-padding-expected.html: Removed.
        * fast/text-autosizing/em-margin-border-padding.html: Removed.
        * fast/text-autosizing/font-scale-factor-expected.html: Removed.
        * fast/text-autosizing/font-scale-factor.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-button-input-elements-expected.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-button-input-elements.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-checkbox-input-element-expected.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-checkbox-input-element.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-radio-input-element-expected.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-radio-input-element.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-select-element-expected.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-select-element.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-textfield-input-elements-expected.html: Removed.
        * fast/text-autosizing/form-controls-autosizing-textfield-input-elements.html: Removed.
        * fast/text-autosizing/header-li-links-autosizing-expected.html: Removed.
        * fast/text-autosizing/header-li-links-autosizing.html: Removed.
        * fast/text-autosizing/header-links-autosizing-different-fontsize-expected.html: Removed.
        * fast/text-autosizing/header-links-autosizing-different-fontsize.html: Removed.
        * fast/text-autosizing/header-links-autosizing-expected.html: Removed.
        * fast/text-autosizing/header-links-autosizing.html: Removed.
        * fast/text-autosizing/narrow-child-expected.html: Removed.
        * fast/text-autosizing/narrow-child.html: Removed.
        * fast/text-autosizing/narrow-descendants-combined-expected.html: Removed.
        * fast/text-autosizing/narrow-descendants-combined.html: Removed.
        * fast/text-autosizing/narrow-iframe-expected.html: Removed.
        * fast/text-autosizing/narrow-iframe-flattened-expected.html: Removed.
        * fast/text-autosizing/narrow-iframe-flattened.html: Removed.
        * fast/text-autosizing/narrow-iframe.html: Removed.
        * fast/text-autosizing/nested-child-expected.html: Removed.
        * fast/text-autosizing/nested-child.html: Removed.
        * fast/text-autosizing/nested-em-line-height-expected.html: Removed.
        * fast/text-autosizing/nested-em-line-height.html: Removed.
        * fast/text-autosizing/oscillation-javascript-fontsize-change-expected.html: Removed.
        * fast/text-autosizing/oscillation-javascript-fontsize-change.html: Removed.
        * fast/text-autosizing/simple-paragraph-expected.html: Removed.
        * fast/text-autosizing/simple-paragraph.html: Removed.
        * fast/text-autosizing/span-child-expected.html: Removed.
        * fast/text-autosizing/span-child.html: Removed.
        * fast/text-autosizing/unwrappable-blocks-expected.html: Removed.
        * fast/text-autosizing/unwrappable-blocks.html: Removed.
        * fast/text-autosizing/unwrappable-inlines-expected.html: Removed.
        * fast/text-autosizing/unwrappable-inlines.html: Removed.
        * fast/text-autosizing/various-font-sizes-expected.html: Removed.
        * fast/text-autosizing/various-font-sizes.html: Removed.
        * fast/text-autosizing/wide-block-expected.html: Removed.
        * fast/text-autosizing/wide-block.html: Removed.
        * fast/text-autosizing/wide-child-expected.html: Removed.
        * fast/text-autosizing/wide-child.html: Removed.
        * fast/text-autosizing/wide-iframe-expected.html: Removed.
        * fast/text-autosizing/wide-iframe.html: Removed.
        * fast/text-autosizing/wide-in-narrow-overflow-scroll-expected.html: Removed.
        * fast/text-autosizing/wide-in-narrow-overflow-scroll.html: Removed.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator-wk1/TestExpectations: Move Failure entry for test
        fast/text-autosizing/ios/line-height-text-autosizing.html from here to platform/ios-simulator/TestExpectations.
        * platform/ios-simulator-wk2/TestExpectations: Ditto.
        * platform/ios-simulator/TestExpectations: Associated failure of test
        fast/text-autosizing/ios/line-height-text-autosizing.html with <https://bugs.webkit.org/show_bug.cgi?id=162236>.
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wk2/TestExpectations:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/unit-tests
        https://bugs.webkit.org/show_bug.cgi?id=162103

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/unit-tests/inspector-test-dispatch-event-to-frontend.html:
        * inspector/unit-tests/protocol-test-dispatch-event-to-frontend.html:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/console
        https://bugs.webkit.org/show_bug.cgi?id=162070

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/console/clearMessages.html:
        * inspector/console/command-line-api.html:
        * inspector/console/console-time.html:
        * inspector/console/messageAdded-from-named-evaluations.html:
        * inspector/console/messageAdded-from-worker.html:
        * inspector/console/messageRepeatCountUpdated.html:
        * inspector/console/messagesCleared.html:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/script-profiler
        https://bugs.webkit.org/show_bug.cgi?id=162101

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/script-profiler/event-type-Other.html:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/page
        https://bugs.webkit.org/show_bug.cgi?id=162100

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/page/searchInResources.html:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/storage
        https://bugs.webkit.org/show_bug.cgi?id=162102

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/storage/domStorage-events.html:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/network
        https://bugs.webkit.org/show_bug.cgi?id=162099

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/network/client-blocked-load-expected.txt:
        * inspector/network/client-blocked-load.html:
        * inspector/network/xhr-json-blob-has-content.html:

2016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/indexeddb
        https://bugs.webkit.org/show_bug.cgi?id=162073

        Reviewed by Brian Burg.

        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
        tests more readable.

        * inspector/indexeddb/clearObjectStore.html:
        * inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
        * inspector/indexeddb/requestDatabase.html:
        * inspector/indexeddb/requestDatabaseNames.html:

2016-09-19  Chris Dumez  <cdumez@apple.com>

        Window's pageXOffset / pageYOffset attributes should be replaceable
        https://bugs.webkit.org/show_bug.cgi?id=162046

        Reviewed by Darin Adler.

        Update existing tests to reflect behavior change.

        * fast/dom/Window/get-set-properties-expected.txt:
        * fast/dom/Window/get-set-properties.html:
        * js/dom/var-declarations-shadowing-expected.txt:
        * js/dom/var-declarations-shadowing.html:

2016-09-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Scope sidebar shows "Closure" instead of "Local" when paused in anonymous function
        https://bugs.webkit.org/show_bug.cgi?id=162113
        <rdar://problem/28348954>

        Reviewed by Brian Burg.

        * inspector/debugger/paused-scopes-expected.txt:
        * inspector/debugger/paused-scopes.html:
        * inspector/debugger/resources/paused-scopes.js:
        Add a third pause to test behavior paused inside an
        unnamed anonymous function.

2016-09-19  Nan Wang  <n_wang@apple.com>

        AX: Add accessibility support for details element on iOS
        https://bugs.webkit.org/show_bug.cgi?id=162041

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/detail-summary-ios-expected.txt: Added.
        * accessibility/ios-simulator/detail-summary-ios.html: Added.

2016-09-19  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: clipRectsContext.rootLayer == m_clipRectsCache->m_clipRectsRoot[clipRectsType] while loading guardian.co.uk
        https://bugs.webkit.org/show_bug.cgi?id=162129
        <rdar://problem/28353350>

        Reviewed by Antti Koivisto.

        * fast/multicol/assert-on-cliprect-caching-when-paginated-expected.txt: Added.
        * fast/multicol/assert-on-cliprect-caching-when-paginated.html: Added.

2016-09-18  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Add test coverage for all array utility functions
        https://bugs.webkit.org/show_bug.cgi?id=162044
        <rdar://problem/28330846>

        Reviewed by Joseph Pecoraro.

        New test cases and expectations for Array utility functions.

        * inspector/unit-tests/array-utilities-expected.txt:
        * inspector/unit-tests/array-utilities.html:

2016-09-16  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed cleanup of some inspector tests.

        * TestExpectations:
        Start skipping some debugger stepping test flakeyness on
        Debug builds until that bug is addressed.

        * inspector/debugger/break-on-exception-throw-in-promise.html:
        Remove debug only.

        * inspector/debugger/paused-scopes.html: Added.
        This test was missing for 3 months. Its expectations got added
        but the test itself got lost after a rollout and re-land.

2016-09-16  Chris Dumez  <cdumez@apple.com>

        Cancelling one frame's load cancels load in other frames that have the same URL as well
        https://bugs.webkit.org/show_bug.cgi?id=162094

        Reviewed by Antti Koivisto.

        Add layout test coverage.

        * http/tests/cache/iframe-detach-expected.txt: Added.
        * http/tests/cache/iframe-detach.html: Added.
        * http/tests/cache/resources/slow-iframe.php: Added.
        Import Alex Christensen's test from Bug 157563.

        * http/tests/navigation/frames-same-url-cancel-load-expected.txt: Added.
        * http/tests/navigation/frames-same-url-cancel-load.html: Added.
        * http/tests/navigation/resources/success.html: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:

2016-09-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Implement Copy CSS Selector and Copy Xpath Selector context menus
        https://bugs.webkit.org/show_bug.cgi?id=158881
        <rdar://problem/8181156>

        Reviewed by Matt Baker.

        * inspector/dom/domutilities-csspath-expected.txt: Added.
        * inspector/dom/domutilities-csspath.html: Added.
        * inspector/dom/domutilities-path-dump-expected.txt: Added.
        * inspector/dom/domutilities-path-dump.html: Added.
        * inspector/dom/domutilities-xpath-expected.txt: Added.
        * inspector/dom/domutilities-xpath.html: Added.

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

        Unreviewed gardening; enable newly passing media/media-source/ tests.

        * platform/mac/TestExpectations:

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

        Unreviewed gardening; enable newly passing imported/w3c/web-platform-tests/media-source/ tests.

        * platform/mac/TestExpectations:

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

        [media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html
        https://bugs.webkit.org/show_bug.cgi?id=162052

        Reviewed by Brent Fulgham.

        * platform/mac/TestExpectations:

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

        [media-source] fix imported/w3c/web-platform-tests/media-source/mediasource-duration.html
        https://bugs.webkit.org/show_bug.cgi?id=161999

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:

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

        [media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-timestamp-offset.html
        https://bugs.webkit.org/show_bug.cgi?id=162038

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:

2016-09-16  Chris Dumez  <cdumez@apple.com>

        Cloning a textarea does not clone the textarea's value
        https://bugs.webkit.org/show_bug.cgi?id=156637

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect behavior change.

        * fast/forms/checkValidity-cloneNode-crash-expected.txt:
        * fast/forms/checkValidity-cloneNode-crash.html:

2016-09-16  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Headers should be combine with ',' and not ', '
        https://bugs.webkit.org/show_bug.cgi?id=161736

        Reviewed by Sam Weinig.

        * http/tests/xmlhttprequest/check-combining-headers-expected.txt:
        * http/tests/xmlhttprequest/check-combining-headers.html: Checking combined headers.
        * http/tests/xmlhttprequest/resources/print-headers.php: Printing all request headers in a JSON response.
        * http/tests/xmlhttprequest/web-apps/005.html: Making ',' combination as expected.

2016-09-16  Youenn Fablet  <youenn@apple.com>

        Custom promise-returning functions should not throw if callee has not the expected type
        https://bugs.webkit.org/show_bug.cgi?id=162011

        Reviewed by Sam Weinig.

        * fast/mediastream/MediaDevices-getUserMedia-expected.txt:
        * fast/mediastream/MediaDevices-getUserMedia.html: Enusing calling getUserMedia on something else than MediaDevices does not throw.
        * http/tests/media/media-stream/disconnected-frame-already-expected.txt:

2016-09-16  Youenn Fablet  <youenn@apple.com>

        Link loader should use FetchOptions::mode according its crossOrigin attribute
        https://bugs.webkit.org/show_bug.cgi?id=161859

        Reviewed by Sam Weinig.

        * http/tests/security/cached-cross-origin-preloaded-css-stylesheet-expected.txt: Added.
        * http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html: Added.
        * http/tests/security/cached-cross-origin-preloading-css-stylesheet-expected.txt: Added.
        * http/tests/security/cached-cross-origin-preloading-css-stylesheet.html: Added.
        * http/tests/security/resources/allow-if-origin.php: Adding support for allowing credentials and setting contentType.

2016-09-16  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Referrer and Origin header should not be considered as safe request headers
        https://bugs.webkit.org/show_bug.cgi?id=161902

        Reviewed by Sam Weinig.

        * http/tests/fetch/fetch-cors-with-referrer-expected.txt: Added.
        * http/tests/fetch/fetch-cors-with-referrer.html: Added.

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

        [media-source] web-platform-test/media-source/mediasource-remove.html test failing
        https://bugs.webkit.org/show_bug.cgi?id=161950

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:

2016-09-15  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: willBeComposited == needsToBeComposited(layer) in WebCore::RenderLayerCompositor::computeCompositingRequirements
        https://bugs.webkit.org/show_bug.cgi?id=151097
        <rdar://problem/27711678>

        Reviewed by Simon Fraser.

        * compositing/assert-on-will-change-transform-with-composited-descendant-expected.txt: Added.
        * compositing/assert-on-will-change-transform-with-composited-descendant.html: Added.

2016-09-15  Ryan Haddad  <ryanhaddad@apple.com>

        Marking js/date-constructor.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=162032

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-09-15  Ryan Haddad  <ryanhaddad@apple.com>

        Skip two crashing media tests, remove flaky expectation for one that was wrongly blamed.
        https://bugs.webkit.org/show_bug.cgi?id=161323

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-09-15  Javier Fernandez  <jfernandez@igalia.com>

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

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/forms/menulist-clip-expected.png:
        * platform/gtk/fast/forms/menulist-clip-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:

2016-09-15  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Implement fit-content track size
        https://bugs.webkit.org/show_bug.cgi?id=161379

        Reviewed by Manuel Rego Casasnovas.

        New tests to verify that fit-content track sizes work as expected for columns and for
        rows. Also added some more test cases to verify that we properly parse fit-content().

        * fast/css-grid-layout/fit-content-columns-expected.html: Added.
        * fast/css-grid-layout/fit-content-columns.html: Added.
        * fast/css-grid-layout/fit-content-rows-expected.html: Added.
        * fast/css-grid-layout/fit-content-rows.html: Added.
        * fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set.html:
        * fast/css-grid-layout/resources/grid-columns-rows-get-set.js:

2016-09-14  Ryan Haddad  <ryanhaddad@apple.com>

        Marking transitions/3d/interrupted-transition.html as flaky on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=130972

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-09-15  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed, rolling out r205966.

        Triggered some assertions

        Reverted changeset:

        "[css-grid] Implement fit-content track size"
        https://bugs.webkit.org/show_bug.cgi?id=161379
        http://trac.webkit.org/changeset/205966

2016-09-15  Zalan Bujtas  <zalan@apple.com>

        Cleanup RenderLayer::shouldBeNormalFlowOnly
        https://bugs.webkit.org/show_bug.cgi?id=161981

        Reviewed by Simon Fraser.

        Rebaselining.

        * fast/table/overflow-table-collapsed-borders-section-self-painting-layer-painting-expected.txt:

2016-09-15  Csaba Osztrogonác  <ossy@webkit.org>

        js/stringimpl-to-jsstring-on-large-strings tests consume huge memory
        https://bugs.webkit.org/show_bug.cgi?id=159807

        Reviewed by Saam Barati.

        * js/script-tests/stringimpl-to-jsstring-on-large-strings-1.js: Skipped on memory limited devices.
        * js/script-tests/stringimpl-to-jsstring-on-large-strings-2.js: Skipped on memory limited devices.
        * js/script-tests/stringimpl-to-jsstring-on-large-strings-3.js: Skipped on memory limited devices.

2016-09-07  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Implement fit-content track size
        https://bugs.webkit.org/show_bug.cgi?id=161379

        Reviewed by Manuel Rego Casasnovas.

        New tests to verify that fit-content track sizes work as expected for columns and for
        rows. Also added some more test cases to verify that we properly parse fit-content().

        * fast/css-grid-layout/fit-content-columns-expected.html: Added.
        * fast/css-grid-layout/fit-content-columns.html: Added.
        * fast/css-grid-layout/fit-content-rows-expected.html: Added.
        * fast/css-grid-layout/fit-content-rows.html: Added.
        * fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set.html:
        * fast/css-grid-layout/resources/grid-columns-rows-get-set.js:

2016-09-15  Alejandro G. Castro  <alex@igalia.com>

        [WebRTC][OpenWebRTC] crash in maybeHandleChangeMutedState
        https://bugs.webkit.org/show_bug.cgi?id=161619

        Reviewed by Eric Carlson.

        * platform/gtk/TestExpectations: Modify the expectations, the
        tests do not crash anymore.

2016-09-15  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Fix intrinsic size computation with flexible sized tracks
        https://bugs.webkit.org/show_bug.cgi?id=161903

        Reviewed by Manuel Rego Casasnovas.

        Added a couple of new test cases, grid with fr tracks inside a container with intrinsic
        dimensions and and grid with fr tracks inside another grid with fr tracks.

        * fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt:
        * fast/css-grid-layout/flex-and-intrinsic-sizes.html:

2016-09-13  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Too many gaps with trailing collapsing tracks
        https://bugs.webkit.org/show_bug.cgi?id=161905

        Reviewed by Darin Adler.

        Added new test cases to check that trailing collapsed tracks do not add gutters at the end.

        * fast/css-grid-layout/grid-auto-fit-columns-expected.txt:
        * fast/css-grid-layout/grid-auto-fit-columns.html:

2016-09-15  Youenn Fablet  <youenn@apple.com>

        callPromiseFunction should be made usable for custom binding code
        https://bugs.webkit.org/show_bug.cgi?id=161961

        Reviewed by Darin Adler.

        * fast/mediastream/MediaDevices-getUserMedia-expected.txt:
        * fast/mediastream/MediaDevices-getUserMedia.html: Updated to expect a rejected promise in lieu of an exception.

2016-09-14  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update ios-simulator-wk1 test expectations after migrating to iOS 10

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

2016-09-14  Jiewen Tan  <jiewen_tan@apple.com>

        WebCrypto algorithms should be exposed via KeyAlgorithm dictionary
        https://bugs.webkit.org/show_bug.cgi?id=128748
        <rdar://problem/27359438>

        Reviewed by Brent Fulgham and Chris Dumez.

        * crypto/subtle/crypto-key-algorithm-gc-expected.txt: Added.
        * crypto/subtle/crypto-key-algorithm-gc.html: Added.
        * crypto/subtle/crypto-key-usages-gc-expected.txt: Added.
        * crypto/subtle/crypto-key-usages-gc.html: Added.
        * crypto/subtle/hmac-generate-key-expected.txt:
        * crypto/subtle/hmac-generate-key.html:

2016-09-14  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r205670): ASSERTION FAILED: methodTable(vm)->toThis(this, exec, NotStrictMode) == this
        https://bugs.webkit.org/show_bug.cgi?id=161982

        Reviewed by Saam Barati.

        Bring back JSC test coverage that got lost in r205670.

        * js/object-literal-shorthand-construction-expected.txt:
        * js/script-tests/object-literal-shorthand-construction.js:
        * js/script-tests/sloppy-getter-setter-global-object.js:
        * js/sloppy-getter-setter-global-object-expected.txt:

2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>

        test262: TypedArray constructors length should be 3 and configurable
        https://bugs.webkit.org/show_bug.cgi?id=161955

        Reviewed by Mark Lam.

        * js/script-tests/typedarray-constructors.js:
        * js/typedarray-constructors-expected.txt:
        * js/dom/constructor-length.html:
        * platform/efl/js/dom/constructor-length-expected.txt:
        * platform/gtk/js/dom/constructor-length-expected.txt:
        * platform/ios-simulator/js/dom/constructor-length-expected.txt:
        * platform/mac/js/dom/constructor-length-expected.txt:
        * platform/win/js/dom/constructor-length-expected.txt:

2016-09-14  Chris Dumez  <cdumez@apple.com>

        input.type cannot be set to "file" after being set to another type
        https://bugs.webkit.org/show_bug.cgi?id=161943

        Reviewed by Daniel Bates.

        * fast/dom/HTMLInputElement/input-type-change-to-file-expected.txt: Added.
        * fast/dom/HTMLInputElement/input-type-change-to-file.html: Added.
        * fast/dom/HTMLInputElement/input-type-file-security-expected.txt: Added
        * fast/dom/HTMLInputElement/input-type-file-security.html: Added
        Add layout test coverage. I have verified that these tests are passing in both
        Firefox and Chrome.

        * fast/forms/input-type-change3-expected.txt:
        * fast/forms/input-type-change3.html:
        * fast/forms/input-valueasnumber-unsupported-expected.txt:
        * fast/forms/input-valueasnumber-unsupported.html:
        Update existing tests to reflect behavior change.

2016-09-14  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests added with r205905 for ios-simulator.

        Unreviewed test gardening.

        * platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt: Added.
        * platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt: Added.
        * platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt: Added.
        * platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt: Added.

2016-09-14  Youenn Fablet  <youenn@apple.com>

        LayoutTest http/tests/security/cross-origin-cached-scripts-parallel.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=161912

        Reviewed by Alexey Proskuryakov.

        * TestExpectations: Removing flaky expectation.
        * http/tests/security/cross-origin-cached-scripts-parallel-expected.txt:
        * http/tests/security/cross-origin-cached-scripts-parallel.html: Increase timeout to ensure load is made in parallel.
        Fixed flakiness by doing parallel loads in two shots of two, in lieu of 1 shot of 4.

2016-09-14  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/console/messagesCleared.html as flaky on mac-debug.
        https://bugs.webkit.org/show_bug.cgi?id=152025

        Unreviewed test gardening.

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

2016-09-13  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/scrolling/arrow-key-scroll-in-rtl-document.html as flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=161549

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-14  Dave Hyatt  <hyatt@apple.com>

        [CSS Parser] Enable the new sizes parser by default
        https://bugs.webkit.org/show_bug.cgi?id=161931

        Reviewed by Zalan Bujtas.

        * fast/dom/HTMLImageElement/resources/green-16x16.png: Added.
        * fast/dom/HTMLImageElement/resources/green-1x1.png: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt:
        * fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html:
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1.html: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2.html: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3.html: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4.html: Added.

2016-09-13  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/XMLHttpRequest/response-method.htm as failing on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=161949

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-09-13  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm for ios-simulator.

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:

2016-09-13  Ryan Haddad  <ryanhaddad@apple.com>

        More unreviewed test gardening for iOS 10.

        * platform/ios-simulator/TestExpectations:

2016-09-13  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening for iOS 10.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:
        * platform/ios-simulator/fast/text/font-weights-expected.txt:
        * platform/ios-simulator/fast/text/system-font-weight-expected.txt:

2016-09-13  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for Yosemite.

        Unreviewed test gardening.

        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:

2016-09-13  Alex Christensen  <achristensen@webkit.org>

        Implement URLSearchParams
        https://bugs.webkit.org/show_bug.cgi?id=161920

        Reviewed by Chris Dumez.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:

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

        [media-source] MediaSource.addSourceBuffer(null) should throw an exception
        https://bugs.webkit.org/show_bug.cgi?id=161884

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:
        * platform/mac/imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt: Added.

2016-09-13  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Unify font's ascent, descent, and x-height between macOS and iOS
        https://bugs.webkit.org/show_bug.cgi?id=161877

        Reviewed by Simon Fraser.

        Updating expected results.

        * imported/blink/svg/text/obb-paintserver-expected.html: Covered tiny unrelated 1px difference.
        * imported/blink/svg/text/obb-paintserver.html: Ditto.
        * platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
        * platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
        * platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
        * platform/ios-simulator/svg/custom/glyph-transformation-with-hkern-expected.txt: Copied from LayoutTests/svg/custom/glyph-transformation-with-hkern-expected.txt.
        * platform/ios-simulator/svg/custom/repaint-shadow-expected.txt: Copied from LayoutTests/svg/custom/repaint-shadow-expected.txt.
        * platform/ios-simulator/svg/text/text-hkern-on-vertical-text-expected.txt: Copied from LayoutTests/svg/text/text-hkern-on-vertical-text-expected.txt.
        * platform/ios-simulator/svg/text/text-vkern-on-horizontal-text-expected.txt: Copied from LayoutTests/svg/text/text-vkern-on-horizontal-text-expected.txt.
        * platform/ios-simulator/tables/mozilla/bugs/bug55527-expected.txt:
        * platform/mac-yosemite/fast/text/emoji-expected.txt:
        * platform/mac-yosemite/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
        * platform/mac/css2.1/t1202-counter-04-b-expected.txt:
        * platform/mac/css2.1/t1202-counters-04-b-expected.txt:
        * platform/mac/fast/text/emoji-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.txt:
        * platform/mac/svg/batik/text/xmlSpace-expected.txt:
        * platform/mac/svg/custom/glyph-selection-bidi-mirror-expected.txt:
        * platform/mac/svg/custom/glyph-setting-d-attribute-expected.txt:
        * platform/mac/svg/foreignObject/text-tref-02-b-expected.txt:
        * platform/mac/svg/text/kerning-expected.txt:
        * platform/mac/svg/text/multichar-glyph-expected.txt:
        * svg/custom/glyph-transformation-with-hkern-expected.txt:
        * svg/custom/repaint-shadow-expected.txt:
        * svg/text/text-hkern-on-vertical-text-expected.txt:
        * svg/text/text-vkern-on-horizontal-text-expected.txt:

2016-09-13  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Use Array.shallowEqual instead of Object.shallowEqual in more places
        https://bugs.webkit.org/show_bug.cgi?id=161867
        <rdar://problem/28261328>

        Reviewed by Joseph Pecoraro.

        * inspector/unit-tests/array-utilities-expected.txt:
        * inspector/unit-tests/array-utilities.html:
        Add test coverage for Array.shallowEqual.
        Use Array.shallowEqual instead of JSON.stringify in tests.
        Use expectFalse and expectEqual in tests where appropriate.

2016-09-13  Tim Horton  <timothy_horton@apple.com>

        Undoing a candidate insertion results in the replaced text being selected
        https://bugs.webkit.org/show_bug.cgi?id=161894
        <rdar://problem/28225774>

        Reviewed by Simon Fraser.

        * editing/mac/spelling/accept-candidate-allows-autocorrect-on-next-word-expected.txt:
        * editing/mac/spelling/accept-candidate-replacing-multiple-words-expected.txt:
        * editing/mac/spelling/accept-candidate-undo-does-not-select-expected.txt: Copied from LayoutTests/editing/mac/spelling/accept-candidate-replacing-multiple-words-expected.txt.
        * editing/mac/spelling/accept-candidate-undo-does-not-select.html: Added.
        * editing/mac/spelling/accept-candidate-without-adding-space-expected.txt:
        * editing/mac/spelling/accept-candidate-without-crossing-editing-boundary-expected.txt:
        Adjust some test results, and add a new test that ensures that undoing
        a candidate insertion does not select the replaced text.

2016-09-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Should be able to pretty print module code (import / export statements)
        https://bugs.webkit.org/show_bug.cgi?id=161891
        <rdar://problem/28272784>

        Reviewed by Yusuke Suzuki.

        * inspector/formatting/formatting-javascript-expected.txt:
        * inspector/formatting/formatting-javascript.html:
        * inspector/formatting/resources/javascript-tests/modules-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/modules.js: Added.
        Include a new test for modules.

        * inspector/formatting/formatting-json.html:
        All of these are non-module source code.

        * inspector/formatting/resources/utilities.js:
        Determine if module or not based on the test name.

2016-09-13  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/security/cross-origin-cached-scripts-parallel.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=161912

        Unreviewed test gardening.

        * TestExpectations:

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

        Media-source backed elements block load event; cause web-platform-test flakiness
        https://bugs.webkit.org/show_bug.cgi?id=161881

        Reviewed by Eric Carlson.

        * media/media-source/media-source-delaying-load-event-expected.txt: Added.
        * media/media-source/media-source-delaying-load-event.html: Added.

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

        Unreviewed gardening; removed duplicate entry for mediasource-config-change-mp4-v-bitrate.html.

        * platform/mac/TestExpectations:

2016-09-12  Zalan Bujtas  <zalan@apple.com>

        Input type object and the associated render can go out of sync.
        https://bugs.webkit.org/show_bug.cgi?id=161871
        <rdar://problem/28178094>

        Reviewed by Antti Koivisto.

        * fast/forms/assert-on-input-type-change-expected.txt: Added.
        * fast/forms/assert-on-input-type-change.html: Added.

2016-09-13  Chris Dumez  <cdumez@apple.com>

        Drop support for <isindex>
        https://bugs.webkit.org/show_bug.cgi?id=7139

        Reviewed by Ryosuke Niwa.

        Drop outdated tests / checks.

        * dom/html/level2/html/HTMLIsIndexElement01-expected.txt: Removed.
        * dom/html/level2/html/HTMLIsIndexElement01.html: Removed.
        * dom/html/level2/html/HTMLIsIndexElement01.js: Removed.
        * dom/html/level2/html/HTMLIsIndexElement02-expected.txt: Removed.
        * dom/html/level2/html/HTMLIsIndexElement02.html: Removed.
        * dom/html/level2/html/HTMLIsIndexElement02.js: Removed.
        * dom/html/level2/html/HTMLIsIndexElement03-expected.txt: Removed.
        * dom/html/level2/html/HTMLIsIndexElement03.html: Removed.
        * dom/html/level2/html/HTMLIsIndexElement03.js: Removed.
        * fast/dom/HTMLIsIndexElement/prototype-chain-expected.txt: Removed.
        * fast/dom/HTMLIsIndexElement/prototype-chain.html: Removed.
        * fast/dom/HTMLIsIndexElement/script-tests/prototype-chain.js: Removed.
        * fast/dom/isindex-001.html: Removed.
        * fast/dom/isindex-002.html: Removed.
        * fast/events/resources/tabindex-focus-blur-all-frame1.html:
        * fast/events/resources/tabindex-focus-blur-all-frame2.html:
        * fast/events/resources/tabindex-focus-blur-all-iframe1.html:
        * fast/events/resources/tabindex-focus-blur-all-iframe2.html:
        * fast/forms/isindex-name-expected.txt: Removed.
        * fast/forms/isindex-name.html: Removed.
        * fast/forms/isindex-placeholder-expected.html: Removed.
        * fast/forms/isindex-placeholder.html: Removed.
        * fast/forms/text-style-color.html: Removed.
        * fast/parser/fragment-parser-expected.txt:
        * fast/parser/script-tests/fragment-parser.js:
        * fast/replaced/table-percent-height-text-controls-expected.txt:
        * fast/replaced/table-percent-height-text-controls.html:
        * html5lib/generated/run-isindex-data-expected.txt: Removed.
        * html5lib/generated/run-isindex-data.html: Removed.
        * html5lib/generated/run-isindex-write-expected.txt: Removed.
        * html5lib/generated/run-isindex-write.html: Removed.
        * html5lib/resources/isindex.dat:
        * html5lib/resources/tests19.dat:
        * html5lib/resources/tests2.dat:
        * html5lib/resources/webkit02.dat:
        * http/tests/misc/isindex-formdata-expected.txt: Removed.
        * http/tests/misc/isindex-formdata.html: Removed.
        * http/tests/misc/isindex-with-no-form-base-href-expected.txt: Removed.
        * http/tests/misc/isindex-with-no-form-base-href.html: Removed.
        * http/tests/misc/isindex-with-no-form-expected.txt: Removed.
        * http/tests/misc/isindex-with-no-form.html: Removed.
        * http/tests/misc/resources/isindex-with-no-form-base-href-submit.html: Removed.
        * http/tests/misc/resources/isindex-with-no-form-base-href.html: Removed.
        * platform/efl/fast/dom/isindex-001-expected.png: Removed.
        * platform/efl/fast/dom/isindex-001-expected.txt: Removed.
        * platform/efl/fast/dom/isindex-002-expected.png: Removed.
        * platform/efl/fast/dom/isindex-002-expected.txt: Removed.
        * platform/efl/fast/forms/text-style-color-expected.png: Removed.
        * platform/efl/fast/forms/text-style-color-expected.txt: Removed.
        * platform/gtk/fast/dom/isindex-001-expected.png: Removed.
        * platform/gtk/fast/dom/isindex-001-expected.txt: Removed.
        * platform/gtk/fast/dom/isindex-002-expected.png: Removed.
        * platform/gtk/fast/dom/isindex-002-expected.txt: Removed.
        * platform/gtk/fast/forms/text-style-color-expected.png: Removed.
        * platform/gtk/fast/forms/text-style-color-expected.txt: Removed.
        * platform/ios-simulator/fast/dom/isindex-001-expected.txt: Removed.
        * platform/ios-simulator/fast/dom/isindex-002-expected.txt: Removed.
        * platform/ios-simulator/fast/forms/text-style-color-expected.txt: Removed.
        * platform/mac-elcapitan/fast/dom/isindex-001-expected.txt: Removed.
        * platform/mac-elcapitan/fast/dom/isindex-002-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/text-style-color-expected.txt: Removed.
        * platform/mac/fast/dom/isindex-001-expected.png: Removed.
        * platform/mac/fast/dom/isindex-001-expected.txt: Removed.
        * platform/mac/fast/dom/isindex-002-expected.png: Removed.
        * platform/mac/fast/dom/isindex-002-expected.txt: Removed.
        * platform/mac/fast/forms/text-style-color-expected.png: Removed.
        * platform/mac/fast/forms/text-style-color-expected.txt: Removed.
        * platform/win/fast/dom/isindex-001-expected.txt: Removed.
        * platform/win/fast/dom/isindex-002-expected.txt: Removed.
        * platform/win/fast/forms/text-style-color-expected.txt: Removed.

2016-09-13  Per Arne Vollan  <pvollan@apple.com>

        Skip media source tests since the feature is not enabled on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2016-09-13  Skachkov Oleksandr  <gskachkov@gmail.com>

        ES6: Classes: Should be allowed to create a static method with name "arguments"
        https://bugs.webkit.org/show_bug.cgi?id=152985

        Reviewed by Keith Miller.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/basic-strict-mode-expected.txt:
        * js/class-method-and-constructor-properties-expected.txt: Removed.
        * js/class-syntax-method-names-expected.txt:
        * js/es6-function-properties-expected.txt: Added.
        * js/es6-function-properties.html: Copied from LayoutTests/js/class-method-and-constructor-properties.html.
        * js/kde/script-tests/function_arguments.js:
        (f):
        * js/non-strict-function-properties-expected.txt: Added.
        * js/non-strict-function-properties.html: Renamed from LayoutTests/js/class-method-and-constructor-properties.html.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/basic-strict-mode.js:
        * js/script-tests/class-method-and-constructor-properties.js: Removed.
        (shouldThrow): Deleted.
        (shouldBe): Deleted.
        (A): Deleted.
        (B): Deleted.
        (C): Deleted.
        (D): Deleted.
        (E.prototype.getItem): Deleted.
        (E): Deleted.
        (F.prototype.getElement): Deleted.
        (F): Deleted.
        (G.prototype.get item): Deleted.
        (G): Deleted.
        (H.prototype.caller): Deleted.
        (H.prototype.arguments): Deleted.
        (H): Deleted.
        * js/script-tests/class-syntax-method-names.js:
        * js/script-tests/es6-function-properties.js: Added.
        (shouldThrow):
        (shouldBe):
        (A):
        (B):
        (C):
        (D):
        (E.prototype.getItem):
        (E):
        (F.prototype.getElement):
        (F):
        (G.prototype.get item):
        (G):
        (check):
        (arr):
        (H.prototype.caller):
        (H.prototype.arguments):
        (H):
        (J.prototype.gen):
        (J.gen):
        (J):
        * js/script-tests/non-strict-function-properties.js: Added.
        (foo):
        (boo):
        (f):
        (g):
        (doSetCaller):
        (doSetArguments):
        * js/script-tests/strict-throw-type-error.js:

2016-09-12  Youenn Fablet  <youenn@apple.com>

        ScriptElement should use FetchOptions::mode according its crossOrigin attribute
        https://bugs.webkit.org/show_bug.cgi?id=161686

        Reviewed by Darin Adler.

        Added new tests.
        Updated cookie test for robustness as the order of the cookie items when more than one may not be preserved.

        Moved one of the blink test to http/tests as it requires HTTP to run properly.
        Updated blink test expectation as it is run from file, while it should be run from http.

        Copied a similar test to http/tests/local to ensure that script load fails when served from the filesystem , CORS check failing.
        The test was previously passing in WebKit as the test file was served from filesystem and was granted universal access.
        The CORS checks were done through SecurityOrigin::canRequest which was testing that first.
        With the patch, CORS checks are done at a lower level and do not take in to account universal access.
        This aligns with Chrome and Firefox behavior.

        * http/tests/local/script-crossorigin-loads-fail-origin-expected.txt: Added.
        * http/tests/local/script-crossorigin-loads-fail-origin.html: Copied from LayoutTests/imported/blink/http/tests/security/script-crossorigin-loads-correctly-credentials.html.
        * http/tests/cookies/resources/third-party-cookie-relaxing-iframe.html: Sorting the cookie to make the test more resistant.
        * http/tests/security/cross-origin-cached-images-expected.txt: Added.
        * http/tests/security/cross-origin-cached-images-parallel-expected.txt: Added.
        * http/tests/security/cross-origin-cached-images-parallel.html: Renamed from LayoutTests/http/tests/security/cross-origin-cached-resource-parallel.html.
        * http/tests/security/cross-origin-cached-images.html: Renamed from LayoutTests/http/tests/security/cross-origin-cached-resource.html.
        * http/tests/security/cross-origin-cached-resource-parallel-expected.txt: Removed.
        * http/tests/security/cross-origin-cached-scripts-expected.txt: Added.
        * http/tests/security/cross-origin-cached-scripts-parallel-expected.txt: Added.
        * http/tests/security/cross-origin-cached-scripts-parallel.html: Added.
        * http/tests/security/cross-origin-cached-scripts.html: Added.
        * http/tests/security/resources/cors-script.php: Updated according chromium script to activate CORS credentials header if requested.
        * http/tests/security/resources/cross-origin-cached-resource-iframe.html:
        * http/tests/security/resources/notify-loaded.js: Added.
        * http/tests/security/script-crossorigin-loads-correctly-credentials-expected.txt: Renamed from LayoutTests/imported/blink/http/tests/security/script-crossorigin-loads-correctly-credentials-expected.txt.
        * http/tests/security/script-crossorigin-loads-correctly-credentials.html: Renamed from LayoutTests/imported/blink/http/tests/security/script-crossorigin-loads-correctly-credentials.html.
        * http/tests/security/script-with-dataurl-expected.txt: Added.
        * http/tests/security/script-with-dataurl.html: Added.
        * http/tests/security/script-with-failed-cors-check-fails-to-load-expected.txt:

2016-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] Fix lint warnings of LayoutTests/platform/gtk/TestExpectations
        https://bugs.webkit.org/show_bug.cgi?id=161890

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: Removed deleted test cases
        js/regress/nested-function-parsing.html, js/regress/new-array-buffer-dead.html
        and js/regress/method-on-number.html.
        Skip imported/w3c/web-platform-tests/media-source/

2016-09-12  Saam Barati  <sbarati@apple.com>

        Speed up Function.prototype.bind a bit by making it a builtin
        https://bugs.webkit.org/show_bug.cgi?id=161879

        Reviewed by Filip Pizlo.

        * js/dom/function-bind-expected.txt:

2016-09-12  Nan Wang  <n_wang@apple.com>

        AX: Crash at WebCore::Range::compareBoundaryPoints(WebCore::Range::CompareHow, WebCore::Range const&, int&) const + 23
        https://bugs.webkit.org/show_bug.cgi?id=161878

        Reviewed by Chris Fleizach.

        * accessibility/mac/doctype-node-in-text-marker-crash-expected.txt: Added.
        * accessibility/mac/doctype-node-in-text-marker-crash.html: Added.

2016-09-12  Joseph Pecoraro  <pecoraro@apple.com>

        HTMLButtonElement.prototype.click should be HTMLElement.prototype.click
        https://bugs.webkit.org/show_bug.cgi?id=161874

        Reviewed by Chris Dumez.

        * fast/dom/HTMLButtonElement/click-expected.txt: Added.
        * fast/dom/HTMLButtonElement/click.html: Added.

2016-09-12  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/dom/nodes/ProcessingInstruction-escapes-1.xhtml as flaky on mac.
        https://bugs.webkit.org/show_bug.cgi?id=161883

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-09-12  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Add TestHarness assertions/expectations to provide additional semantics similar to XCTest
        https://bugs.webkit.org/show_bug.cgi?id=161278
        <rdar://problem/28039741>

        Reviewed by Joseph Pecoraro.

        Add test to verify that the TestHarness.expect* family of functions
        trivially work. Since it isn't possible to verify the TestPage results
        directly without introducing additional complexity, simply log baseline
        "PASS" and "FAIL" results for each function.

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

2016-09-12  Chris Dumez  <cdumez@apple.com>

        window.performance object resets script-applied properties
        https://bugs.webkit.org/show_bug.cgi?id=137407

        Reviewed by Darin Adler.

        Add layout test coverage.

        * fast/performance/performance-object-gc-expected.txt: Added.
        * fast/performance/performance-object-gc.html: Added.

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

        Fix failing mediasource-play.html and mediasource-config-change-mp4-v-bitrate.html tests
        https://bugs.webkit.org/show_bug.cgi?id=161819

        Reviewed by Eric Carlson.

        * media/media-source/media-source-end-of-stream-readyState.html:
        * media/media-source/media-source-end-of-stream-readyState-expected.txt:
        * platform/mac/TestExpectations:

2016-09-12  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Object.shallowEqual() should return false if object prototype chains differ
        https://bugs.webkit.org/show_bug.cgi?id=161852

        Reviewed by Joseph Pecoraro.

        * inspector/unit-tests/object-utilities-expected.txt: Added.
        * inspector/unit-tests/object-utilities.html: Added.
        Add test coverage for Object.shallowEqual.

2016-09-12  Ryan Haddad  <ryanhaddad@apple.com>

        Marking accessibility/mac/value-change/value-change-user-info-contenteditable.html as flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=160042

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

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

        Make -webkit-transition-* and -webkit-animation-* properties be pure aliases of the unprefixed ones
        https://bugs.webkit.org/show_bug.cgi?id=160478

        Reviewed by Dean Jackson.
        
        Updated results, and a new test to ensure that longhand properties override
        shorthand ones, with various combinations of prefixing.

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * fast/css/longhand-overrides-shorthand-prefixing-expected.txt: Added.
        * fast/css/longhand-overrides-shorthand-prefixing.html: Added.
        * fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt:
        * fast/css/prefixed-unprefixed-variant-style-declaration.html:
        * transitions/svg-transitions-expected.txt:
        * transitions/transitions-parsing-expected.txt:
        * transitions/transitions-parsing.html:

2016-09-12  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Initial values are parsed as invalid for some Alignment properties
        https://bugs.webkit.org/show_bug.cgi?id=161303

        Reviewed by Darin Adler.

        Test to verify the "initial" values of the CSS Box Alignment properties
        are parsed as valid independently of whether Grid Layout is enabled or not.

        * fast/css/ensure-flexbox-compatibility-with-initial-values-expected.txt: Added.
        * fast/css/ensure-flexbox-compatibility-with-initial-values.html: Added.
        * fast/css/resources/alignment-parsing-utils.js:
        (checkSupportedValues):

2016-09-11  Chris Dumez  <cdumez@apple.com>

        HTMLTrackElement.kind's invalid value default should be the metadata state
        https://bugs.webkit.org/show_bug.cgi?id=161840

        Reviewed by Eric Carlson.

        * media/track/track-kind-expected.txt:
        * media/track/track-kind.html:
        Update existing test to reflect behavior change.

        * media/track/w3c/interfaces/TextTrack/kind.html:
        Re-sync test from W3C as it was outdated.

2016-09-11  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Skip to test some w3c/web-platform-tests

        Unreviewed EFL gardening.

        Some tests of w3c/web-platform-tests have been flaky since r205777.

        * platform/efl/TestExpectations

2016-09-11  Tim Horton  <timothy_horton@apple.com>

        Candidates that don't end in spaces shouldn't have spaces arbitrarily appended to them
        https://bugs.webkit.org/show_bug.cgi?id=161846
        <rdar://problem/28245097>

        Reviewed by Beth Dakin.

        * editing/mac/spelling/accept-candidate-replacing-multiple-words-expected.txt:
        * editing/mac/spelling/accept-candidate-replacing-multiple-words.html:
        * editing/mac/spelling/accept-candidate-without-crossing-editing-boundary-expected.txt:
        * editing/mac/spelling/accept-candidate-without-crossing-editing-boundary.html:
        Update existing tests to put spaces at the end of accepted candidates to make them
        more similar to what the OS will return to us.

        * editing/mac/spelling/accept-candidate-without-adding-space-expected.txt: Added.
        * editing/mac/spelling/accept-candidate-without-adding-space.html: Added.
        Add a test where the accepted candidate does *not* have a space at the end,
        testing that we don't add one where the candidate didn't contain one.

        * editing/mac/spelling/accept-candidate-allows-autocorrect-on-next-word-expected.txt: Added.
        * editing/mac/spelling/accept-candidate-allows-autocorrect-on-next-word.html: Added.
        Add a test ensuring that the document marker added by accepting a candidate
        doesn't overlap the next word and prevent autocorrect from working on it.

2016-09-10  Chris Dumez  <cdumez@apple.com>

        It is possible for Document::m_frame pointer to become stale
        https://bugs.webkit.org/show_bug.cgi?id=161812
        <rdar://problem/27745023>

        Reviewed by Ryosuke Niwa.

        Add layout test that crashes on both Mac and iOS due to using a stale
        Document::m_frame pointer.

        * fast/history/pagehide-remove-iframe-crash-expected.txt: Added.
        * fast/history/pagehide-remove-iframe-crash.html: Added.

2016-09-10  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Mark new media source tests to failure

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations: New added media source tests are failing.

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

        [Media Source] Import updated w3c/web-platform-tests and rebaseline
        https://bugs.webkit.org/show_bug.cgi?id=161723

        Reviewed by Youenn Fablet.

        * http/tests/media/media-source/mediasource-append-buffer.html: Removed.
        * http/tests/media/media-source/mediasource-buffered-expected.txt: Removed.
        * http/tests/media/media-source/mediasource-closed.html: Removed.
        * http/tests/media/media-source/mediasource-config-changes.js:
        (resolutionFromFilename): Deleted.
        (appendBuffer): Deleted.
        (mediaSourceConfigChangeTest): Deleted.
        * http/tests/media/media-source/mediasource-util.js:
        (EventExpectationsManager): Deleted.
        (EventExpectationsManager.prototype.expectEvent): Deleted.
        (EventExpectationsManager.prototype.waitForExpectedEvents): Deleted.
        (EventExpectationsManager.prototype.expectingEvents): Deleted.
        (EventExpectationsManager.prototype.handleWaitCallback_): Deleted.
        (EventExpectationsManager.prototype.getExpectations_): Deleted.
        (loadData_): Deleted.
        (onSourceOpen): Deleted.
        (openMediaSource_): Deleted.
        (MediaSourceUtil.loadTextData): Deleted.
        (MediaSourceUtil.loadBinaryData): Deleted.
        (MediaSourceUtil.fetchManifestAndData): Deleted.
        (MediaSourceUtil.extractSegmentData): Deleted.
        (MediaSourceUtil.getMediaDataForPlaybackTime): Deleted.
        (getFirstSupportedType): Deleted.
        (getSegmentInfo): Deleted.
        (MediaSourceUtil.getSubType): Deleted.
        (addExtraTestMethods.test.failOnEvent): Deleted.
        (addExtraTestMethods.test.endOnEvent): Deleted.
        (addExtraTestMethods.test.expectEvent): Deleted.
        (addExtraTestMethods.test.waitForExpectedEvents): Deleted.
        (addExtraTestMethods.test.waitForCurrentTimeChange): Deleted.
        (addExtraTestMethods.test.done): Deleted.
        (addExtraTestMethods): Deleted.
        (window.string_appeared_here): Deleted.
        * http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Removed.
        * http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Removed.
        * http/tests/media/media-source/webm/segment-info.js: Removed.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating-expected.txt: Added.

2016-09-08  Dean Jackson  <dino@apple.com>

        Expose Apple Pencil data to Touch events
        https://bugs.webkit.org/show_bug.cgi?id=161783
        <rdar://problem/28218898>

        Reviewed by Beth Dakin.

        Four new tests that check data coming out of an Apple Pencil.

        * fast/events/touch/ios/pencil-data-change-does-not-give-touchmove-expected.txt: Added.
        * fast/events/touch/ios/pencil-data-change-does-not-give-touchmove.html: Added.
        * fast/events/touch/ios/pencil-data-change-gives-touchforcechange-expected.txt: Added.
        * fast/events/touch/ios/pencil-data-change-gives-touchforcechange.html: Added.
        * fast/events/touch/ios/pencil-move-provides-stylus-data-expected.txt: Added.
        * fast/events/touch/ios/pencil-move-provides-stylus-data.html: Added.
        * fast/events/touch/ios/pencil-touch-registered-as-pencil-expected.txt: Added.
        * fast/events/touch/ios/pencil-touch-registered-as-pencil.html: Added.

2016-09-09  Tim Horton  <timothy_horton@apple.com>

        Text replacement candidates don't always overwrite the entire original string
        https://bugs.webkit.org/show_bug.cgi?id=161779
        <rdar://problem/28033492>

        Reviewed by Simon Fraser.

        * editing/mac/spelling/accept-candidate-without-crossing-editing-boundary.html:
        * editing/mac/spelling/accept-misspelled-candidate.html:
        Adjust tests to send the correct replacement range.

        * editing/mac/spelling/accept-candidate-replacing-multiple-words.html:
        Add a test that ensures that we will replace the entire string for a
        candidate that replaces multiple words.

2016-09-09  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for mac-wk1  after r205755.

        Unreviewed test gardening.

        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2016-09-09  Ryan Haddad  <ryanhaddad@apple.com>

        Marking tiled-drawing/scrolling/fixed/four-bars-zoomed.html as flaky on mac-wk2 debug.
        https://bugs.webkit.org/show_bug.cgi?id=161547

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-09  Jiewen Tan  <jiewen_tan@apple.com>

        Rename Key to CryptoKey
        https://bugs.webkit.org/show_bug.cgi?id=161665
        <rdar://problem/28083391>

        Reviewed by Brent Fulgham.

        * crypto/subtle/aes-cbc-unwrap-rsa-expected.txt:
        * crypto/subtle/aes-cbc-unwrap-rsa.html:
        * crypto/subtle/aes-kw-key-manipulation-expected.txt:
        * crypto/subtle/aes-kw-key-manipulation.html:
        * crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt:
        * crypto/subtle/aes-kw-wrap-unwrap-aes.html:
        * crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt:
        * crypto/subtle/rsa-oaep-wrap-unwrap-aes.html:
        * crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt:
        * crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html:
        * crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt:
        * crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:

2016-09-09  Youenn Fablet  <youenn@apple.com>

        TextTrackLoader should use FetchOptions::mode according its crossOrigin attribute
        https://bugs.webkit.org/show_bug.cgi?id=161792

        Reviewed by Eric Carlson.

        * http/tests/security/text-track-crossorigin-expected.txt:
        * http/tests/security/text-track-crossorigin.html: Updating test to be more robust against timeout.
        Updated test to succeed doing no-cors loading of cross-origin resources.

2016-09-09  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/IndexedDB/keyorder.htm as flaky on mac-wk2 debug.
        https://bugs.webkit.org/show_bug.cgi?id=161742

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-09  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/debugger/breakpoint-columns.html as flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=161774

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-09  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/text/emoji-num-glyphs.html as a flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=161799

        Unreviewed test gardening.

        * TestExpectations:

2016-09-09  Chris Dumez  <cdumez@apple.com>

        Regression(r186020): Null dereference in getStartDate()
        https://bugs.webkit.org/show_bug.cgi?id=161733

        Reviewed by Eric Carlson.

        Add layout test coverage.

        * fast/media/getStartDate-NaN-expected.txt: Added.
        * fast/media/getStartDate-NaN.html: Added.

2016-09-09  Youenn Fablet  <youenn@apple.com>

        Sync web-platform-tests up to revision 6d9c836
        https://bugs.webkit.org/show_bug.cgi?id=161738

        Reviewed by Alex Christensen.

        * platform/wk2/TestExpectations:
        * platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:

2016-09-09  Youenn Fablet  <youenn@apple.com>

        ASSERTION FAILED: promise.inherits(JSPromise::info())
        https://bugs.webkit.org/show_bug.cgi?id=161632
        <rdar://problem/28184743>

        Reviewed by Mark Lam.

        * TestExpectations: Reenabling skipped tests.
        * fetch/fetch-worker-crash-expected.txt: Added.
        * fetch/fetch-worker-crash.html: Added.
        * fetch/fetch-worker-crash.js: Added.

2016-09-08  Yusuke Suzuki  <utatane.tea@gmail.com>

        ScriptRunner should be driven by PendingScript rather than ScriptElement
        https://bugs.webkit.org/show_bug.cgi?id=161726

        Reviewed by Ryosuke Niwa.

        * js/dom/document-write-in-error-event-expected.txt: Added.
        * js/dom/document-write-in-error-event.html: Added.
        * js/dom/document-write-in-load-event-expected.txt: Added.
        * js/dom/document-write-in-load-event.html: Added.
        * js/dom/script-tests/dummy.js: Added.

2016-09-08  Chris Dumez  <cdumez@apple.com>

        Add support for HTMLIframeElement.allowFullscreen attribute
        https://bugs.webkit.org/show_bug.cgi?id=161757

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * fullscreen/full-screen-iframe-allowFullscreen-expected.txt: Added.
        * fullscreen/full-screen-iframe-allowFullscreen.html: Added.

2016-09-08  Ryan Haddad  <ryanhaddad@apple.com>

        Remove pass expectation for fast/text/emoji-num-glyphs.html after r205657.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-09-08  Chris Dumez  <cdumez@apple.com>

        Align proto getter / setter behavior with other browsers
        https://bugs.webkit.org/show_bug.cgi?id=161455

        Reviewed by Saam Barati.

        Add layout test coverage and update a few existing test to reflect
        behavior change.

        * fast/dom/Window/script-tests/window-custom-prototype.js: Removed.
        * fast/dom/Window/window-custom-prototype-crash-expected.txt:
        * fast/dom/Window/window-custom-prototype-expected.txt: Removed.
        * fast/dom/Window/window-custom-prototype.html: Removed.
        * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf.html:
        * http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-setPrototypeOf.html:
        * http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-method-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
        * js/dom/setPrototypeOf-location-window-expected.txt: Added.
        * js/dom/setPrototypeOf-location-window.html: Added.

2016-09-08  Simon Fraser  <simon.fraser@apple.com>

        Don't run transitions to or from undefined Lengths
        https://bugs.webkit.org/show_bug.cgi?id=161750
        rdar://problem/28170460

        Reviewed by Zalan Bujtas.

        * transitions/transition-to-from-undefined-expected.txt: Added.
        * transitions/transition-to-from-undefined.html: Added.

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

        Support new emoji group candidates
        https://bugs.webkit.org/show_bug.cgi?id=161664
        <rdar://problem/24802695>
        <rdar://problem/27666433>

        Reviewed by Simon Fraser.

        Add tests.

        * platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:
        * platform/mac-yosemite/editing/deleting/delete-emoji-expected.txt:
        * platform/mac/editing/deleting/delete-emoji-expected.txt:
        * editing/deleting/delete-emoji.html:
        * fast/text/emoji-num-glyphs-expected.txt:
        * fast/text/emoji-num-glyphs.html:

2016-09-08  Chris Dumez  <cdumez@apple.com>

        HTMLImageElement.width / height attributes should be unsigned
        https://bugs.webkit.org/show_bug.cgi?id=161730

        Reviewed by Alex Christensen.

        Update existing test to reflect behavior change.

        * js/dom/custom-constructors-expected.txt:
        * js/dom/script-tests/custom-constructors.js:

2016-09-08  Commit Queue  <commit-queue@webkit.org>

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

        Crashing under ASan (Requested by yusukesuzuki on #webkit).

        Reverted changeset:

        "ScriptRunner should be driven by PendingScript rather than
        ScriptElement"
        https://bugs.webkit.org/show_bug.cgi?id=161726
        http://trac.webkit.org/changeset/205652

2016-09-08  Yusuke Suzuki  <utatane.tea@gmail.com>

        ScriptRunner should be driven by PendingScript rather than ScriptElement
        https://bugs.webkit.org/show_bug.cgi?id=161726

        Reviewed by Ryosuke Niwa.

        * js/dom/document-write-in-error-event-expected.txt: Added.
        * js/dom/document-write-in-error-event.html: Added.
        * js/dom/document-write-in-load-event-expected.txt: Added.
        * js/dom/document-write-in-load-event.html: Added.
        * js/dom/script-tests/dummy.js: Added.

2016-09-07  Simon Fraser  <simon.fraser@apple.com>

        Enable the <meter> element on iOS
        https://bugs.webkit.org/show_bug.cgi?id=161714
        rdar://problem/8978410

        Reviewed by Tim Horton.

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
        * platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
        * platform/ios-simulator/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
        * platform/ios-simulator/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Added.
        * platform/ios-simulator/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
        * platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
        * platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-meter-element/meter-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:

2016-09-07  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] applyConstraints pt. 2 - advanced constraints
        https://bugs.webkit.org/show_bug.cgi?id=161715
        <rdar://problem/28195461>

        Reviewed by Dean Jackson.

        * fast/mediastream/apply-constraints-advanced-expected.txt: Added.
        * fast/mediastream/apply-constraints-advanced.html: Added.

2016-09-06  Dean Jackson  <dino@apple.com>

        Expose Apple Pencil input to testing system
        https://bugs.webkit.org/show_bug.cgi?id=161670
        <rdar://problem/28183327>

        Reviewed by Simon Fraser.

        Four new tests that make sure Apple Pencil's register the correct
        touch* style events.

        * fast/events/touch/ios/pencil-down-gives-touchstart-expected.txt: Added.
        * fast/events/touch/ios/pencil-down-gives-touchstart.html: Added.
        * fast/events/touch/ios/pencil-move-gives-touchmove-expected.txt: Added.
        * fast/events/touch/ios/pencil-move-gives-touchmove.html: Added.
        * fast/events/touch/ios/pencil-tap-gives-touchstart-and-touchend-expected.txt: Added.
        * fast/events/touch/ios/pencil-tap-gives-touchstart-and-touchend.html: Added.
        * fast/events/touch/ios/pencil-up-gives-touchend-expected.txt: Added.
        * fast/events/touch/ios/pencil-up-gives-touchend.html: Added.

2016-09-07  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] some valid language tags cause errors in Intl constructors
        https://bugs.webkit.org/show_bug.cgi?id=161672

        Reviewed by Mark Lam.

        Add list of valid language tags that should not throw from test262.

        * js/intl-collator-expected.txt:
        * js/intl-datetimeformat-expected.txt:
        * js/intl-numberformat-expected.txt:
        * js/script-tests/intl-collator.js:
        * js/script-tests/intl-datetimeformat.js:
        * js/script-tests/intl-numberformat.js:

2016-09-07  Chris Dumez  <cdumez@apple.com>

        Drop legacy canvas.probablySupportsContext()
        https://bugs.webkit.org/show_bug.cgi?id=161692

        Reviewed by Alex Christensen.

        Drop legacy layout test.

        * fast/canvas/webgl/canvas-supports-context-expected.txt: Removed.
        * fast/canvas/webgl/canvas-supports-context.html: Removed.

2016-09-07  Nan Wang  <n_wang@apple.com>

        [GTK] Layout test accessibility/media-emits-object-replacement.html fails
        https://bugs.webkit.org/show_bug.cgi?id=161585
        <rdar://problem/28157032>

        Reviewed by Chris Fleizach.

        Updated the test expectation.

        * platform/gtk/accessibility/media-emits-object-replacement-expected.txt:

2016-09-07  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html.
        https://bugs.webkit.org/show_bug.cgi?id=161632

        Unreviewed test gardening.

        * TestExpectations:

2016-09-07  Youenn Fablet  <youenn@apple.com>

        Using tests-options.json to compute whether tests are slow
        https://bugs.webkit.org/show_bug.cgi?id=161626

        Reviewed by Darin Adler.

        * TestExpectations: Removing slow WPT expectations now that they are handled through tests-options.json.

2016-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK][Threaded Compositor] Several flaky tests
        https://bugs.webkit.org/show_bug.cgi?id=161242

        Reviewed by Michael Catanzaro.

        Unskip compositing/fixed-with-fixed-layout.html and fast/fixed-layout/fixed-layout.html.

        * platform/gtk/TestExpectations:

2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/security/cross-origin-plugin-allowed.html as flaky on mac-wk2 release.
        https://bugs.webkit.org/show_bug.cgi?id=161539

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-06  Myles C. Maxfield  <mmaxfield@apple.com>

        Strikethrough positions are erroneously snapped twice
        https://bugs.webkit.org/show_bug.cgi?id=161647
        <rdar://problem/11542470>

        Reviewed by Zalan Bujtas.

        * fast/css3-text/css3-text-decoration/text-decoration-line-through-mispositioned-expected.html: Updated.
        * fast/text/strikethrough-int-expected-mismatch.html: Added.
        * fast/text/strikethrough-int.html: Added.

2016-09-06  Chris Dumez  <cdumez@apple.com>

        Align srcset attribute parsing with the HTML specification
        https://bugs.webkit.org/show_bug.cgi?id=161636

        Reviewed by Darin Adler.

        Re-sync fast/hidpi/image-srcset-invalid-descriptor.html with Blink.

        * fast/hidpi/image-srcset-invalid-descriptor-expected.txt:
        * fast/hidpi/image-srcset-invalid-descriptor.html:

2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Marking storage/indexeddb/objectstore-cursor.html as flaky on mac-wk2 debug.
        https://bugs.webkit.org/show_bug.cgi?id=161633

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/media-document-audio-repaint.html as flaky on El Capitan WK2.
        https://bugs.webkit.org/show_bug.cgi?id=155757

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-06  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !paintInfo.overlapTestRequests->contains(this) in WebCore::RenderWidget::paintContents
        https://bugs.webkit.org/show_bug.cgi?id=135602
        <rdar://problem/27701733>

        Reviewed by Simon Fraser.

        * fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt: Added.
        * fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html: Added.

2016-09-06  Simon Fraser  <simon.fraser@apple.com>

        Align element.scroll() / scrollTo() / scrollBy() with the CSSOM specification
        https://bugs.webkit.org/show_bug.cgi?id=161610

        Reviewed by Darin Adler, Chris Dumez.

        * fast/dom/Element/scrolling-funtions-on-body-expected.txt: Added.
        * fast/dom/Element/scrolling-funtions-on-body-quirks-expected.txt: Added.
        * fast/dom/Element/scrolling-funtions-on-body-quirks.html: Added.
        * fast/dom/Element/scrolling-funtions-on-body.html: Added.
        * fast/dom/Element/scrolling-funtions-on-element-expected.txt: Added.
        * fast/dom/Element/scrolling-funtions-on-element.html: Added.

2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Skip some asserting Fetch API tests.
        https://bugs.webkit.org/show_bug.cgi?id=161632

        Unreviewed test gardening.

        * TestExpectations:

2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Revert r205491 because it did not resolve the test failures, update bug number in TestExpectations.
        https://bugs.webkit.org/show_bug.cgi?id=161366

        Unreviewed test gardening.

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

2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping editing/inserting/smart-link-when-caret-is-moved-before-URL.html.
        https://bugs.webkit.org/show_bug.cgi?id=161366

        Unreviewed test gardening.

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

2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-id-top.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=161631

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-09-06  Daniel Bates  <dabates@apple.com>

        <table> inside <div align="right"> with large content inside = no scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=3352

        Reviewed by Brent Fulgham.

        Add a new test that is derived from the test LayoutTests/fast/block/align-bigger-child.html included
        in <https://src.chromium.org/viewvc/blink?revision=187157&view=revision>.

        Also update expected results of existing tests.

        * fast/block/align-overflow-child-expected.txt: Added.
        * fast/block/align-overflow-child.html: Added.
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:

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

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

        tests-options.json is not known from knockout filesystem
        (Requested by youenn on #webkit).

        Reverted changeset:

        "Using tests-options.json to compute whether tests are slow"
        https://bugs.webkit.org/show_bug.cgi?id=161626
        http://trac.webkit.org/changeset/205480

2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline http/tests/cookies/third-party-cookie-relaxing.html for Sierra.

        Unreviewed test gardening.

        * platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt:

2016-09-06  Youenn Fablet  <youenn@apple.com>

        http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=161627

        Reviewed by Darin Adler.

        * TestExpectations: Removing flakiness expectation.

2016-09-06  Youenn Fablet  <youenn@apple.com>

        Using tests-options.json to compute whether tests are slow
        https://bugs.webkit.org/show_bug.cgi?id=161626

        Reviewed by Darin Adler.

        * TestExpectations: Removing slow WPT expectations now that they are handled through tests-options.json.

2016-09-06  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !currBox->needsLayout() in WebCore::RenderBlock::checkPositionedObjectsNeedLayout
        https://bugs.webkit.org/show_bug.cgi?id=120291
        <rdar://problem/27683456>

        Reviewed by David Hyatt.

        * fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out-expected.txt: Added.
        * fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html: Added.

2016-09-06  Youenn Fablet  <youenn@apple.com>

        W3C test importer should be able to identify slow test
        https://bugs.webkit.org/show_bug.cgi?id=161601

        Reviewed by Darin Adler.

        * tests-options.json: Added.

2016-09-06  Youenn Fablet  <youenn@apple.com>

        CachedResourceLoader is not taking into account fetch options to use or not cached resources
        https://bugs.webkit.org/show_bug.cgi?id=161389

        Reviewed by Darin Adler.

        Added specific expectations for fetch cors-origin* tests for mac-wk2 and ios-simulator-wk2 as these tests use
        HTTPS, and the connection is refused.

        * TestExpectations: Marking http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin.html as flaky.
        * http/tests/eventsource/eventsource-cors-basic-expected.txt:
        * http/tests/eventsource/eventsource-cors-with-credentials-expected.txt:
        * http/tests/fetch/fetching-same-resource-with-diffferent-options-expected.txt: Added.
        * http/tests/fetch/fetching-same-resource-with-diffferent-options.html: Added.
        * http/tests/loading/cross-origin-XHR-willLoadRequest-expected.txt:
        * http/tests/resources/download-json-with-delay.php:
        * http/tests/resources/redirect.php:
        * http/tests/security/cross-origin-cached-resource-expected.txt: Added.
        * http/tests/security/cross-origin-cached-resource-parallel-expected.txt: Added.
        * http/tests/security/cross-origin-cached-resource-parallel.html: Added.
        * http/tests/security/cross-origin-cached-resource.html: Added.
        * http/tests/security/img-with-failed-cors-check-fails-to-load-expected.txt:
        * http/tests/security/load-image-after-redirection-2-expected.txt: Added.
        * http/tests/security/load-image-after-redirection-2.html: Added.
        * http/tests/security/resources/abe-allow-star.php:
        * http/tests/security/resources/allow-if-origin.php: Added.
        * http/tests/security/resources/cross-origin-cached-resource-iframe.html: Added.
        * http/tests/security/resources/rgbalpha.png: Added.
        * http/tests/security/shape-outside-and-cached-resources-expected.html: Added.
        * http/tests/security/shape-outside-and-cached-resources.html: Added.
        * 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-same-origin-expected.txt:
        * http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash-expected.txt:
        * http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
        * http/tests/xmlhttprequest/cross-origin-no-credential-prompt-expected.txt:
        * http/tests/xmlhttprequest/cross-site-denied-response-expected.txt:
        * http/tests/xmlhttprequest/onerror-event-expected.txt:
        * http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
        * http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
        * http/tests/xmlhttprequest/post-blob-content-type-async-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.

2016-09-06  Philippe Normand  <pnormand@igalia.com>

        Unreviewed GTK gardening

        * platform/gtk/TestExpectations: Mark 2 mediastream tests as crashing

2016-09-05  Darin Adler  <darin@apple.com>

        More bindings improvements, particularly things not needed for JavaScript bindings
        https://bugs.webkit.org/show_bug.cgi?id=161572

        Reviewed by Sam Weinig.

        * TestExpectations: Updated to expect success instead of failure for the
        imported/mozilla/svg tests named conditions-01.svg, conditions-06.svg,
        dynamic-conditions-01.svg, switch-01.svg, and
        svg-integration/dynamic-conditions-outer-svg-03.xhtml. These are now all passing,
        likely because of a progression due to correctly handling bogus feature strings.
        Also, a comment in bug 139115 claims that requiredFeatures it going to be removed
        from the SVG specifications and from other implementations. Updated to expect
        possible failure for dynamic-conditions-08.svg and dynamic-conditions-12.svg. Before
        these were reliably passing because of the incorrect handling of bogus feature strings.
        Now, they are sometimes failing because the tests include required code that runs on
        a timer, but no code to guarantee the test engine will wait for the timer to fire.

        * platform/efl/TestExpectations: Removed now-redundant expectations that these
        tests will pass; now expected on all platforms.

        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
        * svg/custom/svg-features-expected.txt:
        Updated results for all these tests now that DOMImplementation.hasFeature always
        returns true. The tests aren't super-valuable any more, but I don't see a good
        reason to locally modify the imported tests from the W3C-SVG-1.1 suite, and
        while the svg-features test isn't great, keeping it does provide a little test
        coverage for the "always return true" behavior.

        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
        * svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
        Updated for progression due to correctly handling bogus feature strings.

2016-09-05  Commit Queue  <commit-queue@webkit.org>

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

        Made tests flaky, causing false positives on EWS (Requested by
        ap on #webkit).

        Reverted changeset:

        "CachedResourceLoader is not taking into account fetch options
        to use or not cached resources"
        https://bugs.webkit.org/show_bug.cgi?id=161389
        http://trac.webkit.org/changeset/205450

2016-09-05  Youenn Fablet  <youenn@apple.com>

        Clean CSS stylesheets should be accessible from JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=158728

        Reviewed by Darin Adler.

        * http/tests/security/cannot-read-cssrules-expected.txt:
        * http/tests/security/cannot-read-cssrules-redirect-expected.txt:
        * http/tests/security/cannot-read-cssrules-redirect.html:
        * http/tests/security/cannot-read-cssrules.html:
        * http/tests/security/cross-origin-css-9.html:
        * http/tests/security/resources/xorigincss1-allow-star.php: Added.

2016-09-05  Philippe Normand  <pnormand@igalia.com>

        WebRTC: Several media stream tests crashing
        https://bugs.webkit.org/show_bug.cgi?id=161582

        Reviewed by Alejandro G. Castro.

        * platform/gtk/TestExpectations: Unskip now-passing tests.

2016-09-05  Youenn Fablet  <youenn@apple.com>

        CachedResourceLoader is not taking into account fetch options to use or not cached resources
        https://bugs.webkit.org/show_bug.cgi?id=161389

        Reviewed by Darin Adler.

        Added specific expectations for fetch cors-origin* tests for mac-wk2 and ios-simulator-wk2 as these tests use
        HTTPS, and the connection is refused.

        * http/tests/eventsource/eventsource-cors-basic-expected.txt:
        * http/tests/eventsource/eventsource-cors-with-credentials-expected.txt:
        * http/tests/fetch/fetching-same-resource-with-diffferent-options-expected.txt: Added.
        * http/tests/fetch/fetching-same-resource-with-diffferent-options.html: Added.
        * http/tests/loading/cross-origin-XHR-willLoadRequest-expected.txt:
        * http/tests/resources/download-json-with-delay.php:
        * http/tests/resources/redirect.php:
        * http/tests/security/cross-origin-cached-resource-expected.txt: Added.
        * http/tests/security/cross-origin-cached-resource-parallel-expected.txt: Added.
        * http/tests/security/cross-origin-cached-resource-parallel.html: Added.
        * http/tests/security/cross-origin-cached-resource.html: Added.
        * http/tests/security/img-with-failed-cors-check-fails-to-load-expected.txt:
        * http/tests/security/load-image-after-redirection-2-expected.txt: Added.
        * http/tests/security/load-image-after-redirection-2.html: Added.
        * http/tests/security/resources/abe-allow-star.php:
        * http/tests/security/resources/allow-if-origin.php: Added.
        * http/tests/security/resources/cross-origin-cached-resource-iframe.html: Added.
        * http/tests/security/resources/rgbalpha.png: Added.
        * http/tests/security/shape-outside-and-cached-resources-expected.html: Added.
        * http/tests/security/shape-outside-and-cached-resources.html: Added.
        * 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-same-origin-expected.txt:
        * http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash-expected.txt:
        * http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
        * http/tests/xmlhttprequest/cross-origin-no-credential-prompt-expected.txt:
        * http/tests/xmlhttprequest/cross-site-denied-response-expected.txt:
        * http/tests/xmlhttprequest/onerror-event-expected.txt:
        * http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
        * http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
        * http/tests/xmlhttprequest/post-blob-content-type-async-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.

2016-09-04  Youenn Fablet  <youenn@apple.com>

        http/tests/fetch/clone-response-body.html uses an incorrect URL
        https://bugs.webkit.org/show_bug.cgi?id=161382

        Reviewed by Darin Adler.

        * http/tests/fetch/clone-response-body.html: Fixing url, increasing delay to ensure non-flakiness.
        Adding assertions to ensure load is successful.

2016-09-04  Michael Catanzaro  <mcatanzaro@igalia.com>

        Miscellaneous unreviewed GTK test gardening

        * platform/gtk/TestExpectations:
        * platform/gtk/accessibility/math-multiscript-attributes-expected.txt:
        * platform/gtk/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/gtk/editing/pasteboard/image-in-iframe-expected.txt: Added.
        * platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt:

2016-09-03  Ryosuke Niwa  <rniwa@webkit.org>

        Update the semantics of defined-ness of custom elements per spec changes
        https://bugs.webkit.org/show_bug.cgi?id=161570

        Reviewed by Darin Adler.

        Added a new test cases to defined-pseudo-class.html, defined-rule.html, and Node-cloneNode.html
        and rebaselined the tests.

        * fast/custom-elements/defined-pseudo-class-expected.txt:
        * fast/custom-elements/defined-pseudo-class.html:
        (MyElement): Made matchInsideConstructor an instance variable so that there won't be inter-test dependency.
        Added test cases for :defined not being not applying to a failed-to-upgrade custom element. Finally, updated
        test expectation to reflect the fact :defined now applies inside custom element constructors immediately after
        super() call.
        * fast/custom-elements/defined-rule.html: Added a test case for :defined not applying to a failed-to-upgrade
        custom element. Also adjusted the height of the last box so that the green box is still 100px by 100px.
        * fast/custom-elements/upgrading/Node-cloneNode-expected.txt:
        * fast/custom-elements/upgrading/Node-cloneNode.html: Added a test to make sure we don't try to upgrade
        a custom element for the second time when the first attempt resulted in the constructor throwing an exception.

2016-09-03  Ryosuke Niwa  <rniwa@webkit.org>

        Unbreak customElements.whenDefined after r205383 with a crash fix
        https://bugs.webkit.org/show_bug.cgi?id=161562

        Reviewed by Darin Adler.

        Revert r205383 now that all test cases pass.

        * fast/custom-elements/CustomElementRegistry-expected.txt:

2016-09-03  Chris Dumez  <cdumez@apple.com>

        Align cross-Origin Object.getOwnPropertyNames() with the HTML specification
        https://bugs.webkit.org/show_bug.cgi?id=161457

        Reviewed by Darin Adler.

        Add test coverage.

        * http/tests/security/cross-frame-access-enumeration-expected.txt:
        * http/tests/security/cross-frame-access-enumeration.html:

2016-09-03  Chris Dumez  <cdumez@apple.com>

        Object.preventExtensions(window) should throw a TypeError
        https://bugs.webkit.org/show_bug.cgi?id=161554

        Reviewed by Darin Adler.

        * http/tests/security/preventExtensions-window-location-expected.txt:
        * http/tests/security/preventExtensions-window-location.html:

2016-09-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Address ESLint undefined variable errors
        https://bugs.webkit.org/show_bug.cgi?id=161563

        Reviewed by Darin Adler.

        * inspector/protocol/inspector-backend-invocation-return-value-expected.txt:
        * inspector/protocol/inspector-backend-invocation-return-value.html:

2016-09-03  Chris Dumez  <cdumez@apple.com>

        Align meta element http-equiv="refresh" parsing with the HTML specification
        https://bugs.webkit.org/show_bug.cgi?id=161543

        Reviewed by Darin Adler.

        Update layout test to only use HTML spaces in http-equiv="refresh"
        content value.

        * http/tests/misc/refresh-meta-with-newline.html:

2016-09-03  Youenn Fablet  <youenn@apple.com>

        run-webkit-tests should detect w3c test resource files
        https://bugs.webkit.org/show_bug.cgi?id=161307

        Reviewed by Ryosuke Niwa.

        * TestExpectations: Removing resource files skip expectations.

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

        [Cocoa] Distinguish between paint advances and base advances
        https://bugs.webkit.org/show_bug.cgi?id=160892

        Unreviewed.

        Update test results.

        * platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.png: Removed.
        * platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.txt: Removed.
        * platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.png: Removed.
        * platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.txt: Removed.
        * platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.png: Removed.
        * platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Removed.
        * platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
        * platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/mac/css2.1/t1508-c527-font-00-b-expected.png:
        * platform/mac/css2.1/t1508-c527-font-00-b-expected.txt:
        * platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
        * platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:

2016-09-02  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Distinguish between paint advances and base advances
        https://bugs.webkit.org/show_bug.cgi?id=160892

        Reviewed by Simon Fraser.

        Update tests. There are some expected (small) changes in metrics due to this patch.

        * platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.png: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png.
        * platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt.
        * platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.png: Copied from LayoutTests/platform/mac/css2.1/t1508-c527-font-00-b-expected.png.
        * platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.txt: Added.
        * platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.png: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png.
        * platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt.
        * platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
        * platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/mac/css2.1/t1508-c527-font-00-b-expected.png:
        * platform/mac/css2.1/t1508-c527-font-00-b-expected.txt: Added.
        * platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
        * platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:

2016-09-02  Zalan Bujtas  <zalan@apple.com>

        Should never be reached failure in WebCore::floatValueForLength
        https://bugs.webkit.org/show_bug.cgi?id=139397
        <rdar://problem/27704376>

        Reviewed by Simon Fraser.

        * svg/css/assert-on-non-resolvable-dimension-expected.txt: Added.
        * svg/css/assert-on-non-resolvable-dimension.html: Added.

2016-09-02  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline editing/secure-input/removed-password-input.html after r205381.

        Unreviewed test gardening.

        * editing/secure-input/removed-password-input-expected.txt:
        * platform/wk2/editing/secure-input/removed-password-input-expected.txt: Copied from LayoutTests/editing/secure-input/removed-password-input-expected.txt.

2016-09-02  Ryosuke Niwa  <rniwa@webkit.org>

        Add validations for a synchronously constructed custom element
        https://bugs.webkit.org/show_bug.cgi?id=161528

        Reviewed by Yusuke Suzuki.

        Added test cases for sanity checks in step 6.1. of https://dom.spec.whatwg.org/#concept-create-element
        and updated other test cases per those changes.

        * fast/custom-elements/Document-createElement-expected.txt:
        * fast/custom-elements/Document-createElement.html:
        * fast/custom-elements/defined-pseudo-class-expected.txt: Rebaselined now that exceptions thrown while constructing
        a custom element is reported in the console.
        * fast/custom-elements/parser/parser-fallsback-to-unknown-element-expected.txt: Ditto.

2016-09-02  Ryan Haddad  <ryanhaddad@apple.com>

        Marking two editing/mac/spelling tests as flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=161411

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-02  Zalan Bujtas  <zalan@apple.com>

        ASSERT_NOT_REACHED() is touched in WebCore::valueForLength
        https://bugs.webkit.org/show_bug.cgi?id=123337
        <rdar://problem/27684121>

        Reviewed by Simon Fraser.

        * fast/table/assert-on-non-resolvable-row-dimension-expected.txt: Added.
        * fast/table/assert-on-non-resolvable-row-dimension.html: Added.

2016-09-02  Ryosuke Niwa  <rniwa@webkit.org>

        Temporarily break customElements.whenDefined to remove flaky crashes
        https://bugs.webkit.org/show_bug.cgi?id=161555

        Reviewed by Chris Dumez.

        Rebaseline the test now that some test cases are failing due to the partial rollout.

        * fast/custom-elements/CustomElementRegistry-expected.txt:

2016-09-02  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r205373.

        This change causes LayoutTest crashes under GuardMalloc

        Reverted changeset:

        "[Cocoa] Distinguish between paint advances and base advances"
        https://bugs.webkit.org/show_bug.cgi?id=160892
        http://trac.webkit.org/changeset/205373

2016-09-02  Beth Dakin  <bdakin@apple.com>

        Need to updateEditorState if an element change edit-ability without changing 
        selection
        https://bugs.webkit.org/show_bug.cgi?id=161546
        -and corresponding-
        rdar://problem/27806012

        Reviewed by Ryosuke Niwa.

        This patch seems to have fixed a bug!
        * editing/secure-input/removed-password-input-expected.txt:

2016-09-02  Jonathan Bedard  <jbedard@apple.com>

        WebKitTestRunner needs layoutTestController.setDashboardCompatibilityMode
        https://bugs.webkit.org/show_bug.cgi?id=42547

        Reviewed by Darin Adler.

        The addition of setUseDashboardCompatibilityMode to the WebKit2 TestRunner means the set of tests removed from the expected failures list now pass.
        Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.

        * platform/ios-simulator-wk2/TestExpectations:  Changed reason test was excluded.
        * platform/wk2/TestExpectations: Remove tests which use setUseDashboardCompatibilityMode from expected failures.

2016-09-02  Ryan Haddad  <ryanhaddad@apple.com>

        Marking editing/pasteboard/5478250.html as flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=161366

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-09-02  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !m_committedWidth in WebCore::LineWidth::fitBelowFloats
        https://bugs.webkit.org/show_bug.cgi?id=149462
        <rdar://problem/27710841>

        Reviewed by David Hyatt.

        * fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit-expected.txt: Added.
        * fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html: Added.

2016-09-02  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Distinguish between paint advances and base advances
        https://bugs.webkit.org/show_bug.cgi?id=160892

        Reviewed by Simon Fraser.

        Update tests. There are some expected (small) changes in metrics due to this patch.

        * platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.png: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png.
        * platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt.
        * platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.png: Copied from LayoutTests/platform/mac/css2.1/t1508-c527-font-00-b-expected.png.
        * platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.txt: Added.
        * platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.png: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png.
        * platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt.
        * platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
        * platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/mac/css2.1/t1508-c527-font-00-b-expected.png:
        * platform/mac/css2.1/t1508-c527-font-00-b-expected.txt: Added.
        * platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
        * platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:

2016-09-02  Chris Dumez  <cdumez@apple.com>

        Unreviewed, roll out r205354 because it caused JSC test failures

        * fast/dom/Window/script-tests/window-custom-prototype.js: Added.
        * fast/dom/Window/window-custom-prototype-crash-expected.txt:
        * fast/dom/Window/window-custom-prototype-expected.txt: Added.
        * fast/dom/Window/window-custom-prototype.html: Added.
        * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf.html:
        * http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-setPrototypeOf.html:
        * http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-method-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
        * js/dom/setPrototypeOf-location-window-expected.txt: Removed.
        * js/dom/setPrototypeOf-location-window.html: Removed.
        * js/object-literal-shorthand-construction-expected.txt:
        * js/script-tests/object-literal-shorthand-construction.js:
        * js/script-tests/sloppy-getter-setter-global-object.js:
        * js/sloppy-getter-setter-global-object-expected.txt:

2016-09-02  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/mediastream/MediaStreamTrack-getSettings.html after r205348.

        Unreviewed test gardening.

        * fast/mediastream/MediaStreamTrack-getSettings-expected.txt:

2016-09-02  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r204839): [mac-wk1] LayoutTest webgl/max-active-contexts-webglcontextlost-prevent-default.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=161205

        Reviewed by Geoffrey Garen.

        Unskip test case now that it is no longer flaky.

        * platform/mac-wk1/TestExpectations:

2016-09-02  Chris Dumez  <cdumez@apple.com>

        Object.preventExtensions() should throw cross-origin
        https://bugs.webkit.org/show_bug.cgi?id=161486

        Reviewed by Geoffrey Garen.

        Add layout test coverage. We have a few failures in the same origin case
        because we don't fully match the specification yet:
        - Object.preventExtensions() should throw a TypeError. However, our
          implementation currently does not throw if [[PreventExtensions]] returns
          false.
        - We do not ignore calls to Object.preventExtensions() for the Location
          object yet because other browsers do not seem to either.

        * http/tests/security/preventExtensions-window-location-expected.txt: Added.
        * http/tests/security/preventExtensions-window-location.html: Added.

2016-09-02  Chris Dumez  <cdumez@apple.com>

        Object.defineProperty() should throw cross-origin
        https://bugs.webkit.org/show_bug.cgi?id=161460

        Reviewed by Geoffrey Garen.

        Add test coverage.

        * http/tests/security/cross-frame-access-object-prototype-expected.txt:
        * http/tests/security/location-cross-origin-expected.txt:
        * http/tests/security/location-cross-origin.html:
        * http/tests/security/window-defineProperty-crossOrigin-expected.txt: Added.
        * http/tests/security/window-defineProperty-crossOrigin.html: Added.
        * http/tests/security/xss-DENIED-defineProperty-expected.txt:

2016-09-02  Chris Dumez  <cdumez@apple.com>

        Align proto getter / setter behavior with other browsers
        https://bugs.webkit.org/show_bug.cgi?id=161455

        Reviewed by Mark Lam.

        Add layout test coverage and update a few existing test to reflect
        behavior change.

        * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf.html:
        * http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-setPrototypeOf.html:
        * http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-method-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
        * js/dom/setPrototypeOf-location-window-expected.txt: Added.
        * js/dom/setPrototypeOf-location-window.html: Added.

2016-09-02  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] applyConstraints pt. 1 - mandatory constraints
        https://bugs.webkit.org/show_bug.cgi?id=161469
        <rdar://problem/28109325>

        Reviewed by Jer Noble.

        * fast/mediastream/apply-constraints-audio-expected.txt: Added.
        * fast/mediastream/apply-constraints-audio.html: Added.
        * fast/mediastream/apply-constraints-video-expected.txt: Added.
        * fast/mediastream/apply-constraints-video.html: Added.
        * fast/mediastream/resources/apply-constraints-utils.js: Added.

2016-09-01  Ryosuke Niwa  <rniwa@webkit.org>

        Only update connected custom elements
        https://bugs.webkit.org/show_bug.cgi?id=161480

        Reviewed by Yusuke Suzuki.

        Added a W3c-style testharness.js test for https://html.spec.whatwg.org/#enqueue-a-custom-element-upgrade-reaction
        and added more test cases for :defined and customElements.define.

        * fast/custom-elements/CustomElementRegistry.html: Revised descriptions for "get" and "whenDefined" test cases consistent
        with ones for "define".
        * fast/custom-elements/defined-pseudo-class-expected.txt:
        * fast/custom-elements/defined-pseudo-class.html:
        * fast/custom-elements/enqueue-custom-element-upgrade-reaction-expected.txt: Added.
        * fast/custom-elements/enqueue-custom-element-upgrade-reaction.html: Added.
        * fast/custom-elements/resources/document-types.js:
        (create):

2016-09-01  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Mark failing tests to failure

        Unreviewed EFL gardening.

        Failing tests of security, hyphenation, and form are marked to failure.

        * platform/efl/TestExpectations:

2016-09-01  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Gardening faliure and timeout tests on 2th Sep.

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations:

2016-09-01  Ricky Mondello  <rmondello@apple.com>

        YouTube Flash plug-in replacement facility should not insert showinfo=0 into iframe URLs
        https://bugs.webkit.org/show_bug.cgi?id=161478
        <rdar://problem/28050847>

        Reviewed by Eric Carlson.

        * platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-expected.txt: Update the URL that was blocked.
        * platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-no-height-or-width-expected.txt: Ditto.
        * security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement-expected.txt: Ditto.

2016-09-01  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: add Object.awaitEvent which is like singleFireEventListener but returns a promise
        https://bugs.webkit.org/show_bug.cgi?id=161451

        Reviewed by Brian Burg.

        * inspector/unit-tests/object-expected.txt:
        * inspector/unit-tests/object.html:

2016-09-01  Ryosuke Niwa  <rniwa@webkit.org>

        Fix a typo in the previous commit. I didn't mean to comment out this test case I added per a review comment.

        * fast/custom-elements/CustomElementRegistry-expected.txt:
        * fast/custom-elements/CustomElementRegistry.html:

2016-09-01  Ryosuke Niwa  <rniwa@webkit.org>

        Add "whenDefined" to CustomElementRegistry
        https://bugs.webkit.org/show_bug.cgi?id=161425

        Reviewed by Yusuke Suzuki.

        Added test cases for "whenDefined" method.

        * fast/custom-elements/CustomElementRegistry-expected.txt:
        * fast/custom-elements/CustomElementRegistry.html:

2016-09-01  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Minification detection produces false positives for small resources
        https://bugs.webkit.org/show_bug.cgi?id=161159
        <rdar://problem/27995306>

        Reviewed by Brian Burg.

        * inspector/formatting/is-text-likely-minified-expected.txt: Added.
        * inspector/formatting/is-text-likely-minified.html: Added.

2016-09-01  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r205297.

        Caused some JSC test failures

        Reverted changeset:

        "Align cross-origin proto getter / setter behavior with the
        specification"
        https://bugs.webkit.org/show_bug.cgi?id=161455
        http://trac.webkit.org/changeset/205297

2016-09-01  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-09-01  Chris Dumez  <cdumez@apple.com>

        Align cross-origin proto getter / setter behavior with the specification
        https://bugs.webkit.org/show_bug.cgi?id=161455

        Reviewed by Mark Lam.

        Add layout test coverage.

        * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf.html:
        * http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-setPrototypeOf.html:

2016-09-01  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/video-main-content-allow-then-scroll.html as flaky on ios-simulator-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=161491

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-09-01  Ryan Haddad  <ryanhaddad@apple.com>

        Add ios-simulator baseline for compositing/layer-creation/will-change-on-normal-flow-content.html.
        https://bugs.webkit.org/show_bug.cgi?id=161490

        Unreviewed test gardening.

        * platform/ios-simulator/compositing/layer-creation/will-change-on-normal-flow-content-expected.txt: Added.

2016-09-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Skip fixed layout tests in GTK+

        They are causing a lot of flaky tests because of changes in the viewport controller that are never reset. Once
        the actual bug is properly fixed I'll unskip these tests again.

        * platform/gtk/TestExpectations:

2016-09-01  Youenn Fablet  <youenn@apple.com>

        Calling then on promise in Workers may crash in Debug builds
        https://bugs.webkit.org/show_bug.cgi?id=156737

        Unreviewed.

        * TestExpectations: Activating previously skipped fetch api tests in Debug bots

2016-08-31  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !flow->layer() && !flow->isInlineElementContinuation() in WebCore::RenderBlock::addContinuationWithOutline
        https://bugs.webkit.org/show_bug.cgi?id=151022
        <rdar://problem/27710993>

        Reviewed by Simon Fraser.

        * compositing/layer-creation/assert-on-inline-element-with-will-change-expected.txt: Added.
        * compositing/layer-creation/assert-on-inline-element-with-will-change.html: Added.
        * compositing/layer-creation/will-change-on-normal-flow-content-expected.txt: Added.
        * compositing/layer-creation/will-change-on-normal-flow-content.html: Added.

2016-08-31  Ricky Mondello  <rmondello@apple.com>

        Break pluginReplacementEnabled into youTubeFlashPluginReplacementEnabled and quickTimePluginReplacementEnabled
        https://bugs.webkit.org/show_bug.cgi?id=161424
        <rdar://problem/28050847>

        Reviewed by Dean Jackson.

        * plugins/quicktime-plugin-replacement.html: Updated for the internal setting rename.
        * security/contentSecurityPolicy/object-src-none-blocks-quicktime-plugin-replacement.html: Ditto.
        * security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html: Ditto.
        * security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html: Ditto.
        * security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html: Ditto.
        * security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-without-mime-type.html: Ditto.
        * security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement.html: Ditto.
        * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html: Ditto.
        * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html: Ditto.

2016-08-31  Mark Lam  <mark.lam@apple.com>

        Gardening: skipping a flaky test from the JSC test suite.
        https://bugs.webkit.org/show_bug.cgi?id=161437

        Not reviewed.

        * js/script-tests/regress-141098.js:

2016-08-31  Yoav Weiss  <yoav@yoav.ws>

        Add event support for link preload.
        https://bugs.webkit.org/show_bug.cgi?id=158466

        Reviewed by Alex Christensen.

        Add tests that make sure that event handling with regarding to link preload
        is working as it should.

        * http/tests/misc/script_onload_delays_window_onload-expected.txt: Added.
        * http/tests/misc/script_onload_delays_window_onload.html: Added.
        * http/tests/preload/delaying_onload_link_preload_after_discovery-expected.txt: Added.
        * http/tests/preload/delaying_onload_link_preload_after_discovery.html: Added.
        * http/tests/preload/delaying_onload_link_preload_after_discovery_image-expected.txt: Added.
        * http/tests/preload/delaying_onload_link_preload_after_discovery_image.html: Added.
        * http/tests/preload/dynamic_remove_preload_href-expected.txt:
        * http/tests/preload/dynamic_remove_preload_href.html:
        * http/tests/preload/not_delaying_window_onload_before_discovery-expected.txt: Added.
        * http/tests/preload/not_delaying_window_onload_before_discovery.html: Added.
        * http/tests/preload/onerror_event-expected.txt: Added.
        * http/tests/preload/onerror_event.html: Added.
        * http/tests/preload/onload_event-expected.txt: Added.
        * http/tests/preload/onload_event.html: Added.
        * http/tests/preload/resources/single_download_preload.html:
        * http/tests/resources/dummy.css: Added.
        * http/tests/resources/dummy.js: Added.
        * http/tests/resources/dummy.xml: Added.
        * http/tests/resources/slow-image.php: Added.

2016-08-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: XHR with text but responseType = "blob" shows blank content
        https://bugs.webkit.org/show_bug.cgi?id=161422
        <rdar://problem/28066869>

        Reviewed by Brian Burg.

        * inspector/network/resources/data.json: Added.
        * inspector/network/xhr-json-blob-has-content-expected.txt: Added.
        * inspector/network/xhr-json-blob-has-content.html: Added.

2016-08-31  Ryosuke Niwa  <rniwa@webkit.org>

        HTML constructor must throw when newTarget is itself
        https://bugs.webkit.org/show_bug.cgi?id=161430

        Reviewed by Antti Koivisto.

        Added test cases for defining a custom element with the HTMLElement constructor,
        and making sure the HTMLElement constructor throws an exception when newTarget is itself.

        * fast/custom-elements/CustomElementRegistry-expected.txt:
        * fast/custom-elements/CustomElementRegistry.html:
        * fast/custom-elements/HTMLElement-constructor-expected.txt:
        * fast/custom-elements/HTMLElement-constructor.html:

2016-08-31  Ryosuke Niwa  <rniwa@webkit.org>

        Add the check for reentrancy to CustomElementRegistry
        https://bugs.webkit.org/show_bug.cgi?id=161423

        Reviewed by Antti Koivisto.

        Add test cases for reentrancy during customElements.define.

        * fast/custom-elements/CustomElementRegistry-expected.txt:
        * fast/custom-elements/CustomElementRegistry.html:

2016-08-31  Chris Dumez  <cdumez@apple.com>

        Object.getPrototypeOf() should return null cross-origin
        https://bugs.webkit.org/show_bug.cgi?id=161393

        Reviewed by Geoffrey Garen.

        Add layout test coverage.

        * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf.html:

2016-08-31  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-31  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=161391

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-08-31  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Response bodyUsed should check for its body disturbed state
        https://bugs.webkit.org/show_bug.cgi?id=161429

        Reviewed by Alex Christensen.

        * http/tests/fetch/bodyUsed-expected.txt: Added.
        * http/tests/fetch/bodyUsed-worker-expected.txt: Added.
        * http/tests/fetch/bodyUsed-worker.html: Added.
        * http/tests/fetch/bodyUsed.js: Added.
        * http/tests/fetch/window/body-mixin-expected.txt:

2016-08-31  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Blob type should be correctly set in case of empty body
        https://bugs.webkit.org/show_bug.cgi?id=161431

        Reviewed by Alex Christensen.

        * http/tests/fetch/fetch-as-blob-expected.txt: Added.
        * http/tests/fetch/fetch-as-blob-worker-expected.txt: Added.
        * http/tests/fetch/fetch-as-blob-worker.html: Added.
        * http/tests/fetch/fetch-as-blob.html: Added.
        * http/tests/fetch/fetch-as-blob.js: Added.
        (promise_test):

2016-08-31  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Streams API] Align getReader() with spec
        https://bugs.webkit.org/show_bug.cgi?id=160508

        Reviewed by Xabier Rodriguez-Calvar.

        * streams/readable-stream-getReader-expected.txt: Added.
        * streams/readable-stream-getReader.html: Added.

2016-08-31  Antti Koivisto  <antti@apple.com>

        REGRESSION (r201701): Unable to copy from CodeMirror editor version used in Jenkins install website
        https://bugs.webkit.org/show_bug.cgi?id=161386
        <rdar://problem/27590077>

        Reviewed by Dan Bernstein.

        * editing/text-iterator/hidden-textarea-selection-quirk-expected.txt: Added.
        * editing/text-iterator/hidden-textarea-selection-quirk.html: Added.
        * platform/ios-simulator/editing/text-iterator/hidden-textarea-selection-quirk-expected.txt: Added.

            textarea.select() doesn't select the text content on iOS.

2016-08-30  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-30  Ryosuke Niwa  <rniwa@webkit.org>

        Add "get" to CustomElementsRegistry
        https://bugs.webkit.org/show_bug.cgi?id=161421

        Reviewed by Yusuke Suzuki.

        Added test cases for "get" method on CustomElementsRegistry.

        * fast/custom-elements/CustomElementRegistry-expected.txt:
        * fast/custom-elements/CustomElementRegistry.html:

2016-08-30  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/debugger/breakpoint-action-with-exception.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=161387

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-08-30  Johan K. Jensen  <johan_jensen@apple.com>

        Web Inspector: Add resource timing model with timing information
        https://bugs.webkit.org/show_bug.cgi?id=161314

        Reviewed by Joseph Pecoraro.

        Add tests for the Resource Timing Data model.

        * http/tests/inspector/network/resource-timing-expected.txt: Added.
        * http/tests/inspector/network/resource-timing.html: Added.

2016-08-30  Chris Dumez  <cdumez@apple.com>

        Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object
        https://bugs.webkit.org/show_bug.cgi?id=161396

        Reviewed by Ryosuke Niwa.

        Update / rebaseline existing test to reflect behavior change.

        * http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-setPrototypeOf.html:

2016-08-30  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-30  Frederic Wang  <fwang@igalia.com>

        Introduce a MathMLUnknownElement class
        https://bugs.webkit.org/show_bug.cgi?id=161298

        Reviewed by Darin Adler.

        We add a test to check that non-standard or content MathML elements
        are handled by MathMLUnknownElement and so do not create renderers.

        * mathml/mathml-unknown-expected.txt: Added.
        * mathml/mathml-unknown.xhtml: Added.

2016-08-30  Chris Dumez  <cdumez@apple.com>

        [[Delete]] should throw for cross-origin Window / Location objects
        https://bugs.webkit.org/show_bug.cgi?id=161397

        Reviewed by Ryosuke Niwa.

        Update / rebaseline existing test to reflect behavior change.

        * http/tests/security/cross-frame-access-delete-expected.txt:
        * http/tests/security/cross-frame-access-delete.html:
        * http/tests/security/resources/cross-frame-iframe-for-delete-test.html:

2016-08-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html as flaky on mac.
        https://bugs.webkit.org/show_bug.cgi?id=161156

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-08-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking svg/animations/reinserting-svg-into-document.html as flaky on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=161395

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-08-30  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-30  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Blob not found URL should result in a network error
        https://bugs.webkit.org/show_bug.cgi?id=161381

        Reviewed by Sam Weinig.

        * fast/files/apply-blob-url-to-xhr-expected.txt:
        * fast/files/workers/worker-apply-blob-url-to-xhr-expected.txt:

2016-08-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-top.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=161359

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking editing/pasteboard/5478250.html as flaky on mac-wk2 debug.
        https://bugs.webkit.org/show_bug.cgi?id=161366

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-08-30  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: opportunitiesInRun <= expansionOpportunityCount in WebCore::computeExpansionForJustifiedText
        https://bugs.webkit.org/show_bug.cgi?id=139393
        <rdar://problem/27704243>

        Reviewed by Myles C. Maxfield.

        * fast/text/assert-on-expansion-opportunity-expected.txt: Added.
        * fast/text/assert-on-expansion-opportunity.html: Added.

2016-08-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/unit-tests/yieldable-task.html as a flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=161361

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-08-30  Gyuyoung Kim  <gyuyoung.kim@navercorp.com>

        [EFL] Gardening on failure tests

        Unreviewed EFL gardening.

        media control and IndexedDB tests have been failed.
        Mark them to failure.

        * platform/efl/TestExpectations:

2016-08-30  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-29  Chris Dumez  <cdumez@apple.com>

        We should throw a SecurityError when denying setting a cross-origin Location property
        https://bugs.webkit.org/show_bug.cgi?id=161368

        Reviewed by Ryosuke Niwa.

        Update / Rebaseline existing tests to reflect behavior change.

        * http/tests/security/cross-frame-access-location-put-expected.txt:
        * http/tests/security/location-cross-origin-expected.txt:
        * http/tests/security/location-cross-origin.html:
        * 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:

2016-08-29  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Gardening on Aug 30

        Unreviewed gardening. Mark unexpecting passing tests to PASS.

        * platform/efl/TestExpectations:

2016-08-29  Chris Dumez  <cdumez@apple.com>

        Unskip several web-platform-tests that are now passing
        https://bugs.webkit.org/show_bug.cgi?id=161367

        Reviewed by Geoffrey Garen.

        Unskip several web-platform-tests that are now passing.

        * TestExpectations:

2016-08-29  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION(r202568): Web Inspector: Expanding Array Prototype in Console shows no properties
        https://bugs.webkit.org/show_bug.cgi?id=161263
        <rdar://problem/28035849>

        Reviewed by Matt Baker.

        * inspector/model/remote-object-get-properties-expected.txt:
        * inspector/model/remote-object-get-properties.html:
        Include tests for an Array and an Array's proto (which is an Array).

2016-08-29  Dean Jackson  <dino@apple.com>

        JSON.stringify returns empty when used with performance.timing.
        https://bugs.webkit.org/show_bug.cgi?id=151813
        <rdar://problem/28066067>

        Reviewed by Sam Weinig.

        * fast/dom/Window/window-properties-performance-expected.txt:
        * fast/dom/Window/window-properties-performance-resource-timing-expected.txt:
        * fast/dom/webtiming-document-open-expected.txt:
        * fast/dom/webtiming-navigate-within-document-expected.txt:
        * fast/dom/webtiming-performance-timing-stringify-expected.txt: Added.
        * fast/dom/webtiming-performance-timing-stringify.html: Added.
        * http/tests/misc/webtiming-cross-origin-and-back1-expected.txt:
        * http/tests/misc/webtiming-cross-origin-redirect-expected.txt:
        * http/tests/misc/webtiming-no-origin-expected.txt:

2016-08-29  Chris Dumez  <cdumez@apple.com>

        Regression(r204923): It should be possible to set 'Location.href' cross origin
        https://bugs.webkit.org/show_bug.cgi?id=161343
        <rdar://problem/28063361>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * http/tests/security/location-cross-origin-expected.txt:
        * http/tests/security/location-cross-origin.html:
        * http/tests/security/xss-DENIED-assign-location-href-javascript-expected.txt:

2016-08-29  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-29  Chris Dumez  <cdumez@apple.com>

        We should throw a SecurityError when denying setting a cross-origin Window property
        https://bugs.webkit.org/show_bug.cgi?id=161339

        Reviewed by Geoffrey Garen.

        Update existing tests to reflect behavior change.

        * http/tests/history/cross-origin-replace-history-object-expected.txt:
        * http/tests/history/resources/cross-origin-replaces-history-object-iframe.html:
        * http/tests/security/cross-frame-access-custom-expected.txt:
        * http/tests/security/cross-frame-access-put-expected.txt:

2016-08-29  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html for ios-simulator after r205138.

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:

2016-08-29  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, mark editing tests of iOS simulator WK1 release build that have different delegate callback order than those of debug build as failure

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-29  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rolling out r205143.

        Needs better description

        Reverted changeset:

        "Unreviewed, mark editing tests of iOS simulator WK1 release
        build that have different delegate callbacks than those of
        debug build as failure"
        http://trac.webkit.org/changeset/205143

2016-08-29  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, mark editing tests of iOS simulator WK1 release build that have different delegate callbacks than those of debug build as failure

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-29  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-29  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r205140.

        The changelog entry for this commit is incorrect and
        misattributed.

        Reverted changeset:

        "Marking media/track/text-track-cue-is-reachable.html as flaky
        on ios-simulator-wk2."
        https://bugs.webkit.org/show_bug.cgi?id=161323
        http://trac.webkit.org/changeset/205140

2016-08-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/track/text-track-cue-is-reachable.html as flaky on ios-simulator-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=161323

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-29  Chris Dumez  <cdumez@apple.com>

        We should throw a SecurityError when denying access to cross-origin Window properties
        https://bugs.webkit.org/show_bug.cgi?id=161316

        Reviewed by Darin Adler.

        Update / rebaselined existing tests to reflect behavior change.

        * fast/frames/sandboxed-iframe-history-denied-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-no-file-access.html:
        * 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:
        * http/tests/history/cross-origin-replace-history-object-child-expected.txt:
        * http/tests/history/cross-origin-replace-history-object-child.html:
        * http/tests/plugins/cross-frame-object-access-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/contentSecurityPolicy/sandbox-allow-scripts-in-http-header.html:
        * http/tests/security/cross-frame-access-call-expected.txt:
        * http/tests/security/cross-frame-access-call.html:
        * 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-first-time-expected.txt:
        * http/tests/security/cross-frame-access-first-time.html:
        * http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt:
        * http/tests/security/cross-frame-access-get-custom-property-cached.html:
        * http/tests/security/cross-frame-access-get-expected.txt:
        * http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
        * http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
        * 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-name-getter-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf.html:
        * http/tests/security/cross-frame-access-object-prototype-expected.txt:
        * http/tests/security/cross-frame-access-object-prototype.html:
        * 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-selection-expected.txt:
        * http/tests/security/cross-frame-access-selection.html:
        * 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/resources/foreign-domain-data-url-accessor-iframe.html:
        * http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html:
        * 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-2-level.html:
        * 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-sub-frame-to-data-url-sub-frame.html:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame.html:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url.html:
        * http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open.html:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html:
        * 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-subframe-location-change.html:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html:
        * 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-in-foreign-domain-window-open.html:
        * 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-2-level.html:
        * 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/dataURL/xss-DENIED-to-data-url-window-open.html:
        * http/tests/security/document-all-expected.txt:
        * http/tests/security/document-all.html:
        * http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-iframe.html:
        * http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-opened-frame.html:
        * 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-subframe.html:
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html:
        * http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-addEventListener.html:
        * http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-shortcut.html:
        * http/tests/security/listener/resources/targetChild-XMLHttpRequest-addEventListener.html:
        * http/tests/security/listener/resources/targetChild-XMLHttpRequest-shortcut.html:
        * http/tests/security/listener/resources/targetChild-window-onclick-addEventListener.html:
        * http/tests/security/listener/resources/targetChild-window-onclick-shortcut.html:
        * 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/resources/cross-frame-access.js:
        (test):
        (cannotAccessFrame):
        * http/tests/security/resources/cross-frame-history-prototype-iframe.html:
        * http/tests/security/resources/iframe-for-synchronous-form.html:
        * http/tests/security/resources/sandboxed-iframe-origin-add-step1.html:
        * http/tests/security/resources/sandboxed-iframe-origin-remove-step2.html:
        * 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/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-htmlelelment-with-iframe-proto.html:
        * http/tests/security/xss-DENIED-invalid-domain-change-expected.txt:
        * http/tests/security/xss-DENIED-invalid-domain-change.html:
        * http/tests/security/xss-DENIED-method-with-iframe-proto-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/xss-DENIED-xsl-document-securityOrigin.xml:
        * http/tests/security/xss-eval-expected.txt:
        * http/tests/security/xss-eval.html:

2016-08-29  Youenn Fablet  <youenn@apple.com>

        Image Loader should use FetchOptions::mode according its crossOrigin attribute
        https://bugs.webkit.org/show_bug.cgi?id=161309

        Reviewed by Darin Adler.

        * http/tests/security/load-image-after-redirection-expected.txt: Added.
        * http/tests/security/load-image-after-redirection.html: Added.

2016-08-29  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-29  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

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

2016-08-29  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping http/tests/media/hls/hls-accessiblity-describes-video-menu.html on mac
        https://bugs.webkit.org/show_bug.cgi?id=161144

        Unreviewed test gardening.

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

2016-08-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=161312

        Unreviewed test gardening.

        * TestExpectations:

2016-08-26  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Do not recursively call layout during auto repeat computation
        https://bugs.webkit.org/show_bug.cgi?id=161234

        Reviewed by Manuel Rego Casasnovas.

        Added a new test case and fixed a few tests inside the imported
        grid-repeat-auto-fill-fit-001.html which were wrong due to a bug in Firefox. The intrinsic
        size computation was not considering the existence of definite minimum sizes for some of the
        grids so the outcome was narrower than expected.

        * fast/css-grid-layout/grid-indefinite-size-auto-repeat-crash-expected.txt: Added.
        * fast/css-grid-layout/grid-indefinite-size-auto-repeat-crash.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-001-expected.html:

2016-08-25  Frederic Wang  <fwang@igalia.com>

        Add support for non-BMP operators U+1EEF0 and U+1EEF1
        https://bugs.webkit.org/show_bug.cgi?id=153984

        We add two reftests to check that the non-BMP operators are properly
        handled by the MathML dictionary (form, properties, direction) as well
        as the rendering code (spacing, stretching). We test the new horizontal
        strechy operators U+1EEF0 and U+1EEF1 as well as the letter U+1D400
        which is not a real mathematical operator. We add a minimal test
        font which contains a black square for U+005F, U+1EEF0, U+1EEF1, U+1D400
        and the data that can be used to stretch them horizontally.

        Reviewed by Darin Adler.

        * mathml/presentation/non-bmp-operators-spacing-expected.html: Added.
        * mathml/presentation/non-bmp-operators-spacing.html: Added.
        * mathml/presentation/non-bmp-operators-stretching-expected.html: Added.
        * mathml/presentation/non-bmp-operators-stretching.html: Added.
        * mathml/presentation/non-bmp-operators.woff: Added.

2016-08-28  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Ensure response cloning works when data is loading
        https://bugs.webkit.org/show_bug.cgi?id=161137

        Reviewed by Darin Adler.

        * http/tests/fetch/clone-response-body-expected.txt: Added.
        * http/tests/fetch/clone-response-body.html: Added.

2016-08-28  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update iOS simulator WK1 flaky tests.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-28  Michael Catanzaro  <mcatanzaro@igalia.com>

        Remove flakiness expectations from switch to threaded compositor

        This is completely hopeless, since there is a seemingly-unlimited number of tests that have
        been broken. Suppressing an arbitrary subset of the failures is not helping anything. Keep
        only records for tests that are really flaky.

        Retain expectations for flaky timeouts and crashes.

        * TestExpectations:
        * platform/gtk/TestExpectations:

2016-08-28  Javier Fernandez  <jfernandez@igalia.com>

        Should never be reached failure in WebCore::RenderFlexibleBox::alignChildren
        https://bugs.webkit.org/show_bug.cgi?id=151591
        <rdar://problem/27711829>

        Reviewed by Darin Adler.

        Test to verify that align-self and align-items CSS properties use the old
        syntax when the Grid Layout feature is not enabled.

        * css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled-expected.txt: Added.
        * css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html: Added.

2016-08-28  Frederic Wang  <fwang@igalia.com>

        Improve parsing of the menclose notation attribute value
        https://bugs.webkit.org/show_bug.cgi?id=161045

        Reviewed by Darin Adler.

        We add some cases in menclose-notation-equivalence to verify that one can use any sequence of
        whitespace to separate notation values. We try with 0, 1, 2 or 3 notation values.

        * mathml/presentation/menclose-notation-equivalence-expected.html:
        * mathml/presentation/menclose-notation-equivalence.html:

2016-08-28  Frederic Wang  <fwang@igalia.com>

        More cleanup for the mpadded implementation
        https://bugs.webkit.org/show_bug.cgi?id=161136

        We add a test for style change in mpadded.

        Reviewed by Darin Adler.

        * mathml/presentation/mpadded-style-change-expected.html: Added.
        * mathml/presentation/mpadded-style-change.html: Added.

2016-08-27  Chris Dumez  <cdumez@apple.com>

        Update generated bindings to throw a SecurityError when denying cross-origin access to properties
        https://bugs.webkit.org/show_bug.cgi?id=161270

        Reviewed by Darin Adler.

        Update / rebaseline existing tests to reflect behavior change.

        * http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
        * http/tests/security/cross-frame-access-call-expected.txt:
        * http/tests/security/cross-frame-access-call.html:
        * http/tests/security/cross-origin-window-property-access-expected.txt:
        * http/tests/security/location-cross-origin-expected.txt:
        * http/tests/security/location-cross-origin.html:
        * http/tests/security/xss-DENIED-assign-location-href-javascript-expected.txt:
        * http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-method-with-iframe-proto.html:

2016-08-27  Jonathan Bedard  <jbedard@apple.com>

        WTR needs an implementation of setAutomaticLinkDetectionEnabled
        https://bugs.webkit.org/show_bug.cgi?id=87162

        Reviewed by Darin Adler.

        * platform/wk2/TestExpectations: Removed 2 now passing tests.

2016-08-27  Sam Weinig  <sam@webkit.org>

        Remove more custom JavaScript bindings
        https://bugs.webkit.org/show_bug.cgi?id=161293

        Reviewed by Darin Adler.

        * webaudio/audionode-expected.txt:
        * webaudio/audionode.html:
        Update test for correct behavior of the constructor.

2016-08-27  Joseph Pecoraro  <pecoraro@apple.com>

        Race between creating/deleting a database in test
        https://bugs.webkit.org/show_bug.cgi?id=161285

        Reviewed by Darin Adler.

        Because IndexedDB creation is asynchronous, we were not waiting for the
        database to be completely open before sending more commands. These
        could race and give unexpected results. Wait for the database to be
        successfully created before interacting with it.

        * inspector/indexeddb/resources/utilities.js:
        (createEmptyDatabase):
        (createDatabaseWithStores):
        Send a single when the database creation is completed.

        * inspector/indexeddb/clearObjectStore-expected.txt:
        * inspector/indexeddb/clearObjectStore.html:
        * inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
        * inspector/indexeddb/requestData-expected.txt:
        * inspector/indexeddb/requestDatabase-expected.txt:
        * inspector/indexeddb/requestDatabase.html:
        * inspector/indexeddb/requestDatabaseNames.html:
        Listen for the database created signal before proceeding
        with the test.

2016-08-27  Ryosuke Niwa  <rniwa@webkit.org>

        adoptcallback

        Add adopted callback for custom elements
        https://bugs.webkit.org/show_bug.cgi?id=161284

        Reviewed by Antti Koivisto.

        * fast/custom-elements/adopted-callback-expected.txt: Added.
        * fast/custom-elements/adopted-callback.html: Added.
        * fast/custom-elements/resources/document-types.js:
        (const.DocumentTypes.create):

2016-08-27  Youenn Fablet  <youenn@apple.com>

        html/dom/interfaces.html is flaky due to WebSocket test
        https://bugs.webkit.org/show_bug.cgi?id=161290

        Unreviewed.

        * platform/mac/TestExpectations: Making html/dom/interfaces.html expectation specific to Release.

2016-08-27  Simon Fraser  <simon.fraser@apple.com>

        Add run-webkit-tests --print-expectations to show expectations for all or a subset of tests
        https://bugs.webkit.org/show_bug.cgi?id=161217

        Reviewed by Ryosuke Niwa.
        
        Explicitly skip fast/viewport

        * platform/mac/TestExpectations:

2016-08-27  Youenn Fablet  <youenn@apple.com>

        html/dom/interfaces.html is flaky due to WebSocket test
        https://bugs.webkit.org/show_bug.cgi?id=161290

        Unreviewed.

        * platform/mac/TestExpectations: Marking html/dom/interfaces.html expectation from Skip to Pass|Failure.

2016-08-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: inspector/indexeddb/deleteDatabaseNamesWithSpace.html is flakey
        https://bugs.webkit.org/show_bug.cgi?id=161283

        Reviewed by Alex Christensen.

        * inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
        Add a short timeout between deleting a database and requesting database names
        to reduce flakey results.

2016-08-26  Sam Weinig  <sam@webkit.org>

        Remove support for ENABLE_LEGACY_WEB_AUDIO
        https://bugs.webkit.org/show_bug.cgi?id=161262

        Reviewed by Anders Carlsson.

        * webaudio/audiobuffersource-loop-points.html:
        * webaudio/audiobuffersource-multi-channels.html:
        * webaudio/audiobuffersource-playbackState-expected.txt:
        * webaudio/audiobuffersource-playbackState.html:
        * webaudio/audiobuffersource-playbackrate.html:
        * webaudio/audiochannelmerger-stereo.html:
        * webaudio/audiochannelsplitter.html:
        * webaudio/audionode-connect-order.html:
        * webaudio/audionode-expected.txt:
        * webaudio/audionode.html:
        * webaudio/audioparam-connect-audioratesignal.html:
        * webaudio/audioparam-summingjunction.html:
        * webaudio/audioprocessingevent.html:
        * webaudio/automatic-pull-node.html:
        * webaudio/biquad-allpass.html:
        * webaudio/biquad-bandpass.html:
        * webaudio/biquad-getFrequencyResponse.html:
        * webaudio/biquad-highpass.html:
        * webaudio/biquad-highshelf.html:
        * webaudio/biquad-lowpass.html:
        * webaudio/biquad-lowshelf.html:
        * webaudio/biquad-notch.html:
        * webaudio/biquad-peaking.html:
        * webaudio/biquadfilternode-basic-expected.txt:
        * webaudio/biquadfilternode-basic.html:
        * webaudio/convolution-mono-mono.html:
        * webaudio/delaynode-max-default-delay.html:
        * webaudio/delaynode-max-nondefault-delay.html:
        * webaudio/delaynode-maxdelay.html:
        * webaudio/delaynode-scheduling.html:
        * webaudio/delaynode.html:
        * webaudio/distance-exponential-expected.txt:
        * webaudio/distance-exponential.html:
        * webaudio/distance-inverse-expected.txt:
        * webaudio/distance-inverse.html:
        * webaudio/distance-linear-expected.txt:
        * webaudio/distance-linear.html:
        * webaudio/gain-basic.html:
        * webaudio/gain.html:
        * webaudio/javascriptaudionode-zero-input-channels.html:
        * webaudio/javascriptaudionode.html:
        * webaudio/mixing.html:
        * webaudio/note-grain-on-play-expected.txt: Removed.
        * webaudio/note-grain-on-play.html: Removed.
        * webaudio/note-grain-on-timing-expected.txt: Removed.
        * webaudio/note-grain-on-timing.html: Removed.
        * webaudio/oscillator-basic-expected.txt:
        * webaudio/oscillator-basic.html:
        * webaudio/oscillator-custom.html:
        * webaudio/oscillator-sawtooth.html:
        * webaudio/oscillator-sine.html:
        * webaudio/oscillator-square.html:
        * webaudio/oscillator-triangle.html:
        * webaudio/pannernode-basic-expected.txt:
        * webaudio/pannernode-basic.html:
        * webaudio/resources/audio-testing.js:
        * webaudio/resources/audioparam-testing.js:
        * webaudio/resources/biquad-testing.js:
        * webaudio/resources/distance-model-testing.js:
        * webaudio/resources/javascriptaudionode-testing.js:
        * webaudio/resources/oscillator-testing.js:
        * webaudio/resources/panner-model-testing.js:
        * webaudio/sample-accurate-scheduling.html:
        * webaudio/stereo2mono-down-mixing.html:
        * webaudio/up-mixing-mono-51.html:
        * webaudio/up-mixing-mono-stereo.html:
        * webaudio/up-mixing-stereo-51.html:
        * webaudio/waveshaper.html:
        Update tests for removal of ENABLE_LEGACY_WEB_AUDIO.

2016-08-23  Ryosuke Niwa  <rniwa@webkit.org>

        Adopted custom element's callbacks should continue to work
        https://bugs.webkit.org/show_bug.cgi?id=161065

        Reviewed by Andreas Kling.

        Added test cases for adopting custom elements into various kinds of documents.

        * fast/custom-elements/connected-callbacks-expected.txt:
        * fast/custom-elements/connected-callbacks.html:
        * fast/custom-elements/defined-pseudo-class-expected.txt:
        * fast/custom-elements/defined-pseudo-class.html:
        * fast/custom-elements/disconnected-callbacks-expected.txt:
        * fast/custom-elements/disconnected-callbacks.html:
        * fast/custom-elements/resources/document-types.js: Added.
        * fast/custom-elements/resources/empty-html-document.html: Added.

2016-08-26  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webgl/max-active-contexts-webglcontextlost-prevent-default.html as flaky on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=161205

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-08-26  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/media/hls/hls-accessiblity-describes-video-menu.html as flaky on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=161144

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-08-26  Zalan Bujtas  <zalan@apple.com>

        ASSERT_NOT_REACHED() is touched in WebCore::minimumValueForLength
        https://bugs.webkit.org/show_bug.cgi?id=125781
        <rdar://problem/27684457>

        Reviewed by Simon Fraser.

        * fast/table/assert-on-min-max-content-values-expected.txt: Added.
        * fast/table/assert-on-min-max-content-values.html: Added.

2016-08-26  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/dom/focus-contenteditable.html for ios-simulator after r205044.

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/fast/dom/focus-contenteditable-expected.txt:

2016-08-26  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update expectations of tests that can either crash or timeout on iOS simulator WK1

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-26  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping imported/w3c/web-platform-tests/html/dom/interfaces.html on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=161142

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-08-26  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 tables tests

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug128876-expected.txt:
        * platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug3517-expected.txt: Added.
        * platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
        * platform/ios-simulator-wk1/transitions/default-timing-function-expected.txt: Added.

2016-08-26  Beth Dakin  <bdakin@apple.com>

        charactersAroundPosition can be wrong because it crosses editing boundaries
        https://bugs.webkit.org/show_bug.cgi?id=161215
        -and corresponding-
        rdar://problem/27933564

        Reviewed by Ryosuke Niwa.

        New test.
        * editing/mac/spelling/accept-candidate-without-crossing-editing-boundary-expected.txt: Added.
        * editing/mac/spelling/accept-candidate-without-crossing-editing-boundary.html: Added.

        This test is going back to its pre-https://trac.webkit.org/changeset/195078 state. 
        That change caused this test to have a different layout because it caused more 
        layouts to happen. Now that we don’t allow the call to charactersAroundPosition() 
        to cross editing boundaries, those layouts don’t happen, and we have the old 
        behavior back.
        * platform/mac/fast/dom/focus-contenteditable-expected.txt:

2016-08-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Test and address issues in IndexedDB.requestData
        https://bugs.webkit.org/show_bug.cgi?id=161178
        <rdar://problem/28002467>

        Reviewed by Brian Burg.

        * inspector/indexeddb/requestData-expected.txt: Added.
        * inspector/indexeddb/requestData.html: Added.

2016-08-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Provide a way to clear an IndexedDB object store
        https://bugs.webkit.org/show_bug.cgi?id=161167
        <rdar://problem/27996932>

        Reviewed by Brian Burg.

        * inspector/indexeddb/clearObjectStore-expected.txt: Added.
        * inspector/indexeddb/clearObjectStore.html: Added.

2016-08-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Test IndexedDB.requestDatabase
        https://bugs.webkit.org/show_bug.cgi?id=161122

        Reviewed by Brian Burg.

        * inspector/indexeddb/requestDatabase-expected.txt: Added.
        * inspector/indexeddb/requestDatabase.html: Added.
        New tests.

        * inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
        * inspector/indexeddb/requestDatabaseNames.html:
        Share code.

        * inspector/indexeddb/resources/utilities.js: Added.
        (deleteDatabaseNames):
        (createEmptyDatabase):
        (createDatabaseWithStores):
        Helpers that can be used by each test.

2016-08-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Modernize inspector/indexeddb tests
        https://bugs.webkit.org/show_bug.cgi?id=161113

        Reviewed by Brian Burg.

        * inspector/indexeddb/deleteDatabaseNamesWithSpace-expected.txt:
        * inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
        * inspector/indexeddb/requestDatabaseNames-expected.txt:
        * inspector/indexeddb/requestDatabaseNames.html:

2016-08-26  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 http tests

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/animations/trigger-container-scroll-simple-expected.txt: Added.
        * platform/ios-simulator-wk1/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
        * platform/ios-simulator-wk1/http/tests/dom/window-open-about-blank-and-access-document-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/dom/window-open-about-uppercase-blank-and-access-document-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/cross-origin-modal-dialog-base-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/insecure-geolocation-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/mixedcontent-geolocation-block-insecure-content-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/mixedcontent-geolocation-expected.txt: Added.
        * platform/ios-simulator-wk1/http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox-expected.txt: Added.
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/TestExpectations:

2016-08-26  Chris Dumez  <cdumez@apple.com>

        Calling crossOriginWindow.toString() should not be allowed
        https://bugs.webkit.org/show_bug.cgi?id=161225

        Reviewed by Andreas Kling.

        Update existing tests to reflect the behavior change.

        * http/tests/security/cross-frame-access-custom-expected.txt:
        * http/tests/security/cross-frame-access-custom.html:
        * http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-setPrototypeOf.html:

2016-08-26  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Some CSS selectors in the UI aren't escaped
        https://bugs.webkit.org/show_bug.cgi?id=151378

        Reviewed by Joseph Pecoraro.

        * inspector/dom/content-node-region-info.html:
        * inspector/dom/content-node-region-info-expected.txt:
        Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

        * inspector/dom/highlightNode-expected.txt:
        * inspector/dom/highlightSelector.html:
        * inspector/dom/highlightSelector-expected.txt:
        Changed result to replace className with new classes array.

2016-08-26  Chris Dumez  <cdumez@apple.com>

        HTMLAreaElement's coords attributes parsing does not comply with the HTML specification
        https://bugs.webkit.org/show_bug.cgi?id=161216

        Reviewed by Andreas Kling.

        Unskip web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html
        as it is now passing and not longer crashing in debug builds.

        * TestExpectations:

2016-08-26  Chris Dumez  <cdumez@apple.com>

        Trying to access cross-origin Location properties should throw a SecurityError
        https://bugs.webkit.org/show_bug.cgi?id=161248

        Reviewed by Alex Christensen.

        Update existing tests to reflect behavior change.

        * http/tests/plugins/cross-frame-object-access-expected.txt:
        * http/tests/plugins/resources/cross-frame-object-access.html:
        * http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-deny.html:
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny.html:
        * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html:
        * http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html:
        * 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-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-location-get-expected.txt:
        * http/tests/security/cross-frame-access-location-get-override-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/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/location-cross-origin-expected.txt:
        * http/tests/security/location-cross-origin.html:
        * http/tests/security/resources/cross-frame-access.js:
        (canGet):
        (canGetDescriptor):
        (canCall):
        (toString):
        * http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
        * http/tests/security/xss-DENIED-defineProperty-expected.txt:
        * http/tests/security/xss-DENIED-defineProperty.html:
        * http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
        * http/tests/security/xssAuditor/block-does-not-leak-location.html:
        * http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
        * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html:
        * http/tests/security/xssAuditor/resources/utilities.js:
        (checkIfFrameLocationMatchesSrcAndCallDone):

2016-08-26  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Add support for OverConstrainedErrorEvent
        https://bugs.webkit.org/show_bug.cgi?id=161199
        <rdar://problem/28011819>

        Reviewed by Jer Noble.

        * fast/events/constructors/overconstrained-error-event-constructor-expected.txt: Added.
        * fast/events/constructors/overconstrained-error-event-constructor.html: Added.
        * js/dom/global-constructors-attributes-expected.txt: Updated.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2016-08-26  Frederic Wang  <fwang@igalia.com>

        The annotation-xml element does not need to be behave as an mrow
        https://bugs.webkit.org/show_bug.cgi?id=161230

        Reviewed by Manuel Rego Casasnovas.

        * platform/efl/accessibility/math-foreign-content-expected.txt: Remove the AXGroup from the
        test expectation, which that was used for annotation-xml.
        * platform/gtk/accessibility/math-foreign-content-expected.txt: Ditto.
        * platform/mac/accessibility/math-foreign-content-expected.txt: Ditto.

2016-08-26  Alexey Proskuryakov  <ap@apple.com>

        Reinstate flakiness expectations for viewport tests, as they are still flaky.
        https://bugs.webkit.org/show_bug.cgi?id=153110

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-26  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        Make custom constructors consistent with generated bindings code
        https://bugs.webkit.org/show_bug.cgi?id=159550

        Reviewed by Youenn Fablet.

        Add assertion to check DOMConstructorObject* passed in ExecState is not null.
        Rename throwConstructorDocumentUnavailableError to throwConstructorScriptExecutionContextUnavailableError since
        ScriptExecutionContext is not necessarily a Document.
        Modify error message in case of argument error to be consistent with generated binding code: replace calls to
        throwVMError with calls to throwConstructorScriptExecutionContextUnavailableError and throwArgumentTypeError.

        No new test required. Modify tests and tests expectations to align with new error messages.

        * fast/dom/MutationObserver/mutation-observer-constructor-expected.txt:
        * fast/files/file-constructor-expected.txt:
        * fast/files/file-constructor.html:

2016-08-25  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 imported/w3c tests

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt: Added.
        * platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-navigation-samedoc-expected.txt: Added.
        * platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-percent-encoded-expected.txt: Added.
        * platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/001-expected.txt: Added.
        * platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt: Added.

2016-08-25  Said Abou-Hallawa  <sabouhallawa@apple.com>

        [iOS Simulator] Rebaseline many tests under LayoutTests/svg/ for ios-simulator and enable them for testing
        https://bugs.webkit.org/show_bug.cgi?id=161166

        Reviewed by Simon Fraser.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/svg/W3C-I18N: Added.
        * platform/ios-simulator/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-anchor-no-markup-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-direction-ltr-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-I18N/tspan-direction-rtl-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/struct-dom-11-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/struct-use-11-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-52-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-60-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-62-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-84-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-85-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-coord-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-coord-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-07-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-10-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-13-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-14-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-cond-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-07-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-08-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-09-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-10-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-04-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-06-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-align-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-align-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-align-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-align-04-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-align-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-align-06-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-align-08-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-path-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-text-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-text-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-text-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-text-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-text-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-text-07-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-text-08-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/batik: Added.
        * platform/ios-simulator/svg/batik/text: Added.
        * platform/ios-simulator/svg/batik/text/longTextOnPath-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/smallFonts-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textAnchor-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textAnchor2-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textAnchor3-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textDecoration-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textDecoration2-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textEffect-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textEffect2-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textEffect3-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textFeatures-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textGlyphOrientationHorizontal-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textLayout-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textLayout2-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textLength-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textOnPath-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textOnPath2-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textOnPath3-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textOnPathSpaces-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textPCDATA-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textPosition-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textPosition2-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textProperties-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textProperties2-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/textStyles-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/verticalText-expected.txt: Added.
        * platform/ios-simulator/svg/batik/text/verticalTextOnPath-expected.txt: Added.
        * platform/ios-simulator/svg/text/selection-background-color-expected.txt: Added.
        * platform/ios-simulator/svg/text/small-fonts-2-expected.txt: Added.
        * platform/ios-simulator/svg/text/small-fonts-3-expected.txt: Added.
        * platform/ios-simulator/svg/text/small-fonts-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-align-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-align-02-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-align-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-align-04-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-align-05-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-align-06-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-altglyph-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-deco-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-fill-opacity-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-fonts-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-fonts-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-gradient-positioning-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-hkern-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-intro-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-midpoint-split-bug-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-path-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-path-middle-align-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-spacing-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-text-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-text-03-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-text-04-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-text-05-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-text-06-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-text-07-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-text-08-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-tref-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-tselect-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-tselect-02-f-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-tspan-01-b-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-viewbox-rescale-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-vkern-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-ws-01-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/text-ws-02-t-expected.txt: Added.
        * platform/ios-simulator/svg/text/tspan-dynamic-positioning-expected.txt: Added.

2016-08-25  Simon Fraser  <simon.fraser@apple.com>

        js/regress/polymorphic-put-by-id.html does not exist.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-25  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 imported/mozilla tests

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-25  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 imported/blink tests

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/imported/blink/fast/shapes/shape-outside-floats/shape-outside-negative-height-crash-width-expected.txt: Added.

2016-08-25  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 fast tests

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/fast/attachment/attachment-select-on-click-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/block/float/overhanging-tall-block-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/clip/014-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/ios-simulator-wk1/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/ios-simulator-wk1/fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/forms/form-element-geometry-expected.txt:
        * platform/ios-simulator-wk1/fast/replaced/width100percent-textarea-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/shadow-dom/trusted-event-scoped-flags-expected.txt: Added.

2016-08-25  Simon Fraser  <simon.fraser@apple.com>

        WK1 Sierra: LayoutTests fast/html/marquee-scroll.html and fast/inline-block/003.html failing
        rdar://problem/28017216

        This test is sensitive to how WK1 does layouts as a result of updateScrollbars(),
        giving different results in WK1 and WK1. Land Sierra results, and mark the test
        as failing on earlier OS versions.

        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/fast/inline-block/003-expected.txt: Added.

2016-08-25  Chris Dumez  <cdumez@apple.com>

        Regression(r203623): Breaks App Store application
        https://bugs.webkit.org/show_bug.cgi?id=161206
        <rdar://problem/28015060>

        Reviewed by Ryosuke Niwa.

        Rebaseline existing test as the exception message is slightly different.

        * fast/dom/Window/getComputedStyle-missing-parameter-expected.txt:
        * fast/dom/Window/getComputedStyle-missing-parameter.html:

2016-08-25  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 fast/css tests

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/fast/css/layerZOrderCrash-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/css/viewport-units-dynamic-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/css/word-space-extra-expected.txt: Added.

2016-08-25  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION (r203378): [iOS] The PDF image is rendered stretched if a sub image of it is cached first
        https://bugs.webkit.org/show_bug.cgi?id=160617

        Reviewed by Tim Horton.

        * fast/images/cached-clipped-pdf-expected.html: Added.
        * fast/images/cached-clipped-pdf.html: Added.
        * fast/images/displaced-non-cached-pdf.html:

2016-08-25  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping imported/w3c/web-platform-tests/url/url-setters.html because it asserts.
        https://bugs.webkit.org/show_bug.cgi?id=161191

        Unreviewed test gardening.

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

2016-08-25  Zalan Bujtas  <zalan@apple.com>

        Infinite recursion crash in WebCore::RenderBlockFlow::layoutBlock
        https://bugs.webkit.org/show_bug.cgi?id=139474
        <rdar://problem/27705190>

        Reviewed by David Hyatt.

        * fast/multicol/assert-on-small-page-height-with-widow-expected.txt: Added.
        * fast/multicol/assert-on-small-page-height-with-widow.html: Added.

2016-08-25  Johan K. Jensen  <johan_jensen@apple.com>

        Update the Resource Timing implementation
        https://bugs.webkit.org/show_bug.cgi?id=161068

        Reviewed by Alex Christensen.

        * TestExpectations:
        Skip resource outside of resource-folder.
        Mark one test as flaky (see bug 161088).

        * resources/testharnessreport.js:
        (self.testRunner.add_completion_callback):
        Updated completion callback to wait for any other completion callbacks
        before finishing, so the Resource Timing tests can cleanup first.
        Enabled the ResourceTiming runtime flag.

2016-08-25  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 fast/multicol tests

        * platform/ios-simulator-wk1/fast/multicol/overflow-unsplittable-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/ios-simulator-wk1/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:

2016-08-25  Simon Fraser  <simon.fraser@apple.com>

        TestExpectations cleanup
        
        Remove references to non-existant JS tests.

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

2016-08-25  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for mac-wk1 after r204935

        Unreviewed test gardening.

        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2016-08-25  Ryan Haddad  <ryanhaddad@apple.com>

        Skip svg/animations/animate-text-nested-transforms.html on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/url/url-setters.html as failing on mac and ios-simulator wk1.
        https://bugs.webkit.org/show_bug.cgi?id=161191

        Unreviewed test gardening.

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

2016-08-25  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for mac after r204935

        Unreviewed test gardening.

        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2016-08-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking gamepad/gamepad-timestamp.html as flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=161148

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-08-25  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        Update test expectations on Windows for failing tests. These failures are tracked in
        https://bugs.webkit.org/show_bug.cgi?id=160447.

        * platform/win/TestExpectations:
        
2016-08-25  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        Update test expectations on Windows for failing tests. These failures are tracked in
        https://bugs.webkit.org/show_bug.cgi?id=160447.

        * platform/win/TestExpectations:
        
2016-08-24  Chris Dumez  <cdumez@apple.com>

        WorkerLocation.prototype.toString() should be enumerable
        https://bugs.webkit.org/show_bug.cgi?id=161183

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/workers/resources/worker-location.js:
        * fast/workers/worker-location-expected.txt:

2016-08-24  Chris Dumez  <cdumez@apple.com>

        Location.toString() should be enumerable
        https://bugs.webkit.org/show_bug.cgi?id=161179

        Reviewed by Geoffrey Garen.

        Update existing tests and add layout test coverage.

        * fast/dom/Window/window-appendages-cleared-expected.txt:
        * fast/dom/toString_attributes-expected.txt:
        * fast/dom/toString_attributes.html:
        * js/dom/toString-dontEnum-expected.txt:
        * js/dom/toString-dontEnum.html:

2016-08-24  Joseph Pecoraro  <pecoraro@apple.com>

        Implement `CSS.escape` as per CSSOM
        https://bugs.webkit.org/show_bug.cgi?id=126337

        Reviewed by Dean Jackson.

        CSS.escape is part of the CSSOM Spec:
        https://drafts.csswg.org/cssom/#the-css.escape%28%29-method

        Tests:
        https://github.com/mathiasbynens/CSS.escape/blob/master/tests/tests.js

        Change is based on the Blink change (patch by <rob.buis@samsung.com>) and follow-ups:
        <https://chromium.googlesource.com/chromium/blink/+/c1a5ffdc924b089e70cd33ad2726b58cc8312abe>

        * css3/escape-dom-api-expected.txt: Added.
        * css3/escape-dom-api.html: Added.
        New tests, taken from the polyfill.

        * fast/css/parsing-css-nonascii-expected.txt:
        * fast/css/parsing-css-nonascii.html:
        * fast/css/selector-text-escape.html:
        Update existing tests now that 0x7f is escaped.

        * js/dom/function-removed-after-parsing-expected.txt:
        * js/dom/function-removed-after-parsing.html:
        Rename use of `CSS.escape` here now that `CSS.escape` exists.

2016-08-24  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: contentSize >= 0 in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax
        https://bugs.webkit.org/show_bug.cgi?id=155700
        <rdar://problem/27720727>

        Reviewed by David Hyatt.

        * fast/ruby/assert-when-content-size-is-negative-expected.txt: Added.
        * fast/ruby/assert-when-content-size-is-negative.html: Added.

2016-08-24  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 fast/text tests

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/fast/text/atsui-multiple-renderers-expected.txt:
        * platform/ios-simulator-wk1/fast/text/atsui-negative-spacing-features-expected.txt:
        * platform/ios-simulator-wk1/fast/text/atsui-spacing-features-expected.txt:
        * platform/ios-simulator-wk1/fast/text/font-weights-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/text/international/khmer-selection-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/text/system-font-weight-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/text/tatechuyoko-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/text/textIteratorNilRenderer-expected.txt:
        * platform/ios-simulator-wk1/fast/text/wbr-expected.txt:
        * platform/ios-simulator-wk1/fast/text/word-space-expected.txt: Added.
        * platform/ios-simulator-wk2/fast/text/decorations-with-text-combine-expected.txt: Removed.
        * platform/ios-simulator/fast/text/decorations-with-text-combine-expected.txt:

2016-08-24  Alex Christensen  <achristensen@webkit.org>

        Import w3c URL tests
        https://bugs.webkit.org/show_bug.cgi?id=161177

        Reviewed by Tim Horton.

        * TestExpectations:
        Skip asserting test.

2016-08-24  Simon Fraser  <simon.fraser@apple.com>

        [iOS DRT] Hook up uiController.zoomToScale() for DRT
        https://bugs.webkit.org/show_bug.cgi?id=161173

        Reviewed by Tim Horton.
        
        The one test in fast/zooming/ios works in DRT and WTR now.

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

2016-08-24  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 fast/table tests

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/fast/table/003-expected.txt:
        * platform/ios-simulator-wk1/fast/table/024-expected.txt:
        * platform/ios-simulator-wk1/fast/table/031-expected.txt:
        * platform/ios-simulator-wk1/fast/table/032-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/004-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/004-vertical-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/bug14274-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-cell-append-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-cell-remove-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-cell-border-color-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-cell-sl-border-color-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-col-border-color-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-col-border-width-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-row-border-color-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-table-border-color-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-table-border-width-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-tbody-border-color-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.txt:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.txt:
        * platform/ios-simulator-wk1/fast/table/colspan-with-all-percent-cells-expected.txt:
        * platform/ios-simulator-wk1/fast/table/edge-offsets-expected.txt: Added.
        * platform/ios-simulator-wk1/fast/table/overflowHidden-expected.txt:
        * platform/ios-simulator-wk1/fast/table/percent-widths-stretch-vertical-expected.txt:
        * platform/ios-simulator-wk1/fast/table/simple_paint-expected.txt:
        * platform/ios-simulator-wk1/fast/table/table-anonymous-cell-bug-expected.txt:
        * platform/ios-simulator-wk1/fast/table/table-anonymous-row-bug-expected.txt:
        * platform/ios-simulator-wk1/fast/table/table-anonymous-section-bug-expected.txt:
        * platform/ios-simulator-wk1/fast/table/table-cell-split-expected.txt:
        * platform/ios-simulator-wk1/fast/table/table-insert-before-non-anonymous-block-expected.txt:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/TestExpectations:

2016-08-24  Nan Wang  <n_wang@apple.com>

        AX: VoiceOver on iOS ignores aria-checked on menuitemradio and menuitemcheckbox
        https://bugs.webkit.org/show_bug.cgi?id=161118

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/menuitem-checked-expected.txt: Added.
        * accessibility/ios-simulator/menuitem-checked.html: Added.

2016-08-24  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update expectations of iOS simulator WK1 css3 tests

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

2016-08-24  Chris Dumez  <cdumez@apple.com>

        Assertion hit: ASSERT(!m_parserScheduler) in ~HTMLDocumentParser()
        https://bugs.webkit.org/show_bug.cgi?id=161083
        <rdar://problem/27986937>

        Reviewed by Darin Adler.

        Unskip html/browsers/browsing-the-web/unloading-documents/004.html as
        it is no longer crashing.

        * TestExpectations:

2016-08-24  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Add support for OverConstrained Error
        https://bugs.webkit.org/show_bug.cgi?id=160790
        <rdar://problem/27815715>

        Reviewed by Jer Noble.

        * fast/dom/Window/get-set-properties-expected.txt:
        * fast/dom/Window/get-set-properties.html:
        * fast/dom/Window/resources/window-properties.js:
        * fast/dom/Window/window-property-shadowing-expected.txt:
        * fast/dom/Window/window-property-shadowing.html:
        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:

2016-08-24  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 css3 tests

        * platform/ios-simulator-wk1/css3/blending/blend-mode-accelerated-with-multiple-stacking-contexts-expected.txt: Removed.
        * platform/ios-simulator-wk1/css3/blending/blend-mode-ancestor-clipping-layer-expected.txt: Removed.
        * platform/ios-simulator-wk1/css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt: Removed.
        * platform/ios-simulator-wk1/css3/blending/blend-mode-isolation-accelerated-overflow-hidden-expected.txt: Removed.
        * platform/ios-simulator-wk1/css3/blending/blend-mode-with-accelerated-sibling-expected.txt: Removed.
        * platform/ios-simulator-wk1/css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt: Removed.
        * platform/ios-simulator-wk1/css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt: Removed.
        * platform/ios-simulator-wk1/css3/filters/filtered-compositing-descendant-expected.txt: Removed.

2016-08-24  Simon Fraser  <simon.fraser@apple.com>

        [iOS DRT] Get basic viewport tests working in DRT
        https://bugs.webkit.org/show_bug.cgi?id=161160

        Reviewed by Tim Horton.
        
        Enable some fast/viewport/ios/ tests for ios-simulator-wk1 that work now.
        
        "body-overflow-hidden" tests should pass everywhere now since the behavior of overflow:hidden
        on the body was reverted.

        * fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-expected.txt:
        * fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt:
        * fast/viewport/ios/width-is-device-width-overflowing-expected.txt:
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk1/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-expected.txt.
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-expected.txt: Removed.
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt: Removed.

2016-08-24  Ryan Haddad  <ryanhaddad@apple.com>

        Marking wpt LayoutTest scroll-restoration-fragment-scrolling-samedoc.html as flaky on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=161143

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-08-24  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update expectations of iOS simulator WK1 svg tests

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

2016-08-24  Ryan Haddad  <ryanhaddad@apple.com>

        Unskip inspector/codemirror tests on mac-wk1 debug.
        https://bugs.webkit.org/show_bug.cgi?id=161117

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-08-24  Chris Dumez  <cdumez@apple.com>

        It should not be possible to access Location attributes cross origin
        https://bugs.webkit.org/show_bug.cgi?id=161125
        <rdar://problem/27982472>

        Reviewed by Brent Fulgham.

        Add layout test coverage.

        * http/tests/security/location-cross-origin-expected.txt: Added.
        * http/tests/security/location-cross-origin.html: Added.

2016-08-24  Jonathan Bedard  <jbedard@apple.com>

        WebKit2 needs layoutTestController.setDeferMainResourceDataLoad
        https://bugs.webkit.org/show_bug.cgi?id=42777

        Reviewed by Darin Adler.

        The setDeferMainResourceDataLoad method was not correctly tested in DumpRenderTree and would pass even when setDeterMainResourceDataLoad was not called.  Removed function and test.

        * fast/loader/non-deferred-substitute-load-expected.txt: Removed fast/loader/non-deferred-substitute-load.html.
        * fast/loader/non-deferred-substitute-load.html: Ditto.
        * platform/ios-simulator-wk2/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.
        * platform/wk2/TestExpectations: Ditto.

2016-08-24  Chris Dumez  <cdumez@apple.com>

        Unreviewed, temporarily skipping W3C tests trying to load www1.localhost.

        * TestExpectations:

2016-08-24  Filip Pizlo  <fpizlo@apple.com>

        Unreviewed, roll out r204901, r204897, r204866, r204856, r204854.

        * TestExpectations:

2016-08-24  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: childrenInline() in WebCore::RenderBlockFlow::hasLines
        https://bugs.webkit.org/show_bug.cgi?id=139396
        <rdar://problem/27704339>

        Reviewed by David Hyatt.

        * fast/ruby/assert-with-block-rt-child-and-emphasis-expected.txt: Added.
        * fast/ruby/assert-with-block-rt-child-and-emphasis.html: Added.

2016-08-24  Per Arne Vollan  <pvollan@apple.com>

        [Win] http server is not starting.
        https://bugs.webkit.org/show_bug.cgi?id=161134

        Reviewed by Alexey Proskuryakov.

        Avoid setting the php ini folder twice, it is not allowed by xampp.

        * http/conf/apache2.4-httpd-win.conf:

2016-08-24  Nan Wang  <n_wang@apple.com>

        AX: Add test for line text marker range on iOS
        https://bugs.webkit.org/show_bug.cgi?id=161108
        <rdar://problem/27976405>

        Reviewed by Chris Fleizach.

        Added a new test to test line text marker ranges on iOS.

        * accessibility/ios-simulator/text-marker-range-for-line-expected.txt: Added.
        * accessibility/ios-simulator/text-marker-range-for-line.html: Added.

2016-08-24  Brady Eidson  <beidson@apple.com>

        Changing gamepad test to try to get more info about the failure mode on the bots.

        Unreviewed.

        * gamepad/gamepad-timestamp.html:

2016-08-24  Ryan Haddad  <ryanhaddad@apple.com>

        Add ios-simulator baseline for newly imported test.
        https://bugs.webkit.org/show_bug.cgi?id=161143

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-samedoc-expected.txt: Added.

2016-08-24  Chris Dumez  <cdumez@apple.com>

        Unreviewed, temporarily mark imported/w3c/web-platform-tests/html/dom/interfaces.html as flaky.

        * TestExpectations:

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

        js/regress/put-by-id-transition-with-indexing-header.html and svg/carto.net/window.svg fail in debug after r204854
        https://bugs.webkit.org/show_bug.cgi?id=161115

        Reviewed by Keith Miller.

        * TestExpectations:

2016-08-24  Mark Lam  <mark.lam@apple.com>

        Gardening: restoring 2 test expectations removed in r204870 by mistake.
        https://bugs.webkit.org/show_bug.cgi?id=161096

        Not reviewed.

        * TestExpectations:

2016-08-24  Ryan Haddad  <ryanhaddad@apple.com>

        Temporarily skip inspector/codemirror tests on mac-wk1 debug.
        https://bugs.webkit.org/show_bug.cgi?id=161117

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-08-24  Brady Eidson  <beidson@apple.com>

        Get timestamps and ids working in WK2 gamepads (and test them!)
        https://bugs.webkit.org/show_bug.cgi?id=161112

        Reviewed by Alex Christensen.

        * gamepad/gamepad-polling-access-expected.txt:
        * gamepad/gamepad-polling-access.html:
        * gamepad/gamepad-timestamp-expected.txt: Added.
        * gamepad/gamepad-timestamp.html: Added.

2016-08-24  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES2016] Allow assignment in for-in head in not-strict mode
        https://bugs.webkit.org/show_bug.cgi?id=160955

        Reviewed by Saam Barati.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2016-08-24  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=161128

        Unreviewed.

        * TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-worker-expected.txt: Added.
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:

2016-08-23  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !view().layoutStateEnabled() || style().styleType() == FIRST_LETTER in WebCore::RenderInline::clippedOverflowRectForRepaint
        https://bugs.webkit.org/show_bug.cgi?id=155363
        <rdar://problem/27720434>

        Reviewed by David Hyatt.

        * fast/layers/assert-on-self-painting-inline-with-scrolling-expected.txt: Added.
        * fast/layers/assert-on-self-painting-inline-with-scrolling.html: Added.

2016-08-23  Chris Dumez  <cdumez@apple.com>

        Add support for CanvasRenderingContext2D.resetTransform()
        https://bugs.webkit.org/show_bug.cgi?id=161089

        Reviewed by Simon Fraser.

        Import corresponding Blink test.

        * imported/blink/fast/canvas/canvas-resetTransform-expected.txt: Added.
        * imported/blink/fast/canvas/canvas-resetTransform.html: Added.
        * imported/blink/fast/canvas/script-tests/canvas-resetTransform.js: Added.

        * platform/ios-simulator/TestExpectations:
        Skip new Canvas test on iOS as it is failing (very small visual difference).

2016-08-23  Simon Fraser  <simon.fraser@apple.com>

        Hook up UIScriptController in DumpRenderTree
        https://bugs.webkit.org/show_bug.cgi?id=161064

        Reviewed by Sam Weinig.

        fast/harness/ui-side-scripts.html and fast/harness/concurrent-ui-side-scripts.html
        pass in DumpRenderTree now.

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

2016-08-23  Dean Jackson  <dino@apple.com>

        fast/canvas/canvas-alphaImageData-behavior.html doesn't appear to be flakey any
        more. Removing the "Fail" marker for macOS Sierra.
        <rdar://problem/22950905>

        * platform/mac/TestExpectations:

2016-08-23  Simon Fraser  <simon.fraser@apple.com>

        iOS layout test gardening in fast/events

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

2016-08-23  Simon Fraser  <simon.fraser@apple.com>

        Fix a formatting error in TestExpectations.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-23  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update expectations of iOS simulator WK1 editing tests

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-23  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION: SVG clip-path doesn't work on root <svg>
        https://bugs.webkit.org/show_bug.cgi?id=129180

        Reviewed by Tim Horton.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * svg/clip-path/clip-path-on-svg-003-expected.svg: Added.
        * svg/clip-path/clip-path-on-svg-003.svg: Added.
        * svg/clip-path/clip-path-on-svg-004-expected.svg: Added.
        * svg/clip-path/clip-path-on-svg-004.svg: Added.

2016-08-23  Chris Dumez  <cdumez@apple.com>

        HTMLAreaElement should have a stringifier
        https://bugs.webkit.org/show_bug.cgi?id=161105

        Reviewed by Geoffrey Garen.

        Add layout test coverage to check that HTMLAreaElement.prototype.toString
        and HTMLAnchorElement.prototype.toString have the right attributes:
        - http://heycam.github.io/webidl/#es-stringifier

        * fast/dom/toString_attributes-expected.txt: Added.
        * fast/dom/toString_attributes.html: Added.
        * js/dom/toString-dontEnum-expected.txt:
        * js/dom/toString-dontEnum.html:

2016-08-23  Saam Barati  <sbarati@apple.com>

        JSC should have a "microbenchmarks" directory instead of "regress" directory
        https://bugs.webkit.org/show_bug.cgi?id=161096

        Rubber stamped by Mark Lam.

        * TestExpectations:
        * js/regress: Removed.
        * js/regress/ArrayBuffer-DataView-alloc-large-long-lived-expected.txt: Removed.
        * js/regress/ArrayBuffer-DataView-alloc-large-long-lived.html: Removed.
        * js/regress/ArrayBuffer-DataView-alloc-long-lived-expected.txt: Removed.
        * js/regress/ArrayBuffer-DataView-alloc-long-lived.html: Removed.
        * js/regress/ArrayBuffer-Int32Array-byteOffset-expected.txt: Removed.
        * js/regress/ArrayBuffer-Int32Array-byteOffset.html: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-expected.txt: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-expected.txt: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer-expected.txt: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-long-lived-expected.txt: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc.html: Removed.
        * js/regress/DataView-custom-properties-expected.txt: Removed.
        * js/regress/DataView-custom-properties.html: Removed.
        * js/regress/Float32Array-matrix-mult-expected.txt: Removed.
        * js/regress/Float32Array-matrix-mult.html: Removed.
        * js/regress/Float32Array-to-Float64Array-set-expected.txt: Removed.
        * js/regress/Float32Array-to-Float64Array-set.html: Removed.
        * js/regress/Float64Array-alloc-long-lived-expected.txt: Removed.
        * js/regress/Float64Array-alloc-long-lived.html: Removed.
        * js/regress/Float64Array-to-Int16Array-set-expected.txt: Removed.
        * js/regress/Float64Array-to-Int16Array-set.html: Removed.
        * js/regress/HashMap-put-get-iterate-expected.txt: Removed.
        * js/regress/HashMap-put-get-iterate-keys-expected.txt: Removed.
        * js/regress/HashMap-put-get-iterate-keys.html: Removed.
        * js/regress/HashMap-put-get-iterate.html: Removed.
        * js/regress/HashMap-string-put-get-iterate-expected.txt: Removed.
        * js/regress/HashMap-string-put-get-iterate.html: Removed.
        * js/regress/Int16Array-alloc-long-lived-expected.txt: Removed.
        * js/regress/Int16Array-alloc-long-lived.html: Removed.
        * js/regress/Int16Array-bubble-sort-expected.txt: Removed.
        * js/regress/Int16Array-bubble-sort-with-byteLength-expected.txt: Removed.
        * js/regress/Int16Array-bubble-sort-with-byteLength.html: Removed.
        * js/regress/Int16Array-bubble-sort.html: Removed.
        * js/regress/Int16Array-load-int-mul-expected.txt: Removed.
        * js/regress/Int16Array-load-int-mul.html: Removed.
        * js/regress/Int16Array-to-Int32Array-set-expected.txt: Removed.
        * js/regress/Int16Array-to-Int32Array-set.html: Removed.
        * js/regress/Int32Array-Int8Array-view-alloc-expected.txt: Removed.
        * js/regress/Int32Array-Int8Array-view-alloc.html: Removed.
        * js/regress/Int32Array-alloc-expected.txt: Removed.
        * js/regress/Int32Array-alloc-large-expected.txt: Removed.
        * js/regress/Int32Array-alloc-large.html: Removed.
        * js/regress/Int32Array-alloc-long-lived-expected.txt: Removed.
        * js/regress/Int32Array-alloc-long-lived.html: Removed.
        * js/regress/Int32Array-alloc.html: Removed.
        * js/regress/Int8Array-alloc-long-lived-expected.txt: Removed.
        * js/regress/Int8Array-alloc-long-lived.html: Removed.
        * js/regress/Int8Array-load-expected.txt: Removed.
        * js/regress/Int8Array-load-with-byteLength-expected.txt: Removed.
        * js/regress/Int8Array-load-with-byteLength.html: Removed.
        * js/regress/Int8Array-load.html: Removed.
        * js/regress/JSONP-negative-0-expected.txt: Removed.
        * js/regress/JSONP-negative-0.html: Removed.
        * js/regress/Number-isNaN-expected.txt: Removed.
        * js/regress/Number-isNaN.html: Removed.
        * js/regress/abc-forward-loop-equal-expected.txt: Removed.
        * js/regress/abc-forward-loop-equal.html: Removed.
        * js/regress/abc-postfix-backward-loop-expected.txt: Removed.
        * js/regress/abc-postfix-backward-loop.html: Removed.
        * js/regress/abc-simple-backward-loop-expected.txt: Removed.
        * js/regress/abc-simple-backward-loop.html: Removed.
        * js/regress/abc-simple-forward-loop-expected.txt: Removed.
        * js/regress/abc-simple-forward-loop.html: Removed.
        * js/regress/abc-skippy-loop-expected.txt: Removed.
        * js/regress/abc-skippy-loop.html: Removed.
        * js/regress/abs-boolean-expected.txt: Removed.
        * js/regress/abs-boolean.html: Removed.
        * js/regress/adapt-to-double-divide-expected.txt: Removed.
        * js/regress/adapt-to-double-divide.html: Removed.
        * js/regress/aliased-arguments-getbyval-expected.txt: Removed.
        * js/regress/aliased-arguments-getbyval.html: Removed.
        * js/regress/allocate-big-object-expected.txt: Removed.
        * js/regress/allocate-big-object.html: Removed.
        * js/regress/apply-not-apply-expected.txt: Removed.
        * js/regress/apply-not-apply.html: Removed.
        * js/regress/arguments-expected.txt: Removed.
        * js/regress/arguments-named-and-reflective-expected.txt: Removed.
        * js/regress/arguments-named-and-reflective.html: Removed.
        * js/regress/arguments-out-of-bounds-expected.txt: Removed.
        * js/regress/arguments-out-of-bounds.html: Removed.
        * js/regress/arguments-strict-mode-expected.txt: Removed.
        * js/regress/arguments-strict-mode.html: Removed.
        * js/regress/arguments.html: Removed.
        * js/regress/arity-mismatch-inlining-expected.txt: Removed.
        * js/regress/arity-mismatch-inlining.html: Removed.
        * js/regress/array-access-polymorphic-structure-expected.txt: Removed.
        * js/regress/array-access-polymorphic-structure.html: Removed.
        * js/regress/array-nonarray-polymorhpic-access-expected.txt: Removed.
        * js/regress/array-nonarray-polymorhpic-access.html: Removed.
        * js/regress/array-nonarray-polymorphic-access-expected.txt: Removed.
        * js/regress/array-nonarray-polymorphic-access.html: Removed.
        * js/regress/array-prototype-every-expected.txt: Removed.
        * js/regress/array-prototype-every.html: Removed.
        * js/regress/array-prototype-forEach-expected.txt: Removed.
        * js/regress/array-prototype-forEach.html: Removed.
        * js/regress/array-prototype-map-expected.txt: Removed.
        * js/regress/array-prototype-map.html: Removed.
        * js/regress/array-prototype-reduce-expected.txt: Removed.
        * js/regress/array-prototype-reduce.html: Removed.
        * js/regress/array-prototype-reduceRight-expected.txt: Removed.
        * js/regress/array-prototype-reduceRight.html: Removed.
        * js/regress/array-prototype-some-expected.txt: Removed.
        * js/regress/array-prototype-some.html: Removed.
        * js/regress/array-splice-contiguous-expected.txt: Removed.
        * js/regress/array-splice-contiguous.html: Removed.
        * js/regress/array-with-double-add-expected.txt: Removed.
        * js/regress/array-with-double-add.html: Removed.
        * js/regress/array-with-double-increment-expected.txt: Removed.
        * js/regress/array-with-double-increment.html: Removed.
        * js/regress/array-with-double-mul-add-expected.txt: Removed.
        * js/regress/array-with-double-mul-add.html: Removed.
        * js/regress/array-with-double-sum-expected.txt: Removed.
        * js/regress/array-with-double-sum.html: Removed.
        * js/regress/array-with-int32-add-sub-expected.txt: Removed.
        * js/regress/array-with-int32-add-sub.html: Removed.
        * js/regress/array-with-int32-or-double-sum-expected.txt: Removed.
        * js/regress/array-with-int32-or-double-sum.html: Removed.
        * js/regress/arrowfunction-call-expected.txt: Removed.
        * js/regress/arrowfunction-call-in-class-constructor-expected.txt: Removed.
        * js/regress/arrowfunction-call-in-class-constructor.html: Removed.
        * js/regress/arrowfunction-call-in-class-method-expected.txt: Removed.
        * js/regress/arrowfunction-call-in-class-method.html: Removed.
        * js/regress/arrowfunction-call-in-function-expected.txt: Removed.
        * js/regress/arrowfunction-call-in-function.html: Removed.
        * js/regress/arrowfunction-call.html: Removed.
        * js/regress/asmjs_bool_bug-expected.txt: Removed.
        * js/regress/asmjs_bool_bug.html: Removed.
        * js/regress/assign-custom-setter-expected.txt: Removed.
        * js/regress/assign-custom-setter-polymorphic-expected.txt: Removed.
        * js/regress/assign-custom-setter-polymorphic.html: Removed.
        * js/regress/assign-custom-setter.html: Removed.
        * js/regress/basic-set-expected.txt: Removed.
        * js/regress/basic-set.html: Removed.
        * js/regress/big-int-mul-expected.txt: Removed.
        * js/regress/big-int-mul.html: Removed.
        * js/regress/bigswitch-expected.txt: Removed.
        * js/regress/bigswitch-indirect-expected.txt: Removed.
        * js/regress/bigswitch-indirect-symbol-expected.txt: Removed.
        * js/regress/bigswitch-indirect-symbol-or-undefined-expected.txt: Removed.
        * js/regress/bigswitch-indirect-symbol-or-undefined.html: Removed.
        * js/regress/bigswitch-indirect-symbol.html: Removed.
        * js/regress/bigswitch-indirect.html: Removed.
        * js/regress/bigswitch.html: Removed.
        * js/regress/boolean-test-expected.txt: Removed.
        * js/regress/boolean-test.html: Removed.
        * js/regress/bound-function-call-expected.txt: Removed.
        * js/regress/bound-function-call.html: Removed.
        * js/regress/bound-function-construction-performance-expected.txt: Removed.
        * js/regress/bound-function-construction-performance.html: Removed.
        * js/regress/branch-fold-expected.txt: Removed.
        * js/regress/branch-fold.html: Removed.
        * js/regress/branch-on-string-as-boolean-expected.txt: Removed.
        * js/regress/branch-on-string-as-boolean.html: Removed.
        * js/regress/bug-153431-expected.txt: Removed.
        * js/regress/bug-153431.html: Removed.
        * js/regress/build-large-object-expected.txt: Removed.
        * js/regress/build-large-object.html: Removed.
        * js/regress/by-val-generic-expected.txt: Removed.
        * js/regress/by-val-generic.html: Removed.
        * js/regress/call-or-not-call-expected.txt: Removed.
        * js/regress/call-or-not-call.html: Removed.
        * js/regress/call-spread-apply-expected.txt: Removed.
        * js/regress/call-spread-apply.html: Removed.
        * js/regress/call-spread-call-expected.txt: Removed.
        * js/regress/call-spread-call.html: Removed.
        * js/regress/captured-assignments-expected.txt: Removed.
        * js/regress/captured-assignments.html: Removed.
        * js/regress/cast-int-to-double-expected.txt: Removed.
        * js/regress/cast-int-to-double.html: Removed.
        * js/regress/cell-argument-expected.txt: Removed.
        * js/regress/cell-argument.html: Removed.
        * js/regress/cfg-simplify-expected.txt: Removed.
        * js/regress/cfg-simplify.html: Removed.
        * js/regress/chain-getter-access-expected.txt: Removed.
        * js/regress/chain-getter-access.html: Removed.
        * js/regress/cmpeq-obj-to-obj-other-expected.txt: Removed.
        * js/regress/cmpeq-obj-to-obj-other.html: Removed.
        * js/regress/concat-append-one-expected.txt: Removed.
        * js/regress/concat-append-one.html: Removed.
        * js/regress/constant-test-expected.txt: Removed.
        * js/regress/constant-test.html: Removed.
        * js/regress/create-lots-of-functions-expected.txt: Removed.
        * js/regress/create-lots-of-functions.html: Removed.
        * js/regress/cse-new-array-buffer-expected.txt: Removed.
        * js/regress/cse-new-array-buffer.html: Removed.
        * js/regress/cse-new-array-expected.txt: Removed.
        * js/regress/cse-new-array.html: Removed.
        * js/regress/custom-setter-getter-as-put-get-by-id-expected.txt: Removed.
        * js/regress/custom-setter-getter-as-put-get-by-id.html: Removed.
        * js/regress/delay-tear-off-arguments-strictmode-expected.txt: Removed.
        * js/regress/delay-tear-off-arguments-strictmode.html: Removed.
        * js/regress/deltablue-for-of-expected.txt: Removed.
        * js/regress/deltablue-for-of.html: Removed.
        * js/regress/deltablue-varargs-expected.txt: Removed.
        * js/regress/deltablue-varargs.html: Removed.
        * js/regress/destructuring-arguments-expected.txt: Removed.
        * js/regress/destructuring-arguments.html: Removed.
        * js/regress/destructuring-parameters-overridden-by-function-expected.txt: Removed.
        * js/regress/destructuring-parameters-overridden-by-function.html: Removed.
        * js/regress/destructuring-swap-expected.txt: Removed.
        * js/regress/destructuring-swap.html: Removed.
        * js/regress/direct-arguments-getbyval-expected.txt: Removed.
        * js/regress/direct-arguments-getbyval.html: Removed.
        * js/regress/direct-arguments-length-expected.txt: Removed.
        * js/regress/direct-arguments-length.html: Removed.
        * js/regress/direct-arguments-overridden-length-expected.txt: Removed.
        * js/regress/direct-arguments-overridden-length.html: Removed.
        * js/regress/direct-arguments-possibly-overridden-length-expected.txt: Removed.
        * js/regress/direct-arguments-possibly-overridden-length.html: Removed.
        * js/regress/div-boolean-double-expected.txt: Removed.
        * js/regress/div-boolean-double.html: Removed.
        * js/regress/div-boolean-expected.txt: Removed.
        * js/regress/div-boolean.html: Removed.
        * js/regress/double-get-by-val-out-of-bounds-expected.txt: Removed.
        * js/regress/double-get-by-val-out-of-bounds.html: Removed.
        * js/regress/double-pollution-getbyval-expected.txt: Removed.
        * js/regress/double-pollution-getbyval.html: Removed.
        * js/regress/double-pollution-putbyoffset-expected.txt: Removed.
        * js/regress/double-pollution-putbyoffset.html: Removed.
        * js/regress/double-real-use-expected.txt: Removed.
        * js/regress/double-real-use.html: Removed.
        * js/regress/double-to-int32-typed-array-expected.txt: Removed.
        * js/regress/double-to-int32-typed-array-no-inline-expected.txt: Removed.
        * js/regress/double-to-int32-typed-array-no-inline.html: Removed.
        * js/regress/double-to-int32-typed-array.html: Removed.
        * js/regress/double-to-uint32-typed-array-expected.txt: Removed.
        * js/regress/double-to-uint32-typed-array-no-inline-expected.txt: Removed.
        * js/regress/double-to-uint32-typed-array-no-inline.html: Removed.
        * js/regress/double-to-uint32-typed-array.html: Removed.
        * js/regress/elidable-new-object-dag-expected.txt: Removed.
        * js/regress/elidable-new-object-dag.html: Removed.
        * js/regress/elidable-new-object-roflcopter-expected.txt: Removed.
        * js/regress/elidable-new-object-roflcopter.html: Removed.
        * js/regress/elidable-new-object-then-call-expected.txt: Removed.
        * js/regress/elidable-new-object-then-call.html: Removed.
        * js/regress/elidable-new-object-tree-expected.txt: Removed.
        * js/regress/elidable-new-object-tree.html: Removed.
        * js/regress/empty-string-plus-int-expected.txt: Removed.
        * js/regress/empty-string-plus-int.html: Removed.
        * js/regress/emscripten-cube2hash-expected.txt: Removed.
        * js/regress/emscripten-cube2hash.html: Removed.
        * js/regress/eval-compute-expected.txt: Removed.
        * js/regress/eval-compute.html: Removed.
        * js/regress/eval-not-eval-compute-args-expected.txt: Removed.
        * js/regress/eval-not-eval-compute-args.html: Removed.
        * js/regress/eval-not-eval-compute-expected.txt: Removed.
        * js/regress/eval-not-eval-compute.html: Removed.
        * js/regress/exit-length-on-plain-object-expected.txt: Removed.
        * js/regress/exit-length-on-plain-object.html: Removed.
        * js/regress/external-arguments-getbyval-expected.txt: Removed.
        * js/regress/external-arguments-getbyval.html: Removed.
        * js/regress/external-arguments-putbyval-expected.txt: Removed.
        * js/regress/external-arguments-putbyval.html: Removed.
        * js/regress/fixed-typed-array-storage-expected.txt: Removed.
        * js/regress/fixed-typed-array-storage-var-index-expected.txt: Removed.
        * js/regress/fixed-typed-array-storage-var-index.html: Removed.
        * js/regress/fixed-typed-array-storage.html: Removed.
        * js/regress/fold-double-to-int-expected.txt: Removed.
        * js/regress/fold-double-to-int.html: Removed.
        * js/regress/fold-get-by-id-to-multi-get-by-offset-expected.txt: Removed.
        * js/regress/fold-get-by-id-to-multi-get-by-offset-rare-int-expected.txt: Removed.
        * js/regress/fold-get-by-id-to-multi-get-by-offset-rare-int.html: Removed.
        * js/regress/fold-get-by-id-to-multi-get-by-offset.html: Removed.
        * js/regress/fold-multi-get-by-offset-to-get-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-get-by-offset-to-get-by-offset.html: Removed.
        * js/regress/fold-multi-get-by-offset-to-poly-get-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-get-by-offset-to-poly-get-by-offset.html: Removed.
        * js/regress/fold-multi-put-by-offset-to-poly-put-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-put-by-offset-to-poly-put-by-offset.html: Removed.
        * js/regress/fold-multi-put-by-offset-to-put-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-put-by-offset-to-put-by-offset.html: Removed.
        * js/regress/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.html: Removed.
        * js/regress/fold-put-by-id-to-multi-put-by-offset-expected.txt: Removed.
        * js/regress/fold-put-by-id-to-multi-put-by-offset.html: Removed.
        * js/regress/fold-put-by-val-with-string-to-multi-put-by-offset-expected.txt: Removed.
        * js/regress/fold-put-by-val-with-string-to-multi-put-by-offset.html: Removed.
        * js/regress/fold-put-by-val-with-symbol-to-multi-put-by-offset-expected.txt: Removed.
        * js/regress/fold-put-by-val-with-symbol-to-multi-put-by-offset.html: Removed.
        * js/regress/fold-put-structure-expected.txt: Removed.
        * js/regress/fold-put-structure.html: Removed.
        * js/regress/for-of-iterate-array-entries-expected.txt: Removed.
        * js/regress/for-of-iterate-array-entries.html: Removed.
        * js/regress/for-of-iterate-array-keys-expected.txt: Removed.
        * js/regress/for-of-iterate-array-keys.html: Removed.
        * js/regress/for-of-iterate-array-values-expected.txt: Removed.
        * js/regress/for-of-iterate-array-values.html: Removed.
        * js/regress/freeze-and-do-work-expected.txt: Removed.
        * js/regress/freeze-and-do-work.html: Removed.
        * js/regress/fround-expected.txt: Removed.
        * js/regress/fround.html: Removed.
        * js/regress/ftl-library-inlining-dataview-expected.txt: Removed.
        * js/regress/ftl-library-inlining-dataview.html: Removed.
        * js/regress/ftl-library-inlining-expected.txt: Removed.
        * js/regress/ftl-library-inlining.html: Removed.
        * js/regress/ftl-polymorphic-StringFromCharCode-expected.txt: Removed.
        * js/regress/ftl-polymorphic-StringFromCharCode.html: Removed.
        * js/regress/ftl-polymorphic-bitand-expected.txt: Removed.
        * js/regress/ftl-polymorphic-bitand.html: Removed.
        * js/regress/ftl-polymorphic-bitor-expected.txt: Removed.
        * js/regress/ftl-polymorphic-bitor.html: Removed.
        * js/regress/ftl-polymorphic-bitxor-expected.txt: Removed.
        * js/regress/ftl-polymorphic-bitxor.html: Removed.
        * js/regress/ftl-polymorphic-div-expected.txt: Removed.
        * js/regress/ftl-polymorphic-div.html: Removed.
        * js/regress/ftl-polymorphic-lshift-expected.txt: Removed.
        * js/regress/ftl-polymorphic-lshift.html: Removed.
        * js/regress/ftl-polymorphic-mul-expected.txt: Removed.
        * js/regress/ftl-polymorphic-mul.html: Removed.
        * js/regress/ftl-polymorphic-rshift-expected.txt: Removed.
        * js/regress/ftl-polymorphic-rshift.html: Removed.
        * js/regress/ftl-polymorphic-sub-expected.txt: Removed.
        * js/regress/ftl-polymorphic-sub.html: Removed.
        * js/regress/ftl-polymorphic-urshift-expected.txt: Removed.
        * js/regress/ftl-polymorphic-urshift.html: Removed.
        * js/regress/function-call-expected.txt: Removed.
        * js/regress/function-call.html: Removed.
        * js/regress/function-dot-apply-expected.txt: Removed.
        * js/regress/function-dot-apply.html: Removed.
        * js/regress/function-test-expected.txt: Removed.
        * js/regress/function-test.html: Removed.
        * js/regress/function-with-eval-expected.txt: Removed.
        * js/regress/function-with-eval.html: Removed.
        * js/regress/gcse-expected.txt: Removed.
        * js/regress/gcse-poly-get-expected.txt: Removed.
        * js/regress/gcse-poly-get-less-obvious-expected.txt: Removed.
        * js/regress/gcse-poly-get-less-obvious.html: Removed.
        * js/regress/gcse-poly-get.html: Removed.
        * js/regress/gcse.html: Removed.
        * js/regress/generator-create-expected.txt: Removed.
        * js/regress/generator-create.html: Removed.
        * js/regress/generator-fib-expected.txt: Removed.
        * js/regress/generator-fib.html: Removed.
        * js/regress/generator-function-create-expected.txt: Removed.
        * js/regress/generator-function-create.html: Removed.
        * js/regress/generator-sunspider-access-nsieve-expected.txt: Removed.
        * js/regress/generator-sunspider-access-nsieve.html: Removed.
        * js/regress/generator-with-several-types-expected.txt: Removed.
        * js/regress/generator-with-several-types.html: Removed.
        * js/regress/get-by-id-bimorphic-check-structure-elimination-expected.txt: Removed.
        * js/regress/get-by-id-bimorphic-check-structure-elimination-simple-expected.txt: Removed.
        * js/regress/get-by-id-bimorphic-check-structure-elimination-simple.html: Removed.
        * js/regress/get-by-id-bimorphic-check-structure-elimination.html: Removed.
        * js/regress/get-by-id-chain-from-try-block-expected.txt: Removed.
        * js/regress/get-by-id-chain-from-try-block.html: Removed.
        * js/regress/get-by-id-check-structure-elimination-expected.txt: Removed.
        * js/regress/get-by-id-check-structure-elimination.html: Removed.
        * js/regress/get-by-id-proto-or-self-expected.txt: Removed.
        * js/regress/get-by-id-proto-or-self.html: Removed.
        * js/regress/get-by-id-quadmorphic-check-structure-elimination-simple-expected.txt: Removed.
        * js/regress/get-by-id-quadmorphic-check-structure-elimination-simple.html: Removed.
        * js/regress/get-by-id-self-or-proto-expected.txt: Removed.
        * js/regress/get-by-id-self-or-proto.html: Removed.
        * js/regress/get-by-val-out-of-bounds-expected.txt: Removed.
        * js/regress/get-by-val-out-of-bounds.html: Removed.
        * js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-expected.txt: Removed.
        * js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple-expected.txt: Removed.
        * js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple.html: Removed.
        * js/regress/get-by-val-with-string-bimorphic-check-structure-elimination.html: Removed.
        * js/regress/get-by-val-with-string-chain-from-try-block-expected.txt: Removed.
        * js/regress/get-by-val-with-string-chain-from-try-block.html: Removed.
        * js/regress/get-by-val-with-string-check-structure-elimination-expected.txt: Removed.
        * js/regress/get-by-val-with-string-check-structure-elimination.html: Removed.
        * js/regress/get-by-val-with-string-proto-or-self-expected.txt: Removed.
        * js/regress/get-by-val-with-string-proto-or-self.html: Removed.
        * js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple-expected.txt: Removed.
        * js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.html: Removed.
        * js/regress/get-by-val-with-string-self-or-proto-expected.txt: Removed.
        * js/regress/get-by-val-with-string-self-or-proto.html: Removed.
        * js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-expected.txt: Removed.
        * js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple-expected.txt: Removed.
        * js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.html: Removed.
        * js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination.html: Removed.
        * js/regress/get-by-val-with-symbol-chain-from-try-block-expected.txt: Removed.
        * js/regress/get-by-val-with-symbol-chain-from-try-block.html: Removed.
        * js/regress/get-by-val-with-symbol-check-structure-elimination-expected.txt: Removed.
        * js/regress/get-by-val-with-symbol-check-structure-elimination.html: Removed.
        * js/regress/get-by-val-with-symbol-proto-or-self-expected.txt: Removed.
        * js/regress/get-by-val-with-symbol-proto-or-self.html: Removed.
        * js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple-expected.txt: Removed.
        * js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.html: Removed.
        * js/regress/get-by-val-with-symbol-self-or-proto-expected.txt: Removed.
        * js/regress/get-by-val-with-symbol-self-or-proto.html: Removed.
        * js/regress/get_by_val-Int32Array-expected.txt: Removed.
        * js/regress/get_by_val-Int32Array.html: Removed.
        * js/regress/get_callee_monomorphic-expected.txt: Removed.
        * js/regress/get_callee_monomorphic.html: Removed.
        * js/regress/get_callee_polymorphic-expected.txt: Removed.
        * js/regress/get_callee_polymorphic.html: Removed.
        * js/regress/getter-expected.txt: Removed.
        * js/regress/getter-no-activation-expected.txt: Removed.
        * js/regress/getter-no-activation.html: Removed.
        * js/regress/getter-prototype-expected.txt: Removed.
        * js/regress/getter-prototype.html: Removed.
        * js/regress/getter-richards-expected.txt: Removed.
        * js/regress/getter-richards-try-catch-expected.txt: Removed.
        * js/regress/getter-richards-try-catch.html: Removed.
        * js/regress/getter-richards.html: Removed.
        * js/regress/getter.html: Removed.
        * js/regress/global-isNaN-expected.txt: Removed.
        * js/regress/global-isNaN.html: Removed.
        * js/regress/global-object-access-with-mutating-structure-expected.txt: Removed.
        * js/regress/global-object-access-with-mutating-structure.html: Removed.
        * js/regress/global-var-const-infer-expected.txt: Removed.
        * js/regress/global-var-const-infer-fire-from-opt-expected.txt: Removed.
        * js/regress/global-var-const-infer-fire-from-opt.html: Removed.
        * js/regress/global-var-const-infer.html: Removed.
        * js/regress/hard-overflow-check-equal-expected.txt: Removed.
        * js/regress/hard-overflow-check-equal.html: Removed.
        * js/regress/hard-overflow-check-expected.txt: Removed.
        * js/regress/hard-overflow-check.html: Removed.
        * js/regress/hoist-make-rope-expected.txt: Removed.
        * js/regress/hoist-make-rope.html: Removed.
        * js/regress/hoist-poly-check-structure-effectful-loop-expected.txt: Removed.
        * js/regress/hoist-poly-check-structure-effectful-loop.html: Removed.
        * js/regress/hoist-poly-check-structure-expected.txt: Removed.
        * js/regress/hoist-poly-check-structure.html: Removed.
        * js/regress/implicit-bigswitch-indirect-symbol-expected.txt: Removed.
        * js/regress/implicit-bigswitch-indirect-symbol.html: Removed.
        * js/regress/imul-double-only-expected.txt: Removed.
        * js/regress/imul-double-only.html: Removed.
        * js/regress/imul-int-only-expected.txt: Removed.
        * js/regress/imul-int-only.html: Removed.
        * js/regress/imul-mixed-expected.txt: Removed.
        * js/regress/imul-mixed.html: Removed.
        * js/regress/in-four-cases-expected.txt: Removed.
        * js/regress/in-four-cases.html: Removed.
        * js/regress/in-one-case-false-expected.txt: Removed.
        * js/regress/in-one-case-false.html: Removed.
        * js/regress/in-one-case-true-expected.txt: Removed.
        * js/regress/in-one-case-true.html: Removed.
        * js/regress/in-two-cases-expected.txt: Removed.
        * js/regress/in-two-cases.html: Removed.
        * js/regress/indexed-properties-in-objects-expected.txt: Removed.
        * js/regress/indexed-properties-in-objects.html: Removed.
        * js/regress/infer-closure-const-then-mov-expected.txt: Removed.
        * js/regress/infer-closure-const-then-mov-no-inline-expected.txt: Removed.
        * js/regress/infer-closure-const-then-mov-no-inline.html: Removed.
        * js/regress/infer-closure-const-then-mov.html: Removed.
        * js/regress/infer-closure-const-then-put-to-scope-expected.txt: Removed.
        * js/regress/infer-closure-const-then-put-to-scope-no-inline-expected.txt: Removed.
        * js/regress/infer-closure-const-then-put-to-scope-no-inline.html: Removed.
        * js/regress/infer-closure-const-then-put-to-scope.html: Removed.
        * js/regress/infer-closure-const-then-reenter-expected.txt: Removed.
        * js/regress/infer-closure-const-then-reenter-no-inline-expected.txt: Removed.
        * js/regress/infer-closure-const-then-reenter-no-inline.html: Removed.
        * js/regress/infer-closure-const-then-reenter.html: Removed.
        * js/regress/infer-constant-global-property-expected.txt: Removed.
        * js/regress/infer-constant-global-property.html: Removed.
        * js/regress/infer-constant-property-expected.txt: Removed.
        * js/regress/infer-constant-property.html: Removed.
        * js/regress/infer-one-time-closure-expected.txt: Removed.
        * js/regress/infer-one-time-closure-ten-vars-expected.txt: Removed.
        * js/regress/infer-one-time-closure-ten-vars.html: Removed.
        * js/regress/infer-one-time-closure-two-vars-expected.txt: Removed.
        * js/regress/infer-one-time-closure-two-vars.html: Removed.
        * js/regress/infer-one-time-closure.html: Removed.
        * js/regress/infer-one-time-deep-closure-expected.txt: Removed.
        * js/regress/infer-one-time-deep-closure.html: Removed.
        * js/regress/inline-arguments-access-expected.txt: Removed.
        * js/regress/inline-arguments-access.html: Removed.
        * js/regress/inline-arguments-aliased-access-expected.txt: Removed.
        * js/regress/inline-arguments-aliased-access.html: Removed.
        * js/regress/inline-arguments-local-escape-expected.txt: Removed.
        * js/regress/inline-arguments-local-escape.html: Removed.
        * js/regress/inline-get-scoped-var-expected.txt: Removed.
        * js/regress/inline-get-scoped-var.html: Removed.
        * js/regress/inlined-put-by-id-transition-expected.txt: Removed.
        * js/regress/inlined-put-by-id-transition.html: Removed.
        * js/regress/inlined-put-by-val-with-string-transition-expected.txt: Removed.
        * js/regress/inlined-put-by-val-with-string-transition.html: Removed.
        * js/regress/inlined-put-by-val-with-symbol-transition-expected.txt: Removed.
        * js/regress/inlined-put-by-val-with-symbol-transition.html: Removed.
        * js/regress/instanceof-bound-expected.txt: Removed.
        * js/regress/instanceof-bound.html: Removed.
        * js/regress/int-or-other-abs-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-abs-then-get-by-val.html: Removed.
        * js/regress/int-or-other-abs-zero-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-abs-zero-then-get-by-val.html: Removed.
        * js/regress/int-or-other-add-expected.txt: Removed.
        * js/regress/int-or-other-add-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-add-then-get-by-val.html: Removed.
        * js/regress/int-or-other-add.html: Removed.
        * js/regress/int-or-other-div-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-div-then-get-by-val.html: Removed.
        * js/regress/int-or-other-max-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-max-then-get-by-val.html: Removed.
        * js/regress/int-or-other-min-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-min-then-get-by-val.html: Removed.
        * js/regress/int-or-other-mod-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-mod-then-get-by-val.html: Removed.
        * js/regress/int-or-other-mul-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-mul-then-get-by-val.html: Removed.
        * js/regress/int-or-other-neg-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-neg-then-get-by-val.html: Removed.
        * js/regress/int-or-other-neg-zero-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-neg-zero-then-get-by-val.html: Removed.
        * js/regress/int-or-other-sub-expected.txt: Removed.
        * js/regress/int-or-other-sub-then-get-by-val-expected.txt: Removed.
        * js/regress/int-or-other-sub-then-get-by-val.html: Removed.
        * js/regress/int-or-other-sub.html: Removed.
        * js/regress/int-overflow-local-expected.txt: Removed.
        * js/regress/int-overflow-local.html: Removed.
        * js/regress/int52-spill-expected.txt: Removed.
        * js/regress/int52-spill.html: Removed.
        * js/regress/integer-divide-expected.txt: Removed.
        * js/regress/integer-divide.html: Removed.
        * js/regress/integer-modulo-expected.txt: Removed.
        * js/regress/integer-modulo.html: Removed.
        * js/regress/is-boolean-fold-expected.txt: Removed.
        * js/regress/is-boolean-fold-tricky-expected.txt: Removed.
        * js/regress/is-boolean-fold-tricky.html: Removed.
        * js/regress/is-boolean-fold.html: Removed.
        * js/regress/is-function-fold-expected.txt: Removed.
        * js/regress/is-function-fold-tricky-expected.txt: Removed.
        * js/regress/is-function-fold-tricky-internal-function-expected.txt: Removed.
        * js/regress/is-function-fold-tricky-internal-function.html: Removed.
        * js/regress/is-function-fold-tricky.html: Removed.
        * js/regress/is-function-fold.html: Removed.
        * js/regress/is-number-fold-expected.txt: Removed.
        * js/regress/is-number-fold-tricky-expected.txt: Removed.
        * js/regress/is-number-fold-tricky.html: Removed.
        * js/regress/is-number-fold.html: Removed.
        * js/regress/is-object-or-null-fold-expected.txt: Removed.
        * js/regress/is-object-or-null-fold-functions-expected.txt: Removed.
        * js/regress/is-object-or-null-fold-functions.html: Removed.
        * js/regress/is-object-or-null-fold-less-tricky-expected.txt: Removed.
        * js/regress/is-object-or-null-fold-less-tricky.html: Removed.
        * js/regress/is-object-or-null-fold-tricky-expected.txt: Removed.
        * js/regress/is-object-or-null-fold-tricky.html: Removed.
        * js/regress/is-object-or-null-fold.html: Removed.
        * js/regress/is-object-or-null-trickier-function-expected.txt: Removed.
        * js/regress/is-object-or-null-trickier-function.html: Removed.
        * js/regress/is-object-or-null-trickier-internal-function-expected.txt: Removed.
        * js/regress/is-object-or-null-trickier-internal-function.html: Removed.
        * js/regress/is-object-or-null-tricky-function-expected.txt: Removed.
        * js/regress/is-object-or-null-tricky-function.html: Removed.
        * js/regress/is-object-or-null-tricky-internal-function-expected.txt: Removed.
        * js/regress/is-object-or-null-tricky-internal-function.html: Removed.
        * js/regress/is-string-fold-expected.txt: Removed.
        * js/regress/is-string-fold-tricky-expected.txt: Removed.
        * js/regress/is-string-fold-tricky.html: Removed.
        * js/regress/is-string-fold.html: Removed.
        * js/regress/is-undefined-fold-expected.txt: Removed.
        * js/regress/is-undefined-fold-tricky-expected.txt: Removed.
        * js/regress/is-undefined-fold-tricky.html: Removed.
        * js/regress/is-undefined-fold.html: Removed.
        * js/regress/large-int-captured-expected.txt: Removed.
        * js/regress/large-int-captured.html: Removed.
        * js/regress/large-int-expected.txt: Removed.
        * js/regress/large-int-neg-expected.txt: Removed.
        * js/regress/large-int-neg.html: Removed.
        * js/regress/large-int.html: Removed.
        * js/regress/lazy-array-species-watchpoints-expected.txt: Removed.
        * js/regress/lazy-array-species-watchpoints.html: Removed.
        * js/regress/licm-dragons-expected.txt: Removed.
        * js/regress/licm-dragons-out-of-bounds-expected.txt: Removed.
        * js/regress/licm-dragons-out-of-bounds.html: Removed.
        * js/regress/licm-dragons-overflow-expected.txt: Removed.
        * js/regress/licm-dragons-overflow.html: Removed.
        * js/regress/licm-dragons.html: Removed.
        * js/regress/load-varargs-elimination-expected.txt: Removed.
        * js/regress/load-varargs-elimination.html: Removed.
        * js/regress/locale-compare-expected.txt: Removed.
        * js/regress/locale-compare.html: Removed.
        * js/regress/logical-not-expected.txt: Removed.
        * js/regress/logical-not-weird-types-expected.txt: Removed.
        * js/regress/logical-not-weird-types.html: Removed.
        * js/regress/logical-not.html: Removed.
        * js/regress/lots-of-fields-expected.txt: Removed.
        * js/regress/lots-of-fields.html: Removed.
        * js/regress/make-indexed-storage-expected.txt: Removed.
        * js/regress/make-indexed-storage.html: Removed.
        * js/regress/make-rope-cse-expected.txt: Removed.
        * js/regress/make-rope-cse.html: Removed.
        * js/regress/many-foreach-calls-expected.txt: Removed.
        * js/regress/many-foreach-calls.html: Removed.
        * js/regress/many-repeat-stores-expected.txt: Removed.
        * js/regress/many-repeat-stores.html: Removed.
        * js/regress/map-for-each-expected.txt: Removed.
        * js/regress/map-for-each.html: Removed.
        * js/regress/map-for-of-expected.txt: Removed.
        * js/regress/map-for-of.html: Removed.
        * js/regress/marsaglia-larger-ints-expected.txt: Removed.
        * js/regress/marsaglia-larger-ints.html: Removed.
        * js/regress/marsaglia-osr-entry-expected.txt: Removed.
        * js/regress/marsaglia-osr-entry.html: Removed.
        * js/regress/math-random-expected.txt: Removed.
        * js/regress/math-random.html: Removed.
        * js/regress/math-trunc-expected.txt: Removed.
        * js/regress/math-trunc.html: Removed.
        * js/regress/math-with-out-of-bounds-array-values-expected.txt: Removed.
        * js/regress/math-with-out-of-bounds-array-values.html: Removed.
        * js/regress/max-boolean-expected.txt: Removed.
        * js/regress/max-boolean.html: Removed.
        * js/regress/megamorphic-load-expected.txt: Removed.
        * js/regress/megamorphic-load.html: Removed.
        * js/regress/method-on-number-expected.txt: Removed.
        * js/regress/method-on-number.html: Removed.
        * js/regress/min-boolean-expected.txt: Removed.
        * js/regress/min-boolean.html: Removed.
        * js/regress/minus-boolean-double-expected.txt: Removed.
        * js/regress/minus-boolean-double.html: Removed.
        * js/regress/minus-boolean-expected.txt: Removed.
        * js/regress/minus-boolean.html: Removed.
        * js/regress/misc-bugs-847389-jpeg2000-expected.txt: Removed.
        * js/regress/misc-bugs-847389-jpeg2000.html: Removed.
        * js/regress/misc-strict-eq-expected.txt: Removed.
        * js/regress/misc-strict-eq.html: Removed.
        * js/regress/mod-boolean-double-expected.txt: Removed.
        * js/regress/mod-boolean-double.html: Removed.
        * js/regress/mod-boolean-expected.txt: Removed.
        * js/regress/mod-boolean.html: Removed.
        * js/regress/mul-boolean-double-expected.txt: Removed.
        * js/regress/mul-boolean-double.html: Removed.
        * js/regress/mul-boolean-expected.txt: Removed.
        * js/regress/mul-boolean.html: Removed.
        * js/regress/neg-boolean-expected.txt: Removed.
        * js/regress/neg-boolean.html: Removed.
        * js/regress/negative-zero-divide-expected.txt: Removed.
        * js/regress/negative-zero-divide.html: Removed.
        * js/regress/negative-zero-modulo-expected.txt: Removed.
        * js/regress/negative-zero-modulo.html: Removed.
        * js/regress/negative-zero-negate-expected.txt: Removed.
        * js/regress/negative-zero-negate.html: Removed.
        * js/regress/nested-function-parsing-expected.txt: Removed.
        * js/regress/nested-function-parsing.html: Removed.
        * js/regress/new-array-buffer-dead-expected.txt: Removed.
        * js/regress/new-array-buffer-dead.html: Removed.
        * js/regress/new-array-buffer-push-expected.txt: Removed.
        * js/regress/new-array-buffer-push.html: Removed.
        * js/regress/new-array-dead-expected.txt: Removed.
        * js/regress/new-array-dead.html: Removed.
        * js/regress/new-array-push-expected.txt: Removed.
        * js/regress/new-array-push.html: Removed.
        * js/regress/no-inline-constructor-expected.txt: Removed.
        * js/regress/no-inline-constructor.html: Removed.
        * js/regress/number-test-expected.txt: Removed.
        * js/regress/number-test.html: Removed.
        * js/regress/object-and-expected.txt: Removed.
        * js/regress/object-and.html: Removed.
        * js/regress/object-closure-call-expected.txt: Removed.
        * js/regress/object-closure-call.html: Removed.
        * js/regress/object-get-own-property-symbols-on-large-array-expected.txt: Removed.
        * js/regress/object-get-own-property-symbols-on-large-array.html: Removed.
        * js/regress/object-int-add-array-expected.txt: Removed.
        * js/regress/object-int-add-array.html: Removed.
        * js/regress/object-int-add-expected.txt: Removed.
        * js/regress/object-int-add.html: Removed.
        * js/regress/object-int-and-array-expected.txt: Removed.
        * js/regress/object-int-and-array.html: Removed.
        * js/regress/object-int-mul-array-expected.txt: Removed.
        * js/regress/object-int-mul-array.html: Removed.
        * js/regress/object-int-sub-array-expected.txt: Removed.
        * js/regress/object-int-sub-array.html: Removed.
        * js/regress/object-int-sub-expected.txt: Removed.
        * js/regress/object-int-sub.html: Removed.
        * js/regress/object-lshift-expected.txt: Removed.
        * js/regress/object-lshift.html: Removed.
        * js/regress/object-or-expected.txt: Removed.
        * js/regress/object-or.html: Removed.
        * js/regress/object-rshift-expected.txt: Removed.
        * js/regress/object-rshift.html: Removed.
        * js/regress/object-test-expected.txt: Removed.
        * js/regress/object-test.html: Removed.
        * js/regress/object-urshift-expected.txt: Removed.
        * js/regress/object-urshift.html: Removed.
        * js/regress/object-xor-expected.txt: Removed.
        * js/regress/object-xor.html: Removed.
        * js/regress/obvious-sink-pathology-expected.txt: Removed.
        * js/regress/obvious-sink-pathology-taken-expected.txt: Removed.
        * js/regress/obvious-sink-pathology-taken.html: Removed.
        * js/regress/obvious-sink-pathology.html: Removed.
        * js/regress/obviously-elidable-new-object-expected.txt: Removed.
        * js/regress/obviously-elidable-new-object.html: Removed.
        * js/regress/plus-boolean-arith-expected.txt: Removed.
        * js/regress/plus-boolean-arith.html: Removed.
        * js/regress/plus-boolean-double-expected.txt: Removed.
        * js/regress/plus-boolean-double.html: Removed.
        * js/regress/plus-boolean-expected.txt: Removed.
        * js/regress/plus-boolean.html: Removed.
        * js/regress/poly-chain-access-different-prototypes-expected.txt: Removed.
        * js/regress/poly-chain-access-different-prototypes-simple-expected.txt: Removed.
        * js/regress/poly-chain-access-different-prototypes-simple.html: Removed.
        * js/regress/poly-chain-access-different-prototypes.html: Removed.
        * js/regress/poly-chain-access-expected.txt: Removed.
        * js/regress/poly-chain-access-simpler-expected.txt: Removed.
        * js/regress/poly-chain-access-simpler.html: Removed.
        * js/regress/poly-chain-access.html: Removed.
        * js/regress/poly-stricteq-expected.txt: Removed.
        * js/regress/poly-stricteq.html: Removed.
        * js/regress/polymorphic-array-call-expected.txt: Removed.
        * js/regress/polymorphic-array-call.html: Removed.
        * js/regress/polymorphic-get-by-id-expected.txt: Removed.
        * js/regress/polymorphic-get-by-id.html: Removed.
        * js/regress/polymorphic-put-by-id-expected.txt: Removed.
        * js/regress/polymorphic-put-by-id.html: Removed.
        * js/regress/polymorphic-put-by-val-with-string-expected.txt: Removed.
        * js/regress/polymorphic-put-by-val-with-string.html: Removed.
        * js/regress/polymorphic-put-by-val-with-symbol-expected.txt: Removed.
        * js/regress/polymorphic-put-by-val-with-symbol.html: Removed.
        * js/regress/polymorphic-structure-expected.txt: Removed.
        * js/regress/polymorphic-structure.html: Removed.
        * js/regress/polyvariant-monomorphic-get-by-id-expected.txt: Removed.
        * js/regress/polyvariant-monomorphic-get-by-id.html: Removed.
        * js/regress/prevent-extensions-and-do-work-expected.txt: Removed.
        * js/regress/prevent-extensions-and-do-work.html: Removed.
        * js/regress/proto-getter-access-expected.txt: Removed.
        * js/regress/proto-getter-access.html: Removed.
        * js/regress/prototype-access-with-mutating-prototype-expected.txt: Removed.
        * js/regress/prototype-access-with-mutating-prototype.html: Removed.
        * js/regress/put-by-id-expected.txt: Removed.
        * js/regress/put-by-id-replace-and-transition-expected.txt: Removed.
        * js/regress/put-by-id-replace-and-transition.html: Removed.
        * js/regress/put-by-id-slightly-polymorphic-expected.txt: Removed.
        * js/regress/put-by-id-slightly-polymorphic.html: Removed.
        * js/regress/put-by-id-transition-with-indexing-header-expected.txt: Removed.
        * js/regress/put-by-id-transition-with-indexing-header.html: Removed.
        * js/regress/put-by-id.html: Removed.
        * js/regress/put-by-val-direct-expected.txt: Removed.
        * js/regress/put-by-val-direct.html: Removed.
        * js/regress/put-by-val-large-index-blank-indexing-type-expected.txt: Removed.
        * js/regress/put-by-val-large-index-blank-indexing-type.html: Removed.
        * js/regress/put-by-val-machine-int-expected.txt: Removed.
        * js/regress/put-by-val-machine-int.html: Removed.
        * js/regress/put-by-val-with-string-expected.txt: Removed.
        * js/regress/put-by-val-with-string-replace-and-transition-expected.txt: Removed.
        * js/regress/put-by-val-with-string-replace-and-transition.html: Removed.
        * js/regress/put-by-val-with-string-slightly-polymorphic-expected.txt: Removed.
        * js/regress/put-by-val-with-string-slightly-polymorphic.html: Removed.
        * js/regress/put-by-val-with-string.html: Removed.
        * js/regress/put-by-val-with-symbol-expected.txt: Removed.
        * js/regress/put-by-val-with-symbol-replace-and-transition-expected.txt: Removed.
        * js/regress/put-by-val-with-symbol-replace-and-transition.html: Removed.
        * js/regress/put-by-val-with-symbol-slightly-polymorphic-expected.txt: Removed.
        * js/regress/put-by-val-with-symbol-slightly-polymorphic.html: Removed.
        * js/regress/put-by-val-with-symbol.html: Removed.
        * js/regress/rare-osr-exit-on-local-expected.txt: Removed.
        * js/regress/rare-osr-exit-on-local.html: Removed.
        * js/regress/raytrace-with-empty-try-catch-expected.txt: Removed.
        * js/regress/raytrace-with-empty-try-catch.html: Removed.
        * js/regress/raytrace-with-try-catch-expected.txt: Removed.
        * js/regress/raytrace-with-try-catch.html: Removed.
        * js/regress/regexp-exec-expected.txt: Removed.
        * js/regress/regexp-exec.html: Removed.
        * js/regress/regexp-last-index-expected.txt: Removed.
        * js/regress/regexp-last-index.html: Removed.
        * js/regress/regexp-prototype-is-not-instance-expected.txt: Removed.
        * js/regress/regexp-prototype-is-not-instance.html: Removed.
        * js/regress/regexp-prototype-search-observable-side-effects-expected.txt: Removed.
        * js/regress/regexp-prototype-search-observable-side-effects.html: Removed.
        * js/regress/regexp-prototype-search-observable-side-effects2-expected.txt: Removed.
        * js/regress/regexp-prototype-search-observable-side-effects2.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects2.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-global.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects4.html: Removed.
        * js/regress/regexp-prototype-test-observable-side-effects-expected.txt: Removed.
        * js/regress/regexp-prototype-test-observable-side-effects.html: Removed.
        * js/regress/regexp-prototype-test-observable-side-effects2-expected.txt: Removed.
        * js/regress/regexp-prototype-test-observable-side-effects2.html: Removed.
        * js/regress/regexp-set-last-index-expected.txt: Removed.
        * js/regress/regexp-set-last-index.html: Removed.
        * js/regress/register-pressure-from-osr-expected.txt: Removed.
        * js/regress/register-pressure-from-osr.html: Removed.
        * js/regress/repeat-multi-get-by-offset-expected.txt: Removed.
        * js/regress/repeat-multi-get-by-offset.html: Removed.
        * js/regress/rest-parameter-construction-performance-expected.txt: Removed.
        * js/regress/rest-parameter-construction-performance.html: Removed.
        * js/regress/richards-empty-try-catch-expected.txt: Removed.
        * js/regress/richards-empty-try-catch.html: Removed.
        * js/regress/richards-try-catch-expected.txt: Removed.
        * js/regress/richards-try-catch.html: Removed.
        * js/regress/scoped-arguments-length-expected.txt: Removed.
        * js/regress/scoped-arguments-length.html: Removed.
        * js/regress/scoped-arguments-overridden-length-expected.txt: Removed.
        * js/regress/scoped-arguments-overridden-length.html: Removed.
        * js/regress/scoped-arguments-possibly-overridden-length-expected.txt: Removed.
        * js/regress/scoped-arguments-possibly-overridden-length.html: Removed.
        * js/regress/script-tests: Removed.
        * js/regress/script-tests/ArrayBuffer-DataView-alloc-large-long-lived.js: Removed.
        * js/regress/script-tests/ArrayBuffer-DataView-alloc-long-lived.js: Removed.
        * js/regress/script-tests/ArrayBuffer-Int32Array-byteOffset.js: Removed.
        * js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js: Removed.
        * js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js: Removed.
        * js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js: Removed.
        * js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js: Removed.
        * js/regress/script-tests/DataView-custom-properties.js: Removed.
        * js/regress/script-tests/Float32Array-matrix-mult.js: Removed.
        * js/regress/script-tests/Float32Array-to-Float64Array-set.js: Removed.
        * js/regress/script-tests/Float64Array-alloc-long-lived.js: Removed.
        * js/regress/script-tests/Float64Array-to-Int16Array-set.js: Removed.
        * js/regress/script-tests/HashMap-put-get-iterate-keys.js: Removed.
        * js/regress/script-tests/HashMap-put-get-iterate.js: Removed.
        * js/regress/script-tests/HashMap-string-put-get-iterate.js: Removed.
        * js/regress/script-tests/Int16Array-alloc-long-lived.js: Removed.
        * js/regress/script-tests/Int16Array-bubble-sort-with-byteLength.js: Removed.
        * js/regress/script-tests/Int16Array-bubble-sort.js: Removed.
        * js/regress/script-tests/Int16Array-load-int-mul.js: Removed.
        * js/regress/script-tests/Int16Array-to-Int32Array-set.js: Removed.
        * js/regress/script-tests/Int32Array-Int8Array-view-alloc.js: Removed.
        * js/regress/script-tests/Int32Array-alloc-large.js: Removed.
        * js/regress/script-tests/Int32Array-alloc-long-lived.js: Removed.
        * js/regress/script-tests/Int32Array-alloc.js: Removed.
        * js/regress/script-tests/Int8Array-alloc-long-lived.js: Removed.
        * js/regress/script-tests/Int8Array-load-with-byteLength.js: Removed.
        * js/regress/script-tests/Int8Array-load.js: Removed.
        * js/regress/script-tests/JSONP-negative-0.js: Removed.
        * js/regress/script-tests/Number-isNaN.js: Removed.
        * js/regress/script-tests/abc-forward-loop-equal.js: Removed.
        * js/regress/script-tests/abc-postfix-backward-loop.js: Removed.
        * js/regress/script-tests/abc-simple-backward-loop.js: Removed.
        * js/regress/script-tests/abc-simple-forward-loop.js: Removed.
        * js/regress/script-tests/abc-skippy-loop.js: Removed.
        * js/regress/script-tests/abs-boolean.js: Removed.
        * js/regress/script-tests/adapt-to-double-divide.js: Removed.
        * js/regress/script-tests/aliased-arguments-getbyval.js: Removed.
        * js/regress/script-tests/allocate-big-object.js: Removed.
        * js/regress/script-tests/apply-not-apply.js: Removed.
        * js/regress/script-tests/arguments-named-and-reflective.js: Removed.
        * js/regress/script-tests/arguments-out-of-bounds.js: Removed.
        * js/regress/script-tests/arguments-strict-mode.js: Removed.
        * js/regress/script-tests/arguments.js: Removed.
        * js/regress/script-tests/arity-mismatch-inlining.js: Removed.
        * js/regress/script-tests/array-access-polymorphic-structure.js: Removed.
        * js/regress/script-tests/array-nonarray-polymorhpic-access.js: Removed.
        * js/regress/script-tests/array-prototype-every.js: Removed.
        * js/regress/script-tests/array-prototype-forEach.js: Removed.
        * js/regress/script-tests/array-prototype-map.js: Removed.
        * js/regress/script-tests/array-prototype-reduce.js: Removed.
        * js/regress/script-tests/array-prototype-reduceRight.js: Removed.
        * js/regress/script-tests/array-prototype-some.js: Removed.
        * js/regress/script-tests/array-splice-contiguous.js: Removed.
        * js/regress/script-tests/array-with-double-add.js: Removed.
        * js/regress/script-tests/array-with-double-increment.js: Removed.
        * js/regress/script-tests/array-with-double-mul-add.js: Removed.
        * js/regress/script-tests/array-with-double-sum.js: Removed.
        * js/regress/script-tests/array-with-int32-add-sub.js: Removed.
        * js/regress/script-tests/array-with-int32-or-double-sum.js: Removed.
        * js/regress/script-tests/arrowfunction-call-in-class-constructor.js: Removed.
        * js/regress/script-tests/arrowfunction-call-in-class-method.js: Removed.
        * js/regress/script-tests/arrowfunction-call-in-function.js: Removed.
        * js/regress/script-tests/arrowfunction-call.js: Removed.
        * js/regress/script-tests/asmjs_bool_bug.js: Removed.
        * js/regress/script-tests/assign-custom-setter-polymorphic.js: Removed.
        * js/regress/script-tests/assign-custom-setter.js: Removed.
        * js/regress/script-tests/basic-set.js: Removed.
        * js/regress/script-tests/big-int-mul.js: Removed.
        * js/regress/script-tests/bigswitch-indirect-symbol-or-undefined.js: Removed.
        * js/regress/script-tests/bigswitch-indirect-symbol.js: Removed.
        * js/regress/script-tests/bigswitch-indirect.js: Removed.
        * js/regress/script-tests/bigswitch.js: Removed.
        * js/regress/script-tests/boolean-test.js: Removed.
        * js/regress/script-tests/bound-function-call.js: Removed.
        * js/regress/script-tests/bound-function-construction-performance.js: Removed.
        * js/regress/script-tests/branch-fold.js: Removed.
        * js/regress/script-tests/branch-on-string-as-boolean.js: Removed.
        * js/regress/script-tests/bug-153431.js: Removed.
        * js/regress/script-tests/build-large-object.js: Removed.
        * js/regress/script-tests/by-val-generic.js: Removed.
        * js/regress/script-tests/call-or-not-call.js: Removed.
        * js/regress/script-tests/call-spread-apply.js: Removed.
        * js/regress/script-tests/call-spread-call.js: Removed.
        * js/regress/script-tests/captured-assignments.js: Removed.
        * js/regress/script-tests/cast-int-to-double.js: Removed.
        * js/regress/script-tests/cell-argument.js: Removed.
        * js/regress/script-tests/cfg-simplify.js: Removed.
        * js/regress/script-tests/chain-getter-access.js: Removed.
        * js/regress/script-tests/cmpeq-obj-to-obj-other.js: Removed.
        * js/regress/script-tests/concat-append-one.js: Removed.
        * js/regress/script-tests/constant-test.js: Removed.
        * js/regress/script-tests/create-lots-of-functions.js: Removed.
        * js/regress/script-tests/cse-new-array-buffer.js: Removed.
        * js/regress/script-tests/cse-new-array.js: Removed.
        * js/regress/script-tests/custom-setter-getter-as-put-get-by-id.js: Removed.
        * js/regress/script-tests/delay-tear-off-arguments-strictmode.js: Removed.
        * js/regress/script-tests/deltablue-for-of.js: Removed.
        * js/regress/script-tests/deltablue-varargs.js: Removed.
        * js/regress/script-tests/destructuring-arguments.js: Removed.
        * js/regress/script-tests/destructuring-parameters-overridden-by-function.js: Removed.
        * js/regress/script-tests/destructuring-swap.js: Removed.
        * js/regress/script-tests/direct-arguments-getbyval.js: Removed.
        * js/regress/script-tests/direct-arguments-length.js: Removed.
        * js/regress/script-tests/direct-arguments-overridden-length.js: Removed.
        * js/regress/script-tests/direct-arguments-possibly-overridden-length.js: Removed.
        * js/regress/script-tests/div-boolean-double.js: Removed.
        * js/regress/script-tests/div-boolean.js: Removed.
        * js/regress/script-tests/double-get-by-val-out-of-bounds.js: Removed.
        * js/regress/script-tests/double-pollution-getbyval.js: Removed.
        * js/regress/script-tests/double-pollution-putbyoffset.js: Removed.
        * js/regress/script-tests/double-real-use.js: Removed.
        * js/regress/script-tests/double-to-int32-typed-array-no-inline.js: Removed.
        * js/regress/script-tests/double-to-int32-typed-array.js: Removed.
        * js/regress/script-tests/double-to-uint32-typed-array-no-inline.js: Removed.
        * js/regress/script-tests/double-to-uint32-typed-array.js: Removed.
        * js/regress/script-tests/elidable-new-object-dag.js: Removed.
        * js/regress/script-tests/elidable-new-object-roflcopter.js: Removed.
        * js/regress/script-tests/elidable-new-object-then-call.js: Removed.
        * js/regress/script-tests/elidable-new-object-tree.js: Removed.
        * js/regress/script-tests/empty-string-plus-int.js: Removed.
        * js/regress/script-tests/emscripten-cube2hash.js: Removed.
        * js/regress/script-tests/eval-compute.js: Removed.
        * js/regress/script-tests/eval-not-eval-compute-args.js: Removed.
        * js/regress/script-tests/eval-not-eval-compute.js: Removed.
        * js/regress/script-tests/exit-length-on-plain-object.js: Removed.
        * js/regress/script-tests/external-arguments-getbyval.js: Removed.
        * js/regress/script-tests/external-arguments-putbyval.js: Removed.
        * js/regress/script-tests/fixed-typed-array-storage-var-index.js: Removed.
        * js/regress/script-tests/fixed-typed-array-storage.js: Removed.
        * js/regress/script-tests/fold-double-to-int.js: Removed.
        * js/regress/script-tests/fold-get-by-id-to-multi-get-by-offset-rare-int.js: Removed.
        * js/regress/script-tests/fold-get-by-id-to-multi-get-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-get-by-offset-to-get-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-get-by-offset-to-poly-get-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-put-by-offset-to-poly-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-put-by-offset-to-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-put-by-id-to-multi-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-put-by-val-with-string-to-multi-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-put-by-val-with-symbol-to-multi-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-put-structure.js: Removed.
        * js/regress/script-tests/for-of-iterate-array-entries.js: Removed.
        * js/regress/script-tests/for-of-iterate-array-keys.js: Removed.
        * js/regress/script-tests/for-of-iterate-array-values.js: Removed.
        * js/regress/script-tests/freeze-and-do-work.js: Removed.
        * js/regress/script-tests/fround.js: Removed.
        * js/regress/script-tests/ftl-library-inlining-dataview.js: Removed.
        * js/regress/script-tests/ftl-library-inlining.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-StringFromCharCode.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-bitand.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-bitor.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-bitxor.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-div.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-lshift.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-mul.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-rshift.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-sub.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-urshift.js: Removed.
        * js/regress/script-tests/function-call.js: Removed.
        * js/regress/script-tests/function-dot-apply.js: Removed.
        * js/regress/script-tests/function-test.js: Removed.
        * js/regress/script-tests/function-with-eval.js: Removed.
        * js/regress/script-tests/gcse-poly-get-less-obvious.js: Removed.
        * js/regress/script-tests/gcse-poly-get.js: Removed.
        * js/regress/script-tests/gcse.js: Removed.
        * js/regress/script-tests/generator-create.js: Removed.
        * js/regress/script-tests/generator-fib.js: Removed.
        * js/regress/script-tests/generator-function-create.js: Removed.
        * js/regress/script-tests/generator-sunspider-access-nsieve.js: Removed.
        * js/regress/script-tests/generator-with-several-types.js: Removed.
        * js/regress/script-tests/get-by-id-bimorphic-check-structure-elimination-simple.js: Removed.
        * js/regress/script-tests/get-by-id-bimorphic-check-structure-elimination.js: Removed.
        * js/regress/script-tests/get-by-id-chain-from-try-block.js: Removed.
        * js/regress/script-tests/get-by-id-check-structure-elimination.js: Removed.
        * js/regress/script-tests/get-by-id-proto-or-self.js: Removed.
        * js/regress/script-tests/get-by-id-quadmorphic-check-structure-elimination-simple.js: Removed.
        * js/regress/script-tests/get-by-id-self-or-proto.js: Removed.
        * js/regress/script-tests/get-by-val-out-of-bounds.js: Removed.
        * js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination-simple.js: Removed.
        * js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination.js: Removed.
        * js/regress/script-tests/get-by-val-with-string-chain-from-try-block.js: Removed.
        * js/regress/script-tests/get-by-val-with-string-check-structure-elimination.js: Removed.
        * js/regress/script-tests/get-by-val-with-string-proto-or-self.js: Removed.
        * js/regress/script-tests/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.js: Removed.
        * js/regress/script-tests/get-by-val-with-string-self-or-proto.js: Removed.
        * js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.js: Removed.
        * js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination.js: Removed.
        * js/regress/script-tests/get-by-val-with-symbol-chain-from-try-block.js: Removed.
        * js/regress/script-tests/get-by-val-with-symbol-check-structure-elimination.js: Removed.
        * js/regress/script-tests/get-by-val-with-symbol-proto-or-self.js: Removed.
        * js/regress/script-tests/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.js: Removed.
        * js/regress/script-tests/get-by-val-with-symbol-self-or-proto.js: Removed.
        * js/regress/script-tests/get_by_val-Int32Array.js: Removed.
        * js/regress/script-tests/get_callee_monomorphic.js: Removed.
        * js/regress/script-tests/get_callee_polymorphic.js: Removed.
        * js/regress/script-tests/getter-no-activation.js: Removed.
        * js/regress/script-tests/getter-prototype.js: Removed.
        * js/regress/script-tests/getter-richards-try-catch.js: Removed.
        * js/regress/script-tests/getter-richards.js: Removed.
        * js/regress/script-tests/getter.js: Removed.
        * js/regress/script-tests/global-isNaN.js: Removed.
        * js/regress/script-tests/global-object-access-with-mutating-structure.js: Removed.
        * js/regress/script-tests/global-var-const-infer-fire-from-opt.js: Removed.
        * js/regress/script-tests/global-var-const-infer.js: Removed.
        * js/regress/script-tests/hard-overflow-check-equal.js: Removed.
        * js/regress/script-tests/hard-overflow-check.js: Removed.
        * js/regress/script-tests/hoist-make-rope.js: Removed.
        * js/regress/script-tests/hoist-poly-check-structure-effectful-loop.js: Removed.
        * js/regress/script-tests/hoist-poly-check-structure.js: Removed.
        * js/regress/script-tests/implicit-bigswitch-indirect-symbol.js: Removed.
        * js/regress/script-tests/imul-double-only.js: Removed.
        * js/regress/script-tests/imul-int-only.js: Removed.
        * js/regress/script-tests/imul-mixed.js: Removed.
        * js/regress/script-tests/in-four-cases.js: Removed.
        * js/regress/script-tests/in-one-case-false.js: Removed.
        * js/regress/script-tests/in-one-case-true.js: Removed.
        * js/regress/script-tests/in-two-cases.js: Removed.
        * js/regress/script-tests/indexed-properties-in-objects.js: Removed.
        * js/regress/script-tests/infer-closure-const-then-mov-no-inline.js: Removed.
        * js/regress/script-tests/infer-closure-const-then-mov.js: Removed.
        * js/regress/script-tests/infer-closure-const-then-put-to-scope-no-inline.js: Removed.
        * js/regress/script-tests/infer-closure-const-then-put-to-scope.js: Removed.
        * js/regress/script-tests/infer-closure-const-then-reenter-no-inline.js: Removed.
        * js/regress/script-tests/infer-closure-const-then-reenter.js: Removed.
        * js/regress/script-tests/infer-constant-global-property.js: Removed.
        * js/regress/script-tests/infer-constant-property.js: Removed.
        * js/regress/script-tests/infer-one-time-closure-ten-vars.js: Removed.
        * js/regress/script-tests/infer-one-time-closure-two-vars.js: Removed.
        * js/regress/script-tests/infer-one-time-closure.js: Removed.
        * js/regress/script-tests/infer-one-time-deep-closure.js: Removed.
        * js/regress/script-tests/inline-arguments-access.js: Removed.
        * js/regress/script-tests/inline-arguments-aliased-access.js: Removed.
        * js/regress/script-tests/inline-arguments-local-escape.js: Removed.
        * js/regress/script-tests/inline-get-scoped-var.js: Removed.
        * js/regress/script-tests/inlined-put-by-id-transition.js: Removed.
        * js/regress/script-tests/inlined-put-by-val-with-string-transition.js: Removed.
        * js/regress/script-tests/inlined-put-by-val-with-symbol-transition.js: Removed.
        * js/regress/script-tests/instanceof-bound.js: Removed.
        * js/regress/script-tests/int-or-other-abs-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-abs-zero-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-add-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-add.js: Removed.
        * js/regress/script-tests/int-or-other-div-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-max-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-min-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-mod-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-mul-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-neg-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-neg-zero-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-sub-then-get-by-val.js: Removed.
        * js/regress/script-tests/int-or-other-sub.js: Removed.
        * js/regress/script-tests/int-overflow-local.js: Removed.
        * js/regress/script-tests/int52-spill.js: Removed.
        * js/regress/script-tests/integer-divide.js: Removed.
        * js/regress/script-tests/integer-modulo.js: Removed.
        * js/regress/script-tests/is-boolean-fold-tricky.js: Removed.
        * js/regress/script-tests/is-boolean-fold.js: Removed.
        * js/regress/script-tests/is-function-fold-tricky-internal-function.js: Removed.
        * js/regress/script-tests/is-function-fold-tricky.js: Removed.
        * js/regress/script-tests/is-function-fold.js: Removed.
        * js/regress/script-tests/is-number-fold-tricky.js: Removed.
        * js/regress/script-tests/is-number-fold.js: Removed.
        * js/regress/script-tests/is-object-or-null-fold-functions.js: Removed.
        * js/regress/script-tests/is-object-or-null-fold-less-tricky.js: Removed.
        * js/regress/script-tests/is-object-or-null-fold-tricky.js: Removed.
        * js/regress/script-tests/is-object-or-null-fold.js: Removed.
        * js/regress/script-tests/is-object-or-null-trickier-function.js: Removed.
        * js/regress/script-tests/is-object-or-null-trickier-internal-function.js: Removed.
        * js/regress/script-tests/is-object-or-null-tricky-function.js: Removed.
        * js/regress/script-tests/is-object-or-null-tricky-internal-function.js: Removed.
        * js/regress/script-tests/is-string-fold-tricky.js: Removed.
        * js/regress/script-tests/is-string-fold.js: Removed.
        * js/regress/script-tests/is-undefined-fold-tricky.js: Removed.
        * js/regress/script-tests/is-undefined-fold.js: Removed.
        * js/regress/script-tests/large-int-captured.js: Removed.
        * js/regress/script-tests/large-int-neg.js: Removed.
        * js/regress/script-tests/large-int.js: Removed.
        * js/regress/script-tests/lazy-array-species-watchpoints.js: Removed.
        * js/regress/script-tests/licm-dragons-out-of-bounds.js: Removed.
        * js/regress/script-tests/licm-dragons-overflow.js: Removed.
        * js/regress/script-tests/licm-dragons.js: Removed.
        * js/regress/script-tests/load-varargs-elimination.js: Removed.
        * js/regress/script-tests/locale-compare.js: Removed.
        * js/regress/script-tests/logical-not-weird-types.js: Removed.
        * js/regress/script-tests/logical-not.js: Removed.
        * js/regress/script-tests/lots-of-fields.js: Removed.
        * js/regress/script-tests/make-indexed-storage.js: Removed.
        * js/regress/script-tests/make-rope-cse.js: Removed.
        * js/regress/script-tests/many-foreach-calls.js: Removed.
        * js/regress/script-tests/many-repeat-stores.js: Removed.
        * js/regress/script-tests/map-for-each.js: Removed.
        * js/regress/script-tests/map-for-of.js: Removed.
        * js/regress/script-tests/marsaglia-larger-ints.js: Removed.
        * js/regress/script-tests/marsaglia-osr-entry.js: Removed.
        * js/regress/script-tests/math-random.js: Removed.
        * js/regress/script-tests/math-trunc.js: Removed.
        * js/regress/script-tests/math-with-out-of-bounds-array-values.js: Removed.
        * js/regress/script-tests/max-boolean.js: Removed.
        * js/regress/script-tests/megamorphic-load.js: Removed.
        * js/regress/script-tests/method-on-number.js: Removed.
        * js/regress/script-tests/min-boolean.js: Removed.
        * js/regress/script-tests/minus-boolean-double.js: Removed.
        * js/regress/script-tests/minus-boolean.js: Removed.
        * js/regress/script-tests/misc-bugs-847389-jpeg2000.js: Removed.
        * js/regress/script-tests/misc-strict-eq.js: Removed.
        * js/regress/script-tests/mod-boolean-double.js: Removed.
        * js/regress/script-tests/mod-boolean.js: Removed.
        * js/regress/script-tests/mul-boolean-double.js: Removed.
        * js/regress/script-tests/mul-boolean.js: Removed.
        * js/regress/script-tests/neg-boolean.js: Removed.
        * js/regress/script-tests/negative-zero-divide.js: Removed.
        * js/regress/script-tests/negative-zero-modulo.js: Removed.
        * js/regress/script-tests/negative-zero-negate.js: Removed.
        * js/regress/script-tests/nested-function-parsing.js: Removed.
        * js/regress/script-tests/new-array-buffer-dead.js: Removed.
        * js/regress/script-tests/new-array-buffer-push.js: Removed.
        * js/regress/script-tests/new-array-dead.js: Removed.
        * js/regress/script-tests/new-array-push.js: Removed.
        * js/regress/script-tests/no-inline-constructor.js: Removed.
        * js/regress/script-tests/number-test.js: Removed.
        * js/regress/script-tests/object-and.js: Removed.
        * js/regress/script-tests/object-closure-call.js: Removed.
        * js/regress/script-tests/object-get-own-property-symbols-on-large-array.js: Removed.
        * js/regress/script-tests/object-int-add-array.js: Removed.
        * js/regress/script-tests/object-int-add.js: Removed.
        * js/regress/script-tests/object-int-and-array.js: Removed.
        * js/regress/script-tests/object-int-mul-array.js: Removed.
        * js/regress/script-tests/object-int-sub-array.js: Removed.
        * js/regress/script-tests/object-int-sub.js: Removed.
        * js/regress/script-tests/object-lshift.js: Removed.
        * js/regress/script-tests/object-or.js: Removed.
        * js/regress/script-tests/object-rshift.js: Removed.
        * js/regress/script-tests/object-test.js: Removed.
        * js/regress/script-tests/object-urshift.js: Removed.
        * js/regress/script-tests/object-xor.js: Removed.
        * js/regress/script-tests/obvious-sink-pathology-taken.js: Removed.
        * js/regress/script-tests/obvious-sink-pathology.js: Removed.
        * js/regress/script-tests/obviously-elidable-new-object.js: Removed.
        * js/regress/script-tests/plus-boolean-arith.js: Removed.
        * js/regress/script-tests/plus-boolean-double.js: Removed.
        * js/regress/script-tests/plus-boolean.js: Removed.
        * js/regress/script-tests/poly-chain-access-different-prototypes-simple.js: Removed.
        * js/regress/script-tests/poly-chain-access-different-prototypes.js: Removed.
        * js/regress/script-tests/poly-chain-access-simpler.js: Removed.
        * js/regress/script-tests/poly-chain-access.js: Removed.
        * js/regress/script-tests/poly-stricteq.js: Removed.
        * js/regress/script-tests/polymorphic-array-call.js: Removed.
        * js/regress/script-tests/polymorphic-get-by-id.js: Removed.
        * js/regress/script-tests/polymorphic-put-by-id.js: Removed.
        * js/regress/script-tests/polymorphic-put-by-val-with-string.js: Removed.
        * js/regress/script-tests/polymorphic-put-by-val-with-symbol.js: Removed.
        * js/regress/script-tests/polymorphic-structure.js: Removed.
        * js/regress/script-tests/polyvariant-monomorphic-get-by-id.js: Removed.
        * js/regress/script-tests/prevent-extensions-and-do-work.js: Removed.
        * js/regress/script-tests/proto-getter-access.js: Removed.
        * js/regress/script-tests/prototype-access-with-mutating-prototype.js: Removed.
        * js/regress/script-tests/put-by-id-replace-and-transition.js: Removed.
        * js/regress/script-tests/put-by-id-slightly-polymorphic.js: Removed.
        * js/regress/script-tests/put-by-id-transition-with-indexing-header.js: Removed.
        * js/regress/script-tests/put-by-id.js: Removed.
        * js/regress/script-tests/put-by-val-direct.js: Removed.
        * js/regress/script-tests/put-by-val-large-index-blank-indexing-type.js: Removed.
        * js/regress/script-tests/put-by-val-machine-int.js: Removed.
        * js/regress/script-tests/put-by-val-with-string-replace-and-transition.js: Removed.
        * js/regress/script-tests/put-by-val-with-string-slightly-polymorphic.js: Removed.
        * js/regress/script-tests/put-by-val-with-string.js: Removed.
        * js/regress/script-tests/put-by-val-with-symbol-replace-and-transition.js: Removed.
        * js/regress/script-tests/put-by-val-with-symbol-slightly-polymorphic.js: Removed.
        * js/regress/script-tests/put-by-val-with-symbol.js: Removed.
        * js/regress/script-tests/rare-osr-exit-on-local.js: Removed.
        * js/regress/script-tests/raytrace-with-empty-try-catch.js: Removed.
        * js/regress/script-tests/raytrace-with-try-catch.js: Removed.
        * js/regress/script-tests/regexp-exec.js: Removed.
        * js/regress/script-tests/regexp-last-index.js: Removed.
        * js/regress/script-tests/regexp-prototype-is-not-instance.js: Removed.
        * js/regress/script-tests/regexp-prototype-search-observable-side-effects.js: Removed.
        * js/regress/script-tests/regexp-prototype-search-observable-side-effects2.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Removed.
        * js/regress/script-tests/regexp-prototype-test-observable-side-effects.js: Removed.
        * js/regress/script-tests/regexp-prototype-test-observable-side-effects2.js: Removed.
        * js/regress/script-tests/regexp-set-last-index.js: Removed.
        * js/regress/script-tests/register-pressure-from-osr.js: Removed.
        * js/regress/script-tests/repeat-multi-get-by-offset.js: Removed.
        * js/regress/script-tests/rest-parameter-construction-performance.js: Removed.
        * js/regress/script-tests/richards-empty-try-catch.js: Removed.
        * js/regress/script-tests/richards-try-catch.js: Removed.
        * js/regress/script-tests/scoped-arguments-length.js: Removed.
        * js/regress/script-tests/scoped-arguments-overridden-length.js: Removed.
        * js/regress/script-tests/scoped-arguments-possibly-overridden-length.js: Removed.
        * js/regress/script-tests/seal-and-do-work.js: Removed.
        * js/regress/script-tests/set-for-each.js: Removed.
        * js/regress/script-tests/set-for-of.js: Removed.
        * js/regress/script-tests/setter-prototype.js: Removed.
        * js/regress/script-tests/setter.js: Removed.
        * js/regress/script-tests/simple-activation-demo.js: Removed.
        * js/regress/script-tests/simple-getter-access.js: Removed.
        * js/regress/script-tests/simple-poly-call-nested.js: Removed.
        * js/regress/script-tests/simple-poly-call.js: Removed.
        * js/regress/script-tests/simple-regexp-exec-folding-fail.js: Removed.
        * js/regress/script-tests/simple-regexp-exec-folding.js: Removed.
        * js/regress/script-tests/simple-regexp-test-folding-fail-with-hoisted-regexp.js: Removed.
        * js/regress/script-tests/simple-regexp-test-folding-fail.js: Removed.
        * js/regress/script-tests/simple-regexp-test-folding-with-hoisted-regexp.js: Removed.
        * js/regress/script-tests/simple-regexp-test-folding.js: Removed.
        * js/regress/script-tests/sin-boolean.js: Removed.
        * js/regress/script-tests/singleton-scope.js: Removed.
        * js/regress/script-tests/sink-function.js: Removed.
        * js/regress/script-tests/sink-huge-activation.js: Removed.
        * js/regress/script-tests/sinkable-new-object-dag.js: Removed.
        * js/regress/script-tests/sinkable-new-object-taken.js: Removed.
        * js/regress/script-tests/sinkable-new-object.js: Removed.
        * js/regress/script-tests/slow-array-profile-convergence.js: Removed.
        * js/regress/script-tests/slow-convergence.js: Removed.
        * js/regress/script-tests/slow-ternaries.js: Removed.
        * js/regress/script-tests/sorting-benchmark.js: Removed.
        * js/regress/script-tests/sparse-conditional.js: Removed.
        * js/regress/script-tests/splice-to-remove.js: Removed.
        * js/regress/script-tests/strcat-const.js: Removed.
        * js/regress/script-tests/strcat-length-const.js: Removed.
        * js/regress/script-tests/strict-osr-entry.js: Removed.
        * js/regress/script-tests/string-char-code-at.js: Removed.
        * js/regress/script-tests/string-concat-object.js: Removed.
        * js/regress/script-tests/string-concat-pair-object.js: Removed.
        * js/regress/script-tests/string-concat-pair-simple.js: Removed.
        * js/regress/script-tests/string-concat-simple.js: Removed.
        * js/regress/script-tests/string-cons-repeat.js: Removed.
        * js/regress/script-tests/string-cons-tower.js: Removed.
        * js/regress/script-tests/string-equality.js: Removed.
        * js/regress/script-tests/string-from-char-code.js: Removed.
        * js/regress/script-tests/string-get-by-val-big-char.js: Removed.
        * js/regress/script-tests/string-get-by-val-out-of-bounds-insane.js: Removed.
        * js/regress/script-tests/string-get-by-val-out-of-bounds.js: Removed.
        * js/regress/script-tests/string-get-by-val.js: Removed.
        * js/regress/script-tests/string-hash.js: Removed.
        * js/regress/script-tests/string-long-ident-equality.js: Removed.
        * js/regress/script-tests/string-out-of-bounds.js: Removed.
        * js/regress/script-tests/string-prototype-search-observable-side-effects.js: Removed.
        * js/regress/script-tests/string-prototype-search-observable-side-effects2.js: Removed.
        * js/regress/script-tests/string-prototype-search-observable-side-effects3.js: Removed.
        * js/regress/script-tests/string-prototype-search-observable-side-effects4.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Removed.
        * js/regress/script-tests/string-repeat-arith.js: Removed.
        * js/regress/script-tests/string-repeat-not-resolving-fixed.js: Removed.
        * js/regress/script-tests/string-repeat-not-resolving-no-inline.js: Removed.
        * js/regress/script-tests/string-repeat-not-resolving.js: Removed.
        * js/regress/script-tests/string-repeat-resolving-fixed.js: Removed.
        * js/regress/script-tests/string-repeat-resolving-no-inline.js: Removed.
        * js/regress/script-tests/string-repeat-resolving.js: Removed.
        * js/regress/script-tests/string-repeat-single-not-resolving.js: Removed.
        * js/regress/script-tests/string-repeat-single-resolving.js: Removed.
        * js/regress/script-tests/string-repeat-small-not-resolving.js: Removed.
        * js/regress/script-tests/string-repeat-small-resolving.js: Removed.
        * js/regress/script-tests/string-replace-empty.js: Removed.
        * js/regress/script-tests/string-replace-generic.js: Removed.
        * js/regress/script-tests/string-replace.js: Removed.
        * js/regress/script-tests/string-rope-with-object.js: Removed.
        * js/regress/script-tests/string-sub.js: Removed.
        * js/regress/script-tests/string-test.js: Removed.
        * js/regress/script-tests/string-transcoding.js: Removed.
        * js/regress/script-tests/string-var-equality.js: Removed.
        * js/regress/script-tests/structure-hoist-over-transitions.js: Removed.
        * js/regress/script-tests/substring-concat-weird.js: Removed.
        * js/regress/script-tests/substring-concat.js: Removed.
        * js/regress/script-tests/substring.js: Removed.
        * js/regress/script-tests/switch-char-constant.js: Removed.
        * js/regress/script-tests/switch-char.js: Removed.
        * js/regress/script-tests/switch-constant.js: Removed.
        * js/regress/script-tests/switch-string-basic-big-var.js: Removed.
        * js/regress/script-tests/switch-string-basic-big.js: Removed.
        * js/regress/script-tests/switch-string-basic-var.js: Removed.
        * js/regress/script-tests/switch-string-basic.js: Removed.
        * js/regress/script-tests/switch-string-big-length-tower-var.js: Removed.
        * js/regress/script-tests/switch-string-length-tower-var.js: Removed.
        * js/regress/script-tests/switch-string-length-tower.js: Removed.
        * js/regress/script-tests/switch-string-short.js: Removed.
        * js/regress/script-tests/switch.js: Removed.
        * js/regress/script-tests/symbol-tostringtag.js: Removed.
        * js/regress/script-tests/tear-off-arguments-simple.js: Removed.
        * js/regress/script-tests/tear-off-arguments.js: Removed.
        * js/regress/script-tests/temporal-structure.js: Removed.
        * js/regress/script-tests/to-int32-boolean.js: Removed.
        * js/regress/script-tests/to-number-constructor-number-string-number-string.js: Removed.
        * js/regress/script-tests/to-number-constructor-only-number.js: Removed.
        * js/regress/script-tests/to-number-constructor-only-string.js: Removed.
        * js/regress/script-tests/to-number-constructor-string-number-string-number.js: Removed.
        * js/regress/script-tests/to-number-number-string-number-string.js: Removed.
        * js/regress/script-tests/to-number-only-number.js: Removed.
        * js/regress/script-tests/to-number-only-string.js: Removed.
        * js/regress/script-tests/to-number-string-number-string-number.js: Removed.
        * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Removed.
        * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Removed.
        * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Removed.
        * js/regress/script-tests/typed-array-get-set-by-val-profiling.js: Removed.
        * js/regress/script-tests/typed-array-subarray.js: Removed.
        * js/regress/script-tests/undefined-property-access.js: Removed.
        * js/regress/script-tests/undefined-test.js: Removed.
        * js/regress/script-tests/unprofiled-licm.js: Removed.
        * js/regress/script-tests/untyped-string-from-char-code.js: Removed.
        * js/regress/script-tests/v8-raytrace-with-empty-try-catch.js: Removed.
        * js/regress/script-tests/v8-raytrace-with-try-catch-high-frequency-throws.js: Removed.
        * js/regress/script-tests/v8-raytrace-with-try-catch.js: Removed.
        * js/regress/script-tests/v8-regexp-search.js: Removed.
        * js/regress/script-tests/varargs-call.js: Removed.
        * js/regress/script-tests/varargs-construct-inline.js: Removed.
        * js/regress/script-tests/varargs-construct.js: Removed.
        * js/regress/script-tests/varargs-inline.js: Removed.
        * js/regress/script-tests/varargs-strict-mode.js: Removed.
        * js/regress/script-tests/varargs.js: Removed.
        * js/regress/script-tests/weird-inlining-const-prop.js: Removed.
        * js/regress/seal-and-do-work-expected.txt: Removed.
        * js/regress/seal-and-do-work.html: Removed.
        * js/regress/set-for-each-expected.txt: Removed.
        * js/regress/set-for-each.html: Removed.
        * js/regress/set-for-of-expected.txt: Removed.
        * js/regress/set-for-of.html: Removed.
        * js/regress/setter-expected.txt: Removed.
        * js/regress/setter-prototype-expected.txt: Removed.
        * js/regress/setter-prototype.html: Removed.
        * js/regress/setter.html: Removed.
        * js/regress/simple-activation-demo-expected.txt: Removed.
        * js/regress/simple-activation-demo.html: Removed.
        * js/regress/simple-getter-access-expected.txt: Removed.
        * js/regress/simple-getter-access.html: Removed.
        * js/regress/simple-poly-call-expected.txt: Removed.
        * js/regress/simple-poly-call-nested-expected.txt: Removed.
        * js/regress/simple-poly-call-nested.html: Removed.
        * js/regress/simple-poly-call.html: Removed.
        * js/regress/simple-regexp-exec-folding-expected.txt: Removed.
        * js/regress/simple-regexp-exec-folding-fail-expected.txt: Removed.
        * js/regress/simple-regexp-exec-folding-fail.html: Removed.
        * js/regress/simple-regexp-exec-folding.html: Removed.
        * js/regress/simple-regexp-test-folding-expected.txt: Removed.
        * js/regress/simple-regexp-test-folding-fail-expected.txt: Removed.
        * js/regress/simple-regexp-test-folding-fail-with-hoisted-regexp-expected.txt: Removed.
        * js/regress/simple-regexp-test-folding-fail-with-hoisted-regexp.html: Removed.
        * js/regress/simple-regexp-test-folding-fail.html: Removed.
        * js/regress/simple-regexp-test-folding-with-hoisted-regexp-expected.txt: Removed.
        * js/regress/simple-regexp-test-folding-with-hoisted-regexp.html: Removed.
        * js/regress/simple-regexp-test-folding.html: Removed.
        * js/regress/sin-boolean-expected.txt: Removed.
        * js/regress/sin-boolean.html: Removed.
        * js/regress/singleton-scope-expected.txt: Removed.
        * js/regress/singleton-scope.html: Removed.
        * js/regress/sink-function-expected.txt: Removed.
        * js/regress/sink-function.html: Removed.
        * js/regress/sink-huge-activation-expected.txt: Removed.
        * js/regress/sink-huge-activation.html: Removed.
        * js/regress/sinkable-new-object-dag-expected.txt: Removed.
        * js/regress/sinkable-new-object-dag.html: Removed.
        * js/regress/sinkable-new-object-expected.txt: Removed.
        * js/regress/sinkable-new-object-taken-expected.txt: Removed.
        * js/regress/sinkable-new-object-taken.html: Removed.
        * js/regress/sinkable-new-object.html: Removed.
        * js/regress/slow-array-profile-convergence-expected.txt: Removed.
        * js/regress/slow-array-profile-convergence.html: Removed.
        * js/regress/slow-convergence-expected.txt: Removed.
        * js/regress/slow-convergence.html: Removed.
        * js/regress/slow-ternaries-expected.txt: Removed.
        * js/regress/slow-ternaries.html: Removed.
        * js/regress/sortamorphic-load-expected.txt: Removed.
        * js/regress/sortamorphic-load.html: Removed.
        * js/regress/sorting-benchmark-expected.txt: Removed.
        * js/regress/sorting-benchmark.html: Removed.
        * js/regress/sparse-conditional-expected.txt: Removed.
        * js/regress/sparse-conditional.html: Removed.
        * js/regress/splice-to-remove-expected.txt: Removed.
        * js/regress/splice-to-remove.html: Removed.
        * js/regress/strcat-const-expected.txt: Removed.
        * js/regress/strcat-const.html: Removed.
        * js/regress/strcat-length-const-expected.txt: Removed.
        * js/regress/strcat-length-const.html: Removed.
        * js/regress/strict-osr-entry-expected.txt: Removed.
        * js/regress/strict-osr-entry.html: Removed.
        * js/regress/string-char-code-at-expected.txt: Removed.
        * js/regress/string-char-code-at.html: Removed.
        * js/regress/string-concat-object-expected.txt: Removed.
        * js/regress/string-concat-object.html: Removed.
        * js/regress/string-concat-pair-object-expected.txt: Removed.
        * js/regress/string-concat-pair-object.html: Removed.
        * js/regress/string-concat-pair-simple-expected.txt: Removed.
        * js/regress/string-concat-pair-simple.html: Removed.
        * js/regress/string-concat-simple-expected.txt: Removed.
        * js/regress/string-concat-simple.html: Removed.
        * js/regress/string-cons-repeat-expected.txt: Removed.
        * js/regress/string-cons-repeat.html: Removed.
        * js/regress/string-cons-tower-expected.txt: Removed.
        * js/regress/string-cons-tower.html: Removed.
        * js/regress/string-equality-expected.txt: Removed.
        * js/regress/string-equality.html: Removed.
        * js/regress/string-from-char-code-expected.txt: Removed.
        * js/regress/string-from-char-code.html: Removed.
        * js/regress/string-get-by-val-big-char-expected.txt: Removed.
        * js/regress/string-get-by-val-big-char.html: Removed.
        * js/regress/string-get-by-val-expected.txt: Removed.
        * js/regress/string-get-by-val-out-of-bounds-expected.txt: Removed.
        * js/regress/string-get-by-val-out-of-bounds-insane-expected.txt: Removed.
        * js/regress/string-get-by-val-out-of-bounds-insane.html: Removed.
        * js/regress/string-get-by-val-out-of-bounds.html: Removed.
        * js/regress/string-get-by-val.html: Removed.
        * js/regress/string-hash-expected.txt: Removed.
        * js/regress/string-hash.html: Removed.
        * js/regress/string-long-ident-equality-expected.txt: Removed.
        * js/regress/string-long-ident-equality.html: Removed.
        * js/regress/string-out-of-bounds-expected.txt: Removed.
        * js/regress/string-out-of-bounds.html: Removed.
        * js/regress/string-prototype-search-observable-side-effects-expected.txt: Removed.
        * js/regress/string-prototype-search-observable-side-effects.html: Removed.
        * js/regress/string-prototype-search-observable-side-effects2-expected.txt: Removed.
        * js/regress/string-prototype-search-observable-side-effects2.html: Removed.
        * js/regress/string-prototype-search-observable-side-effects3-expected.txt: Removed.
        * js/regress/string-prototype-search-observable-side-effects3.html: Removed.
        * js/regress/string-prototype-search-observable-side-effects4-expected.txt: Removed.
        * js/regress/string-prototype-search-observable-side-effects4.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects2-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects2.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-flags.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-global.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-multiline.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-sticky.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-unicode.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects4-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects4.html: Removed.
        * js/regress/string-repeat-arith-expected.txt: Removed.
        * js/regress/string-repeat-arith.html: Removed.
        * js/regress/string-repeat-not-resolving-expected.txt: Removed.
        * js/regress/string-repeat-not-resolving-fixed-expected.txt: Removed.
        * js/regress/string-repeat-not-resolving-fixed.html: Removed.
        * js/regress/string-repeat-not-resolving-no-inline-expected.txt: Removed.
        * js/regress/string-repeat-not-resolving-no-inline.html: Removed.
        * js/regress/string-repeat-not-resolving-noinline-expected.txt: Removed.
        * js/regress/string-repeat-not-resolving-noinline.html: Removed.
        * js/regress/string-repeat-not-resolving.html: Removed.
        * js/regress/string-repeat-resolving-expected.txt: Removed.
        * js/regress/string-repeat-resolving-fixed-expected.txt: Removed.
        * js/regress/string-repeat-resolving-fixed.html: Removed.
        * js/regress/string-repeat-resolving-no-inline-expected.txt: Removed.
        * js/regress/string-repeat-resolving-no-inline.html: Removed.
        * js/regress/string-repeat-resolving.html: Removed.
        * js/regress/string-repeat-single-not-resolving-expected.txt: Removed.
        * js/regress/string-repeat-single-not-resolving.html: Removed.
        * js/regress/string-repeat-single-resolving-expected.txt: Removed.
        * js/regress/string-repeat-single-resolving.html: Removed.
        * js/regress/string-repeat-small-not-resolving-expected.txt: Removed.
        * js/regress/string-repeat-small-not-resolving.html: Removed.
        * js/regress/string-repeat-small-resolving-expected.txt: Removed.
        * js/regress/string-repeat-small-resolving.html: Removed.
        * js/regress/string-replace-empty-expected.txt: Removed.
        * js/regress/string-replace-empty.html: Removed.
        * js/regress/string-replace-expected.txt: Removed.
        * js/regress/string-replace-generic-expected.txt: Removed.
        * js/regress/string-replace-generic.html: Removed.
        * js/regress/string-replace.html: Removed.
        * js/regress/string-rope-with-object-expected.txt: Removed.
        * js/regress/string-rope-with-object.html: Removed.
        * js/regress/string-sub-expected.txt: Removed.
        * js/regress/string-sub.html: Removed.
        * js/regress/string-test-expected.txt: Removed.
        * js/regress/string-test.html: Removed.
        * js/regress/string-transcoding-expected.txt: Removed.
        * js/regress/string-transcoding.html: Removed.
        * js/regress/string-var-equality-expected.txt: Removed.
        * js/regress/string-var-equality.html: Removed.
        * js/regress/structure-hoist-over-transitions-expected.txt: Removed.
        * js/regress/structure-hoist-over-transitions.html: Removed.
        * js/regress/substring-concat-expected.txt: Removed.
        * js/regress/substring-concat-weird-expected.txt: Removed.
        * js/regress/substring-concat-weird.html: Removed.
        * js/regress/substring-concat.html: Removed.
        * js/regress/substring-expected.txt: Removed.
        * js/regress/substring.html: Removed.
        * js/regress/switch-char-constant-expected.txt: Removed.
        * js/regress/switch-char-constant.html: Removed.
        * js/regress/switch-char-expected.txt: Removed.
        * js/regress/switch-char.html: Removed.
        * js/regress/switch-constant-expected.txt: Removed.
        * js/regress/switch-constant.html: Removed.
        * js/regress/switch-expected.txt: Removed.
        * js/regress/switch-string-basic-big-expected.txt: Removed.
        * js/regress/switch-string-basic-big-var-expected.txt: Removed.
        * js/regress/switch-string-basic-big-var.html: Removed.
        * js/regress/switch-string-basic-big.html: Removed.
        * js/regress/switch-string-basic-expected.txt: Removed.
        * js/regress/switch-string-basic-var-expected.txt: Removed.
        * js/regress/switch-string-basic-var.html: Removed.
        * js/regress/switch-string-basic.html: Removed.
        * js/regress/switch-string-big-length-tower-var-expected.txt: Removed.
        * js/regress/switch-string-big-length-tower-var.html: Removed.
        * js/regress/switch-string-length-tower-expected.txt: Removed.
        * js/regress/switch-string-length-tower-var-expected.txt: Removed.
        * js/regress/switch-string-length-tower-var.html: Removed.
        * js/regress/switch-string-length-tower.html: Removed.
        * js/regress/switch-string-short-expected.txt: Removed.
        * js/regress/switch-string-short.html: Removed.
        * js/regress/switch.html: Removed.
        * js/regress/symbol-tostringtag-expected.txt: Removed.
        * js/regress/symbol-tostringtag.html: Removed.
        * js/regress/tear-off-arguments-expected.txt: Removed.
        * js/regress/tear-off-arguments-simple-expected.txt: Removed.
        * js/regress/tear-off-arguments-simple.html: Removed.
        * js/regress/tear-off-arguments.html: Removed.
        * js/regress/temporal-structure-expected.txt: Removed.
        * js/regress/temporal-structure.html: Removed.
        * js/regress/to-int32-boolean-expected.txt: Removed.
        * js/regress/to-int32-boolean.html: Removed.
        * js/regress/to-number-constructor-number-string-number-string-expected.txt: Removed.
        * js/regress/to-number-constructor-number-string-number-string.html: Removed.
        * js/regress/to-number-constructor-only-number-expected.txt: Removed.
        * js/regress/to-number-constructor-only-number.html: Removed.
        * js/regress/to-number-constructor-only-string-expected.txt: Removed.
        * js/regress/to-number-constructor-only-string.html: Removed.
        * js/regress/to-number-constructor-string-number-string-number-expected.txt: Removed.
        * js/regress/to-number-constructor-string-number-string-number.html: Removed.
        * js/regress/to-number-number-string-number-string-expected.txt: Removed.
        * js/regress/to-number-number-string-number-string.html: Removed.
        * js/regress/to-number-only-number-expected.txt: Removed.
        * js/regress/to-number-only-number.html: Removed.
        * js/regress/to-number-only-string-expected.txt: Removed.
        * js/regress/to-number-only-string.html: Removed.
        * js/regress/to-number-string-number-string-number-expected.txt: Removed.
        * js/regress/to-number-string-number-string-number.html: Removed.
        * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Removed.
        * js/regress/try-catch-get-by-val-cloned-arguments.html: Removed.
        * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Removed.
        * js/regress/try-catch-get-by-val-direct-arguments.html: Removed.
        * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Removed.
        * js/regress/try-catch-get-by-val-scoped-arguments.html: Removed.
        * js/regress/typed-array-get-set-by-val-profiling-expected.txt: Removed.
        * js/regress/typed-array-get-set-by-val-profiling.html: Removed.
        * js/regress/typed-array-subarray-expected.txt: Removed.
        * js/regress/typed-array-subarray.html: Removed.
        * js/regress/undefined-property-access-expected.txt: Removed.
        * js/regress/undefined-property-access.html: Removed.
        * js/regress/undefined-test-expected.txt: Removed.
        * js/regress/undefined-test.html: Removed.
        * js/regress/unprofiled-licm-expected.txt: Removed.
        * js/regress/unprofiled-licm.html: Removed.
        * js/regress/untyped-string-from-char-code-expected.txt: Removed.
        * js/regress/untyped-string-from-char-code.html: Removed.
        * js/regress/v8-raytrace-with-empty-try-catch-expected.txt: Removed.
        * js/regress/v8-raytrace-with-empty-try-catch.html: Removed.
        * js/regress/v8-raytrace-with-try-catch-expected.txt: Removed.
        * js/regress/v8-raytrace-with-try-catch-high-frequency-throws-expected.txt: Removed.
        * js/regress/v8-raytrace-with-try-catch-high-frequency-throws.html: Removed.
        * js/regress/v8-raytrace-with-try-catch.html: Removed.
        * js/regress/v8-regexp-search-expected.txt: Removed.
        * js/regress/v8-regexp-search.html: Removed.
        * js/regress/varargs-call-expected.txt: Removed.
        * js/regress/varargs-call.html: Removed.
        * js/regress/varargs-construct-expected.txt: Removed.
        * js/regress/varargs-construct-inline-expected.txt: Removed.
        * js/regress/varargs-construct-inline.html: Removed.
        * js/regress/varargs-construct.html: Removed.
        * js/regress/varargs-expected.txt: Removed.
        * js/regress/varargs-inline-expected.txt: Removed.
        * js/regress/varargs-inline.html: Removed.
        * js/regress/varargs-strict-mode-expected.txt: Removed.
        * js/regress/varargs-strict-mode.html: Removed.
        * js/regress/varargs.html: Removed.
        * js/regress/weird-inlining-const-prop-expected.txt: Removed.
        * js/regress/weird-inlining-const-prop.html: Removed.

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

        Skip some tests:
        https://bugs.webkit.org/show_bug.cgi?id=161114 svg/carto.net/window.svg fails in debug after r204854
        https://bugs.webkit.org/show_bug.cgi?id=161115 js/regress/put-by-id-transition-with-indexing-header.html sometimes fails in debug after r204854

        * TestExpectations:

2016-08-23  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebase iOS simulator WK1 editing tests.

        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-contents-003-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-002-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-006-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-009-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-013-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-014-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-016-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-018-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-022-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-023-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-024-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-br-001-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-br-003-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-br-010-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-character-001-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-contiguous-ws-001-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-emoji-expected.txt: Added.
        * platform/ios-simulator-wk1/editing/deleting/delete-hr-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-image-001-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-image-002-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-image-003-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-001-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-002-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-003-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-005-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-007-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-009-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-010-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-013-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-015-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-line-017-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-listitem-001-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-listitem-002-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-selection-001-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/delete-ws-fixup-002-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/list-item-1-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/merge-unrendered-space-expected.txt:
        * platform/ios-simulator-wk1/editing/deleting/non-smart-delete-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-3778059-fix-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-br-at-tabspan-003-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-br-quoted-001-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-br-quoted-004-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-br-quoted-006-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-div-012-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-div-014-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-div-017-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-div-018-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-div-020-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-div-022-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-div-025-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-div-027-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-html-crash-01-expected.txt: Added.
        * platform/ios-simulator-wk1/editing/inserting/insert-paragraph-04-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-text-at-tabspan-001-expected.txt:
        * platform/ios-simulator-wk1/editing/inserting/insert-text-at-tabspan-003-expected.txt:
        * platform/ios-simulator-wk1/editing/selection/5057506-2-expected.txt:
        * platform/ios-simulator-wk1/editing/selection/5057506-expected.txt:
        * platform/ios-simulator-wk1/editing/selection/5131716-1-expected.txt:
        * platform/ios-simulator-wk1/editing/selection/5131716-2-expected.txt:
        * platform/ios-simulator-wk1/editing/selection/5131716-3-expected.txt:
        * platform/ios-simulator-wk1/editing/selection/5131716-4-expected.txt:
        * platform/ios-simulator-wk1/editing/style/block-styles-007-expected.txt:
        * platform/ios-simulator-wk1/editing/style/create-block-for-style-002-expected.txt:
        * platform/ios-simulator-wk1/editing/style/create-block-for-style-003-expected.txt:
        * platform/ios-simulator-wk1/editing/style/create-block-for-style-010-expected.txt:
        * platform/ios-simulator-wk1/editing/style/create-block-for-style-012-expected.txt:
        * platform/ios-simulator-wk1/editing/style/create-block-for-style-013-expected.txt:
        * platform/ios-simulator-wk1/editing/style/relative-font-size-change-002-expected.txt:
        * platform/ios-simulator-wk1/editing/style/relative-font-size-change-004-expected.txt:
        * platform/ios-simulator-wk1/editing/style/style-3998892-fix-expected.txt:
        * platform/ios-simulator-wk1/editing/style/style-boundary-004-expected.txt:
        * platform/ios-simulator-wk1/editing/undo/undo-delete-expected.txt:

2016-08-23  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: hasOverflowingCell == this->hasOverflowingCell() in WebCore::RenderTableSection::computeOverflowFromCells
        https://bugs.webkit.org/show_bug.cgi?id=155702
        <rdar://problem/27720731>

        Reviewed by David Hyatt.

        * fast/table/assert-when-visual-overflow-is-cleared-expected.txt: Added.
        * fast/table/assert-when-visual-overflow-is-cleared.html: Added.

2016-08-23  Brady Eidson  <beidson@apple.com>

        WK2 Gamepad layout test support.
        https://bugs.webkit.org/show_bug.cgi?id=134671
        
        Reviewed by Alex Christensen.

        * gamepad/gamepad-api-expected.txt:
        * gamepad/gamepad-api.html:
        * gamepad/gamepad-out-of-range-crasher-expected.txt: Removed.
        * gamepad/gamepad-out-of-range-crasher.html: Removed.
        * gamepad/gamepad-polling-access-expected.txt:
        * gamepad/gamepad-polling-access.html:

        * platform/mac/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt: Added.

2016-08-23  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (PHP 5.6): http/tests/misc/bad-charset-alias.html fails
        https://bugs.webkit.org/show_bug.cgi?id=161047
        rdar://problem/27434307

        Reviewed by Lucas Forschler.

        * http/conf/php.ini: Added. On macOS at least, there is no global php.ini, so we
        only need to override this one default setting.
        * platform/mac/TestExpectations: Unmarked the test.

2016-08-23  Jonathan Bedard  <jbedard@apple.com>

        REGRESSION (r204226): LayoutTest editing/deleting/delete-empty-line-breaks-at-end-of-textarea.html "crashing" without a crashlog
        https://bugs.webkit.org/show_bug.cgi?id=160782

        Reviewed by Alexey Proskuryakov.

        Rolling out r204650.

        * platform/mac-wk2/TestExpectations: editing/deleting/delete-empty-line-breaks-at-end-of-textarea.html removed from list of flakey tests.

2016-08-23  Chris Dumez  <cdumez@apple.com>

        Import html/browsers web platform tests
        https://bugs.webkit.org/show_bug.cgi?id=161067

        Reviewed by Youenn Fablet.

        Skip resource files.

        * TestExpectations:

2016-08-23  Youenn Fablet  <youenn@apple.com>

        [WK2] http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html fails
        https://bugs.webkit.org/show_bug.cgi?id=161052
        <rdar://problem/27954577>

        Unreviewed.

        * platform/mac-wk2/TestExpectations: Adding Failure/Timeout expectation to
        http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html
        * platform/wk2/TestExpectations: Removing Timeout expectation from
        http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html

2016-08-23  Youenn Fablet  <youenn@apple.com>

        Implement redirect support post CORS-preflight
        https://bugs.webkit.org/show_bug.cgi?id=159056

        Reviewed by Alex Christensen.

        * TestExpectations: Skipping new fetch worker test in Debug mode as it may crash and disrupt other tests.
        * http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
        * http/tests/xmlhttprequest/redirections-and-user-headers-expected.txt:
        * http/tests/xmlhttprequest/redirections-and-user-headers.html:

2016-08-22  Chris Dumez  <cdumez@apple.com>

        Drop TextTrackCue's constructor as per the latest specification
        https://bugs.webkit.org/show_bug.cgi?id=161061

        Reviewed by Alex Christensen.

        Update existing tests to use VTTCue's constructor instead of
        TextTrackCue's.

        * js/dom/constructor-length.html:
        * media/track/getCueAsHTMLCrash.html:
        * media/track/opera/interfaces/TextTrack/activeCues.html:
        * media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html:
        * media/track/opera/interfaces/TextTrackCue/line.html:
        * media/track/opera/interfaces/TextTrackCue/onenter.html:
        * media/track/opera/interfaces/TextTrackCue/onexit.html:
        * media/track/opera/interfaces/TextTrackCue/snapToLines.html:
        * media/track/opera/interfaces/TextTrackCue/text.html:
        * media/track/opera/interfaces/TextTrackCue/vertical.html:
        * media/track/opera/interfaces/TextTrackCueList/getter.html:
        * media/track/opera/track/track-element/src-clear-cues.html:
        * media/track/opera/track/webvtt/rendering/reftest/repaint.html:
        * media/track/regions-webvtt/text-track-cue-region-attribute.html:
        * media/track/track-add-remove-cue-expected.txt:
        * media/track/track-add-remove-cue.html:
        * media/track/track-cue-empty-cue-text.html:
        * media/track/track-cue-empty-text-crash.html:
        * media/track/track-cue-inline-assertion-crash.html:
        * media/track/track-cue-negative-timestamp-expected.txt:
        * media/track/track-cue-negative-timestamp.html:
        * media/track/track-cue-rendering-empty-cue-crash.html:
        * media/track/track-cue-rendering-mode-changed.html:
        * media/track/track-disabled-addcue.html:
        * media/track/track-remove-active-cue-crash.html:
        * media/track/w3c/interfaces/TextTrack/addCue.html:
        * media/track/w3c/interfaces/TextTrack/cues.html:
        * media/track/w3c/interfaces/TextTrack/removeCue.html:
        * media/track/w3c/interfaces/TextTrackCue/align.html:
        * media/track/w3c/interfaces/TextTrackCue/endTime.html:
        * media/track/w3c/interfaces/TextTrackCue/id.html:
        * media/track/w3c/interfaces/TextTrackCue/pauseOnExit.html:
        * media/track/w3c/interfaces/TextTrackCue/startTime.html:
        * media/track/w3c/interfaces/TextTrackCue/track.html:
        * media/track/w3c/interfaces/TextTrackCueList/getCueById.html:
        * media/track/w3c/interfaces/TextTrackCueList/length.html:
        * media/video-controls-captions.html:
        * platform/mac/js/dom/constructor-length-expected.txt:

2016-08-22  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, update failure list of iOS simulator WK1 compositing test.

        * platform/ios-simulator-wk1/TestExpectations:

2016-08-22  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, iOS simulator WK1 tests gardening.

        Move the following tests from failure to pass:
        compositing/iframes/become-composited-nested-iframes.html,
        compositing/images/clip-on-directly-composited-image.html,
        compositing/overflow/dynamic-composited-scrolling-status.html.

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

2016-08-22  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, iOS simulator WK1 tests rebasing.

        * platform/ios-simulator-wk1/compositing/absolute-inside-out-of-view-fixed-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/backing/backface-visibility-in-3dtransformed-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/backing/border-radius-no-backing-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/backing/filter-no-backing-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/backing/masked-child-no-backing-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/backing/no-backing-for-opacity-0-child-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/backing/replaced-child-no-backing-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/backing/toggle-opacity-0-child-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/bounds-in-flipped-writing-mode-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/clip-child-by-non-stacking-ancestor-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/clipping/border-radius-overflow-hidden-stacking-context-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/columns/ancestor-clipped-in-paginated-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/columns/clipped-in-paginated-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/columns/composited-columns-vertical-rl-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/columns/composited-nested-columns-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/background-clip-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/background-color-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/body-background-painted-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/body-background-skipped-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/filter-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/hidden-with-visible-child-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/hidden-with-visible-text-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/layer-opacity-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/layer-transform-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/opaque-with-scrolled-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/table-parts-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/contents-opaque/visibility-hidden-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/bounds-clipped-composited-child-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/bounds-ignores-hidden-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/clip-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/clip-inside-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/fixed-transformed-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/flipped-writing-mode-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/foreground-layer-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/limit-layer-bounds-positioned-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/limit-layer-bounds-transformed-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/iframes/become-overlapped-iframe-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/iframes/invisible-nested-iframe-hide-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/iframes/overlapped-iframe-iframe-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/iframes/resizer-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/mismatched-rotated-transform-animation-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-animation-clipping-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-animation-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-child-layer-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-clipping-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-transformed-3d-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-transformed-layer-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/overlap-transforms-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/rotate3d-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/scroll-partial-update-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/stacking-context-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/subpixel-adjacent-layers-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/translate-animation-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/translate-scale-animation-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/translatez-overlap-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/layer-creation/will-change-change-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/masks/clip-path-composited-descendent-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/masks/mask-layer-size-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/media-controls-bar-appearance-big-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/media-controls-bar-appearance-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/overflow-trumps-transform-style-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/overflow/content-loses-scrollbars-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/overflow/resize-painting-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-in-named-flow-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-in-named-flow-from-outflow-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/regions/fixed-transformed-in-named-flow-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/repaint/positioned-movement-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/repaint/repaint-on-layer-grouping-change-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/rtl/rtl-relative-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/tiling/huge-layer-add-remove-child-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/video/video-object-position-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/visibility/layer-visible-content-expected.txt: Removed.
        * platform/ios-simulator-wk1/compositing/visible-rect/backing-change-height-from-zero-expected.txt: Removed.
        * platform/ios-simulator-wk2/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
        * platform/ios-simulator/compositing/layer-creation/overlap-animation-container-expected.txt:

2016-08-22  Daniel Bates  <dabates@apple.com>

        Skip the test in http/tests/navigation/ping-attribute in iOS WebKit 2

        Touch events are not supported in WebKit for iOS Simulator built with the public iOS SDK.
        The tests simulate mouse events when run in DumpRenderTree. And simulating mouse events
        is supported in WebKit for iOS Simulator built with the public iOS SDK.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-22  Johan K. Jensen  <johan_jensen@apple.com>

        Make NetworkLoadTiming use double for higher precision in Resource Timing
        https://bugs.webkit.org/show_bug.cgi?id=161051

        Reviewed by Alex Christensen.

        Test that resources timing information are close deltas to a multiple of expected resolution.

        * http/tests/misc/resource-timing-resolution-expected.txt: Added.
        * http/tests/misc/resource-timing-resolution.html: Added.

2016-08-22  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Stretch alignment doesn't work for orthogonal flows
        https://bugs.webkit.org/show_bug.cgi?id=160076

        Reviewed by Darin Adler.

        Additional layout tests to verify the stretching logic works as
        expected in orthogonal flow scenarios.

        * fast/css-grid-layout/grid-align-justify-stretch-with-orthogonal-flows-expected.txt: Added.
        * fast/css-grid-layout/grid-align-justify-stretch-with-orthogonal-flows.html: Added.

2016-08-22  Ryosuke Niwa  <rniwa@webkit.org>

        Rename CustomElementsRegistry to CustomElementRegistry
        https://bugs.webkit.org/show_bug.cgi?id=161028

        Reviewed by Darin Adler.

        Updated the tests and expected results after the rename.

        * fast/custom-elements/CustomElementRegistry-expected.txt: Renamed from LayoutTests/fast/custom-elements/CustomElementsRegistry-expected.txt.
        * fast/custom-elements/CustomElementRegistry.html: Renamed from LayoutTests/fast/custom-elements/CustomElementsRegistry.html.
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-08-22  Daniel Bates  <dabates@apple.com>

        Attempt to fix the iOS 9 Simulator test bots after <https://trac.webkit.org/changeset/204720>
        (https://bugs.webkit.org/show_bug.cgi?id=156857)

        Fix JavaScript TypeErrors, "undefined is not an object". Both uiController.singleTapAtPoint() and
        testRunner.runUIScript() expect to be passed a callback function.

        Additionally, explicitly check that window.testRunner is non-null before checking whether
        testRunner.runUIScript is non-null to avoid a JavaScript TypeError in desktop Safari.

        * http/tests/navigation/ping-attribute/resources/utilities.js:
        (clickElement):

2016-08-22  Chris Dumez  <cdumez@apple.com>

        Add support for GlobalEventHandlers.oncuechange attribute
        https://bugs.webkit.org/show_bug.cgi?id=161046

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * fast/media/window-oncuechange-expected.txt: Added.
        * fast/media/window-oncuechange.html: Added.
        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2016-08-22  Simon Fraser  <simon.fraser@apple.com>

        <select> menu on iPad causes shifting of hit-testing areas
        https://bugs.webkit.org/show_bug.cgi?id=150079

        Reviewed by Tim Horton.

        This test:
        1. Scrolls in the ui process, so that position:fixed kicks in
        2. Taps on a <select>, which disabled position:fixed behavior
        3. Chooses a <select> option, dismissing the <select>, which restores position:fixed behavior
        4. Tries to tap a button inside position:fixed.

        * fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt: Added.
        * fast/forms/ios/ipad/unfocus-inside-fixed-hittest.html: Added.

2016-08-22  Antti Koivisto  <antti@apple.com>

        Can't style descendants in shadow tree using the :host pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=160754

        Reviewed by Darin Adler.

        * fast/shadow-dom/css-scoping-host-descendant-expected.html: Added.
        * fast/shadow-dom/css-scoping-host-descendant.html: Added.

2016-08-22  Daniel Bates  <dabates@apple.com>

        [iOS] <a ping> and <area ping> tests time out
        https://bugs.webkit.org/show_bug.cgi?id=156857

        Reviewed by Simon Fraser.

        Update test to use work in WebKitTestRunner and unskip the tests.

        Also remove some unused files.

        * http/tests/navigation/ping-attribute/anchor-cross-origin-from-https.html: Include external JavaScript
        script resources/utilities.js and write code in terms of clickElement(). Additionally, add HTML5 doctype
        tag and put <head> on its own line so as to be consistent with the placement of </head> on its own line.
        * http/tests/navigation/ping-attribute/anchor-cross-origin.html: Ditto.
        * http/tests/navigation/ping-attribute/anchor-same-origin.html: Ditto.
        * http/tests/navigation/ping-attribute/resources/check-ping.php: Removed.
        * http/tests/navigation/ping-attribute/resources/delete-ping.php: Removed.
        * http/tests/navigation/ping-attribute/resources/ping-file-path.php: Removed.
        * http/tests/navigation/ping-attribute/resources/save-Ping.php: Removed.
        * http/tests/navigation/ping-attribute/resources/utilities.js:
        (clearLastPingResultAndRunTest):
        (clickElement): Make use of UIScriptController to click the element via a tap on platforms that
        support touch events and implement UIScriptController (window.uiController).
        * platform/ios-simulator-wk2/TestExpectations: Unskip ping-attribute tests.
        * platform/ios-simulator/TestExpectations: Ditto.

2016-08-22  Youenn Fablet  <youenn@apple.com>

        LayoutTest http/tests/fetch/fetch-in-worker-crash.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=160510

        Reviewed by Darin Adler.

        * http/tests/fetch/fetch-in-worker.js:
        (stream.new.ReadableStream): Enqueuing a Uint8Array not a string, so that the fetch promise is not rejected. This should take care of Fail flakiness.
        Crash flakiness in Debug mode may still happen due to promise use in Worker.

2016-08-21  Youenn Fablet  <youenn@apple.com>

        [Mac] Rebase some failing XMLHttpRequest tests
        https://bugs.webkit.org/show_bug.cgi?id=161036

        Unreviewed.

        * TestExpectations: Unmarking rebased tests as failing.
        * platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt.
        * platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt.
        * platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt.
        * platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt.
        * platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt.
        * platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt.

2016-08-21  Youenn Fablet  <youenn@apple.com>

        cross-origin requests redirected fail or drop author requested headers
        https://bugs.webkit.org/show_bug.cgi?id=112471

        Reviewed by Alex Christensen.

        * http/tests/xmlhttprequest/redirections-and-user-headers-expected.txt: Added.
        * http/tests/xmlhttprequest/redirections-and-user-headers.html: Added.
        * http/tests/xmlhttprequest/resources/access-control-preflight-redirect.php: Added.

2016-08-19  Sam Weinig  <sam@webkit.org>

        Location.ancestorOrigins should return a FrozenArray<USVString>
        https://bugs.webkit.org/show_bug.cgi?id=161018

        Reviewed by Ryosuke Niwa and Chris Dumez.

        Update existing tests to account for the change in type of Location.ancestorOrigins.

        * fast/dom/Window/Location/ancestor-origins-expected.txt:
        * fast/dom/Window/Location/ancestor-origins.html:
        * fast/dom/indexed-getters-returning-string-expected.txt:
        * fast/dom/indexed-getters-returning-string.html:

2016-08-19  Dean Jackson  <dino@apple.com>

        Implement preferLowPowerToHighPerformance for WebGL
        https://bugs.webkit.org/show_bug.cgi?id=161017
        <rdar://problem/26819135>

        Reviewed by Myles Maxfield.

        Now that we implement preferLowPowerToHighPerformance we can
        retain its value in the context creation attributes object.

        * fast/canvas/webgl/context-creation-attributes-expected.txt:

2016-08-19  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/semantics/interfaces.html for ios-simulator after r204647.

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:

2016-08-19  Ryan Haddad  <ryanhaddad@apple.com>

        Marking editing/deleting/delete-empty-line-breaks-at-end-of-textarea.html as flaky on El Capitan.
        https://bugs.webkit.org/show_bug.cgi?id=160782

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-08-19  Chris Dumez  <cdumez@apple.com>

        Attr.prefix / Element.prefix attribute should be readonly
        https://bugs.webkit.org/show_bug.cgi?id=160998

        Reviewed by Daniel Bates.

        Update existing tests to reflect behavior change and drop a few
        outdated tests.

        * fast/dom/Element/prefix-setter-exception-expected.txt: Removed.
        * fast/dom/Element/prefix-setter-exception.html: Removed.
        * fast/dom/Element/setAttributeNode-case-insensitivity.html:
        * fast/dom/bad-href-attribute-expected.txt: Removed.
        * fast/dom/bad-href-attribute.html: Removed.
        * fast/dom/node-prefix-setter-namespace-exception-expected.txt: Removed.
        * fast/dom/node-prefix-setter-namespace-exception.html: Removed.
        * fast/dom/script-tests/node-prefix-setter-namespace-exception.js: Removed.
        * svg/custom/xlink-prefix-generation-in-attributes-expected.txt:
        * svg/custom/xlink-prefix-generation-in-attributes.html:

2016-08-19  Nan Wang  <n_wang@apple.com>

        AX: iOS, Wrong axLabel on static text if heading has multiple children
        https://bugs.webkit.org/show_bug.cgi?id=160981

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/heading-with-aria-label-expected.txt:
        * accessibility/ios-simulator/heading-with-aria-label.html:

2016-08-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Gardening: Layout tests expectations updates and test rebaselines.

        Unreviewed.

        * TestExpectations: Mark as failing 3 tests from imported/w3c/web-platform-tests/XMLHttpRequest that had wrong results.
        * platform/gtk/TestExpectations: Update list for imported/w3c/web-platform-tests/XMLHttpRequest and merge repeated results.
        * platform/gtk/sputnik/Unicode/Unicode_510/S7.6_A3.1-expected.txt: Added. Rebaseline after r201449 (updated version of libicu).
        * platform/gtk/sputnik/Unicode/Unicode_510/S7.6_A3.2-expected.txt: Added. Rebaseline after r201449 (updated version of libicu).
        * platform/gtk/sputnik/Unicode/Unicode_510/S7.6_A5.3_T1-expected.txt: Added. Rebaseline after r201449 (updated version of libicu).
        * platform/gtk/sputnik/Unicode/Unicode_510/S7.6_A5.3_T2-expected.txt: Added. Rebaseline after r201449 (updated version of libicu).

2016-08-19  Johan K. Jensen  <johan_jensen@apple.com>

        Resource Timing: Make PerformanceEntryList a sequence as per spec
        https://bugs.webkit.org/show_bug.cgi?id=160963

        Reviewed by Alex Christensen.

        Testing that PerformanceEntryList (window.performance.getEntries()) is iterable.

        * http/tests/performance/performance-resource-timing-entries-iterable-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-entries-iterable.html: Added.

2016-08-19  Ryan Haddad  <ryanhaddad@apple.com>

        Unskip tests that now pass on ios-simulator.

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-18  Chris Dumez  <cdumez@apple.com>

        Move prefix / namespaceURI / localName attributes from Node to Attr / Element
        https://bugs.webkit.org/show_bug.cgi?id=160988

        Reviewed by Ryosuke Niwa.

        Update existing layout tests to reflect behavior change.

        * fast/dom/Node/initial-values-expected.txt:
        * fast/dom/Node/script-tests/initial-values.js:
        * http/tests/misc/createElementNamespace1-expected.txt:
        * http/tests/misc/createElementNamespace1.xml:
        * http/tests/misc/createElementNamespace2-expected.txt:
        * http/tests/misc/createElementNamespace2.xhtml:
        * http/tests/misc/createElementNamespace3-expected.txt:
        * http/tests/misc/createElementNamespace3.html:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2016-08-18  Dean Jackson  <dino@apple.com>

        Support passing preferLowPowerToHighPerformance and failIfMajorPerformanceCaveat
        https://bugs.webkit.org/show_bug.cgi?id=160982
        <rdar://problem/27915946>

        Reviewed by Simon Fraser.

        Very simple test that creates some WebGL contexts with various
        creation attributes and outputs the result.

        * fast/canvas/webgl/context-creation-attributes-expected.txt: Added.
        * fast/canvas/webgl/context-creation-attributes.html: Added.

2016-08-17  Ryosuke Niwa  <rniwa@webkit.org>

        Add basic support for connected and disconnected callbacks
        https://bugs.webkit.org/show_bug.cgi?id=160950

        Reviewed by Chris Dumez.

        Added W3C style testharness.js tests for connectedCallback and disconnectedCallback.

        Four test cases are failing due to a bug in window-less document's custom element registry,
        which will be addressed in a future patch.

        * fast/custom-elements/connected-callbacks-expected.txt: Added.
        * fast/custom-elements/connected-callbacks.html: Added.
        * fast/custom-elements/disconnected-callbacks-expected.txt: Added.
        * fast/custom-elements/disconnected-callbacks.html: Added.

2016-08-18  Chris Dumez  <cdumez@apple.com>

        Align our encoding labels with the encoding specification
        https://bugs.webkit.org/show_bug.cgi?id=160931

        Reviewed by Darin Adler.

        Update / rebaseline existing tests to reflect the code change.
        The new baselines match Chrome and Firefox.

        * fast/encoding/bracket-in-tag-expected.txt:
        * fast/encoding/charset-invalid-expected.txt:
        * fast/encoding/charset-replacement-expected.txt:
        * fast/encoding/misplaced-xml-declaration-expected.txt:
        * fast/encoding/pseudo-xml-expected.txt:
        * http/tests/misc/char-encoding-bocu-1-blacklisted-expected.txt:
        * http/tests/misc/char-encoding-bocu-1-blacklisted.html:
        * http/tests/misc/char-encoding-in-hidden-charset-field-default-expected.txt:
        * http/tests/misc/char-encoding-scsu-blacklisted-expected.txt:
        * http/tests/misc/char-encoding-scsu-blacklisted.html:
        * http/tests/misc/frame-default-enc-different-domain-expected.txt:

2016-08-18  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27723718.

        * platform/mac-wk1/TestExpectations:

2016-08-18  Eric Carlson  <eric.carlson@apple.com>

        AX: Audio Description tracks are not labeled correctly, causing user confusion
        https://bugs.webkit.org/show_bug.cgi?id=160652
        <rdar://problem/27742208>

        Reviewed by Antoine Quint.

        * http/tests/media/hls/hls-accessiblity-describes-video-menu-expected.txt: Added.
        * http/tests/media/hls/hls-accessiblity-describes-video-menu.html: Added.

        * media/trackmenu-test.js:
        (clickCCButton): Fail immediately if "video" is null or not a media element. Make failure 
        logging more descriptive.

        * platform/gtk/TestExpectations: Skip new test.

        * platform/ios-simulator/media/video-controls-captions-trackmenu-expected.txt: Updated for
        clickCCButton error message change.
        * platform/ios-simulator/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Ditto.
        * platform/ios-simulator/media/video-controls-captions-trackmenu-localized-expected.txt: Ditto.
        * platform/ios-simulator/media/video-controls-captions-trackmenu-sorted-expected.txt: Ditto.

2016-08-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html after r204594.

        Unreviewed test gardening.

        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2016-08-18  Rawinder Singh  <rawinder.singh-webkit@cisra.canon.com.au>

        [web-animations] Add Animatable, AnimationEffect, KeyframeEffect and Animation interface
        https://bugs.webkit.org/show_bug.cgi?id=156096

        Reviewed by Dean Jackson.

        Adds:
        - Animatable interface and implementation of getAnimations in Element.
        - Interface and implementation for Document getAnimations method.
        - AnimationEffect interface and class stub.
        - KeyframeEffect interface and constructor implementation.
        - 'Animation' interface, constructor and query methods for effect and timeline.
        - Remove runtime condition on Web animation interfaces (compile time flag is specified).

        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * webanimations/Document-expected.txt: Added.
        * webanimations/Document.html: Added.
        * webanimations/script-tests/Document.js: Added.

2016-08-18  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        Update test expectations on Windows for failing tests. These failures are tracked in
        https://bugs.webkit.org/show_bug.cgi?id=160447.

        * platform/win/TestExpectations:

2016-08-17  Benjamin Poulain  <benjamin@webkit.org>

        [CSS] The parser should not get rid of empty namespace specification in front of element name selectors
        https://bugs.webkit.org/show_bug.cgi?id=160936

        Reviewed by Chris Dumez.

        * fast/css/css-selector-text-expected.txt:
        * fast/css/css-selector-text.html:
        * fast/css/css-set-selector-text-expected.txt:
        * fast/css/css-set-selector-text.html:
        * fast/selectors/empty-namespace-with-element-selector-expected.txt: Added.
        * fast/selectors/empty-namespace-with-element-selector.html: Added.

2016-08-17  Chris Fleizach  <cfleizach@apple.com>

        AX: Support abbreviations in iOS
        https://bugs.webkit.org/show_bug.cgi?id=160907

        Reviewed by Joanmarie Diggs.

        * accessibility/ios-simulator/abbreviation-expected.txt: Added.
        * accessibility/ios-simulator/abbreviation.html: Added.

2016-08-16  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Don't throw touchMove events on the floor
        https://bugs.webkit.org/show_bug.cgi?id=160935

        Reviewed by Tim Horton.
        
        Test for range slider interaction with synthesized touch events.

        * fast/forms/ios/drag-range-thumb-expected.txt: Added.
        * fast/forms/ios/drag-range-thumb.html: Added.

2016-08-16  Ryosuke Niwa  <rniwa@webkit.org>

        customElements.define should retrieve lifecycle callbacks
        https://bugs.webkit.org/show_bug.cgi?id=160797

        Reviewed by Chris Dumez.

        Added test cases for CustomElementsRegistry.define to make sure it invokes Get(constructor, "prototype")
        and Get(prototype, callbackName) for each lifecycle callback.

        Also updated the tests to reflect the support for observedAttributes which specifies the list of attributes
        for which attributeChangedCallback is invoked.

        * fast/custom-elements/CustomElementsRegistry-expected.txt: Renamed from Document-defineElement-expected.txt.
        * fast/custom-elements/CustomElementsRegistry.html: Renamed from Document-defineElement.html.
        * fast/custom-elements/Document-defineElement-expected.txt: Removed.
        * fast/custom-elements/Document-defineElement.html: Removed.
        * fast/custom-elements/attribute-changed-callback-expected.txt:
        * fast/custom-elements/attribute-changed-callback.html: Added test cases for "observedAttributes".
        * fast/custom-elements/lifecycle-callback-timing.html:

2016-08-16  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Cleanup RenderLayerBacking::updateGeometry.
        https://bugs.webkit.org/show_bug.cgi?id=156860
        <rdar://problem/25432352>

        Reviewed by Simon Fraser.

        * compositing/hidpi-ancestor-subpixel-clipping-expected.html: Added.
        * compositing/hidpi-ancestor-subpixel-clipping.html: Added.
        * compositing/hidpi-sibling-composited-content-offset-expected.html: Added.
        * compositing/hidpi-sibling-composited-content-offset.html: Added.
        * compositing/hidpi-subpixel-transform-origin-expected.html: Added.
        * compositing/hidpi-subpixel-transform-origin.html: Added.
        * fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt: Added.
        * fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor.html: Added.

2016-08-16  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r204540, r204545, and r204547.
        https://bugs.webkit.org/show_bug.cgi?id=160932

        Broke Windows builds (Requested by rniwa on #webkit).

        Reverted changesets:

        "customElements.define should retrieve lifecycle callbacks"
        https://bugs.webkit.org/show_bug.cgi?id=160797
        http://trac.webkit.org/changeset/204540

        "Windows build fix attempt after r204540."
        http://trac.webkit.org/changeset/204545

        "Another Windows build fix attempt. The error message doesn't
        make any sense to me."
        http://trac.webkit.org/changeset/204547

2016-08-16  Chris Dumez  <cdumez@apple.com>

        Add support for ShadowRoot.mode attribute
        https://bugs.webkit.org/show_bug.cgi?id=160919

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/shadow-dom/ShadowRoot-mode-expected.txt: Added.
        * fast/shadow-dom/ShadowRoot-mode.html: Added.

2016-08-16  Ryosuke Niwa  <rniwa@webkit.org>

        customElements.define should retrieve lifecycle callbacks
        https://bugs.webkit.org/show_bug.cgi?id=160797

        Reviewed by Chris Dumez.

        Added test cases for CustomElementsRegistry.define to make sure it invokes Get(constructor, "prototype")
        and Get(prototype, callbackName) for each lifecycle callback.

        Also updated the tests to reflect the support for observedAttributes which specifies the list of attributes
        for which attributeChangedCallback is invoked.

        * fast/custom-elements/CustomElementsRegistry-expected.txt: Renamed from Document-defineElement-expected.txt.
        * fast/custom-elements/CustomElementsRegistry.html: Renamed from Document-defineElement.html.
        * fast/custom-elements/Document-defineElement-expected.txt: Removed.
        * fast/custom-elements/Document-defineElement.html: Removed.
        * fast/custom-elements/attribute-changed-callback-expected.txt:
        * fast/custom-elements/attribute-changed-callback.html: Added test cases for "observedAttributes".
        * fast/custom-elements/lifecycle-callback-timing.html:

2016-08-16  Chris Dumez  <cdumez@apple.com>

        Align isDefaultNamespace() / lookupPrefix() / lookupNamespaceURI() with the specification
        https://bugs.webkit.org/show_bug.cgi?id=160911

        Reviewed by Ryosuke Niwa.

        Drop several outdated tests.

        * dom/xhtml/level3/core/nodeisdefaultnamespace03-expected.txt: Removed.
        * dom/xhtml/level3/core/nodeisdefaultnamespace03.js: Removed.
        * dom/xhtml/level3/core/nodeisdefaultnamespace03.xhtml: Removed.
        * dom/xhtml/level3/core/nodelookupnamespaceuri08-expected.txt: Removed.
        * dom/xhtml/level3/core/nodelookupnamespaceuri08.js: Removed.
        * dom/xhtml/level3/core/nodelookupnamespaceuri08.xhtml: Removed.
        * dom/xhtml/level3/core/nodelookupnamespaceuri09-expected.txt: Removed.
        * dom/xhtml/level3/core/nodelookupnamespaceuri09.js: Removed.
        * dom/xhtml/level3/core/nodelookupnamespaceuri09.xhtml: Removed.

2016-08-15  Ada Chan  <adachan@apple.com>

        Placeholder does not show the first time going into picture-in-picture on video without controls
        https://bugs.webkit.org/show_bug.cgi?id=160868

        Reviewed by Eric Carlson.

        Test that a video without controls attribute does show after going into picture-in-picture.

        * TestExpectations:
        * media/controls/pip-placeholder-without-video-controls-expected.txt: Added.
        * media/controls/pip-placeholder-without-video-controls.html: Added.
        * platform/mac-wk2/TestExpectations:

2016-08-16  Chris Dumez  <cdumez@apple.com>

        DOM4: getElementsByClassName should include non StyledElements
        https://bugs.webkit.org/show_bug.cgi?id=94718

        Reviewed by Ryosuke Niwa.

        * fast/dom/getElementsByClassName/011-expected.txt: Removed.
        * fast/dom/getElementsByClassName/011.xml: Removed.
        Drop outdated test. It is failing in Firefox and Chrome.

        * fast/dom/getElementsByClassName/non-styled-element-expected.txt: Added.
        * fast/dom/getElementsByClassName/non-styled-element.html: Added.
        Add layout test coverage.

2016-08-16  Simon Fraser  <simon.fraser@apple.com>

        Make it possible to test iOS select elements, and add iPhone and iPad tests for them
        https://bugs.webkit.org/show_bug.cgi?id=160909

        Reviewed by Enrica Casucci.
        
        Add iPhone and iPad tests for the <select> pickers. The iPhone test has to 
        use a didShowKeyboardCallback to know when to select the appropriate row,
        and to dismiss the picker. The iPad test can just select the row, which also
        dismisses the popover.

        * fast/forms/ios/choose-select-option-expected.txt: Added.
        * fast/forms/ios/choose-select-option.html: Added.
        * fast/forms/ios/ipad/choose-select-option-expected.txt: Added.
        * fast/forms/ios/ipad/choose-select-option.html: Added.

2016-08-15  Simon Fraser  <simon.fraser@apple.com>

        [iOS] Add iPad viewport and form tests, and revert the iPad-testing part of r202132
        https://bugs.webkit.org/show_bug.cgi?id=160878

        Reviewed by Tim Horton.
        
        Move forms/ios/focus-input-via-button-ipad.html into fast/forms/ios/ipad, making it
        an iPad test, which allows for the removal of the "useIPadBehavior" flag.
        
        Add fast/viewport/ios/ipad/width-is-device-width.html with iPad-specific results.
        
        * fast/forms/ios/ipad/focus-input-via-button-expected.txt: Renamed from LayoutTests/fast/forms/ios/focus-input-via-button-ipad-expected.txt.
        * fast/forms/ios/ipad/focus-input-via-button.html: Renamed from LayoutTests/fast/forms/ios/focus-input-via-button-ipad.html.
        * fast/forms/ios/resources/zooming-test-utils.js:
        (testZoomAfterTap):
        * fast/viewport/ios/ipad/width-is-device-width-expected.txt: Added.
        * fast/viewport/ios/ipad/width-is-device-width.html: Added.
        * platform/ios-simulator-wk2/TestExpectations: Enable fast/viewport/ios, because leaving
        them skipped from the base TestExpectations is evil.

2016-08-16  Chris Dumez  <cdumez@apple.com>

        querySelector() / querySelectorAll() should always throw a SyntaxError when failing to parse selector string
        https://bugs.webkit.org/show_bug.cgi?id=160906

        Reviewed by Ryosuke Niwa.

        Rebaseline several layout tests now that we throw a different exception type.

        * fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt:
        * fast/css/parsing-css-attribute-case-insensitive-value-2-expected.txt:
        * fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:

2016-08-16  Brent Fulgham  <bfulgham@apple.com>

        Upgrade-Insecure-Request state is improperly retained between navigations
        https://bugs.webkit.org/show_bug.cgi?id=160905
        <rdar://problem/27075526>

        Reviewed by Andy Estes.

        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-uir-on-navigation-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-uir-on-navigation.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-site.html: Added.

2016-08-16  Chris Dumez  <cdumez@apple.com>

        ctx.drawImage should clip source rect if it is outside the source image
        https://bugs.webkit.org/show_bug.cgi?id=160804

        Reviewed by Simon Fraser.

        Add layout test coverage.

        * fast/canvas/drawImage-srcRect-clipping-expected.html: Added.
        * fast/canvas/drawImage-srcRect-clipping.html: Added.

2016-08-16  George Ruan  <gruan@apple.com>

        ⛱ : Implement parsing of Media Constraints for getUserMedia algorithm in Media Capture and Streaming Spec
        https://bugs.webkit.org/show_bug.cgi?id=160533
        <rdar://problem/27688483>

        Reviewed by Chris Dumez.

        Implementation of parsing of media constraints passed to getUserMedia has changed to meet
        the current w3c standards. Three major changes have been introduced
        - If the parameter in getUserMedia is missing a TypeError is thrown, according to the IDL spec
        - Given a Dictionary value with neither 'audio' nor 'video' keys having dictionary values
        or 'true', the promise is rejected with a TypeError
        - If the constraints cannot be satisfied the promise is rejected with a DataError. This should
        be changed to an OverConstrainedError in the future. See
        https://bugs.webkit.org/show_bug.cgi?id=160790

        * fast/mediastream/MediaDevices-getUserMedia-expected.txt:
        * fast/mediastream/MediaDevices-getUserMedia.html: Added limited testing of parsing of
        media constraints for getUserMedia(), this includes only testing of mandatory constraints
        and whether the promise is rejected if the constraints cannot be satisfied.
        * fast/mediastream/getusermedia-expected.txt:
        * fast/mediastream/getusermedia.html: As format of media constraints have changed, the test
        has been updated to reflect those changes.

2016-08-15  Ryosuke Niwa  <rniwa@webkit.org>

        Conversion to sequence<T> is broken for iterable objects
        https://bugs.webkit.org/show_bug.cgi?id=160801

        Reviewed by Darin Adler.

        Added test cases for converting non-JSArray objects to sequence<T> for MutationObserver, FontFaceSet, and WebSocket.

        * fast/dom/MutationObserver/observe-exceptions-expected.txt:
        * fast/dom/MutationObserver/observe-exceptions.html:
        * fast/text/font-face-set-javascript-expected.txt:
        * fast/text/font-face-set-javascript.html:
        * http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt: Rebaselined due to js-test-pre.js change.
        * http/tests/resources/js-test-pre.js: Merged ToT from resources/js-test-pre.js.
        * http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt: Rebaselined due to js-test-pre.js change.
        * http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt: Ditto.
        * http/tests/websocket/tests/hybi/websocket-constructor-protocols-expected.txt: Added.
        * http/tests/websocket/tests/hybi/websocket-constructor-protocols.html: Added.

2016-08-15  Daniel Bates  <dabates@apple.com>

        ASSERTION FAILURE: [[videoLayer delegate] isKindOfClass:getUIViewClass()] in WebAVPlayerLayerView_videoView()
        https://bugs.webkit.org/show_bug.cgi?id=160433

        Reviewed by Eric Carlson.

        Add a layout test to ensure that we do not cause an assertion failure when exiting PiP by closing the tab.

        * TestExpectations: Skip media/control/ipad tests on all ports. We will re-enable these tests for iOS.
        * media/controls/close-page-with-picture-in-picture-video-assertion-failure-expected.txt: Added.
        * media/controls/close-page-with-picture-in-picture-video-assertion-failure.html: Added.
        * media/controls/resources/picture-in-picture.html: Added.
        * platform/ios-simulator/TestExpectations: Mark tests media/control/ipad  as Pass so that we run them
        in the iPad simulator.

2016-08-15  Jiewen Tan  <jiewen_tan@apple.com>

        Expose crypto.getRandomValues to Web Workers
        https://bugs.webkit.org/show_bug.cgi?id=104851
        <rdar://problem/27285714>

        Reviewed by Darin Adler.

        * crypto/crypto-random-values-limits.html:
        * crypto/crypto-random-values-types.html:
        * crypto/crypto-random-values.html:
        * crypto/webkitSubtle/disallowed-in-worker-expected.txt: Added.
        * crypto/webkitSubtle/disallowed-in-worker.html: Added.
        * crypto/webkitSubtle/resources/disallowed-in-worker.js: Added.
        * crypto/workers/crypto-gc-worker-expected.txt: Added.
        * crypto/workers/crypto-gc-worker.html: Added.
        * crypto/workers/crypto-random-values-limits-worker-expected.txt: Added.
        * crypto/workers/crypto-random-values-limits-worker.html: Added.
        * crypto/workers/crypto-random-values-types-worker-expected.txt: Added.
        * crypto/workers/crypto-random-values-types-worker.html: Added.
        * crypto/workers/crypto-random-values-worker-expected.txt: Added.
        * crypto/workers/crypto-random-values-worker.html: Added.
        * crypto/workers/resources/crypto-gc-worker.js: Added.
        (startTest):
        (continueTest):
        (finishTest):
        * crypto/workers/resources/crypto-random-limits-worker.js: Added.
        (catch):
        * crypto/workers/resources/crypto-random-values-types-worker.js: Copied from LayoutTests/crypto/crypto-random-values-types.html.
        (checkIntegerTypes):
        (checkNonIntegerTypes):
        * crypto/workers/resources/crypto-random-values-worker.js: Copied from LayoutTests/crypto/crypto-random-values.html.
        (catch):
        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2016-08-15  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for mac-wk1, mark as failing on Yosemite.

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2016-08-13  Chris Dumez  <cdumez@apple.com>

        'compatMode' property should be on Document, not HTMLDocument
        https://bugs.webkit.org/show_bug.cgi?id=160819

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * fast/dom/Document/compatMode-location-expected.txt: Added.
        * fast/dom/Document/compatMode-location.html: Added.

2016-08-12  Chris Dumez  <cdumez@apple.com>

        getElementsByTagName() should take a qualifiedName in parameter
        https://bugs.webkit.org/show_bug.cgi?id=160682

        Reviewed by Ryosuke Niwa.

        Update existing tests to reflect behavior change.

        * fast/dom/getElementsByClassName/010.xml:
        * fast/dom/getElementsByClassName/011.xml:

2016-08-12  Saam Barati  <sbarati@apple.com>

        Inline store loop for CopyRest in DFG and FTL for certain array modes
        https://bugs.webkit.org/show_bug.cgi?id=159612

        Reviewed by Filip Pizlo.

        * js/regress/rest-parameter-construction-performance-expected.txt: Added.
        * js/regress/rest-parameter-construction-performance.html: Added.
        * js/regress/script-tests/rest-parameter-construction-performance.js: Added.
        (foo):
        (test1):
        (test2.foo):
        (test2):

2016-08-12  Ryan Haddad  <ryanhaddad@apple.com>

        Add mac-wk1 baseline for js/dom/global-constructors-attributes.html after r204396.

        Unreviewed test gardening.

        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Added.

2016-08-12  Pranjal Jumde  <pjumde@apple.com>

        ASSERTION FAILED: : line >= firstLine in BytecodeGenerator::emitExpressionInfo.
        https://bugs.webkit.org/show_bug.cgi?id=160535
        <rdar://problem/27328151>

        Reviewed by Saam Barati.

        lineNumber from the savePoint was not being restored before calling next() causing discrepancy in the offset and line for the token

        * js/multiline-function-crash-expected.txt: Added.
        * js/multiline-function-crash.html: Added.
        * js/script-tests/multiline-function-crash.js: Added.

2016-08-12  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r204416.

        This test fails with a debug assertion

        Reverted changeset:

        "ASSERTION FAILED: : line >= firstLine in
        BytecodeGenerator::emitExpressionInfo."
        https://bugs.webkit.org/show_bug.cgi?id=160535
        http://trac.webkit.org/changeset/204416

2016-08-12  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES2016] Implement Object.entries
        https://bugs.webkit.org/show_bug.cgi?id=160412

        Reviewed by Saam Barati.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-08-12  Pranjal Jumde  <pjumde@apple.com>

        ASSERTION FAILED: : line >= firstLine in BytecodeGenerator::emitExpressionInfo.
        https://bugs.webkit.org/show_bug.cgi?id=160535
        <rdar://problem/27328151>

        Reviewed by Saam Barati.

        lineNumber from the savePoint was not being restored before calling next() causing discrepancy in the offset and line for the token

        * js/multiline-function-crash-expected.txt: Added.
        * js/multiline-function-crash.html: Added.
        * js/script-tests/multiline-function-crash.js: Added.

2016-08-12  Brent Fulgham  <bfulgham@apple.com>

        Add test for fixed nullptr deref error
        https://bugs.webkit.org/show_bug.cgi?id=160807
        <rdar://problem/15576693>

        Unreviewed test gardening.

        * mathml/row-clone-crash-expected.txt: Added.
        * mathml/row-clone-crash.html: Added.

2016-08-12  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html after r204396.

        Unreviewed test gardening.

        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2016-08-11  Ryan Haddad  <ryanhaddad@apple.com>

        Marking transitions/clip-path-transitions.html and transitions/clip-path-path-transitions.html as flaky on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=153809

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-11  Chris Dumez  <cdumez@apple.com>

        Align Range.surroundContents() with the latest DOM specification
        https://bugs.webkit.org/show_bug.cgi?id=160777

        Reviewed by Ryosuke Niwa.

        Rebaseline existing due to behavior change.

        * fast/dom/Range/surroundContents-1-expected.txt:
        * fast/dom/Range/surroundContents-1.html:

2016-08-11  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline more iOS tests after r204363.

        Unreviewed test gardening.

        * fast/events/ios/keyboard-scrolling-distance-expected.txt:
        * fast/events/ios/keyboard-should-not-trigger-resize-expected.txt:
        * fast/forms/ios/accessory-bar-navigation-expected.txt:
        * fast/forms/ios/focus-input-in-fixed-expected.txt:
        * fast/forms/ios/focus-input-in-iframe-expected.txt:
        * fast/forms/ios/focus-input-via-button-expected.txt:
        * fast/forms/ios/focus-input-via-button-ipad-expected.txt:
        * fast/forms/ios/focus-input-via-button-no-scaling-expected.txt:
        * fast/forms/ios/focus-long-textarea-expected.txt:
        * fast/forms/ios/zoom-after-input-tap-expected.txt:
        * fast/forms/ios/zoom-after-input-tap-wide-input-expected.txt:

2016-08-11  Chris Dumez  <cdumez@apple.com>

        Move dataset attribute from Element to HTMLElement / SVGElement
        https://bugs.webkit.org/show_bug.cgi?id=160766

        Reviewed by Alex Christensen.

        Rebaseline existing tests now that properties are in different order
        when iterating.

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

2016-08-11  Antoine Quint  <graouts@apple.com>

        Unskip 2d.gradient.interpolate.colouralpha on macOS Sierra
        https://bugs.webkit.org/show_bug.cgi?id=160765
        <rdar://problem/24025664>

        Reviewed by Eric Carlson.

        We fixed the tests in https://bugs.webkit.org/show_bug.cgi?id=160689 but forgot to unskip them.

        * platform/mac/TestExpectations:

2016-08-11  Antoine Quint  <graouts@apple.com>

        Test 2d.gradient.interpolate.colouralpha.html is broken on macOS Sierra
        https://bugs.webkit.org/show_bug.cgi?id=160689
        <rdar://problem/24025664>

        Reviewed by Dean Jackson.

        When the test samples 25th pixel it expect the value to be exactly 25% interpolation of the color values.
        However, the sampling location is the center of the pixel, i.e. it should correspond to 25.5% interpolation,
        which would expect the color of (189.975, 189.75, 65.25, 65.25). The new values are a rounded values of
        interpolation “by hand” at steps of 25.5%, 50.5% and 75.5%.

        * canvas/philip/tests/2d.gradient.interpolate.colouralpha.html:

2016-08-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Should be able to Edit Node Attributes and Styles for non-UserAgent Shadow DOM nodes
        https://bugs.webkit.org/show_bug.cgi?id=160762
        <rdar://problem/27798271>

        Reviewed by Ryosuke Niwa.

        * inspector/dom/shadowRootType-expected.txt:
        * inspector/dom/shadowRootType.html:
        Add tests for DOMNode.prototype.isInUserAgentShadowTree.

2016-08-10  Chris Dumez  <cdumez@apple.com>

        Optimization in Node.insertBefore() is not spec-compliant
        https://bugs.webkit.org/show_bug.cgi?id=160746

        Reviewed by Ryosuke Niwa.

        Add layout test to make sure mutation observers / listeners are always
        notified when Node.insertBefore() is called.

        * fast/dom/Node/insertBefore-no-op-mutationobserver-expected.txt: Added.
        * fast/dom/Node/insertBefore-no-op-mutationobserver.html: Added.

2016-08-10  Ryosuke Niwa  <rniwa@webkit.org>

        Move document.defineElement to customElements.define
        https://bugs.webkit.org/show_bug.cgi?id=160731

        Reviewed by Chris Dumez.

        Updated the tests and their expected results to reflect the move of Document.prototype.defineElement to
        CustomElementsRegistry.prototype.define. I'm going to rename tests in a follow up.

        * fast/custom-elements/Document-createElement.html:
        * fast/custom-elements/Document-defineElement-expected.txt:
        * fast/custom-elements/Document-defineElement.html: Removed test cases for testing defining elements
        in a viewless/windowless document since those documents don't have a corresponding window object.
        * fast/custom-elements/HTMLElement-constructor.html:
        * fast/custom-elements/attribute-changed-callback.html:
        * fast/custom-elements/defined-pseudo-class.html:
        * fast/custom-elements/defined-rule.html:
        * fast/custom-elements/lifecycle-callback-timing.html:
        * fast/custom-elements/parser/parser-constructs-custom-element-in-document-write.html:
        * fast/custom-elements/parser/parser-constructs-custom-element-synchronously.html:
        * fast/custom-elements/parser/parser-constructs-custom-elements-expected.txt:
        * fast/custom-elements/parser/parser-constructs-custom-elements.html:
        * fast/custom-elements/parser/parser-fallsback-to-unknown-element.html:
        * fast/custom-elements/parser/parser-sets-attributes-and-children.html:
        * fast/custom-elements/parser/parser-uses-constructed-element.html:
        * fast/custom-elements/parser/parser-uses-registry-of-owner-document.html:
        * fast/custom-elements/upgrading/Node-cloneNode.html:
        * fast/custom-elements/upgrading/upgrading-parser-created-element.html:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2016-08-10  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Use the simulated device's screen size, rather than a harcoded size
        https://bugs.webkit.org/show_bug.cgi?id=160748

        Reviewed by Tim Horton.
        
        Move fast/viewport/ios skipping to ios-simulator-wk2/TestExpectations since the tests
        are WK2-only.

        * fast/viewport/ios/width-is-device-width-expected.txt:
        * fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt:
        * platform/ios-simulator/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt:
        * platform/ios-simulator/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt:
        * platform/ios-simulator/fast/scrolling/ios/scrolling-content-clip-to-viewport-expected.txt:
        * platform/ios-simulator/fast/scrolling/ios/touch-stacking-expected.txt:
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt: Removed.

2016-08-10  Nan Wang  <n_wang@apple.com>

        AX: Media controls timeline should have percentage value description
        https://bugs.webkit.org/show_bug.cgi?id=160619

        Reviewed by Eric Carlson.

        * http/tests/media/hls/video-duration-accessibility-expected.txt: Added.
        * http/tests/media/hls/video-duration-accessibility.html: Added.
        * http/tests/media/resources/hls/generate-vod.php: Added.
        * media/media-controls-accessibility-expected.txt:
        * platform/efl/accessibility/media-element-expected.txt:
        * platform/gtk/accessibility/media-element-expected.txt:
        * platform/mac/accessibility/media-element-expected.txt:

2016-08-09  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES2016] Implement Object.values
        https://bugs.webkit.org/show_bug.cgi?id=160410

        Reviewed by Saam Barati, Yusuke Suzuki.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-08-10  Saam Barati  <sbarati@apple.com>

        Web Inspector: rebase inspector/model/remote-object-get-properties.html and unskip
        https://bugs.webkit.org/show_bug.cgi?id=160738
        <rdar://problem/27788116>

        Reviewed by Joseph Pecoraro.

        * TestExpectations:
        * inspector/model/remote-object-get-properties-expected.txt:

2016-08-10  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/fetch/fetch-in-worker-crash.html as a flaky crash.
        https://bugs.webkit.org/show_bug.cgi?id=160510

        Unreviewed test gardening.

        * TestExpectations:

2016-08-10  Brent Fulgham  <bfulgham@apple.com>

        Add JS array sort test case
        https://bugs.webkit.org/show_bug.cgi?id=160680

        Incorporate a test case related to a improper JavaScript Array
        sorting behavior. The actual bug was fixed more than a year ago,
        as a side effect of Bug 144013, but no test case was provided.

        * js/array-sort-crash-expected.txt: Added.
        * js/array-sort-crash.html: Added.

2016-08-10  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/model/remote-object-get-properties.html as failing
        https://bugs.webkit.org/show_bug.cgi?id=160738

        Unreviewed test gardening.

        * TestExpectations:
        * platform/mac/TestExpectations:

2016-08-08  Simon Fraser  <simon.fraser@apple.com>

        child-transform-with-anchor-point-expected.html renders incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=160616

        Reviewed by Zalan Bujtas.

        * compositing/geometry/clipped-out-perspective-expected.html: Added.
        * compositing/geometry/clipped-out-perspective.html: Added.
        * compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: Rebaseline.
        * platform/mac-wk1/TestExpectations:

2016-08-10  Saam Barati  <sbarati@apple.com>

        Unreviewed. Skip a JSC test that's timing out and an inspector test that needs to be rebased after r204321

        * TestExpectations:
        * js/regress/script-tests/bound-function-construction-performance.js:
        (makeBoundFunc):

2016-08-10  Chris Dumez  <cdumez@apple.com>

        It should be possible to re-initialize a MutationEvent after it's been dispatched
        https://bugs.webkit.org/show_bug.cgi?id=160703

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * fast/events/initMutationEvent-after-dispatch-expected.txt: Added.
        * fast/events/initMutationEvent-after-dispatch.html: Added.

2016-08-09  Chris Dumez  <cdumez@apple.com>

        Optimization in Node::appendChild() is not spec-compliant
        https://bugs.webkit.org/show_bug.cgi?id=160728

        Reviewed by Ryosuke Niwa.

        Add layout test to make sure that mutation events are always fired
        when calling Node::appendChild(), even if the new node is already
        the last child.

        * fast/dom/Node/appendChild-no-op-mutationobserver-expected.txt: Added.
        * fast/dom/Node/appendChild-no-op-mutationobserver.html: Added.

2016-08-09  Saam Barati  <sbarati@apple.com>

        JSBoundFunction should lazily generate its name string
        https://bugs.webkit.org/show_bug.cgi?id=160678
        <rdar://problem/27043194>

        Reviewed by Mark Lam.

        * js/regress/bound-function-construction-performance-expected.txt: Added.
        * js/regress/bound-function-construction-performance.html: Added.
        * js/regress/script-tests/bound-function-construction-performance.js: Added.
        (makeBoundFunc):
        (foo.f):
        (foo):

2016-08-09  Chris Dumez  <cdumez@apple.com>

        CharacterData.data setter optimization is not spec-compliant and is observable
        https://bugs.webkit.org/show_bug.cgi?id=160712

        Reviewed by Ryosuke Niwa.

        Add test coverage to make sure that DOM Mutation observers get notified
        when CharacterData.data is set to the same data.

        * fast/dom/Text/setData-no-op-mutation-expected.txt: Added.
        * fast/dom/Text/setData-no-op-mutation.html: Added.

2016-08-09  Ada Chan  <adachan@apple.com>

        [macOS Sierra] Fix flaky test: media/controls/picture-in-picture.html
        https://bugs.webkit.org/show_bug.cgi?id=160707

        Reviewed by Eric Carlson.

        This test became flaky after r201474 when we started to delay showing
        the inline placeholder until we are sure the video layer has been moved
        into the video fullscreen layer. This means we can't guarantee that the
        placeholder is visible right away after the video's presentation mode
        changes to "picture-in-picture".

        To fix this, we'll update the test so that we'll wait until the placeholder
        becomes visible before testing its visibility without the "controls" attribute.

        * media/controls/picture-in-picture.html:
        * platform/mac-wk2/TestExpectations:

2016-08-09  Chris Dumez  <cdumez@apple.com>

        It should be possible to re-initialize a CustomEvent after it's been dispatched
        https://bugs.webkit.org/show_bug.cgi?id=160664

        Reviewed by Darin Adler.

        * fast/events/initCustomEvent-after-dispatch-expected.txt: Copied from LayoutTests/fast/events/initEvent-after-dispatch-expected.txt.
        * fast/events/initCustomEvent-after-dispatch.html: Copied from LayoutTests/fast/events/initEvent-after-dispatch.html.
        Add layout test coverage.

        * fast/events/initEvent-after-dispatch-expected.txt:
        * fast/events/initEvent-after-dispatch.html:
        Fix related layout test.

2016-08-08  Ryan Haddad  <ryanhaddad@apple.com>

        Update test expectations for rdar://problem/27711048.

        * platform/mac/TestExpectations:

2016-08-08  John Wilander  <wilander@apple.com>

        Popups opened from a sandboxed iframe should themselves be sandboxed
        https://bugs.webkit.org/show_bug.cgi?id=134850
        <rdar://problem/27375388>

        Reviewed by Brent Fulgham.

        * http/tests/security/resources/anchor-tag-with-blank-target.html: Added.
        * http/tests/security/resources/page-executing-javascript.html: Added.
        * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox-expected.txt: Added.
        * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: Added.

2016-08-08  Chris Dumez  <cdumez@apple.com>

        Align Selection API with the specification
        https://bugs.webkit.org/show_bug.cgi?id=160663

        Reviewed by Ryosuke Niwa.

        * editing/selection/bad-input-expected.txt: Added.
        * editing/selection/bad-input.html: Added.
        Add new layout test to cover passing bad input to the Selection API.
        This new test is passing completely in Firefox and Chrome.

        * editing/execCommand/apply-style-text-decoration-crash.html:
        * editing/execCommand/applyblockelement-visiblepositionforindex-crash.html:
        * editing/execCommand/ident-crashes-topnode-is-text.html:
        * editing/execCommand/indent-pre-expected.txt:
        * editing/execCommand/indent-pre.html:
        * editing/execCommand/overtype.html:
        * editing/selection/containsNode-expected.txt:
        * editing/selection/containsNode.html:
        * editing/selection/move-by-line-003.html:
        * editing/selection/script-tests/DOMSelection-DocumentType.js:
        * editing/selection/script-tests/DOMSelection-crossing-document.js:
        (clear):
        * editing/selection/selection-invalid-offset-expected.txt:
        * fast/block/float/float-list-changed-before-layout-crash.html:
        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        * fast/events/selectstart-by-arrow-keys.html:
        * fast/html/nav-element.html:
        * fast/html/script-tests/article-element.js:
        * fast/html/script-tests/aside-element.js:
        * fast/html/script-tests/footer-element.js:
        * fast/html/script-tests/header-element.js:
        * fast/html/script-tests/hgroup-element.js:
        * fast/html/script-tests/main-element.js:
        * fast/html/script-tests/section-element.js:
        * imported/blink/accessibility/event-on-deleted-iframe-causes-crash.html:
        * imported/blink/editing/apply-inline-style-to-element-with-no-renderer-crash.html:
        * svg/custom/unicode-in-tspan-multi-svg-crash.html:
        Update existing tests to use the Selection API properly.

2016-08-08  John Wilander  <wilander@apple.com>

        Don't set document.domain to an IP address fragment
        https://bugs.webkit.org/show_bug.cgi?id=126045
        <rdar://problem/27331794>

        Reviewed by Daniel Bates.

        IP address octets should not be treated as subdomains when setting document.domain.

        * http/tests/security/aboutBlank/security-context-alias.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/security/aboutBlank/security-context-grandchildren-alias.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/security/postMessage/origin-unaffected-by-document-domain.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/security/set-domain-remove-subdomain-for-ip-address-expected.txt: Added.
        * http/tests/security/set-domain-remove-subdomain-for-ip-address.html: Added.
        * http/tests/security/setDomainRelaxationForbiddenForURLScheme.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/workers/worker-document-domain-security.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/xmlhttprequest/document-domain-set.html:
            Now enables the new setting treatIPAddressesAsDomains.

2016-08-08  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27711048.

        * platform/mac/TestExpectations:

2016-08-08  Chris Dumez  <cdumez@apple.com>

        It should be possible to re-initialize an Event after it's been dispatched
        https://bugs.webkit.org/show_bug.cgi?id=160651

        Reviewed by Darin Adler.

        Add layout test coverage.

        * fast/events/initEvent-after-dispatch-expected.txt: Added.
        * fast/events/initEvent-after-dispatch.html: Added.

2016-08-07  Chris Dumez  <cdumez@apple.com>

        Node.baseURI should not be nullable
        https://bugs.webkit.org/show_bug.cgi?id=160649

        Reviewed by Darin Adler.

        Drop outdated DOM test.

        * dom/xhtml/level3/core/nodegetbaseuri02-expected.txt: Removed.
        * dom/xhtml/level3/core/nodegetbaseuri02.js: Removed.
        * dom/xhtml/level3/core/nodegetbaseuri02.xhtml: Removed.

2016-08-07  Chris Dumez  <cdumez@apple.com>

        Drop SVGDocument as per the SVG2 specification
        https://bugs.webkit.org/show_bug.cgi?id=160361

        Reviewed by Darin Adler.

        Update / rebaseline existing tests to reflect behavior change.

        * platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt:
        * svg/custom/clone-node-expected.txt:
        * svg/custom/clone-node.html:
        * svg/custom/frame-getSVGDocument.html:
        * svg/custom/global-constructors-expected.txt:
        * svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt:
        * svg/custom/script-tests/global-constructors.js:

2016-08-07  Chris Dumez  <cdumez@apple.com>

        Un-expose DOMSettableTokenList
        https://bugs.webkit.org/show_bug.cgi?id=160643

        Reviewed by Darin Adler.

        Update / rebaseline existing tests.

        * fast/dom/HTMLLinkElement/sizes-setter-expected.txt:
        * fast/dom/HTMLLinkElement/sizes-setter.html:
        * fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
        * fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js:
        * fast/frames/sandbox-attribute-expected.txt:
        * fast/frames/sandbox-attribute.html:
        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-08-07  Youenn Fablet  <youenn@apple.com>

        LayoutTest http/tests/fetch/fetch-in-worker-crash.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=160510

        Unreviewed.

        * TestExpectations: Marking fetch-in-worker-crash.html as flaky

2016-08-06  Chris Dumez  <cdumez@apple.com>

        a.replaceChild(a, a) should throw a HierarchyRequestError
        https://bugs.webkit.org/show_bug.cgi?id=160640

        Reviewed by Darin Adler.

        * fast/dom/Node/replaceChild-notFoundError-expected.txt: Added.
        * fast/dom/Node/replaceChild-notFoundError.html: Added.

2016-08-06  Chris Dumez  <cdumez@apple.com>

        Drop legacy Text.replaceWholeText() API
        https://bugs.webkit.org/show_bug.cgi?id=160641

        Reviewed by Darin Adler.

        Drop outdated tests / checks.

        * dom/xhtml/level3/core/textreplacewholetext01-expected.txt: Removed.
        * dom/xhtml/level3/core/textreplacewholetext01.js: Removed.
        * dom/xhtml/level3/core/textreplacewholetext01.xhtml: Removed.
        * dom/xhtml/level3/core/textreplacewholetext02-expected.txt: Removed.
        * dom/xhtml/level3/core/textreplacewholetext02.js: Removed.
        * dom/xhtml/level3/core/textreplacewholetext02.xhtml: Removed.
        * dom/xhtml/level3/core/textreplacewholetext03-expected.txt: Removed.
        * dom/xhtml/level3/core/textreplacewholetext03.js: Removed.
        * dom/xhtml/level3/core/textreplacewholetext03.xhtml: Removed.
        * dom/xhtml/level3/core/textreplacewholetext04-expected.txt: Removed.
        * dom/xhtml/level3/core/textreplacewholetext04.js: Removed.
        * dom/xhtml/level3/core/textreplacewholetext04.xhtml: Removed.
        * dom/xhtml/level3/core/textreplacewholetext05-expected.txt: Removed.
        * dom/xhtml/level3/core/textreplacewholetext05.js: Removed.
        * dom/xhtml/level3/core/textreplacewholetext05.xhtml: Removed.
        * fast/dom/Attr/change-id-via-attr-node-value-expected.txt:
        * fast/dom/Attr/change-id-via-attr-node-value.html:
        * fast/dom/Text/replaceWholeText-expected.txt: Removed.
        * fast/dom/Text/replaceWholeText.html: Removed.
        * fast/storage/storage-detached-iframe-expected.txt:
        * fast/storage/storage-detached-iframe.html:
        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:
        * platform/mac/inspector/model/remote-object-expected.txt:

2016-08-06  Youenn Fablet  <youenn@apple.com>

        LayoutTest http/tests/fetch/fetch-in-worker-crash.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=160510

        Reviewed by Sam Weinig.

        * http/tests/fetch/fetch-in-worker-crash.html:
        * http/tests/fetch/fetch-in-worker.js:
        Adding a new test based on a ReadableStream that is not closed and therefore Response.text promise cannot resolve.
        Removing the blob resolve message as there is no guarantee that blob load will finish after the test is done.

2016-08-05  Chris Dumez  <cdumez@apple.com>

        [Web IDL] Add support for USVString type
        https://bugs.webkit.org/show_bug.cgi?id=160608

        Reviewed by Sam Weinig.

        Add layout test coverage for USVString.

        * js/dom/webidl-type-mapping-expected.txt:
        * js/dom/webidl-type-mapping.html:
        This test is based on the corresponding one from Blink.

2016-08-05  Ryan Haddad  <ryanhaddad@apple.com>

        Add back a newline that was accidentally removed from an expected.txt file.

        Unreviewed test gardening.

        * platform/ios-simulator/compositing/masks/compositing-clip-path-change-no-repaint-expected.txt:

2016-08-05  Jeremy Jones  <jeremyj@apple.com>

        revert r202466 r202546 this causes regressions in media loading with temporary redirects.
        https://bugs.webkit.org/show_bug.cgi?id=160613

        Reviewed by Jon Lee.

        Reverting a fix that enabled two tests. These tests now fail and are skipped.

        * platform/mac/TestExpectations:

2016-08-05  Nan Wang  <n_wang@apple.com>

        AX: Asking for group members of radio button that has no name attribute will cause crash
        https://bugs.webkit.org/show_bug.cgi?id=160583

        Reviewed by Chris Fleizach.

        * accessibility/mac/radio-button-no-name-crash-expected.txt: Added.
        * accessibility/mac/radio-button-no-name-crash.html: Added.

2016-08-05  Alexey Proskuryakov  <ap@apple.com>

        Disk cache tests produce many undefined value warnings
        https://bugs.webkit.org/show_bug.cgi?id=160601

        Reviewed by Daniel Bates.

        * http/tests/cache/disk-cache/resources/generate-response.cgi: Cleaned up header
        and parameter handling. Removed a couple unnecessary checks for $cgi->http.

2016-08-05  Alexey Proskuryakov  <ap@apple.com>

        Work around broken <Files> directive in some Apache versions
        https://bugs.webkit.org/show_bug.cgi?id=160610

        Reviewed by Daniel Bates.

        The problem is tracked as rdar://problem/27725655

        * http/tests/misc/.htaccess:

2016-08-05  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining compositing/masks/compositing-clip-path-change-no-repaint.html for ios-simulator.

        Unreviewed test gardening.

        * platform/ios-simulator/compositing/masks/compositing-clip-path-change-no-repaint-expected.txt:

2016-08-05  Brent Fulgham  <bfulgham@apple.com>

        ASSERTION FAILED: observer in WebCore::BitmapImage::drawPattern
        https://bugs.webkit.org/show_bug.cgi?id=141637
        <rdar://problem/27709864>

        Reviewed by Tim Horton.

        * fast/images/image-source-assert-expected.txt: Added.
        * fast/images/image-source-assert.html: Added.

2016-08-05  Simon Fraser  <simon.fraser@apple.com>

        marquee with "truespeed" animates at > 60fps, hogging CPU
        https://bugs.webkit.org/show_bug.cgi?id=160609

        Reviewed by David Hyatt.
        
        Convert marquee tests into ref tests, removing all the platform expectations.

        * fast/html/marquee-scroll-expected.html: Copied from LayoutTests/fast/html/marquee-scroll.html.
        * fast/html/marquee-scroll.html:
        * fast/html/marquee-scrollamount-expected.html: Added.
        * fast/html/marquee-set-truespeed.html:
        * platform/efl/fast/html/marquee-scroll-expected.png: Removed.
        * platform/efl/fast/html/marquee-scroll-expected.txt: Removed.
        * platform/efl/fast/html/marquee-scrollamount-expected.png: Removed.
        * platform/efl/fast/html/marquee-scrollamount-expected.txt: Removed.
        * platform/gtk/fast/html/marquee-scroll-expected.png: Removed.
        * platform/gtk/fast/html/marquee-scroll-expected.txt: Removed.
        * platform/gtk/fast/html/marquee-scrollamount-expected.png: Removed.
        * platform/gtk/fast/html/marquee-scrollamount-expected.txt: Removed.
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator-wk2/fast/html/marquee-scrollamount-expected.txt: Removed.
        * platform/ios-simulator/fast/html/marquee-scroll-expected.txt: Removed.
        * platform/ios-simulator/fast/html/marquee-scrollamount-expected.txt: Removed.
        * platform/mac-wk1/TestExpectations:
        * platform/mac/fast/html/marquee-scroll-expected.png: Removed.
        * platform/mac/fast/html/marquee-scroll-expected.txt: Removed.
        * platform/mac/fast/html/marquee-scrollamount-expected.png: Removed.
        * platform/mac/fast/html/marquee-scrollamount-expected.txt: Removed.
        * platform/win/TestExpectations:
        * platform/win/fast/html/marquee-scroll-expected.txt: Removed.
        * platform/win/fast/html/marquee-scrollamount-expected.txt: Removed.

2016-08-05  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r204181.

        This change caused an existing LayoutTest to fail on WK1

        Reverted changeset:

        "Don't set document.domain to an IP address fragment"
        https://bugs.webkit.org/show_bug.cgi?id=126045
        http://trac.webkit.org/changeset/204181

2016-08-05  Simon Fraser  <simon.fraser@apple.com>

        Sierra WK1: compositing/masks/compositing-clip-path-change-no-repaint.html failing
        rdar://problem/26789221

        Make this test less sensitive to platform repaint differences.

        * compositing/masks/compositing-clip-path-change-no-repaint-expected.txt:
        * compositing/masks/compositing-clip-path-change-no-repaint.html:
        * platform/mac-wk1/TestExpectations:

2016-08-05  Commit Queue  <commit-queue@webkit.org>

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

        Solve the issue by removing the workaround for static files
        (Requested by jonlee_ on #webkit).

        Reverted changeset:

        "Temporary redirected m3u8 streaming stopped working."
        https://bugs.webkit.org/show_bug.cgi?id=160472
        http://trac.webkit.org/changeset/204128

2016-08-05  Jonathan Bedard  <jbedard@apple.com>

        Remove testRunner.handleErrorPages()
        https://bugs.webkit.org/show_bug.cgi?id=160552

        Reviewed by Daniel Bates.

        handleErrorPages() was implemented by the Qt WebKit port, per
        https://bugs.webkit.org/show_bug.cgi?id=31509#c0, but never implemented
        on other ports.  Per https://bugs.webkit.org/show_bug.cgi?id=31555, this
        feature was never implemented on Mac.

        * fast/history/back-forward-reset-after-error-handling-expected.txt: Removed test expectations.
        * fast/history/back-forward-reset-after-error-handling.html: Removed test.
        * platform/efl/TestExpectations: Remove reference to back-forward-reset-after-error-handling.
        * platform/gtk/TestExpectations: Ditto.
        * platform/ios-simulator/TestExpectations: Ditto.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2016-08-05  Brent Fulgham  <bfulgham@apple.com>

        validity assertion fails after removing a child of an <optgroup> element
        https://bugs.webkit.org/show_bug.cgi?id=155720
        <rdar://problem/27720746>

        Reviewed by Brent Fulgham.

        Add new test case that triggers a debug assertion when the HTMLSelectElement state
        is not updated properly.

        * fast/dom/HTMLSelectElement/select-remove-from-optgroup-expected.txt: Added.
        * fast/dom/HTMLSelectElement/select-remove-from-optgroup.html: Added.

2016-08-05  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r204174.

        The test for this change is failing on WK1

        Reverted changeset:

        "Popups opened from a sandboxed iframe should themselves be
        sandboxed"
        https://bugs.webkit.org/show_bug.cgi?id=134850
        http://trac.webkit.org/changeset/204174

2016-08-05  John Wilander  <wilander@apple.com>

        Don't set document.domain to an IP address fragment
        https://bugs.webkit.org/show_bug.cgi?id=126045
        <rdar://problem/27331794>

        Reviewed by Daniel Bates.

        IP address octets should not be treated as subdomains when
        setting document.domain.

        * http/tests/security/aboutBlank/security-context-alias.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/security/aboutBlank/security-context-grandchildren-alias.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/security/postMessage/origin-unaffected-by-document-domain.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/security/set-domain-remove-subdomain-for-ip-address-expected.txt: Added.
        * http/tests/security/set-domain-remove-subdomain-for-ip-address.html: Added.
        * http/tests/workers/worker-document-domain-security.html:
            Now enables the new setting treatIPAddressesAsDomains.
        * http/tests/xmlhttprequest/document-domain-set.html:
            Now enables the new setting treatIPAddressesAsDomains.

2016-08-05  Chris Dumez  <cdumez@apple.com>

        Window's named properties should be exposed on a WindowProperties object in its prototype
        https://bugs.webkit.org/show_bug.cgi?id=160354

        Reviewed by Gavin Barraclough.

        * fast/dom/Window/es52-globals-expected.txt:
        Update / Rebaseline test now that named properties are no longer reported as "own"
        properties on the Window object. I have verified that the test gives the
        same result in Firefox and Chrome.

        * fast/loader/window-clearing-expected.txt:
        Rebaseline test that prints one more line because there is one more
        object in Window's prototype chain.

        * http/tests/security/window-named-proto-expected.txt:
        * http/tests/security/window-named-valueOf-expected.txt:
        Rebaseline 2 security tests that give slightly different output. The new
        output is identical to the one in Firefox and Chrome. The tests are not
        failing since they are not alert'ing content from the other frame.
        The reason those tests were logging a security error is because we would
        previously prevent named property access if the frame name conflicts with
        a property name in the Window prototype, and we now no longer
        differentiate this case.

2016-08-05  John Wilander  <wilander@apple.com>

        Popups opened from a sandboxed iframe should themselves be sandboxed
        https://bugs.webkit.org/show_bug.cgi?id=134850
        <rdar://problem/27375388>

        Reviewed by Brent Fulgham.

        * http/tests/security/resources/anchor-tag-with-blank-target.html: Added.
        * http/tests/security/resources/page-executing-javascript.html: Added.
        * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox-expected.txt: Added.
        * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: Added.

2016-08-05  Commit Queue  <commit-queue@webkit.org>

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

        looks like a 1-2% PLUM regression on iPhone 6s (Requested by
        kling_ on #webkit).

        Reverted changeset:

        "Window's named properties should be exposed on a
        WindowProperties object in its prototype"
        https://bugs.webkit.org/show_bug.cgi?id=160354
        http://trac.webkit.org/changeset/203935

2016-08-05  Youenn Fablet  <youenn@apple.com>

        http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html is failing on iOS-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=160591

        Unreviewed.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-05  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Activate CSP checks
        https://bugs.webkit.org/show_bug.cgi?id=160445

        Reviewed by Daniel Bates.

        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-fetch-in-main-frame-window.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-xhr-in-main-frame-window.html:
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame-expected.txt:
        * platform/mac-wk2/TestExpectations: Marking new worker test as failing at loading https resource from loader.
        It gets a "The certificate for this server is invalid" error.
        * platform/wk2/TestExpectations: Marking new frame test as timing out for WK2 as fetch is not activated in the pop-up window.

2016-08-05  Youenn Fablet  <youenn@apple.com>

        DocumentThreadableLoader should report an error when getting a null CachedResource
        https://bugs.webkit.org/show_bug.cgi?id=160444

        Reviewed by Alex Christensen.

        * fast/frames/frame-unload-crash.html:
        * http/tests/contentextensions/async-xhr-onerror-expected.txt:
        * http/tests/eventsource/eventsource-reconnect-during-navigate-crash-expected.txt:
        * http/tests/navigation/subframe-pagehide-handler-starts-load-expected.txt:
        * http/tests/navigation/subframe-pagehide-handler-starts-load2-expected.txt:
        * http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:

2016-08-04  Chris Dumez  <cdumez@apple.com>

        Move insertAdjacent*() API from HTMLElement to Element
        https://bugs.webkit.org/show_bug.cgi?id=160567

        Reviewed by Sam Weinig.

        Rebaseline several tests to reflect behavior change.

        * fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
        * fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
        * fast/dynamic/insertAdjacentElement-expected.txt:

2016-08-04  Benjamin Poulain  <benjamin@webkit.org>

        Add some extra test coverage for active touch event handler on subdocuments
        https://bugs.webkit.org/show_bug.cgi?id=160276

        Reviewed by Alex Christensen.

        I wrote some tests while chasing a bug.
        Documents are handled differently than other EventTarget. We had no test coverage
        for that.

        * fast/events/touch/ios/touch-event-listeners-on-detached-document-expected.txt: Added.
        * fast/events/touch/ios/touch-event-listeners-on-detached-document.html: Added.
        * fast/events/touch/ios/touch-event-listeners-on-subdocument-then-detach-from-frame-expected.txt: Added.
        * fast/events/touch/ios/touch-event-listeners-on-subdocument-then-detach-from-frame.html: Added.
        * fast/events/touch/ios/touch-event-listeners-on-subdocuments-expected.txt: Added.
        * fast/events/touch/ios/touch-event-listeners-on-subdocuments.html: Added.
        * fast/events/touch/ios/touch-event-listeners-on-template-document-expected.txt: Added.
        * fast/events/touch/ios/touch-event-listeners-on-template-document.html: Added.

2016-08-04  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline http/tests/security/cross-frame-access-put.html after r204126.

        Unreviewed test gardening.

        * http/tests/security/cross-frame-access-put-expected.txt:

2016-08-04  Jeremy Jones  <jeremyj@apple.com>

        Temporary redirected m3u8 streaming stopped working.
        https://bugs.webkit.org/show_bug.cgi?id=160472
        rdar://problem/27592694

        Reviewed by Alex Christensen.

        This tests that m3u8 files can be loaded when going through a temporary redirect.

        * http/tests/media/hls/hls-redirect-expected.txt: Added.
        * http/tests/media/hls/hls-redirect.html: Added.

2016-08-04  Alex Christensen  <achristensen@webkit.org>

        Content Blocker cannot block WebSocket connections
        https://bugs.webkit.org/show_bug.cgi?id=160159

        Reviewed by Brady Eidson.

        * http/tests/contentextensions/make-https-expected.txt:
        Rebased to reflect slight change in console logged messages which contain the same information.
        * http/tests/websocket/tests/hybi/contentextensions: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-cookies-expected.txt: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker-expected.txt: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php.json: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-cookies.php: Copied from LayoutTests/http/tests/websocket/tests/hybi/httponly-cookie.pl.
        * http/tests/websocket/tests/hybi/contentextensions/block-cookies.php.json: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-expected.txt: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-worker-expected.txt: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-worker.html: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block-worker.html.json: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block.html: Added.
        * http/tests/websocket/tests/hybi/contentextensions/block.html.json: Added.
        * http/tests/websocket/tests/hybi/contentextensions/display-none-expected.txt: Added.
        * http/tests/websocket/tests/hybi/contentextensions/display-none-worker-expected.txt: Added.
        * http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html: Added.
        * http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html.json: Added.
        * http/tests/websocket/tests/hybi/contentextensions/display-none.html: Added.
        * http/tests/websocket/tests/hybi/contentextensions/display-none.html.json: Added.
        * http/tests/websocket/tests/hybi/contentextensions/resources: Added.
        * http/tests/websocket/tests/hybi/contentextensions/resources/block-cookies-worker.js: Added.
        * http/tests/websocket/tests/hybi/contentextensions/resources/block-worker.js: Added.
        * http/tests/websocket/tests/hybi/contentextensions/resources/display-none-worker.js: Added.
        * http/tests/websocket/tests/hybi/contentextensions/resources/echo-cookie_wsh.py: Copied from LayoutTests/http/tests/websocket/tests/hybi/echo-cookie_wsh.py.
        * http/tests/websocket/tests/hybi/contentextensions/resources/echo_wsh.py: Added.
        * http/tests/websocket/tests/hybi/contentextensions/resources/upgrade-worker.js: Added.
        * http/tests/websocket/tests/hybi/contentextensions/upgrade-expected.txt: Added.
        * http/tests/websocket/tests/hybi/contentextensions/upgrade-worker-expected.txt: Added.
        * http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html: Added.
        * http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html.json: Added.
        * http/tests/websocket/tests/hybi/contentextensions/upgrade.html: Added.
        * http/tests/websocket/tests/hybi/contentextensions/upgrade.html.json: Added.

2016-08-04  Chris Dumez  <cdumez@apple.com>

        [[Prototype]] property of an interface object for a callback interface must be the Object.prototype object
        https://bugs.webkit.org/show_bug.cgi?id=160555

        Reviewed by Geoffrey Garen.

        Rebaseline existing test.

        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:

2016-08-04  Chris Dumez  <cdumez@apple.com>

        Element.insertAdjacent*() should throw a SYNTAX_ERR for invalid "where" parameter
        https://bugs.webkit.org/show_bug.cgi?id=160514

        Reviewed by Alex Christensen.

        Rebaseline existing test now that a different exception is thrown.

        * fast/dynamic/insertAdjacentElement-expected.txt:
        * fast/dynamic/insertAdjacentText-expected.txt:

2016-08-04  Youenn Fablet  <youenn@apple.com>

        DocumentThreadableLoader should pass the fetch mode to underlying loader code
        https://bugs.webkit.org/show_bug.cgi?id=160399

        Reviewed by Alex Christensen.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect-expected.txt:
        * http/tests/workers/worker-redirect-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-async.html: Fixed bugs in the test and updated comments.
        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:

2016-08-04  Youenn Fablet  <youenn@apple.com>

        LayoutTest imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm failing
        https://bugs.webkit.org/show_bug.cgi?id=159724

        Unreviewed..

        * TestExpectations: Removing Crash expectation since it is only occuring on Debug Mac bots.
        * platform/mac/TestExpectations: Skipping test in Debug for Mac bots.

2016-08-03  Chris Dumez  <cdumez@apple.com>

        Drop legacy Document.defaultCharset attribute
        https://bugs.webkit.org/show_bug.cgi?id=160536

        Reviewed by Alex Christensen.

        * fast/dom/Document/document-charset-expected.txt:
        * fast/dom/Document/document-charset.html:
        Drop defaultCharset checks.

        * fast/frames/detached-frame-document-defaultCharset-expected.txt: Removed.
        * fast/frames/detached-frame-document-defaultCharset.html: Removed.
        Drop test that is no longer useful now that we dropped defaultCharset.

2016-08-03  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/track/track-in-band-cues-added-once.html as flaky on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=142152

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-03  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] SF-Heavy is not accessible from web content
        https://bugs.webkit.org/show_bug.cgi?id=160522
        <rdar://problem/27685273>

        Reviewed by Simon Fraser.

        * platform/ios-simulator/fast/text/system-font-weight-expected.txt: iOS 9 is not
        expected to pass this test, but there is no way to specify that currently using
        TestExpectations. Instead, we can create an iOS 9 specific result.
        * fast/text/system-font-weight-expected.txt:
        * fast/text/system-font-weight.html:

2016-08-03  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for ios-simulator after r204090.

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:

2016-08-03  Chris Dumez  <cdumez@apple.com>

        Fix logging in W3C tests
        https://bugs.webkit.org/show_bug.cgi?id=160513

        Reviewed by Alex Christensen.

        Fix logging in W3C tests. Some W3C tests have no visible output or
        output in the wrong order because we fail to use the test's "log"
        <div> and always append the log lines to the body.

        * resources/testharnessreport.js:
        (self.testRunner.add_completion_callback):

2016-08-02  Ada Chan  <adachan@apple.com>

        [Mac] media/pip-video-going-into-fullscreen.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=160469

        Reviewed by Eric Carlson.

        Re-enable media/pip-video-going-into-fullscreen.html on Sierra.

        * platform/mac-wk2/TestExpectations:

2016-08-03  Youenn Fablet  <youenn@apple.com>

        http/tests/fetch/fetch-in-worker-crash.html is sometimes crashing
        https://bugs.webkit.org/show_bug.cgi?id=160498

        Reviewed by Chris Dumez.

        * http/tests/fetch/fetch-in-worker.js:
        (onmessage): Reducing flakiness risk by making fetch http load being delayed.

2016-08-03  Chris Dumez  <cdumez@apple.com>

        Unreviewed, move LayoutTest out of platform/ios-simulator/ios.

        * fast/events/touch/ios/Touch-attributes-prototype-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/touch/Touch-attributes-prototype-expected.txt.
        * fast/events/touch/ios/Touch-attributes-prototype.html: Renamed from LayoutTests/platform/ios-simulator/ios/touch/Touch-attributes-prototype.html.

2016-08-03  Saam Barati  <sbarati@apple.com>

        Implement nested rest destructuring w.r.t the ES7 spec
        https://bugs.webkit.org/show_bug.cgi?id=160423

        Reviewed by Filip Pizlo.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2016-08-03  Youenn Fablet  <youenn@apple.com>

        Activate directory index generation for Apache test server
        https://bugs.webkit.org/show_bug.cgi?id=160451

        Reviewed by Alexey Proskuryakov.

        * http/conf/apache2.4-httpd.conf:

2016-08-02  Myles C. Maxfield  <mmaxfield@apple.com>

        Update breaking rules to match ICU 57
        https://bugs.webkit.org/show_bug.cgi?id=160488
        <rdar://problem/25856238>

        Reviewed by Darin Adler.

        * fast/text/flag-emoji-line-break-expected.html: Added.
        * fast/text/flag-emoji-line-break.html: Added.
        * platform/mac/TestExpectations: Mark the test as failing on Yosemite.

2016-08-02  Chris Dumez  <cdumez@apple.com>

        Drop custom bindings code for HTMLOptionsCollection.remove()
        https://bugs.webkit.org/show_bug.cgi?id=160475

        Reviewed by Darin Adler.

        Update existing tests to reflect behavior change.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        * js/dom/select-options-remove-expected.txt:
        * js/resources/select-options-remove.js:

2016-08-02  Nan Wang  <n_wang@apple.com>

        AX: Simulated touch events are not working on iOS
        https://bugs.webkit.org/show_bug.cgi?id=160395
        <rdar://problem/27633597>

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/press-fires-touch-events-expected.txt: Added.
        * accessibility/ios-simulator/press-fires-touch-events.html: Added.
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/ios/accessibility/press-fires-touch-events-expected.txt: Removed.
        * platform/ios-simulator/ios/accessibility/press-fires-touch-events.html: Removed.

2016-08-02  Saam Barati  <sbarati@apple.com>

        update a class extending null w.r.t the ES7 spec
        https://bugs.webkit.org/show_bug.cgi?id=160417

        Reviewed by Keith Miller.

        * js/class-syntax-extends-expected.txt:
        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-extends.js:
        * js/script-tests/class-syntax-super.js:

2016-08-02  Ryan Haddad  <ryanhaddad@apple.com>

        Skip media/track/track-remove-crash.html on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=160367

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-02  Dean Jackson  <dino@apple.com>

        Reapply fixes for webkit.org/b/159450 and webkit.org/b/157569
        https://bugs.webkit.org/show_bug.cgi?id=160474
        <rdar://problem/27668170>

        Reviewed by Simon Fraser.

        The fixes are behaviour we want. They just caused a regression
        on medium.com (reverted in http://trac.webkit.org/r203380).

        Now that we've branched, revert the reversion (which itself
        was a reversion), so we can fix the actual bug:
        https://bugs.webkit.org/show_bug.cgi?id=160478

        * animations/fill-mode-forwards-zero-duration.html:
        * animations/play-state-start-paused.html:
        * animations/script-tests/spring-parsing.js:
        (testSpring):
        * animations/spring-parsing-expected.txt:
        * animations/unprefixed-properties-expected.txt:
        * animations/unprefixed-properties.html:
        * fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt:
        * fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt:

2016-08-02  Eric Carlson  <eric.carlson@apple.com>

        Cleanup HTMLMediaElement track lists.
        https://bugs.webkit.org/show_bug.cgi?id=160470

        Reviewed by David Kilzer.

        * media/range-extract-contents-crash-expected.txt: Added.
        * media/range-extract-contents-crash.html: Added.

2016-08-02  Chris Dumez  <cdumez@apple.com>

        Named / Indexed properties should be configurable
        https://bugs.webkit.org/show_bug.cgi?id=160457

        Reviewed by Darin Adler.

        Update / rebaseline existing tests to reflect behavior change.

        * fast/dom/NodeList/nodelist-name-getter-properties-expected.txt:
        * fast/dom/NodeList/nodelist-name-getter-properties.html:
        * js/dom/getOwnPropertyDescriptor-expected.txt:
        * js/resources/getOwnPropertyDescriptor.js:

2016-08-02  Anders Carlsson  <andersca@apple.com>

        Remove more unused/uninstalled Objective-C DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=160464

        Reviewed by Darin Adler.

        Update test results.

        * platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
        * platform/mac/fast/dom/wrapper-classes-objc.html:

2016-08-02  Chris Dumez  <cdumez@apple.com>

        [WebIDL] Extend new overload resolution algorithm support to constructors
        https://bugs.webkit.org/show_bug.cgi?id=160455

        Reviewed by Ryosuke Niwa.

        Update / rebaseline existing test as we now provide slightly different
        exception messages when given bad overloaded constructor parameters.

        * fast/canvas/canvas-imageData-expected.txt:
        * fast/canvas/script-tests/canvas-imageData.js:

2016-08-02  Ryan Haddad  <ryanhaddad@apple.com>

        Marking two media tests as flaky crashes on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=160367

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-08-02  Frederic Wang  <fwang@igalia.com>

        Move parsing of operator length attributes to MathMLOperatorElement
        https://bugs.webkit.org/show_bug.cgi?id=160301

        Reviewed by Darin Adler.

        * mathml/presentation/stretchy-minsize-maxsize-expected.html: Update the test for negative
        minsize and maxsize to align on the behavior suggested in the MathML recommendation.
        * mathml/presentation/stretchy-minsize-maxsize.html: Ditto.

2016-08-02  Chris Dumez  <cdumez@apple.com>

        [WebIDL] Implement overload resolution algorithm
        https://bugs.webkit.org/show_bug.cgi?id=160394

        Reviewed by Darin Adler.

        Update / Rebaseline existing test. There is no major behavior change.
        We sometimes get a different exception message than we used to.

        * fast/canvas/canvas-clip-path-expected.txt:
        * fast/canvas/canvas-fill-path-expected.txt:
        * fast/canvas/canvas-path-addPath-expected.txt:
        * fast/canvas/canvas-path-isPointInPath-expected.txt:
        * fast/canvas/canvas-path-isPointInStroke-expected.txt:
        * fast/canvas/canvas-putImageData-expected.txt:
        * fast/canvas/canvas-putImageData.js:
        * fast/canvas/canvas-stroke-path-expected.txt:
        * fast/canvas/webgl/script-tests/texImageTest.js:
        * fast/canvas/webgl/texImageTest-expected.txt:
        * fast/dom/HTMLSelectElement/add-expected.txt:
        * fast/dom/HTMLSelectElement/add.html:
        * fast/dom/HTMLSelectElement/options-collection-add-expected.txt:
        * fast/dom/HTMLSelectElement/options-collection-add.html:
        * fast/dom/incompatible-operations-expected.txt:
        * js/dom/select-options-add-expected.txt:
        * webaudio/audiobuffer-expected.txt:
        * webaudio/audiobuffer.html:
        * webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-with-invalid-data.html:

2016-08-02  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        Update test expectations on Windows for many failing tests. These failures are tracked in
        https://bugs.webkit.org/show_bug.cgi?id=160447.

        * platform/win/TestExpectations:

2016-08-02  Youenn Fablet  <youenn@apple.com>

        Skip fetch API worker tests in Debug mode
        https://bugs.webkit.org/show_bug.cgi?id=160448

        Unreviewed.

        * TestExpectations:

2016-08-02  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Fetch promises should not reject or resolve when ActiveDOMObjects are being stopped
        https://bugs.webkit.org/show_bug.cgi?id=160420

        Reviewed by Alex Christensen.

        * TestExpectations:
        * http/tests/fetch/fetch-in-worker-crash-expected.txt: Added.
        * http/tests/fetch/fetch-in-worker-crash.html: Added.
        * http/tests/fetch/fetch-in-worker.js: Added.
        (onmessage):
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:

2016-08-01  Tim Horton  <timothy_horton@apple.com>

        <attachment> action label doesn't wrap, but needs to for some localizations
        https://bugs.webkit.org/show_bug.cgi?id=160431
        <rdar://problem/27526464>

        Reviewed by Simon Fraser.

        * fast/attachment/attachment-wrapping-action-expected-mismatch.html: Added.
        * fast/attachment/attachment-wrapping-action.html: Added.
        Add a test that ensures that the action label wraps by filling one with
        non-breaking and breaking spaces, which will wrap onto two lines, and one
        with just a single space, which will always fit in one line, and ensuring
        that they do not match.

2016-08-01  Chris Dumez  <cdumez@apple.com>

        [iOS] Fix fast/events/touch/document-create-touch-list-ios.html
        https://bugs.webkit.org/show_bug.cgi?id=160429

        Reviewed by Ryosuke Niwa.

        Fix several bugs in fast/events/touch/document-create-touch-list-ios.html:
        1. Use proper parameters to TouchEvent.initTouchEvent() so that it no longer throws.
        2. For the check testing passing bad parameters to createTouchList(), print PASS
           if it throws instead of FAIL since this is the expected behavior.

        * fast/events/touch/document-create-touch-list-ios-expected.txt:
        * fast/events/touch/script-tests/document-create-touch-list-ios.js:
        (catch): Deleted.

2016-08-01  Alexey Proskuryakov  <ap@apple.com>

        Sierra test expectations gardening for editing/input/password-echo-textnode.html.

        * platform/mac/TestExpectations:

2016-08-01  Ryan Haddad  <ryanhaddad@apple.com>

        Land updated baseline for rdar://problem/27611932.

        * editing/mac/attributed-string/font-style-variant-effect-expected.txt:
        * platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
        * platform/mac-wk1/TestExpectations:

2016-08-01  Antti Koivisto  <antti@apple.com>

        REGRESSION(r198943): drop-down menu navigation on fiddlevideo.com doesn't appear on iOS, works on OS X
        https://bugs.webkit.org/show_bug.cgi?id=160406

        Reviewed by Simon Fraser.

        This stuff has had zero test coverage. Adding a basic UIScript based test.

        * TestExpectations:
        * fast/content-observation/click-event-suppression-on-content-change-expected.txt: Added.
        * fast/content-observation/click-event-suppression-on-content-change.html: Added.

2016-08-01  Eric Carlson  <eric.carlson@apple.com>

        [Mac][iOS] Adopt MediaRemote "seek to playback position"
        https://bugs.webkit.org/show_bug.cgi?id=160405
        <rdar://problem/27547583>

        Reviewed by Dean Jackson.

        * media/remote-control-command-seek-expected.txt: Added.
        * media/remote-control-command-seek.html: Added.

2016-08-01  Adrian Perez de Castro  <aperez@igalia.com>

        Update Apache configuration for Arch Linux
        https://bugs.webkit.org/show_bug.cgi?id=160408

        Reviewed by Ryosuke Niwa.

        Arch Linux now ships Apache 2.4 and PHP 7, so the configuration file
        used for the layout tests is updated to be compatible with the newer
        versions.

        * http/conf/archlinux-httpd.conf: Updated.

2016-08-01  Antti Koivisto  <antti@apple.com>

        REGRESSION (r196383): Drop down CSS menus not working on cnet.com, apmex.com
        https://bugs.webkit.org/show_bug.cgi?id=160390

        Reviewed by Simon Fraser.

        * fast/selectors/hover-invalidation-descendant-dynamic-expected.txt: Added.
        * fast/selectors/hover-invalidation-descendant-dynamic.html: Added.

2016-07-31  Youenn Fablet  <youenn@apple.com>

        Fetch Response built-ins should use @makeThisTypeError
        https://bugs.webkit.org/show_bug.cgi?id=160290

        Reviewed by Darin Adler.

        * fetch/fetch-error-messages-expected.txt:
        * fetch/fetch-error-messages.html:

2016-07-31  Nan Wang  <n_wang@apple.com>

        AX: Add a check for touch event listener on iOS accessibility object
        https://bugs.webkit.org/show_bug.cgi?id=160388

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/has-touch-event-listener-expected.txt: Added.
        * accessibility/ios-simulator/has-touch-event-listener.html: Added.

2016-07-30  Mark Lam  <mark.lam@apple.com>

        Assertion failure while setting the length of an ArrayClass array.
        https://bugs.webkit.org/show_bug.cgi?id=160381
        <rdar://problem/27328703>

        Reviewed by Filip Pizlo.

        Test that RuntimeArrays will throw an error if we try to set its length.

        * platform/mac/fast/dom/wrapper-classes-objc.html:
        * platform/mac/fast/dom/wrapper-classes-objc-expected.txt:

2016-07-30  Chris Dumez  <cdumez@apple.com>

        Enable strict type checking for Window dictionary members
        https://bugs.webkit.org/show_bug.cgi?id=160356

        Reviewed by Darin Adler.

        Update existing tests to reflect behavior change.

        * fast/events/constructors/composition-event-constructor-expected.txt:
        * fast/events/constructors/composition-event-constructor.html:
        * fast/events/constructors/focus-event-constructor-expected.txt:
        * fast/events/constructors/focus-event-constructor.html:
        * fast/events/constructors/keyboard-event-constructor-expected.txt:
        * fast/events/constructors/keyboard-event-constructor.html:
        * fast/events/constructors/mouse-event-constructor.html:
        * fast/events/constructors/ui-event-constructor-expected.txt:
        * fast/events/constructors/ui-event-constructor.html:
        * fast/events/constructors/wheel-event-constructor.html:
        * platform/mac/fast/events/constructors/mouse-event-constructor-expected.txt:
        * platform/mac/fast/events/constructors/wheel-event-constructor-expected.txt:

        * resources/js-test-pre.js:
        Add a shouldThrowErrorName() utility function that is similar to shouldThrow()
        but only checks the error name instead of the full error message. Checking
        only the error name has the benefit of working across browsers and facilitating
        refactoring of error messages.

2016-07-30  Chris Dumez  <cdumez@apple.com>

        [WebIDL] Enable strict type checking for nullable attribute setters of wrapper types
        https://bugs.webkit.org/show_bug.cgi?id=160375

        Reviewed by Darin Adler.

        Rebaseline / update existing tests to reflect behavior change.

        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt:
        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html:
        * webaudio/convolver-setBuffer-null-expected.txt:
        * webaudio/convolver-setBuffer-null.html:

2016-07-30  Alexey Proskuryakov  <ap@apple.com>

        macOS Sierra test result gardening for media/video-loop.html.

        * platform/mac/TestExpectations:

2016-07-30  Alexey Proskuryakov  <ap@apple.com>

        macOS Sierra test result gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-30  Youenn Fablet  <youenn@apple.com>

        Synchronous preflight should check for successful responses
        https://bugs.webkit.org/show_bug.cgi?id=159350

        Reviewed by Darin Adler.

        * http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-not-successful.html: Added, not all tests are passing as CORS checks.
        for redirections are not well supported for synchronous loading.
        * http/tests/xmlhttprequest/resources/status-404-without-body.php:

2016-07-30  Chris Dumez  <cdumez@apple.com>

        [WebIDL] Enable strict type checking for operations' nullable parameters of wrapper types
        https://bugs.webkit.org/show_bug.cgi?id=160374

        Reviewed by Youenn Fablet.

        Update / rebaseline existing tests to reflect behavior change. Also fix
        several bugs in tests that became obvious now that we throw.

        * editing/execCommand/indent-pre-expected.txt:
        * editing/execCommand/indent-pre.html:
        * editing/selection/4895428-2.html:
        * editing/selection/move-by-word-visually-null-box.html:
        * fast/dom/DOMImplementation/detached-doctype.html:
        * fast/dom/MutationObserver/observe-attributes.html:
        * fast/dom/Node/contains-method-expected.txt:
        * fast/dom/Node/script-tests/contains-method.js:
        * fast/dom/Window/webkitConvertPoint.html:
        * fast/dom/adopt-node-crash-2.html:
        * fast/dom/incompatible-operations-expected.txt:
        * fast/dom/incompatible-operations.html:
        * fast/events/selectstart-by-arrow-keys.html:
        * fast/images/image-copy-memory-usage.html:
        * fast/xsl/xslt-processor-expected.txt:
        * http/tests/misc/webtiming-cross-origin-and-back1.html:
        * platform/mac/fast/dom/Window/webkitConvertPoint-expected.txt:
        * svg/custom/unicode-in-tspan-multi-svg-crash.html:

2016-07-29  Chris Dumez  <cdumez@apple.com>

        Window's named properties should be exposed on a WindowProperties object in its prototype
        https://bugs.webkit.org/show_bug.cgi?id=160354

        Reviewed by Gavin Barraclough.

        * fast/dom/Window/es52-globals-expected.txt:
        Update / Rebaseline test now that named properties are no longer reported as "own"
        properties on the Window object. I have verified that the test gives the
        same result in Firefox and Chrome.

        * fast/loader/window-clearing-expected.txt:
        Rebaseline test that prints one more line because there is one more
        object in Window's prototype chain.

        * http/tests/security/window-named-proto-expected.txt:
        * http/tests/security/window-named-valueOf-expected.txt:
        Rebaseline 2 security tests that give slightly different output. The new
        output is identical to the one in Firefox and Chrome. The tests are not
        failing since they are not alert'ing content from the other frame.
        The reason those tests were logging a security error is because we would
        previously prevent named property access if the frame name conflicts with
        a property name in the Window prototype, and we now no longer
        differentiate this case.

2016-07-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/xmlhttprequest/workers/methods-async.html as flaky on ios-simulator release WK2
        https://bugs.webkit.org/show_bug.cgi?id=160368

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-07-29  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/block/float/overhanging-tall-block.html for Sierra.

        Unreviewed test gardening.

        * platform/mac-elcapitan/fast/block/float/overhanging-tall-block-expected.png: Renamed from LayoutTests/platform/mac/fast/block/float/overhanging-tall-block-expected.png.
        * platform/mac-elcapitan/fast/block/float/overhanging-tall-block-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/overhanging-tall-block-expected.txt.
        * platform/mac/TestExpectations:
        * platform/mac/fast/block/float/overhanging-tall-block-expected.txt:

2016-07-29  Daniel Bates  <dabates@apple.com>

        Crash under HTMLMediaElement::{resolve, reject}PendingPlayPromises() when playback is interrupted
        https://bugs.webkit.org/show_bug.cgi?id=160366
        <rdar://problem/27317407>

        Reviewed by Eric Carlson.

        * media/non-existent-video-playback-interrupted-expected.txt: Added.
        * media/non-existent-video-playback-interrupted.html: Added.
        * media/video-playback-interrupted-expected.txt: Added.
        * media/video-playback-interrupted.html: Added.

2016-07-29  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27611932.

        * platform/mac-wk1/TestExpectations:

2016-07-29  Ryan Haddad  <ryanhaddad@apple.com>

        Test gardening on ios-simualtor after some media tests were unskipped in r203906.

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/media/audio-controls-rendering-expected.txt: Added.
        * platform/ios-simulator/media/audio-repaint-expected.txt: Added.
        * platform/ios-simulator/media/controls-strict-expected.txt: Added.
        * platform/ios-simulator/media/controls-styling-strict-expected.txt: Added.
        * platform/ios-simulator/media/controls-without-preload-expected.txt: Added.
        * platform/ios-simulator/media/media-controls-clone-expected.txt: Added.
        * platform/ios-simulator/media/track/track-cue-rendering-horizontal-expected.txt: Added.
        * platform/ios-simulator/media/track/track-cue-rendering-vertical-expected.txt: Added.
        * platform/ios-simulator/media/video-aspect-ratio-expected.txt: Added.
        * platform/ios-simulator/media/video-controls-captions-trackmenu-expected.txt: Added.
        * platform/ios-simulator/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Added.
        * platform/ios-simulator/media/video-controls-captions-trackmenu-localized-expected.txt: Added.
        * platform/ios-simulator/media/video-controls-captions-trackmenu-sorted-expected.txt: Added.
        * platform/ios-simulator/media/video-controls-rendering-expected.txt: Added.
        * platform/ios-simulator/media/video-display-toggle-expected.txt: Added.
        * platform/ios-simulator/media/video-empty-source-expected.txt: Added.
        * platform/ios-simulator/media/video-layer-crash-expected.txt: Added.
        * platform/ios-simulator/media/video-no-audio-expected.txt: Added.
        * platform/ios-simulator/media/video-transformed-expected.txt: Added.
        * platform/ios-simulator/media/video-volume-slider-expected.txt: Added.
        * platform/ios-simulator/media/video-zoom-controls-expected.txt: Added.
        * platform/ios-simulator/media/video-zoom-expected.txt: Added.

2016-07-29  Zalan Bujtas  <zalan@apple.com>

        Do not set negative rate on AVSampleBufferRenderSynchronizer.
        https://bugs.webkit.org/show_bug.cgi?id=160326
        <rdar://problem/27355214>

        Reviewed by Eric Carlson.

        Negative rate is not supported at the moment.

        * http/tests/media/media-source/mediasource-play-then-seek-back-with-remote-control-expected.txt: Added.
        * http/tests/media/media-source/mediasource-play-then-seek-back-with-remote-control.html: Added.

2016-07-29  Myles C. Maxfield  <mmaxfield@apple.com>

        [macOS Sierra] Test gardening after r198859
        https://bugs.webkit.org/show_bug.cgi?id=160358
        <rdar://problem/26422274>

        Reviewed by Zalan Bujtas.

        RTL Scrollbars are not enabled on WK1, so this test should be marked in the
        same way as all the other RTL scrollbars tests.

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

2016-07-29  Alexey Proskuryakov  <ap@apple.com>

        Remove a Sierra specific expectation for http/tests/navigation/forward-and-cancel.html,
        we already have an identical one in platform/mac.

        * platform/mac-wk1/TestExpectations:

2016-07-29  Daniel Bates  <dabates@apple.com>

        Skip some media tests that fail on iOS

        * platform/ios-simulator/TestExpectations:

2016-07-29  Myles C. Maxfield  <mmaxfield@apple.com>

        [macOS Sierra] Unskip new emoji group candidates tests
        https://bugs.webkit.org/show_bug.cgi?id=160351
        <rdar://problem/27430381>

        Reviewed by Alexey Proskuryakov.

        * platform/mac/TestExpectations:

2016-07-29  Myles C. Maxfield  <mmaxfield@apple.com>

        Backspace key removes only the rainbow from the rainbow flag
        https://bugs.webkit.org/show_bug.cgi?id=160349
        <rdar://problem/27594995>

        Reviewed by Dean Jackson.

        * platform/mac/editing/deleting/delete-emoji-expected.txt:
        * platform/mac-yosemite/editing/deleting/delete-emoji-expected.txt:
        * platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:

2016-07-29  Nan Wang  <n_wang@apple.com>

        AX: Media controls accessibility improvement
        https://bugs.webkit.org/show_bug.cgi?id=160223
        <rdar://problem/27558003>

        Reviewed by Eric Carlson.

        * accessibility/mac/video-volume-slider-accessibility-expected.txt:
        * accessibility/mac/video-volume-slider-accessibility.html:
        * accessibility/media-emits-object-replacement-expected.txt:
        * media/media-controls-accessibility-expected.txt: Added.
        * media/media-controls-accessibility.html: Added.
        * platform/efl/accessibility/media-element-expected.txt:
        * platform/efl/accessibility/media-emits-object-replacement-expected.txt:
        * platform/gtk/accessibility/media-element-expected.txt:
        * platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
        * platform/mac/accessibility/media-element-expected.txt:

2016-07-29  Daniel Bates  <dabates@apple.com>

        Unskip some media tests on iOS when run in WebKitTestRunner

        As a step towards running the various media tests on iOS, unskip LayoutTests/media
        when run in WebKitTestRunner in the iOS Simulator. Incorporate the reasons we skip some
        of the iOS tests from r189372. For now continue to skip LayoutTest/media when run in
        DumpRenderTree in the iOS Simulator as many tests crash and are otherwise flaky. Further
        investigation is required.

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

2016-07-29  George Ruan  <gruan@apple.com>

        HTMLVideoElement with MediaStream src shows paused image when all video tracks are disabled
        https://bugs.webkit.org/show_bug.cgi?id=160222
        <rdar://problem/27557313>

        Reviewed by Eric Carlson.

        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-expected.html: Added.
        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt: Added.
        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html: Added. Checks
        that the video frames display captured media if all video tracks were disabled and then a single
        video track is re-enabled. This test also checks that an initial frame is painted to
        canvas if the video has not yet been played.
        * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: Added. Reference tests the
        frames of the video to be black, since the canvas is painted black regardless of the state of the video frames
        if displayMode of MediaPlayerPrivateMediaStreamAVFObjC is PaintItBlack.
        * platform/mac-wk2/TestExpectations: MediaStream-video-element-video-tracks-disabled.html fails on El
        Capitan due to incorrect behavior of AVSampleBufferDisplayLayer's API call flushAndRemoveImage.

2016-07-29  Youenn Fablet  <youenn@apple.com>

        CrossOrigin preflight checker should compute the right Access-Control-Request-Headers value
        https://bugs.webkit.org/show_bug.cgi?id=160028

        Reviewed by Alex Christensen.

        Rebasing regular tests. Also updating skipped worker tests.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt: Added.
        * platform/mac/TestExpectations:

2016-07-28  Youenn Fablet  <youennf@gmail.com>

        Binding generator should expose the visible interface name in error messages
        https://bugs.webkit.org/show_bug.cgi?id=160192

        Reviewed by Darin Adler.

        * editing/selection/extend-expected.txt:
        * fast/dom/Window/getComputedStyle-missing-parameter-expected.txt:
        * fast/dom/Window/getComputedStyle-missing-parameter.html:
        * fetch/fetch-error-messages-expected.txt:
        * fetch/fetch-error-messages.html: Adding test for Request.
        * js/dom/toString-and-valueOf-override-expected.txt:
        * js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt:
        * js/getOwnPropertyDescriptor-window-attributes-expected.txt:
        * media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
        * media/encrypted-media/encrypted-media-v2-syntax.html:
        * webaudio/createMediaStreamSource-null-expected.txt:
        * webaudio/createMediaStreamSource-null.html:
        * webaudio/decode-audio-data-basic-expected.txt:
        * webaudio/decode-audio-data-basic.html:
        * webaudio/mediaelementaudiosourcenode-expected.txt:
        * webaudio/mediaelementaudiosourcenode.html:

2016-07-28  Chris Dumez  <cdumez@apple.com>

        Add support for Element.getAttributeNames()
        https://bugs.webkit.org/show_bug.cgi?id=160327

        Reviewed by Alex Christensen.

        Add layout test coverage. I have verified that this test is passing in
        Firefox 47.

        * fast/dom/Element/getAttributeNames-expected.txt: Added.
        * fast/dom/Element/getAttributeNames.html: Added.

2016-07-28  Chris Dumez  <cdumez@apple.com>

        window.open.length should be 0
        https://bugs.webkit.org/show_bug.cgi?id=160323

        Reviewed by Darin Adler.

        Update existing test to reflect behavior change.

        * js/dom/function-length-expected.txt:
        * js/dom/function-length.html:

2016-07-28  Chris Dumez  <cdumez@apple.com>

        Parameters to Event.initEvent() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160320

        Reviewed by Darin Adler.

        Update existing tests to make sure they call initEvent() will all 3
        parameters.

        * fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml:
        * fast/forms/form-submission-create-crash.xhtml:
        * js/arity-mismatch-at-vmentry.html:

2016-07-28  Chris Dumez  <cdumez@apple.com>

        First parameter to canvas.getContext() / probablySupportsContext() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160312

        Reviewed by Darin Adler.

        Update existing test to reflect behavior change.

        * fast/canvas/webgl/canvas-supports-context-expected.txt:
        * fast/canvas/webgl/canvas-supports-context.html:

2016-07-28  Chris Dumez  <cdumez@apple.com>

        Parameter to table.deleteRow() / body.deleteRow() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160307

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect behavior change.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

2016-07-28  Commit Queue  <commit-queue@webkit.org>

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

        The test added with this change fails on El Capitan WK2.
        (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "HTMLVideoElement with MediaStream src shows paused image when
        all video tracks are disabled"
        https://bugs.webkit.org/show_bug.cgi?id=160222
        http://trac.webkit.org/changeset/203826

2016-07-28  Alexey Proskuryakov  <ap@apple.com>

        macOS Sierra test result gardening.

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

2016-07-28  Chris Dumez  <cdumez@apple.com>

        2 first parameters to input.setSelectionRange() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160310

        Reviewed by Alex Christensen.

        Update existing test to reflect behavior change.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

2016-07-28  Chris Dumez  <cdumez@apple.com>

        Parameter to tr.deleteCell() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160308

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect behavior change.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

2016-07-28  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/dom/Window/child-window-focus.html as flaky on mac-wk2
        https://bugs.webkit.org/show_bug.cgi?id=160309

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-07-28  George Ruan  <gruan@apple.com>

        HTMLVideoElement with MediaStream src shows paused image when all video tracks are disabled
        https://bugs.webkit.org/show_bug.cgi?id=160222
        <rdar://problem/27557313>

        Reviewed by Eric Carlson.

        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-expected.html: Added.
        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt: Added.
        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html: Added. Checks
        that the video frames display captured media if all video tracks were disabled and then a single
        video track is re-enabled. This test also checks that an initial frame is painted to
        canvas if the video has not yet been played.
        * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: Added. Reference tests the
        frames of the video to be black, since the canvas is painted black regardless of the state of the video frames
        if displayMode of MediaPlayerPrivateMediaStreamAVFObjC is PaintItBlack.

2016-07-28  Ryan Haddad  <ryanhaddad@apple.com>

        Unskip some CSS tests that previously timed out on ios-simulator.

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-07-28  Chris Dumez  <cdumez@apple.com>

        First parameter to SVGDocument.createEvent() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160296

        Reviewed by Alex Christensen.

        Add test coverage.

        * svg/dom/SVGDocument-createEvent-expected.txt: Added.
        * svg/dom/SVGDocument-createEvent.html: Added.

2016-07-28  Chris Dumez  <cdumez@apple.com>

        Parameters to CanvasGradient.addColorStop() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160297

        Reviewed by Alex Christensen.

        Rebaseline existing test due to behavior change.

        * platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:

2016-07-27  Ryan Haddad  <ryanhaddad@apple.com>

        Unskip some compositing tests on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=152131

        Unreviewed test gardening.

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/compositing/overflow/overflow-compositing-descendant-expected.txt: Added.
        * platform/ios-simulator/compositing/overflow/scroll-ancestor-update-expected.txt: Added.

2016-07-28  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Streams API] Replace ReadableStreamController by ReadableStreamDefaultController
        https://bugs.webkit.org/show_bug.cgi?id=160242

        Reviewed by Youenn Fablet.

        Replaced ReadableStreamController by ReadableStreamDefaultController to align
        with updated Streams API specification.

        No change in functionality.

        * streams/readable-stream-default-controller-error-expected.txt: Renamed from LayoutTests/streams/readable-stream-controller-error-expected.txt.
        * streams/readable-stream-default-controller-error.html: Renamed from LayoutTests/streams/readable-stream-controller-error.html.
        * streams/readable-stream-error-messages-expected.txt:
        * streams/readable-stream-error-messages.html:
        * streams/reference-implementation/readable-stream-expected.txt:

2016-07-28  Youenn Fablet  <youenn@apple.com>

        Compute fetch response type in case of cross-origin requests
        https://bugs.webkit.org/show_bug.cgi?id=158565

        Reviewed by Alex Christensen.

        Rebasing fetch API tests as filtering is now done.
        Rebasing XHR tests as console messages are no longer available when trying to access non-exposed headers.

        * http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt:
        * http/tests/xmlhttprequest/access-control-response-with-expose-headers-expected.txt:
        * http/tests/xmlhttprequest/get-dangerous-headers-expected.txt:
        * http/tests/xmlhttprequest/getResponseHeader-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt:
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt:
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt:
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:

2016-07-27  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/loading/basic-credentials-sent-automatically.html as flaky on mac and ios-sim wk2
        https://bugs.webkit.org/show_bug.cgi?id=159427

        Unreivewed test gardening.

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

2016-07-27  Chris Dumez  <cdumez@apple.com>

        First parameter to HTMLMediaElement.canPlayType() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160275

        Reviewed by Ryosuke Niwa.

        Update existing tests to reflect behavior change.

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

2016-07-27  Chris Dumez  <cdumez@apple.com>

        Parameters to insertAdjacentText() / insertAdjacentHTML() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160274

        Reviewed by Darin Adler.

        Add test coverage.

        * fast/dom/Element/insertAdjacentText-parameters-expected.txt: Added.
        * fast/dom/Element/insertAdjacentText-parameters.html: Added.

2016-07-27  Chris Dumez  <cdumez@apple.com>

        Parameters to DOMParser.parseFromString() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160268

        Reviewed by Ryosuke Niwa.

        Add test coverage.

        * fast/parser/DOMParser-parameters-expected.txt: Added.
        * fast/parser/DOMParser-parameters.html: Added.

2016-07-27  Chris Dumez  <cdumez@apple.com>

        Align MediaList with the CSSOM specification
        https://bugs.webkit.org/show_bug.cgi?id=160257

        Reviewed by Ryosuke Niwa.

        * fast/css/MediaList-mediaText-null-expected.txt: Added.
        * fast/css/MediaList-mediaText-null.html: Added.
        Add test coverage for MediaList.mediaText to make sure it is not nullable
        and treats null as the empty string. Our IDL did not match the
        specification here but our behavior was correct. Therefore, this test is
        passing with and without my change. I just wanted to make sure we had
        good coverage since I updated our IDL to match the specification.

        * fast/css/MediaList-parameters-expected.txt: Added.
        * fast/css/MediaList-parameters.html: Added.
        Add test coverage for mandatory parameters.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        Update existing test to reflect behavior change.

2016-07-27  Ryan Haddad  <ryanhaddad@apple.com>

        Correct the syntax used to skip js/regress/script-tests/bigswitch-indirect-symbol.js

        Unreviewed test gardening.

        * js/regress/script-tests/bigswitch-indirect-symbol.js:

2016-07-27  Chris Dumez  <cdumez@apple.com>

        First parameter to indexed property getters should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160259

        Reviewed by Ryosuke Niwa.

        Update existing tests to reflect behavior change.

        * fast/css/webkit-keyframes-crash.html:
        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

2016-07-27  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27574303.

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-07-27  Chris Dumez  <cdumez@apple.com>

        First parameter to Document.execCommand() / queryCommand*() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160258

        Reviewed by Darin Adler.

        Add layout test coverage.

        * fast/dom/Document/editing-parameters-expected.txt: Added.
        * fast/dom/Document/editing-parameters.html: Added.

2016-07-27  Ryan Haddad  <ryanhaddad@apple.com>

        Fix a typo in TestExpectations.

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-27  Chris Dumez  <cdumez@apple.com>

        Align CSSSupportsRule with the specification
        https://bugs.webkit.org/show_bug.cgi?id=160256

        Reviewed by Darin Adler.

        * fast/css/CSSSupportsRule-parameters-expected.txt: Added.
        * fast/css/CSSSupportsRule-parameters.html: Added.
        Add layout test coverage for mandatory parameters.

        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:
        Rebaseline existing test now that CSSSupportsRule is exposed on the
        global Window object.

2016-07-27  Miguel Gomez  <magomez@igalia.com>

        [GTK] Unreviewed gardening: update expectations after r203770
        https://bugs.webkit.org/show_bug.cgi?id=160253

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-07-27  Miguel Gomez  <magomez@igalia.com>

        [GTK] Fix some video/canvas tests that should be passing
        https://bugs.webkit.org/show_bug.cgi?id=160023

        Reviewed by Carlos Garcia Campos.

        Modify the tests to use a tolerance of 6 when running on the GTK or EFL platforms. Also,
        added new expectations for the tests that need them.

        * fast/canvas/canvas-createPattern-video-loading.html:
        * fast/canvas/canvas-createPattern-video-modify.html:
        * media/video-canvas-createPattern.html:
        * platform/efl/fast/canvas/canvas-createPattern-video-loading-expected.txt: Added.
        * platform/efl/fast/canvas/canvas-createPattern-video-modify-expected.txt: Added.
        * platform/gtk/fast/canvas/canvas-createPattern-video-loading-expected.txt: Added.
        * platform/gtk/fast/canvas/canvas-createPattern-video-modify-expected.txt: Added.
        * resources/platform-helper.js: Added.
        (isGtk):
        (isEfl):
        (videoCanvasPixelComparisonTolerance):

2016-07-27  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Streams API] Replace ReadableStreamReader by ReadableStreamDefaultReader
        https://bugs.webkit.org/show_bug.cgi?id=160194

        Reviewed by Youenn Fablet.

        Replaced ReadableStreamReader by ReadableStreamDefaultReader to align
        with updated Streams API specification.

        No change in functionality.

        * streams/brand-checks.html:
        * streams/readable-stream-controller-error-expected.txt:
        * streams/readable-stream-controller-error.html:
        * streams/readable-stream-default-reader-read-expected.txt: Renamed from LayoutTests/streams/readable-stream-reader-read-expected.txt.
        * streams/readable-stream-default-reader-read.html: Renamed from LayoutTests/streams/readable-stream-reader-read.html.
        * streams/readable-stream-error-messages-expected.txt:
        * streams/readable-stream-error-messages.html:
        * streams/reference-implementation/readable-stream-reader-expected.txt:
        * streams/shadowing-Promise-expected.txt:
        * streams/shadowing-Promise.html:

2016-07-27  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Handle alignment with orthogonal flows
        https://bugs.webkit.org/show_bug.cgi?id=159295

        Reviewed by Darin Adler.

        Now that grid sizing and positioning issues wrt orthogonal flows have
        been clarified in the last spec draft, we can adapt now our alignment
        logic to work with orthogonal flows.

        These tests ensure that alignment works as expected in the cases where
        grid and its children are orthogonal.

        * fast/css-grid-layout/grid-item-alignment-with-orthogonal-flows-expected.txt: Added.
        * fast/css-grid-layout/grid-item-alignment-with-orthogonal-flows-vertical-lr-expected.txt: Added.
        * fast/css-grid-layout/grid-item-alignment-with-orthogonal-flows-vertical-lr.html: Added.
        * fast/css-grid-layout/grid-item-alignment-with-orthogonal-flows-vertical-rl-expected.txt: Added.
        * fast/css-grid-layout/grid-item-alignment-with-orthogonal-flows-vertical-rl.html: Added.
        * fast/css-grid-layout/grid-item-alignment-with-orthogonal-flows.html: Added.
        * fast/css-grid-layout/resources/grid-alignment.css:
        (.alignContentSpaceBetween):
        (.alignContentSpaceAround):
        (.alignContentSpaceEvenly):
        (.alignContentStretch):
        (.selfStart):
        (.selfEnd):
        (.selfCenter):
        (.selfRight):
        (.selfLeft):
        (.selfSelfStart):
        (.selfSelfEnd):
        (.itemsSelfEnd): Deleted.

2016-07-26  Youenn Fablet  <youennf@gmail.com>

        JS Built-ins should throw this-error messages consistently with binding generated code
        https://bugs.webkit.org/show_bug.cgi?id=160191

        Reviewed by Darin Adler.

        * fetch/fetch-error-messages-expected.txt: Added.
        * fetch/fetch-error-messages.html: Added.
        * streams/readable-stream-error-messages-expected.txt: Added.
        * streams/readable-stream-error-messages.html: Added.

2016-07-26  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] SF-Heavy is inaccessible by web content
        https://bugs.webkit.org/show_bug.cgi?id=160186
        <rdar://problem/27434423>

        Reviewed by Dean Jackson.

        * platform/ios-simulator/TestExpectations: system-font-weight-italic.html
        is expected to fail on iOS 9.
        * fast/text/system-font-weight-italic-expected.txt: Added.
        * fast/text/system-font-weight-italic.html: Added.
        * fast/text/system-font-weight-expected.txt: Added.
        * fast/text/system-font-weight.html: Added.

2016-07-26  Ryan Haddad  <ryanhaddad@apple.com>

        Skip failing JSC test regress/script-tests/bigswitch-indirect-symbol.js
        https://bugs.webkit.org/show_bug.cgi?id=160035

        Unreviewed test gardening.

        * js/regress/script-tests/bigswitch-indirect-symbol.js:

2016-07-26  Chris Dumez  <cdumez@apple.com>

        Second parameter to History.pushState() / replaceState() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160230

        Reviewed by Sam Weinig.

        * fast/history/state-api-parameters.html: Added.
        * fast/history/state-api-parameters-expected.txt: Added.
        Add layout test coverage.

        * fast/history/replacestate-nocrash.html:
        * fast/loader/stateobjects/popstate-fires-with-page-cache.html:
        Update existing tests to reflect behavior change.

2016-07-26  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/memory/tracking.html as flaky on mac-wk1 debug
        https://bugs.webkit.org/show_bug.cgi?id=160227

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-26  Chris Dumez  <cdumez@apple.com>

        Align CSSKeyframesRule with the specification
        https://bugs.webkit.org/show_bug.cgi?id=160219

        Reviewed by Darin Adler.

        Add layout test coverage.

        * animations/CSSKeyframesRule-name-null-expected.txt: Added.
        * animations/CSSKeyframesRule-name-null.html: Added.
        * animations/CSSKeyframesRule-parameters-expected.txt: Added.
        * animations/CSSKeyframesRule-parameters.html: Added.

2016-07-26  Myles C. Maxfield  <mmaxfield@apple.com>

        [iPhone] Playing a video on tudou.com plays only sound, no video
        https://bugs.webkit.org/show_bug.cgi?id=160178
        <rdar://problem/27535468>

        Reviewed by Eric Carlson and Dan Bernstein.

        * media/video-playsinline-expected.txt:
        * media/video-playsinline.html:
        * media/video-webkit-playsinline-expected.txt: Added.
        * media/video-webkit-playsinline.html: Added.

2016-07-26  Chris Dumez  <cdumez@apple.com>

        Align CSSStyleDeclaration with the specification
        https://bugs.webkit.org/show_bug.cgi?id=160214

        Reviewed by Darin Adler.

        * fast/css/CSSStyleDeclaration-cssText-null-expected.txt: Added.
        * fast/css/CSSStyleDeclaration-cssText-null.html: Added.
        Add layout test coverage for setting cssText to null. This test
        passes in WebKit, Firefox and Chrome, with or without my change.
        Our IDL wrongly reported the cssText attribute as nullable but
        WebKit was already behaving correctly.

        * fast/css/CSSStyleDeclaration-parameters-expected.txt: Added.
        * fast/css/CSSStyleDeclaration-parameters.html: Added.
        Add testing for omitting CSSStyleDeclaration API parameters, to
        make sure they are mandatory. This test passes in Firefox and
        Chrome.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        Update existing test to reflect behavior change.

2016-07-26  David Kilzer <ddkilzer@apple.com>

        Networking process crash due to missing -[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:] implementation
        https://bugs.webkit.org/show_bug.cgi?id=156947
        <rdar://problem/23325160>

        Reviewed by Alex Christensen.

        * http/tests/xmlhttprequest/auth-reject-protection-space-expected.txt: Added.
        * http/tests/xmlhttprequest/auth-reject-protection-space.html: Added.

2016-07-26  Chris Dumez  <cdumez@apple.com>

        Parameters to CSSStyleSheet.insertRule() / deleteRule() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160210

        Reviewed by Darin Adler.

        * fast/css/stylesheet-parameters-expected.txt: Added.
        * fast/css/stylesheet-parameters.html: Added.
        Add layout test coverage.

        * editing/selection/first-letter-selection-crash.html:
        * fast/css/counters/asterisk-counter-update-after-layout-crash.html:
        * fast/dom/HTMLElement/dynamic-editability-change.html:
        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        Update existing tests to reflect the behavior change.

2016-07-26  George Ruan  <gruan@apple.com>

        HTMLVideoElement frames do not update on iOS when src is a MediaStream blob
        https://bugs.webkit.org/show_bug.cgi?id=159833
        <rdar://problem/27379487>

        Reviewed by Eric Carlson.

        * fast/mediastream/MediaStream-video-element-displays-buffer-expected.txt: Added.
        * fast/mediastream/MediaStream-video-element-displays-buffer.html: Added. Checks that
        a video element with a mediastream source displays frames that are neither black or transparent.
        * fast/mediastream/resources/getUserMedia-helper.js:
        (setupVideoElementWithStream): Sets up video element with global variable mediastream.

2016-07-26  Ryosuke Niwa  <rniwa@webkit.org>

        Remove the tests for legacy custom elements API
        https://bugs.webkit.org/show_bug.cgi?id=160209

        Reviewed by Chris Dumez.

        Removed the tests for legacy custom elements v0 API. The tests for the new v1 API is at fast/custom-elements.

        * fast/dom/custom: Removed.
        * fast/dom/custom/document-register-basic-expected.txt: Removed.
        * fast/dom/custom/document-register-basic.html: Removed.
        * fast/dom/custom/document-register-namespace-expected.txt: Removed.
        * fast/dom/custom/document-register-namespace.html: Removed.
        * fast/dom/custom/document-register-reentrant-null-constructor-expected.txt: Removed.
        * fast/dom/custom/document-register-reentrant-null-constructor.html: Removed.
        * fast/dom/custom/document-register-reentrant-returning-fake-expected.txt: Removed.
        * fast/dom/custom/document-register-reentrant-returning-fake.html: Removed.
        * fast/dom/custom/document-register-reentrant-throwing-constructor-expected.txt: Removed.
        * fast/dom/custom/document-register-reentrant-throwing-constructor.html: Removed.
        * fast/dom/custom/document-register-type-extensions-expected.txt: Removed.
        * fast/dom/custom/document-register-type-extensions.html: Removed.
        * fast/dom/custom/lifecycle-ready-createElement-recursion-expected.txt: Removed.
        * fast/dom/custom/lifecycle-ready-createElement-recursion.html: Removed.
        * fast/dom/custom/lifecycle-ready-createElement-reentrancy-expected.txt: Removed.
        * fast/dom/custom/lifecycle-ready-createElement-reentrancy.html: Removed.
        * fast/dom/custom/lifecycle-ready-creation-api-expected.txt: Removed.
        * fast/dom/custom/lifecycle-ready-creation-api.html: Removed.
        * fast/dom/custom/lifecycle-ready-innerHTML-expected.txt: Removed.
        * fast/dom/custom/lifecycle-ready-innerHTML.html: Removed.
        * fast/dom/custom/lifecycle-ready-parser-only-expected.html: Removed.
        * fast/dom/custom/lifecycle-ready-parser-only.html: Removed.
        * fast/dom/custom/lifecycle-ready-parser-script-expected.txt: Removed.
        * fast/dom/custom/lifecycle-ready-parser-script.html: Removed.
        * fast/dom/custom/lifecycle-ready-paste-expected.txt: Removed.
        * fast/dom/custom/lifecycle-ready-paste.html: Removed.
        * fast/dom/custom/resources: Removed.
        * fast/dom/custom/resources/document-register-fuzz.js: Removed.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2016-07-26  Chris Dumez  <cdumez@apple.com>

        Second parameter to Range.isPointInRange() / comparePoint() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160202

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect behavior change.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

2016-07-26  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Add support for fetch mode, in particular cors
        https://bugs.webkit.org/show_bug.cgi?id=156753

        Reviewed by Darin Adler.

        Rebasing specific expectations as Maci/iOS WK2 does not like https tests.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt: Added.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt: Added.

2016-07-26  Chris Dumez  <cdumez@apple.com>

        Align NamedNodeMap with the specification
        https://bugs.webkit.org/show_bug.cgi?id=160204

        Reviewed by Darin Adler.

        * dom/html/level2/core/hc_namednodemapinvalidtype1-expected.txt: Removed.
        * dom/html/level2/core/hc_namednodemapinvalidtype1.html: Removed.
        * dom/xhtml/level2/core/hc_namednodemapinvalidtype1-expected.txt: Removed.
        * dom/xhtml/level2/core/hc_namednodemapinvalidtype1.xhtml: Removed.
        Drop outdated DOM level 2 tests that expect the wrong exception type to
        be thrown when passing a non-Attr node in.

        * fast/dom/NamedNodeMap-parameters-expected.txt: Added.
        * fast/dom/NamedNodeMap-parameters.html: Added.
        Add layout test coverage. I have verified that this test is passing in
        both Firefox and Chrome.

        * fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        Update / rebaseline existing tests to reflect behavior change.

2016-07-26  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Infinite Canvas context save() causes WebKit to crash
        https://bugs.webkit.org/show_bug.cgi?id=159586
        <rdar://problem/26759984>

        Reviewed by Simon Fraser.

        * fast/canvas/canvas-context-save-limit-expected.txt: Added.
        * fast/canvas/canvas-context-save-limit.html: Added.

2016-07-26  Youenn Fablet  <youenn@apple.com>

        DOMTokenList should be iterable
        https://bugs.webkit.org/show_bug.cgi?id=160183

        Reviewed by Chris Dumez.

        * fast/dom/domTokenListIterator-expected.txt: Added.
        * fast/dom/domTokenListIterator.html: Added.
        * fast/dom/iterable-tests.js: Added.
        * fast/dom/nodeListIterator-expected.txt:
        * fast/dom/nodeListIterator.html: Making use of iterable-tests.js

2016-07-26  John Wilander  <wilander@apple.com>

        Stop supporting compressed character sets BOCU-1 and SCSU
        https://bugs.webkit.org/show_bug.cgi?id=159581

        Reviewed by Brent Fulgham.

        WebKit should not support the compressed character sets BOCU-1 and SCSU.
        Chrome and Firefox don't and these old formats may pass server-side character
        filters while still rendering in WebKit.

        The HTML specification says "The above prohibits supporting, for example,
        CESU-8, UTF-7, BOCU-1, SCSU, EBCDIC, and UTF-32."
        https://html.spec.whatwg.org/#character-encodings

        * http/tests/misc/char-encoding-bocu-1-blacklisted-expected.txt: Added.
        * http/tests/misc/char-encoding-bocu-1-blacklisted.html: Added.
        * http/tests/misc/char-encoding-scsu-blacklisted-expected.txt: Added.
        * http/tests/misc/char-encoding-scsu-blacklisted.html: Added.
        * http/tests/misc/resources/bocu-1-cyrillic.php: Added.
        * http/tests/misc/resources/scsu-cyrillic.php: Added.

2016-07-26  Youenn Fablet  <youenn@apple.com>

        Remove ClientCredentialPolicy cross-origin option from ResourceLoaderOptions
        https://bugs.webkit.org/show_bug.cgi?id=159413

        Reviewed by Alex Christensen.

        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Removed.

2016-07-25  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] repeat() syntax should take a <track-list> argument
        https://bugs.webkit.org/show_bug.cgi?id=160162

        Reviewed by Darin Adler.

        Added new test cases with multiple tracks inside repeat() notation, both for fixed an
        automatic (auto-fill & auto-fit) repetitions.

        * fast/css-grid-layout/grid-auto-fill-columns-expected.txt:
        * fast/css-grid-layout/grid-auto-fill-columns.html:
        * fast/css-grid-layout/grid-auto-fill-rows-expected.txt:
        * fast/css-grid-layout/grid-auto-fill-rows.html:
        * fast/css-grid-layout/grid-auto-fit-columns-expected.txt:
        * fast/css-grid-layout/grid-auto-fit-columns.html:
        * fast/css-grid-layout/grid-auto-fit-rows-expected.txt:
        * fast/css-grid-layout/grid-auto-fit-rows.html:
        * fast/css-grid-layout/grid-element-auto-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-auto-repeat-get-set.html:
        * fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-repeat-get-set.html:

2016-07-25  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] grid-auto-flow|row should take a <track-size>+
        https://bugs.webkit.org/show_bug.cgi?id=160158

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
        * fast/css-grid-layout/grid-shorthand-get-set.html:
        * svg/css/getComputedStyle-basic-expected.txt: CSSPrimitiveValue -> CSSValueList.

2016-07-25  Frederic Wang  <fwang@igalia.com>

        MathOperator: Add a mapping from combining to non-combining equivalents
        https://bugs.webkit.org/show_bug.cgi?id=159513

        Reviewed by Darin Adler.

        * mathml/presentation/bug159513.html: Added.
        * platform/gtk/mathml/presentation/bug159513-expected.png: Added.
        * platform/gtk/mathml/presentation/bug159513-expected.txt: Added.
        * platform/ios-simulator/TestExpectations: Skip this test on iOS.
        * platform/mac/TestExpectations: Skip this test on Mac.

2016-07-25  Chris Dumez  <cdumez@apple.com>

        Second parameter to Range.setStart() / setEnd() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160184

        Reviewed by Ryosuke Niwa.

        Update tests to reflect behavior change.

        * editing/deleting/delete-uneditable-style.html:
        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        * fast/regions/simplified-layout-no-regions.html:

2016-07-25  Nan Wang  <n_wang@apple.com>

        AX: Expose autoFillButtonType to accessibility
        https://bugs.webkit.org/show_bug.cgi?id=160179

        Reviewed by Chris Fleizach.

        * accessibility/auto-fill-types-expected.txt:
        * accessibility/auto-fill-types.html:

2016-07-25  Chris Dumez  <cdumez@apple.com>

        Touch properties should be on the prototype
        https://bugs.webkit.org/show_bug.cgi?id=160174

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * platform/ios-simulator/ios/touch/Touch-attributes-prototype-expected.txt: Added.
        * platform/ios-simulator/ios/touch/Touch-attributes-prototype.html: Added.

2016-07-25  Chris Dumez  <cdumez@apple.com>

        ClientRect properties should be on the prototype
        https://bugs.webkit.org/show_bug.cgi?id=160165

        Reviewed by Geoffrey Garen.

        * fast/css/ClientRect-attributes-prototype-expected.txt: Added.
        * fast/css/ClientRect-attributes-prototype.html: Added.
        Add layout test to check that ClientRect's properties are on the
        prototype.

        * fast/css/ClientRect-serialization-expected.txt: Added.
        * fast/css/ClientRect-serialization.html: Added.
        Add layout test to check that ClientRect has a serializer.

2016-07-25  Chris Dumez  <cdumez@apple.com>

        Parameters to DOMImplementation.createDocumentType() should be mandatory and non-nullable
        https://bugs.webkit.org/show_bug.cgi?id=160167

        Reviewed by Ryosuke Niwa.

        * editing/selection/script-tests/DOMSelection-DocumentType.js:
        * fast/dom/DOMImplementation/createDocumentType-err-expected.txt:
        * fast/dom/DOMImplementation/script-tests/createDocumentType-err.js:
        Update existing tests to reflect the behavior change.

        * fast/dom/DOMImplementation/createDocumentType-parameters-expected.txt: Added.
        * fast/dom/DOMImplementation/createDocumentType-parameters.html: Added.
        Add layout test coverage. I have verified that this test passes on both
        Firefox and Chrome.

2016-07-25  Jiewen Tan  <jiewen_tan@apple.com>

        Rename SubtleCrypto to WebKitSubtleCrypto
        https://bugs.webkit.org/show_bug.cgi?id=160067
        <rdar://problem/27483617>

        Reviewed by Brent Fulgham.

        Move tests involving crypto.webkitSubtle from crypto/subtle to crypto/webkitSubtle.

        * crypto/webkitSubtle/gc-2-expected.txt: Renamed from LayoutTests/crypto/subtle/gc-2-expected.txt.
        * crypto/webkitSubtle/gc-2.html: Renamed from LayoutTests/crypto/subtle/gc-2.html.
        * crypto/webkitSubtle/gc-3-expected.txt: Renamed from LayoutTests/crypto/subtle/gc-3-expected.txt.
        * crypto/webkitSubtle/gc-3.html: Renamed from LayoutTests/crypto/subtle/gc-3.html.
        * crypto/webkitSubtle/gc-expected.txt: Renamed from LayoutTests/crypto/subtle/gc-expected.txt.
        * crypto/webkitSubtle/gc.html: Renamed from LayoutTests/crypto/subtle/gc.html.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/win/TestExpectations:

2016-07-25  Brady Eidson  <beidson@apple.com>

        Allow LocalStorage by default for file URLs.
        https://bugs.webkit.org/show_bug.cgi?id=160169

        Reviewed by Brent Fulgham.

        * storage/domstorage/localstorage/blocked-file-access-expected.txt: Removed.
        * storage/domstorage/localstorage/file-can-access-expected.txt: Added.
        * storage/domstorage/localstorage/file-can-access.html: Renamed from LayoutTests/storage/domstorage/localstorage/blocked-file-access.html.
        * storage/domstorage/localstorage/resources/unblocked-example.html: Renamed from LayoutTests/storage/domstorage/localstorage/resources/blocked-example.html.

2016-07-25  Nan Wang  <n_wang@apple.com>

        AX: AccessibilityRenderObject is adding duplicated children when CSS first-letter is being used.
        https://bugs.webkit.org/show_bug.cgi?id=160155

        Reviewed by Chris Fleizach.

        * accessibility/mac/css-first-letter-children-expected.txt: Added.
        * accessibility/mac/css-first-letter-children.html: Added.

2016-07-24  Wenson Hsieh  <wenson_hsieh@apple.com>

        The web process hangs when computing elements-based snap points for a container with large max scroll offset
        https://bugs.webkit.org/show_bug.cgi?id=152605
        <rdar://problem/25353661>

        Reviewed by Simon Fraser.

        Adds a scroll snap offset computation test case that would have previously
        caused the web process to hang before this patch.

        * css3/scroll-snap/scroll-snap-elements-container-larger-than-children-expected.txt: Added.
        * css3/scroll-snap/scroll-snap-elements-container-larger-than-children.html: Added.

2016-07-25  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Implement repeat(auto-fit)
        https://bugs.webkit.org/show_bug.cgi?id=159771

        Reviewed by Darin Adler.

        Uncommented the auto-fit cases. Split the Mozilla's 005 test in two because it was not
        possible to fit all the content in a viewport without scrollbars.

        * fast/css-grid-layout/grid-auto-fit-columns-expected.txt: Added.
        * fast/css-grid-layout/grid-auto-fit-columns.html: Added.
        * fast/css-grid-layout/grid-auto-fit-rows-expected.txt: Added.
        * fast/css-grid-layout/grid-auto-fit-rows.html: Added.
        * fast/css-grid-layout/grid-element-auto-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-auto-repeat-get-set.html:
        * fast/css-grid-layout/grid-only-abspos-item-computed-style-crash-expected.txt:
        * fast/css-grid-layout/grid-only-abspos-item-computed-style-crash.html:
        * fast/css-grid-layout/grid-positioned-items-padding-expected.txt:
        * fast/css-grid-layout/grid-positioned-items-padding.html:
        * fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment-expected.txt:
        * fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-001-expected.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-001.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-002-expected.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-002.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-003-expected.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-003.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-004-expected.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-004.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-1-expected.html: Renamed from LayoutTests/fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-expected.html.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-1.html: Copied from LayoutTests/fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005.html.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-2-expected.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-2.html: Renamed from LayoutTests/fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005.html.

2016-07-24  Nan Wang  <n_wang@apple.com>

        AX: Video Controls: Volume cannot be adjusted using VO.
        https://bugs.webkit.org/show_bug.cgi?id=160107

        Reviewed by Dean Jackson.

        * accessibility/mac/video-volume-slider-accessibility-expected.txt: Added.
        * accessibility/mac/video-volume-slider-accessibility.html: Added.

2016-07-24  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r203106): Crash in WebCore::MathMLElement::parseMathMLLength()
        <https://webkit.org/b/160111>
        <rdar://problem/27506489>

        Reviewed by Chris Dumez.

        * mathml/mpadded-crash-expected.txt: Added.
        * mathml/mpadded-crash.html: Added.

2016-07-24  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening after r203626.
        https://bugs.webkit.org/show_bug.cgi?id=160102
        <rdar://problem/27453479>

        Unreviewed.

        * platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:
        * platform/mac-yosemite/editing/deleting/delete-emoji-expected.txt:

2016-07-24  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Layout test security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html timing out
        https://bugs.webkit.org/show_bug.cgi?id=160128

        Unreviewed, skip the tests.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test expectations fixups

        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Even more unreviewed flaky GTK test gardening

        * TestExpectations:
        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed flaky test gardening for GTK

        Mostly more fallout from threaded compositor

        * TestExpectations:
        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        More unreviewed GTK gardening

        Update expectations for tests timing out

        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        More unreviewed GTK gardening

        Mark more flaky crashes after enabling threaded compositor

        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        More unreviewed GTK gardening, mark even more new passes after enabling threaded compositor

        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK gardening, mark many emoji gender tests passing

        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed test gardening

        These tests are flaky now on GTK, passing about half the time.

        * TestExpectations:
        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK gardening new passes after enabling threaded compositor

        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed test expectation gardening

        Skip layout test editing/deleting/delete-emoji.html 

        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, move some GTK expectations to more appropriate locations

        * platform/gtk/TestExpectations:

2016-07-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, add GTK expectations for threaded compositor regressions

        * platform/gtk/TestExpectations:

2016-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        [Coordinated Graphics] Lots of flaky tests
        https://bugs.webkit.org/show_bug.cgi?id=160118

        Reviewed by Michael Catanzaro.

        * fast/fixed-layout/fixed-layout.html: Remove the onresize handler when the test finishes to ensure it can't be
        called later affecting other tests.

2016-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        [Coordinated Graphics] Test imported/blink/svg/custom/svg-image-layers-crash.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=160078

        Reviewed by Michael Catanzaro.

        * platform/efl/TestExpectations: Remove imported/blink/svg/custom/svg-image-layers-crash.html.

2016-07-23  Commit Queue  <commit-queue@webkit.org>

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

        It broke make-based builds (Requested by youenn on #webkit).

        Reverted changeset:

        "[Fetch API] Request should be created with any HeadersInit
        data"
        https://bugs.webkit.org/show_bug.cgi?id=159672
        http://trac.webkit.org/changeset/203641

2016-07-23  Frederic Wang  <fwang@igalia.com>

        Reset font-style on the <math> element
        https://bugs.webkit.org/show_bug.cgi?id=160074

        Reviewed by Darin Adler.

        * mathml/presentation/math-font-style-expected.html: Added.
        * mathml/presentation/math-font-style.html: Added.

2016-07-23  Frederic Wang  <fwang@igalia.com>

        [MathML] PaintInfo state not properly restored after applyTransform.
        https://bugs.webkit.org/show_bug.cgi?id=160077

        Reviewed by Simon Fraser.

        * mathml/presentation/bug160077-expected-mismatch.html: Added.
        * mathml/presentation/bug160077.html: Added.

2016-07-22  Myles C. Maxfield  <mmaxfield@apple.com>

        All dancers with bunny ears are female
        https://bugs.webkit.org/show_bug.cgi?id=160102
        <rdar://problem/27453479>

        Reviewed by Simon Fraser.

        * editing/deleting/delete-emoji.html:
        * platform/mac/editing/deleting/delete-emoji-expected.txt:
        * fast/text/emoji-gender-2-9-expected.html:
        * fast/text/emoji-gender-2-9.html:
        * fast/text/emoji-gender-9-expected.html:
        * fast/text/emoji-gender-9.html:
        * fast/text/emoji-gender-fe0f-9-expected.html:
        * fast/text/emoji-gender-fe0f-9.html:

2016-07-22  Chris Dumez  <cdumez@apple.com>

        Parameter to HTMLCollection.item() / namedItem() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160099

        Reviewed by Sam Weinig.

        Update existing test to reflect behavior change.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

2016-07-22  Chris Dumez  <cdumez@apple.com>

        First parameter to Window.getComputedStyle() should be mandatory and non-nullable
        https://bugs.webkit.org/show_bug.cgi?id=160097

        Reviewed by Ryosuke Niwa.

        Add test coverage.

        * fast/dom/Window/getComputedStyle-missing-parameter-expected.txt: Added.
        * fast/dom/Window/getComputedStyle-missing-parameter.html: Added.

2016-07-22  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webaudio/audionode-connect-order.html as a flaky crash on mac-wk1 debug
        https://bugs.webkit.org/show_bug.cgi?id=105870

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-22  Ryan Haddad  <ryanhaddad@apple.com>

        Marking userscripts/window-onerror-for-isolated-world-3.html as a flaky failure on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=160101

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-22  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Remove unused code from Debounce layout test
        https://bugs.webkit.org/show_bug.cgi?id=160049
        <rdar://problem/27479713>

        Reviewed by Joseph Pecoraro.

        * inspector/unit-tests/debounce-expected.txt:
        Updated with new delay times.

        * inspector/unit-tests/debounce.html:
        Remove unused code that was copy-pasted from other tests, and reduced
        delay times from 100ms to 10ms to speed up test.

2016-07-22  Chris Dumez  <cdumez@apple.com>

        Fix default parameter values for window.alert() / prompt() / confirm()
        https://bugs.webkit.org/show_bug.cgi?id=160085

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect behavior change.

        * fast/dom/Window/alert-undefined-expected.txt:
        * fast/dom/Window/alert-undefined.html:

2016-07-22  Daniel Bates  <dabates@apple.com>

        CSP: object-src and plugin-types directives are not respected for plugin replacements
        https://bugs.webkit.org/show_bug.cgi?id=159761
        <rdar://problem/27365724>

        Reviewed by Brent Fulgham.

        Add layout tests to ensure that we apply the CSP object-src and plugin-types directives to content
        that loads with either the QuickTime plugin replacement or YouTube plugin replacement.

        * security/contentSecurityPolicy/object-src-none-blocks-quicktime-plugin-replacement-expected.txt: Added.
        * security/contentSecurityPolicy/object-src-none-blocks-quicktime-plugin-replacement.html: Added.
        * security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement-expected.txt: Added.
        * security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html: Added.
        * security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement-expected.txt: Added.
        * security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html: Added.
        * security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement-expected.txt: Added.
        * security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html: Added.
        * security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-expected.txt: Added.
        * security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-without-mime-type-expected.txt: Added.
        * security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-without-mime-type.html: Added.
        * security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement.html: Added.
        * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-expected.txt: Added.
        * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type-expected.txt: Added.
        * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html: Added.
        * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html: Added.

2016-07-22  Chris Dumez  <cdumez@apple.com>

        Parameters to Node.replaceChild() / insertBefore() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160091

        Reviewed by Darin Adler.

        Update existing tests due to the behavior change.

        * fast/block/basic/empty-anonymous-block-remove-crash.html:
        * fast/html/details-summary-document-child.html:
        * fast/repaint/focus-ring-with-negative-offset-repaint.html:
        * svg/animations/mpath-remove-from-dependents-on-delete-crash.html:

2016-07-22  Chris Dumez  <cdumez@apple.com>

        First parameter to getElementById() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160087

        Reviewed by Darin Adler.

        Add layout test coverage for SVGSVGElement.getElementById().

        * svg/dom/SVGSVGElement-getElementById-expected.txt: Added.
        * svg/dom/SVGSVGElement-getElementById.html: Added.

2016-07-22  Ryan Haddad  <ryanhaddad@apple.com>

        Correct a TestExpectation by changing it from Failure to ImageOnlyFailure

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Make parameters to Element.getElementsBy*() operations mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160060

        Reviewed by Darin Adler.

        Drop cases that were calling the operation without parameter.
        
        * fast/dom/getElementsByClassName/dumpHTMLCollection-expected.txt:
        * fast/dom/getElementsByClassName/dumpHTMLCollection.html:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Make parameters mandatory for attribute-related API on Element
        https://bugs.webkit.org/show_bug.cgi?id=160059

        Reviewed by Ryosuke Niwa.

        Update existing layout tests to reflect the behavior change.

        * fast/dom/Element/script-tests/setAttributeNS-namespace-err.js:
        * fast/dom/Element/setAttributeNS-namespace-err-expected.txt:
        * fast/dom/HTMLHrElement/hr-color-noshade-attribute.html:
        * fast/dom/attribute-downcast-right.html:
        * fast/images/style-access-during-imageChanged-style-freeze.html:
        * fast/selectors/read-only-read-write-input-basics.html:
        * fast/selectors/read-only-read-write-textarea-basics.html:
        * media/video-playsinline-expected.txt:
        * media/video-playsinline.html:

2016-07-21  Dean Jackson  <dino@apple.com>

        REGRESSION (r202927): The internal size of the ImageBuffer is scaled twice by the context scaleFactor
        https://bugs.webkit.org/show_bug.cgi?id=159981
        <rdar://problem/27429465>

        Reviewed by Myles Maxfield.

        * fast/hidpi/pdf-image-scaled-expected.html: Added.
        * fast/hidpi/pdf-image-scaled.html: Added.
        * fast/hidpi/resources/circle.pdf: Added.

2016-07-21  John Wilander  <wilander@apple.com>

        Block mixed content synchronous XHR
        https://bugs.webkit.org/show_bug.cgi?id=105462
        <rdar://problem/13666424>

        Reviewed by Brent Fulgham.

        * http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame.html: Added.
        * http/tests/security/mixedContent/resources/insecure-xhr-sync-in-main-frame-window.html: Added.

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Make parameters to Document.getElementsBy*() operations mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160050

        Reviewed by Daniel Bates.

        Drop cases that were calling the operation without parameter.

        * fast/dom/getElementsByClassName/dumpHTMLCollection-expected.txt:
        * fast/dom/getElementsByClassName/dumpHTMLCollection.html:

2016-07-21  Nan Wang  <n_wang@apple.com>

        AX: aria-label not being used correctly in accessible name calculation of heading
        https://bugs.webkit.org/show_bug.cgi?id=160009

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/heading-with-aria-label-expected.txt: Added.
        * accessibility/ios-simulator/heading-with-aria-label.html: Added.

2016-07-21  Ryan Haddad  <ryanhaddad@apple.com>

        Move expected.txt file for editing/deleting/delete-emoji.html from mac-elcapitan to mac-yosemite

        Unreviewed test gardening.

        * platform/mac-yosemite/editing/deleting/delete-emoji-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/deleting/delete-emoji-expected.txt.

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Make parameters mandatory for Document.create*() operations
        https://bugs.webkit.org/show_bug.cgi?id=160047

        Reviewed by Ryosuke Niwa.

        Update existing tests to reflect the behavior change.

        * compositing/geometry/assert-marquee-timer.html:
        * editing/style/bold-with-dom-changes.html:
        * fast/dom/MutationObserver/observe-characterdata.html:
        * fast/dom/normalize-attributes-mutation-event-crash.html:
        * fast/dom/null-chardata-crash.html:
        * fast/dom/wrapper-classes-expected.txt:
        * fast/dom/wrapper-classes.html:
        * fast/forms/basic-textareas.html:
        * fast/inspector-support/uncaught-dom1-exception-expected.txt:
        * fast/inspector-support/uncaught-dom1-exception.html:

2016-07-21  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.html as flaky on mac
        https://bugs.webkit.org/show_bug.cgi?id=160056

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-21  Myles C. Maxfield  <mmaxfield@apple.com>

        [macOS] Caret placement occurs in the middle of new emoji group candidates
        https://bugs.webkit.org/show_bug.cgi?id=160008
        <rdar://problem/27430111>

        Reviewed by Simon Fraser.

        Update expected results.

        The new emoji support is behind the ADDITIONAL_EMOJI_SUPPORT guard, which
        means it only occurs on El Capitan and higher. Similarly, these new rules
        are not used for iOS.

        * editing/deleting/delete-emoji-expected.txt: Deleted.
        * platform/mac/editing/deleting/delete-emoji-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-expected.txt: Added.
        * platform/ios-simulator/editing/deleting/delete-emoji-expected.txt: Added.

2016-07-21  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27475162.

        * platform/mac/TestExpectations:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Fix null handling of SVGAngle/SVGLength.valueAsString attribute
        https://bugs.webkit.org/show_bug.cgi?id=160025

        Reviewed by Ryosuke Niwa.

        Add test coverage.

        * svg/dom/svg-element-attribute-js-null-expected.txt:
        * svg/dom/svg-element-attribute-js-null.xhtml:
        * svg/dom/valueAsString-null-expected.txt: Added.
        * svg/dom/valueAsString-null.html: Added.
        There are a couple of failures in this test because WebKit ignores
        assignments to "" instead of throwing. Firefox passes all the checks.

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Fix null handling of HTMLFontElement.color
        https://bugs.webkit.org/show_bug.cgi?id=160036

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect behavior change.

        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Fix null handling for several HTMLTableElement attributes
        https://bugs.webkit.org/show_bug.cgi?id=160041

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect the behavior change.

        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Fix null handling for HTMLObjectElement.border
        https://bugs.webkit.org/show_bug.cgi?id=160040

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect the behavior change.

        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Fix null handling for td.bgColor / tr.bgColor
        https://bugs.webkit.org/show_bug.cgi?id=160043

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect the behavior change.

        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-07-21  Daniel Bates  <dabates@apple.com>

        Test platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=160002

        Reviewed by Alexey Proskuryakov.

        The file platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html tests loading
        plugin content from the main frame and from a subframe. Depending on timing the plugin
        content loaded in the subframe may complete before plugin content loaded in the main frame.
        We should test loading plugin content in a subframe after perform all main frame sub-tests
        so as to ensure a well-defined sub-test order.

        Add logic to ensure that an embedded YouTube flash video loaded in a subframe actually creates
        a shadow DOM. Additionally, simplify the test logic by making use window.jsTestIsAsync/finishJSTest()
        to mark the test as asynchronous and notify test completion instead of calling
        window.testRunner.{waitUntilDone, notifyDone}(), remove the call to
        testRunner.dumpAsText() (js-test-pre.js calls this for us), remove all of the DOM elements
        used in the test to avoid noise in the expected results, and fix some style nits.

        * platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-expected.txt:
        * platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Fix null handling for several HTMLBodyElement attributes
        https://bugs.webkit.org/show_bug.cgi?id=160044

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect the behavior change.

        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Fix null handling for HTMLIFrameElement.marginWidth / marginHeight
        https://bugs.webkit.org/show_bug.cgi?id=160037

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect the behavior change.

        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Fix null handling for HTMLImageElement.border
        https://bugs.webkit.org/show_bug.cgi?id=160039

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect the behavior change.

        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-07-21  Daniel Bates  <dabates@apple.com>

        REGRESSION: Plugin replaced YouTube Flash videos always have the same width
        https://bugs.webkit.org/show_bug.cgi?id=159998
        <rdar://problem/27462285>

        Reviewed by Simon Fraser.

        Unskip existing iOS layout tests, update tests and expected results.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-expected.txt: Updated expected result based on the
        changes to test youtube-flash-plugin-iframe.html.
        * platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-no-height-or-width-expected.txt: Updated expected result
        based on the changes to test youtube-flash-plugin-iframe-no-height-or-width.html.
        * platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-no-height-or-width.html: Modified to check the
        width of each embedded YouTube video to ensure that we respect it (if specified).
        * platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html: Substitute pseudo id -webkit-plugin-replacement
        for -apple-youtube-shadow-iframe as the later was renamed to the former in <https://trac.webkit.org/changeset/168442>.
        Fix misspelling of the word "embed" in a comment.

2016-07-21  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/codemirror/prettyprinting-javascript.html as a flaky timeout on mac debug.
        https://bugs.webkit.org/show_bug.cgi?id=160048

        Unreviewed test gardening.

        Added TestExpectation and reordered alphabetically.

        * platform/mac/TestExpectations:

2016-07-21  Myles C. Maxfield  <mmaxfield@apple.com>

        [iPhone] Playing a video on tudou.com plays only sound, no video
        https://bugs.webkit.org/show_bug.cgi?id=159967
        <rdar://problem/26964090>

        Reviewed by Jon Lee, Jeremy Jones, and Anders Carlsson.

        * media/video-playsinline.html: Updated.
        * media/video-webkit-playsinline-expected.txt: Removed.
        * media/video-webkit-playsinline.html: Removed.

2016-07-21  Ryan Haddad  <ryanhaddad@apple.com>

        Marking accessibility/mac/value-change/value-change-user-info-contenteditable.html as flaky on El Capitan WK2
        https://bugs.webkit.org/show_bug.cgi?id=160042

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        The 2 first parameters to DOMImplementation.createDocument() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=160030

        Reviewed by Sam Weinig.

        Rebaseline / update existing test to reflect the behavior change.

        * fast/css/zoom-on-unattached.html:
        * fast/dom/DOMImplementation/createDocument-namespace-err-expected.txt:
        * fast/dom/DOMImplementation/script-tests/createDocument-namespace-err.js:
        * fast/dom/HTMLLinkElement/prefetch-detached.html:
        * fast/dom/node-move-to-new-document-crash-main.html:
        * fast/forms/change-form-element-document-crash.html:

2016-07-21  Csaba Osztrogonác  <ossy@webkit.org>

        Clarify testing mode names in run-jsc-stress-tests
        https://bugs.webkit.org/show_bug.cgi?id=160021

        Reviewed by Mark Lam.

        Default should mean really default, not default with disabled FTL, renamed
        - runMozillaTestDefault to runMozillaTestNoFTL
        - runMozillaTestDefaultFTL to runMozillaTestDefault
        - runDefault to runNoFTL
        - runDefaultFTL to runDefault
        - runLayoutTestDefault to runLayoutTestNoFTL
        - runLayoutTestDefaultFTL to runLayoutTestDefault
        - runNoisyTestDefault to runNoisyTestNoFTL
        - runNoisyTestDefaultFTL to runNoisyTestDefault

        * js/regress/script-tests/DataView-custom-properties.js:
        * js/regress/script-tests/HashMap-put-get-iterate-keys.js:
        * js/regress/script-tests/HashMap-put-get-iterate.js:
        * js/regress/script-tests/HashMap-string-put-get-iterate.js:
        * js/regress/script-tests/array-nonarray-polymorhpic-access.js:
        * js/regress/script-tests/basic-set.js:
        * js/regress/script-tests/bug-153431.js:
        * js/regress/script-tests/destructuring-arguments.js:
        * js/regress/script-tests/destructuring-swap.js:
        * js/regress/script-tests/inline-arguments-local-escape.js:
        * js/regress/script-tests/method-on-number.js:
        * js/regress/script-tests/new-array-buffer-push.js:
        * js/regress/script-tests/new-array-push.js:
        * js/regress/script-tests/poly-stricteq.js:
        * js/regress/script-tests/polymorphic-array-call.js:
        * js/regress/script-tests/regexp-prototype-is-not-instance.js:
        * js/regress/script-tests/regexp-prototype-search-observable-side-effects.js:
        * js/regress/script-tests/regexp-prototype-search-observable-side-effects2.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js:
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js:
        * js/regress/script-tests/regexp-prototype-test-observable-side-effects.js:
        * js/regress/script-tests/regexp-prototype-test-observable-side-effects2.js:
        * js/regress/script-tests/string-equality.js:
        * js/regress/script-tests/string-prototype-search-observable-side-effects.js:
        * js/regress/script-tests/string-prototype-search-observable-side-effects2.js:
        * js/regress/script-tests/string-prototype-search-observable-side-effects3.js:
        * js/regress/script-tests/string-prototype-search-observable-side-effects4.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects2.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js:
        * js/regress/script-tests/string-prototype-split-observable-side-effects4.js:
        * js/regress/script-tests/string-repeat-arith.js:
        * js/regress/script-tests/string-sub.js:
        * js/slow-stress/script-tests/destructuring-arguments-length.js:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        playsInline IDL attribute has the wrong casing
        https://bugs.webkit.org/show_bug.cgi?id=160029
        <rdar://problem/27474031>

        Reviewed by Jon Lee.

        Update test to use the correct case.

        * media/video-playsinline-expected.txt:
        * media/video-playsinline.html:

2016-07-21  Chris Dumez  <cdumez@apple.com>

        Drop [TreatNullAs=EmptyString] from CanvasRenderingContext2D.globalCompositeOperation
        https://bugs.webkit.org/show_bug.cgi?id=160026

        Reviewed by Sam Weinig.

        Add test coverage.

        * fast/canvas/context-globalCompositeOperation-null-expected.txt: Added.
        * fast/canvas/context-globalCompositeOperation-null.html: Added.

2016-07-21  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Gardening: Layout tests expectations updates and test rebaselines.

        Unreviewed.

        * TestExpectations: js/regress-139548.html is ~10x slower since r203142.
        * fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt: Rebaseline after r203333.
        * fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt: Rebaseline after r203333.
        * fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt: Rebaseline after r203333.
        * fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt: Rebaseline after r203333.
        * platform/efl/TestExpectations: workers/bomb.html is slow.
        * platform/gtk/TestExpectations: workers/bomb.html is slow, media/media-source/media-source-small-gap.html timeouts
          and new failure on platform/gtk/scrollbars/main-frame-scrollbar-horizontal-wheel-scroll.html.

2016-07-21  Ryan Haddad  <ryanhaddad@apple.com>

        Update test expectations for rdar://problem/27353750.

        * platform/mac/TestExpectations:

2016-07-21  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Handle min-content/max-content with orthogonal flows
        https://bugs.webkit.org/show_bug.cgi?id=159294

        Reviewed by Darin Adler.

        New layout tests to evaluate basic positioning and sizing using orthogonal flows.

        * fast/css-grid-layout/grid-item-positioning-with-orthogonal-flows-expected.txt: Added.
        * fast/css-grid-layout/grid-item-positioning-with-orthogonal-flows.html: Added.
        * fast/css-grid-layout/grid-item-sizing-with-orthogonal-flows-expected.txt: Added.
        * fast/css-grid-layout/grid-item-sizing-with-orthogonal-flows.html: Added.
        * fast/css-grid-layout/grid-item-spanning-and-orthogonal-flows-expected.txt: Added.
        * fast/css-grid-layout/grid-item-spanning-and-orthogonal-flows.html: Added.
        * fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows-expected.txt: Added.
        * fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows.html: Added.
        * fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows-expected.txt: Added.
        * fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows.html: Added.

2016-07-20  Youenn Fablet  <youenn@apple.com>

        [XHR] Cache response JS object in case of arraybuffer and blob response types
        https://bugs.webkit.org/show_bug.cgi?id=128903

        Reviewed by Alex Christensen.

        * http/tests/xmlhttprequest/onabort-response-getters-expected.txt:
        * http/tests/xmlhttprequest/onabort-response-getters.html:

2016-07-19  Filip Pizlo  <fpizlo@apple.com>

        Switching on symbols should be fast
        https://bugs.webkit.org/show_bug.cgi?id=158892

        Reviewed by Keith Miller.

        * js/regress/bigswitch-indirect-expected.txt: Added.
        * js/regress/bigswitch-indirect-symbol-expected.txt: Added.
        * js/regress/bigswitch-indirect-symbol-or-undefined-expected.txt: Added.
        * js/regress/bigswitch-indirect-symbol-or-undefined.html: Added.
        * js/regress/bigswitch-indirect-symbol.html: Added.
        * js/regress/bigswitch-indirect.html: Added.
        * js/regress/implicit-bigswitch-indirect-symbol-expected.txt: Added.
        * js/regress/implicit-bigswitch-indirect-symbol.html: Added.
        * js/regress/script-tests/bigswitch-indirect-symbol-or-undefined.js: Added.
        (foo):
        * js/regress/script-tests/bigswitch-indirect-symbol.js: Added.
        (foo):
        * js/regress/script-tests/bigswitch-indirect.js: Added.
        (foo):
        * js/regress/script-tests/implicit-bigswitch-indirect-symbol.js: Added.
        (foo):

2016-07-20  Chris Dumez  <cdumez@apple.com>

        Fix null handling of several Document attributes
        https://bugs.webkit.org/show_bug.cgi?id=159997

        Reviewed by Ryosuke Niwa.

        Add test coverage.

        * http/tests/dom/document-attributes-null-handling-expected.txt: Added.
        * http/tests/dom/document-attributes-null-handling.html: Added.
        * fast/dom/document-attribute-js-null-expected.txt:
        * fast/dom/document-attribute-js-null.html:

2016-07-20  Commit Queue  <commit-queue@webkit.org>

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

        many iOS-simulator tests are failing (Requested by litherum on
        #webkit).

        Reverted changeset:

        "[iPhone] Playing a video on tudou.com plays only sound, no
        video"
        https://bugs.webkit.org/show_bug.cgi?id=159967
        http://trac.webkit.org/changeset/203471

2016-07-20  Jiewen Tan  <jiewen_tan@apple.com>

        Fix timeout of imported/w3c/WebCryptoAPI/idlharness.html
        https://bugs.webkit.org/show_bug.cgi?id=159979

        Reviewed by Alex Christensen.

        * TestExpectations:
        Remove the skip tuple of the test.

2016-07-20  Chris Dumez  <cdumez@apple.com>

        Stop using valueToStringWithNullCheck() in JSCSSStyleDeclaration::putDelegate()
        https://bugs.webkit.org/show_bug.cgi?id=159982

        Reviewed by Ryosuke Niwa.

        Add layout test coverage for JSCSSStyleDeclaration::putDelegate(),
        covering cases like setting to null or the empty String, to make
        sure we behave according to specification.

        * fast/css/CSSStyleDeclaration-property-setter-expected.txt: Added.
        * fast/css/CSSStyleDeclaration-property-setter.html: Added.

2016-07-20  Chris Dumez  <cdumez@apple.com>

        Fix null handling of HTMLFrameElement.marginWidth / marginHeight
        https://bugs.webkit.org/show_bug.cgi?id=159987

        Reviewed by Ryosuke Niwa.

        Update existing test to reflect the expected behavior change.

        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:

2016-07-20  Myles C. Maxfield  <mmaxfield@apple.com>

        [iPhone] Playing a video on tudou.com plays only sound, no video
        https://bugs.webkit.org/show_bug.cgi?id=159967
        <rdar://problem/26964090>

        Reviewed by Jon Lee.

        * media/video-playsinline.html: Updated.
        * media/video-webkit-playsinline-expected.txt: Removed.
        * media/video-webkit-playsinline.html: Removed.

2016-07-20  Chris Dumez  <cdumez@apple.com>

        CSSStyleDeclaration.setProperty() should be able to unset "important" on a property
        https://bugs.webkit.org/show_bug.cgi?id=159959

        Reviewed by Alexey Proskuryakov.

        * fast/css/CSSStyleDeclaration-setProperty-unset-important-expected.txt: Added.
        * fast/css/CSSStyleDeclaration-setProperty-unset-important.html: Added.
        Add layout test coverage.

        * fast/css/important-js-override.html:
        The test covered our 'wrong' behavior and was failing in Firefox / Chrome.
        I updated the test to match the behavior in the specification. The test
        now passed in Chrome and Firefox.

2016-07-20  Commit Queue  <commit-queue@webkit.org>

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

        The test for this change is failing on Mac Release WK2
        (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "HTMLVideoElement frames do not update on iOS when src is a
        MediaStream blob"
        https://bugs.webkit.org/show_bug.cgi?id=159833
        http://trac.webkit.org/changeset/203423

2016-07-20  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27434307.

        * platform/mac/TestExpectations:

2016-07-20  Chris Dumez  <cdumez@apple.com>

        Fix null handling of HTMLSelectElement.value attribute
        https://bugs.webkit.org/show_bug.cgi?id=159925

        Reviewed by Benjamin Poulain.

        Add layout test coverage. I have verified that this test is passing in
        both Firefox and Chrome.

        * fast/dom/HTMLSelectElement/value-null-handling-expected.txt: Added.
        * fast/dom/HTMLSelectElement/value-null-handling.html: Added.

2016-07-20  Ryan Haddad  <ryanhaddad@apple.com>

        Consolidating duplicate TestExpectations for fast/images/animated-png.html.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-19  Chris Dumez  <cdumez@apple.com>

        Fix null handling of SVGScriptElement.type attribute
        https://bugs.webkit.org/show_bug.cgi?id=159927

        Reviewed by Benjamin Poulain.

        Rebaseline existing test to reflect the behavior change.

        * svg/dom/svg-element-attribute-js-null-expected.txt:
        * svg/dom/svg-element-attribute-js-null.xhtml:

2016-07-19  Chris Dumez  <cdumez@apple.com>

        Fix null handling of several HTMLDocument attributes
        https://bugs.webkit.org/show_bug.cgi?id=159923

        Reviewed by Benjamin Poulain.

        Add layout test coverage. I have verified that this test is passing in
        both Firefox and Chrome.

        * fast/dom/HTMLDocument/null-handling-expected.txt: Added.
        * fast/dom/HTMLDocument/null-handling.html: Added.

2016-07-19  Chris Dumez  <cdumez@apple.com>

        Document.createElementNS() / createAttributeNS() parameters should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=159938

        Reviewed by Benjamin Poulain.

        Update / rebaseline existing tests to reflect the behavior change.

        * fast/dom/Document/createAttributeNS-namespace-err-expected.txt:
        * fast/dom/Document/createElementNS-namespace-err-expected.txt:
        * fast/dom/Document/script-tests/createAttributeNS-namespace-err.js:
        * fast/dom/Document/script-tests/createElementNS-namespace-err.js:
        * fast/dom/attribute-downcast-right.html:

2016-07-19  Benjamin Poulain  <bpoulain@apple.com>

        Use getElementById for attribute matching if the attribute name is html's id
        https://bugs.webkit.org/show_bug.cgi?id=159960

        Reviewed by Chris Dumez.

        * fast/selectors/id-attribute-querySelector-used-as-id-selector-expected.txt: Added.
        * fast/selectors/id-attribute-querySelector-used-as-id-selector-quirks-expected.txt: Added.
        * fast/selectors/id-attribute-querySelector-used-as-id-selector-quirks.html: Added.
        * fast/selectors/id-attribute-querySelector-used-as-id-selector.html: Added.

2016-07-19  Chris Dumez  <cdumez@apple.com>

        Drop SVGElement.xmlbase attribute
        https://bugs.webkit.org/show_bug.cgi?id=159926

        Reviewed by Benjamin Poulain.

        * svg/dom/SVGElement-xmlbase-expected.txt: Added.
        * svg/dom/SVGElement-xmlbase.html: Added.
        Check that SVGElement.xmlbase does not exist.

        * svg/dom/svg-element-attribute-js-null-expected.txt:
        * svg/dom/svg-element-attribute-js-null.xhtml:
        Drop obsolete testing for SVGElement.xmlbase.

2016-07-19  Chris Dumez  <cdumez@apple.com>

        Align CSSStyleDeclaration.setProperty() with the specification
        https://bugs.webkit.org/show_bug.cgi?id=159955

        Reviewed by Benjamin Poulain.

        Add layout test coverage.

        * fast/css/CSSStyleDeclaration-setProperty-expected.txt: Added.
        * fast/css/CSSStyleDeclaration-setProperty.html: Added.
        * fast/css/shorthand-priority.html:

2016-07-19  Daniel Bates  <dabates@apple.com>

        CSP: Improve support for multiple policies to more closely conform to the CSP Level 2 spec.
        https://bugs.webkit.org/show_bug.cgi?id=159841
        <rdar://problem/27381684>

        Reviewed by Brent Fulgham.

        * http/tests/security/contentSecurityPolicy/1.1/resources/scripthash-in-enforced-policy-and-not-in-report-only.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/resources/scripthash-in-one-enforced-policy-neither-in-another-enforced-policy-nor-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/resources/scriptnonce-in-enforced-policy-and-not-in-report-only.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/resources/scriptnonce-in-one-enforced-policy-neither-in-another-enforced-policy-nor-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-in-enforced-policy-and-not-in-report-only-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-in-enforced-policy-and-not-in-report-only.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-in-one-enforced-policy-neither-in-another-enforced-policy-nor-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-in-one-enforced-policy-neither-in-another-enforced-policy-nor-report-policy.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-multiple-policies-expected.txt: Update expected result to reflect additional console
        messages. We will remove these extraneous console messages as part of the fix for <https://bugs.webkit.org/show_bug.cgi?id=159832>.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-enforced-policy-and-blocked-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-enforced-policy-and-blocked-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-in-enforced-policy-and-not-in-report-only-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-in-enforced-policy-and-not-in-report-only.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-in-one-enforced-policy-neither-in-another-enforced-policy-nor-report-policy-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-in-one-enforced-policy-neither-in-another-enforced-policy-nor-report-policy.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-multiple-policies-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-multiple-policies.html: Added.

2016-07-19  Chris Dumez  <cdumez@apple.com>

        autocapitalize attribute should not use [TreatNullAs=LegacyNullString]
        https://bugs.webkit.org/show_bug.cgi?id=159934

        Reviewed by Benjamin Poulain.

        Add layout test coverage.

        * platform/ios-simulator/ios/fast/forms/autocapitalize-null-expected.txt: Added.
        * platform/ios-simulator/ios/fast/forms/autocapitalize-null.html: Added.

2016-07-19  George Ruan  <gruan@apple.com>

        HTMLVideoElement frames do not update on iOS when src is a MediaStream blob
        https://bugs.webkit.org/show_bug.cgi?id=159833
        <rdar://problem/27379487>

        Reviewed by Eric Carlson.

        * fast/mediastream/MediaStream-video-element-displays-buffer-expected.txt: Added.
        * fast/mediastream/MediaStream-video-element-displays-buffer.html: Added. Checks that
        a video element with a mediastream source displays frames that are neither black or transparent.
        * fast/mediastream/resources/getUserMedia-helper.js:
        (setupVideoElementWithStream): Sets up video element with global variable mediastream.

2016-07-19  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27356144.

        * platform/mac/TestExpectations:

2016-07-19  Zalan Bujtas  <zalan@apple.com>

        theguardian.co.uk crossword puzzles are sometimes not displaying text
        https://bugs.webkit.org/show_bug.cgi?id=159924
        <rdar://problem/27409483>

        Reviewed by Simon Fraser.

        * fast/misc/subtree-layouts-expected.html: Added.
        * fast/misc/subtree-layouts.html: Added.

2016-07-19  Nan Wang  <n_wang@apple.com>

        AX: Incorrect behavior for word related text marker functions when there's collapsed whitespace
        https://bugs.webkit.org/show_bug.cgi?id=159910

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-word-nav-collapsed-whitespace-expected.txt: Added.
        * accessibility/mac/text-marker-word-nav-collapsed-whitespace.html: Added.

2016-07-19  Youenn Fablet  <youenn@apple.com>

        [Streams API] ReadableStreamController methods should throw if its stream is not readable
        https://bugs.webkit.org/show_bug.cgi?id=159871

        Reviewed by Xabier Rodriguez-Calvar.

        * streams/reference-implementation/pipe-to-options.html: Updated test case according whatwg original test.
        * streams/reference-implementation/readable-stream-templated.html: Ditto.

2016-07-19  Simon Fraser  <simon.fraser@apple.com>

        Bubbles appear split for a brief moment in Messages
        https://bugs.webkit.org/show_bug.cgi?id=159915
        rdar://problem/27182267

        Reviewed by David Hyatt.

        * fast/repaint/scrolled-view-full-repaint-expected.txt: Added.
        * fast/repaint/scrolled-view-full-repaint.html: Added.
        * platform/ios-simulator-wk1/fast/repaint/scrolled-view-full-repaint-expected.txt: Added.
        * platform/mac-wk1/fast/repaint/scrolled-view-full-repaint-expected.txt: Added.

2016-07-19  Youenn Fablet  <youenn@apple.com>

        [Release WK2] LayoutTest imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm failing
        https://bugs.webkit.org/show_bug.cgi?id=159724

        Unreviewed.

        * TestExpectations: Marking test as failure,passs,crash.
        * platform/ios-simulator-wk2/TestExpectations: Removing specific expectation.
        * platform/mac-wk2/TestExpectations: Ditto.

2016-07-19  Chris Dumez  <cdumez@apple.com>

        form.enctype / encoding / method should treat null as "null" string
        https://bugs.webkit.org/show_bug.cgi?id=159916

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/dom/HTMLFormElement/null-handling-expected.txt: Added.
        * fast/dom/HTMLFormElement/null-handling.html: Added.

2016-07-19  Youenn Fablet  <youenn@apple.com>

        Add new aliases to http test server
        https://bugs.webkit.org/show_bug.cgi?id=159878

        Reviewed by Darin Adler.

        * http/tests/xmlhttprequest/set-bad-headervalue.html: Updating testharness.js and testharnessreport.js links to
        ensure these new links are working on test servers.

2016-07-18  Chris Dumez  <cdumez@apple.com>

        input.formEnctype / formMethod and button.formEnctype / formMethod / type should treat null as "null"
        https://bugs.webkit.org/show_bug.cgi?id=159908

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * fast/dom/HTMLButtonElement/change-type-expected.txt:
        * fast/dom/HTMLButtonElement/change-type.html:
        * fast/dom/HTMLButtonElement/null-handling-expected.txt: Added.
        * fast/dom/HTMLButtonElement/null-handling.html: Added.
        * fast/dom/HTMLInputElement/null-handling-expected.txt: Added.
        * fast/dom/HTMLInputElement/null-handling.html: Added.
        * fast/forms/submit-form-attributes-expected.txt:
        * fast/forms/submit-form-attributes.html:

2016-07-18  Joseph Pecoraro  <pecoraro@apple.com>

        Make builtin TypeErrors consistent
        https://bugs.webkit.org/show_bug.cgi?id=159899

        Reviewed by Keith Miller.

        * js/array-find-expected.txt:
        * js/array-findIndex-expected.txt:
        * js/array-includes-expected.txt:
        * js/dom/array-prototype-properties-expected.txt:
        * js/dom/script-tests/string-prototype-properties.js:
        * js/dom/string-prototype-properties-expected.txt:
        * js/script-tests/array-find.js:
        * js/script-tests/array-findIndex.js:
        * js/script-tests/string-localeCompare.js:
        * js/string-localeCompare-expected.txt:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T3-expected.txt:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T3-expected.txt:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:

2016-07-18  Chris Dumez  <cdumez@apple.com>

        EventTarget.dispatchEvent() parameter should not be nullable
        https://bugs.webkit.org/show_bug.cgi?id=159897

        Reviewed by Benjamin Poulain.

        Update layout tests as the message of the TypeError exception being
        thrown when calling dispatchEvent(null) is now more helpful.

        * fast/dom/Window/dispatchEvent-expected.txt:
        * fast/events/dispatchEvent-crash-expected.txt:

2016-07-17  Filip Pizlo  <fpizlo@apple.com>

        Implement table-based switches in B3/Air
        https://bugs.webkit.org/show_bug.cgi?id=151141

        Reviewed by Benjamin Poulain.

        * js/regress/bigswitch-expected.txt: Added.
        * js/regress/bigswitch.html: Added.
        * js/regress/script-tests/bigswitch.js: Added.
        (foo):

2016-07-18  Chris Dumez  <cdumez@apple.com>

        DocType's publicId / systemId should not be nullable
        https://bugs.webkit.org/show_bug.cgi?id=159901

        Reviewed by Benjamin Poulain.

        Add test coverage for comparison of DocumentType nodes
        using isEqualNode(). This tests used to fail and now passes.
        The test passes in Firefox and Chrome as well.

        * fast/dom/DocumentType/isEqualNode-expected.txt: Added.
        * fast/dom/DocumentType/isEqualNode.html: Added.

2016-07-18  Jeremy Jones  <jeremyj@apple.com>

        If previous media session interruptions were prevented, still allow subsequent interruptions to try.
        https://bugs.webkit.org/show_bug.cgi?id=157553
        rdar://problem/25740804

        Reviewed by Eric Carlson.

        When suspending under lock on iOS, there is first a resign active event, then a
        suspend under lock. PiP prevents resign active from interrupting playback. But it should allow the
        suspend under lock to interrupt playback.

        Currently if there are nested interruptions only the first one is acted upon.

        This change allows subsequent, nested interruptions to have a chance to interrupt playback if the
        previous interruptions were ignored.

        This test is for iPad only, so it must be run manually.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/media/video-interruption-suspendunderlock-expcted.txt: Added.
        * platform/ios-simulator/media/video-interruption-suspendunderlock.html: Added.

2016-07-18  Brent Fulgham  <bfulgham@apple.com>

        Don't associate form-associated elements with forms in other trees.
        https://bugs.webkit.org/show_bug.cgi?id=119451
        <rdar://problem/27382946>

        Change is based on the Blink change (patch by <adamk@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/0b33128be67e7845d495d5219614c02ccfe7a414>

        Reviewed by Chris Dumez.

        * fast/forms/image-disconnected-during-parse-expected.txt: Added.
        * fast/forms/image-disconnected-during-parse.html: Added.
        * fast/forms/input-disconnected-during-parse-expected.txt: Added.
        * fast/forms/input-disconnected-during-parse.html: Added.

2016-07-18  Dean Jackson  <dino@apple.com>

        REGRESSION (r202950): Image zoom animations are broken at medium.com (159861)
        https://bugs.webkit.org/show_bug.cgi?id=159906
        <rdar://problem/27391725>

        Reviewed by Simon Fraser.

        The fix for webkit.org/b/157569 in r200769 broke AMP pages.
        The followup fix for webkit.org/b/159450 in r202950 broke Medium pages.

        Revert them both until we have better testing.

        * animations/fill-mode-forwards-zero-duration.html:
        * animations/play-state-start-paused.html:
        * animations/script-tests/spring-parsing.js:
        (testSpring):
        * animations/spring-parsing-expected.txt:
        * animations/unprefixed-properties-expected.txt:
        * animations/unprefixed-properties.html:
        * fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt:
        * fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt:

2016-07-18  Andreas Kling  <akling@apple.com>

        There should be a way to simulate memory pressure in layout tests
        <https://webkit.org/b/159743>

        Reviewed by Simon Fraser.

        Add a basic test for the new APIs.

        * memory/memory-pressure-simulation-expected.txt: Added.
        * memory/memory-pressure-simulation.html: Added.

2016-07-18  Said Abou-Hallawa  <sabouhallawa@apple.com>

        [iOS] PDFDocumentImage should cache only a sub image of the PDF when caching the whole image is expensive
        https://bugs.webkit.org/show_bug.cgi?id=158715

        Reviewed by Dean Jackson.
        
        Make sure the PDF image will be displayed at the correct position if caching
        the PDF image is disabled.

        * fast/images/displaced-non-cached-pdf-expected.html: Added.
        * fast/images/displaced-non-cached-pdf.html: Added.

2016-07-18  Chris Dumez  <cdumez@apple.com>

        The 2 first parameters to addEventListener() / removeEventListener() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=158008

        Reviewed by Darin Adler.

        * fast/dom/Window/window-legacy-event-listener-expected.txt: Removed.
        * fast/dom/Window/window-legacy-event-listener.html: Removed.
        * fast/dom/XMLHttpRequest-legacy-event-listener-expected.txt: Removed.
        * fast/dom/XMLHttpRequest-legacy-event-listener.html: Removed.
        * fast/dom/node-legacy-event-listener-expected.txt: Removed.
        * fast/dom/node-legacy-event-listener.html: Removed.
        Drop legacy tests that expect the addEventListener() / removeEventListener()
        parameters to be optional.

        * fast/dom/eventtarget-api-parameters-expected.txt: Added.
        * fast/dom/eventtarget-api-parameters.html: Added.
        Add layout test to check that the 2 first parameters of addEventListener()
        and removeEventListener() are now mandatory. It also checks that the
        second parameter is nullable.

        * media/video-remote-control-playpause.html:
        Drop useless call to addEventListener() without a listener as it now throws.

2016-07-18  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed, rolling out r203373.

        Unaddressed

        Reverted changeset:

        "Don't associate form-associated elements with forms in other
        trees."
        https://bugs.webkit.org/show_bug.cgi?id=119451
        http://trac.webkit.org/changeset/203373

2016-07-18  Brent Fulgham  <bfulgham@apple.com>

        Don't associate form-associated elements with forms in other trees.
        https://bugs.webkit.org/show_bug.cgi?id=119451
        <rdar://problem/27382946>

        Change is based on the Blink change (patch by <adamk@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/0b33128be67e7845d495d5219614c02ccfe7a414>

        Reviewed by Zalan Bujtas.

        * fast/forms/image-disconnected-during-parse-expected.txt: Added.
        * fast/forms/image-disconnected-during-parse.html: Added.
        * fast/forms/input-disconnected-during-parse-expected.txt: Added.
        * fast/forms/input-disconnected-during-parse.html: Added.

2016-07-18  Ryan Haddad  <ryanhaddad@apple.com>

        Marking storage/indexeddb/modern/handle-user-delete.html as flaky on mac-wk2
        https://bugs.webkit.org/show_bug.cgi?id=159896

        Unreviewed test gardening.

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

2016-07-18  Filip Pizlo  <fpizlo@apple.com>

        Repeatedly creating and destroying workers that enqueue DFG plans can outpace the DFG worklist, which then causes VM shutdown to stall, which then causes a memory growth
        https://bugs.webkit.org/show_bug.cgi?id=159754

        Reviewed by Geoffrey Garen.
        
        Adds two tests that create a lot of workers that do sophisticated things. These are
        long-running tests so we may want to skip them. It's OK if we end up only running them
        manually occasionally.

        * workers: Added.
        * workers/bomb.html: Added.
        * workers/bomb-expected.txt: Added.
        * workers/bomb-with-v8.html: Added.
        * workers/tests: Added.
        * workers/tests/3d-cube.js: Added.
        * workers/tests/3d-morph.js: Added.
        * workers/tests/3d-raytrace.js: Added.
        * workers/tests/access-binary-trees.js: Added.
        * workers/tests/access-fannkuch.js: Added.
        * workers/tests/access-nbody.js: Added.
        * workers/tests/access-nsieve.js: Added.
        * workers/tests/bitops-3bit-bits-in-byte.js: Added.
        * workers/tests/bitops-bits-in-byte.js: Added.
        * workers/tests/bitops-bitwise-and.js: Added.
        * workers/tests/bitops-nsieve-bits.js: Added.
        * workers/tests/controlflow-recursive.js: Added.
        * workers/tests/crypto-aes.js: Added.
        * workers/tests/crypto-md5.js: Added.
        * workers/tests/crypto-sha1.js: Added.
        * workers/tests/date-format-tofte.js: Added.
        * workers/tests/date-format-xparb.js: Added.
        * workers/tests/math-cordic.js: Added.
        * workers/tests/math-partial-sums.js: Added.
        * workers/tests/math-spectral-norm.js: Added.
        * workers/tests/regexp-dna.js: Added.
        * workers/tests/string-base64.js: Added.
        * workers/tests/string-fasta.js: Added.
        * workers/tests/string-tagcloud.js: Added.
        * workers/tests/string-unpack-code.js: Added.
        * workers/tests/string-validate-input.js: Added.
        * workers/tests/v8-crypto.js: Added.
        * workers/tests/v8-deltablue.js: Added.
        * workers/tests/v8-earley-boyer.js: Added.
        * workers/tests/v8-raytrace.js: Added.
        * workers/tests/v8-regexp.js: Added.
        * workers/tests/v8-richards.js: Added.
        * workers/tests/v8-splay.js: Added.

2016-07-18  Ryan Haddad  <ryanhaddad@apple.com>

        Marking storage/indexeddb/modern/abort-requests-cancelled.html as flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=156070

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-17  Filip Pizlo  <fpizlo@apple.com>

        Object.preventExtensions/seal/freeze makes code much slower
        https://bugs.webkit.org/show_bug.cgi?id=143247

        Reviewed by Michael Saboff.
        
        These tests now run ~25x faster.

        * js/regress/freeze-and-do-work-expected.txt: Added.
        * js/regress/freeze-and-do-work.html: Added.
        * js/regress/prevent-extensions-and-do-work-expected.txt: Added.
        * js/regress/prevent-extensions-and-do-work.html: Added.
        * js/regress/script-tests/freeze-and-do-work.js: Added.
        (Foo):
        * js/regress/script-tests/prevent-extensions-and-do-work.js: Added.
        (Foo):
        * js/regress/script-tests/seal-and-do-work.js: Added.
        (Foo):
        * js/regress/seal-and-do-work-expected.txt: Added.
        * js/regress/seal-and-do-work.html: Added.

2016-07-18  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm as flaky on mac-debug WK1
        https://bugs.webkit.org/show_bug.cgi?id=159893

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-18  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/video-load-preload-metadata.html as flaky on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=128312

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-15  Filip Pizlo  <fpizlo@apple.com>

        DFG and FTL should support op_call_eval
        https://bugs.webkit.org/show_bug.cgi?id=159786

        Reviewed by Saam Barati.

        * js/regress/eval-compute-expected.txt: Added.
        * js/regress/eval-compute.html: Added.
        * js/regress/eval-not-eval-compute-args-expected.txt: Added.
        * js/regress/eval-not-eval-compute-args.html: Added.
        * js/regress/eval-not-eval-compute-expected.txt: Added.
        * js/regress/eval-not-eval-compute.html: Added.
        * js/regress/script-tests/eval-compute.js: Added.
        (foo):
        * js/regress/script-tests/eval-not-eval-compute-args.js: Added.
        (foo):
        (i.result.foo):
        * js/regress/script-tests/eval-not-eval-compute.js: Added.
        (foo):
        (i.result.foo):

2016-07-12  Filip Pizlo  <fpizlo@apple.com>

        DFG should really support jneq_ptr
        https://bugs.webkit.org/show_bug.cgi?id=159700

        Reviewed by Keith Miller.
        
        These tests now run super fast.

        * js/regress/apply-not-apply-expected.txt: Added.
        * js/regress/apply-not-apply.html: Added.
        * js/regress/call-or-not-call-expected.txt: Added.
        * js/regress/call-or-not-call.html: Added.
        * js/regress/script-tests/apply-not-apply.js: Added.
        (let.o.apply):
        (foo):
        * js/regress/script-tests/call-or-not-call.js: Added.
        (let.o.call):
        (foo):

2016-07-18  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/shapes/shape-outside-floats/shape-outside-big-box-border-radius-002.html as flaky on ios-sim
        https://bugs.webkit.org/show_bug.cgi?id=159881

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-07-18  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/loading/basic-auth-resend-wrong-credentials.html as flaky on Mac and iOS WK2
        https://bugs.webkit.org/show_bug.cgi?id=159884

        Unreviewed test gardening.

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

2016-07-12  Filip Pizlo  <fpizlo@apple.com>

        OSR entry into DFG has problems with lexical scoping
        https://bugs.webkit.org/show_bug.cgi?id=159687

        Reviewed by Saam Barati.

        * js/regress/script-tests/strict-osr-entry.js: Added.
        (let.o.apply_):
        * js/regress/strict-osr-entry-expected.txt: Added.
        * js/regress/strict-osr-entry.html: Added.

2016-07-18  Youenn Fablet  <youenn@apple.com>

        [Streams API] ReadableStream should throw a RangeError in case of NaN highWaterMark
        https://bugs.webkit.org/show_bug.cgi?id=159870

        Reviewed by Xabier Rodriguez-Calvar.

        * streams/reference-implementation/bad-strategies.html: Reflecting isNaN change in WritableStream test.

2016-07-17  Frederic Wang  <fwang@igalia.com>

        Rebaseline Windows and EFL MathML pixel tests after r203289.
        https://bugs.webkit.org/show_bug.cgi?id=158866

        Unreviewed test gardening.

        * platform/efl/mathml/opentype/vertical-expected.txt:
        * platform/efl/mathml/presentation/mo-stretch-expected.txt:
        * platform/win/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/win/mathml/opentype/vertical-expected.txt:
        * platform/win/mathml/presentation/mo-stretch-expected.txt:

2016-07-17  Brady Eidson  <beidson@apple.com>

        Update DOMCoreException to use the description in toString().
        https://bugs.webkit.org/show_bug.cgi?id=159857

        Reviewed by Darin Adler.

        * canvas/philip/tests/2d.missingargs.html:
        * crypto/crypto-random-values-limits-expected.txt:
        * crypto/crypto-random-values-types-expected.txt:
        * crypto/subtle/aes-cbc-wrong-key-class-expected.txt:
        * crypto/subtle/aes-kw-key-manipulation-expected.txt:
        * crypto/subtle/argument-conversion-expected.txt:
        * crypto/subtle/hmac-check-algorithm-expected.txt:
        * crypto/subtle/hmac-generate-key-expected.txt:
        * crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
        * crypto/subtle/sha-1-expected.txt:
        * crypto/subtle/unwrapKey-check-usage-expected.txt:
        * crypto/subtle/wrapKey-check-usage-expected.txt:
        * css3/supports-cssom-expected.txt:
        * editing/pasteboard/data-transfer-items-expected.txt:
        * editing/selection/extend-expected.txt:
        * fast/canvas/canvas-createImageData-expected.txt:
        * fast/canvas/canvas-ellipse-negative-radius-expected.txt:
        * fast/canvas/canvas-getImageData-invalid-expected.txt:
        * fast/canvas/canvas-getImageData-invalid-result-buffer-crash-expected.txt:
        * fast/canvas/canvas-gradient-addStop-error-expected.txt:
        * fast/canvas/canvas-imageData-expected.txt:
        * fast/canvas/canvas-overloads-drawImage-expected.txt:
        * fast/canvas/canvas-pattern-behaviour-expected.txt:
        * fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt:
        * fast/canvas/script-tests/canvas-createImageData.js:
        * fast/canvas/script-tests/canvas-getImageData-invalid.js:
        * fast/canvas/script-tests/canvas-imageData.js:
        * fast/canvas/script-tests/canvas-overloads-drawImage.js:
        * fast/canvas/script-tests/gradient-addColorStop-with-invalid-color.js:
        * fast/css/CSSPrimitiveValue-exceptions-expected.txt:
        * fast/css/css3-nth-tokens-script-expected.txt:
        * fast/css/css3-nth-tokens-script.html:
        * fast/css/getFloatValueForUnit-expected.txt:
        * fast/css/getFloatValueForUnit.html:
        * fast/css/insert-rule-overflow-rule-data-expected.txt:
        * fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt:
        * fast/css/parsing-css-attribute-case-insensitive-value-2-expected.txt:
        * fast/css/parsing-css-attribute-case-insensitive-value-3-expected.txt:
        * fast/css/parsing-css-attribute-case-insensitive-value-3.html:
        * fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt:
        * fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html:
        * fast/css/parsing-css-matches-5-expected.txt:
        * fast/css/parsing-css-matches-5.html:
        * fast/css/parsing-css-matches-6-expected.txt:
        * fast/css/parsing-css-matches-6.html:
        * fast/css/parsing-css-matches-7-expected.txt:
        * fast/css/parsing-css-matches-7.html:
        * fast/css/parsing-css-matches-8-expected.txt:
        * fast/css/parsing-css-matches-8.html:
        * fast/css/parsing-css-not-5-expected.txt:
        * fast/css/parsing-css-not-5.html:
        * fast/css/parsing-css-not-6-expected.txt:
        * fast/css/parsing-css-not-6.html:
        * fast/css/parsing-css-not-7-expected.txt:
        * fast/css/parsing-css-not-7.html:
        * fast/css/parsing-css-not-8-expected.txt:
        * fast/css/parsing-css-not-8.html:
        * fast/css/parsing-css-not-9-expected.txt:
        * fast/css/parsing-css-not-9.html:
        * fast/css/parsing-css-nth-child-of-3-expected.txt:
        * fast/css/parsing-css-nth-child-of-3.html:
        * fast/css/parsing-css-nth-child-of-4-expected.txt:
        * fast/css/parsing-css-nth-child-of-4.html:
        * fast/css/parsing-css-nth-last-child-of-3-expected.txt:
        * fast/css/parsing-css-nth-last-child-of-3.html:
        * fast/css/parsing-css-nth-last-child-of-4-expected.txt:
        * fast/css/parsing-css-nth-last-child-of-4.html:
        * fast/css/resources/CSSPrimitiveValue-exceptions.js:
        * fast/dom/DOMException/prototype-object-expected.txt:
        * fast/dom/DOMException/prototype-object.html:
        * fast/dom/DOMException/stack-trace-expected.txt:
        * fast/dom/DOMException/stack-trace.html:
        * fast/dom/Document/createElement-invalid-names-expected.txt:
        * fast/dom/Document/createElement-invalid-names.html:
        * fast/dom/Document/invalid-domain-change-throws-exception-expected.txt:
        * fast/dom/Document/replace-child-expected.txt:
        * fast/dom/Document/script-tests/invalid-domain-change-throws-exception.js:
        * fast/dom/Element/class-list-toggle-expected.txt:
        * fast/dom/Element/class-list-toggle.html:
        * fast/dom/Element/prefix-setter-exception-expected.txt:
        * fast/dom/Geolocation/argument-types-expected.txt:
        * fast/dom/Geolocation/not-enough-arguments-expected.txt:
        * fast/dom/Geolocation/script-tests/argument-types.js:
        (test):
        * fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
        * fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
        * fast/dom/HTMLElement/set-invalid-value-expected.txt:
        * fast/dom/HTMLElement/set-invalid-value.html:
        * fast/dom/HTMLInputElement/input-size-attribute-expected.txt:
        * fast/dom/HTMLInputElement/input-size-attribute.html:
        * fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:
        * fast/dom/HTMLMeterElement/set-meter-properties-expected.txt:
        * fast/dom/HTMLProgressElement/script-tests/set-progress-properties.js:
        * fast/dom/HTMLProgressElement/set-progress-properties-expected.txt:
        * fast/dom/HTMLSelectElement/options-collection-add-expected.txt:
        * fast/dom/HTMLSelectElement/select-add-optgroup-expected.txt:
        * fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
        * fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
        * fast/dom/HTMLTableElement/nullable-attributes-expected.txt:
        * fast/dom/HTMLTableElement/nullable-attributes.html:
        * fast/dom/HTMLTemplateElement/cycles-expected.txt:
        * fast/dom/HTMLTemplateElement/cycles-in-shadow-expected.txt:
        * fast/dom/Node/initial-values-expected.txt:
        * fast/dom/ParentNode-append-expected.txt:
        * fast/dom/ParentNode-prepend-expected.txt:
        * fast/dom/Range/31684-expected.txt:
        * fast/dom/Range/clone-contents-document-type-expected.txt:
        * fast/dom/Range/clone-contents-document-type.html:
        * fast/dom/Range/compareBoundaryPoints-1.html:
        * fast/dom/Range/compareBoundaryPoints-compareHow-exception-expected.txt:
        * fast/dom/Range/compareBoundaryPoints-compareHow-exception.html:
        * fast/dom/Range/extract-contents-document-type-expected.txt:
        * fast/dom/Range/extract-contents-document-type.html:
        * fast/dom/Range/range-comparePoint-detached-nodes-expected.txt:
        * fast/dom/Range/range-comparePoint-detached-nodes.html:
        * fast/dom/Range/range-exceptions-expected.txt:
        * fast/dom/Range/range-intersectsNode-expected.txt:
        * fast/dom/Range/script-tests/31684.js:
        * fast/dom/Range/script-tests/range-exceptions.js:
        * fast/dom/Range/surroundContents-1.html:
        * fast/dom/Selection/collapseToX-empty-selection-expected.txt:
        * fast/dom/Selection/script-tests/collapseToX-empty-selection.js:
        * fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
        * fast/dom/SelectorAPI/dumpNodeList-expected.txt:
        * fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
        * fast/dom/Text/splitText-expected.txt:
        * fast/dom/Text/splitText.html:
        * fast/dom/Window/anonymous-slot-with-changes-expected.txt:
        * fast/dom/Window/atob-btoa-expected.txt:
        * fast/dom/Window/custom-constructors-expected.txt:
        * fast/dom/Window/dispatchEvent-expected.txt:
        * fast/dom/Window/invalid-protocol-expected.txt:
        * fast/dom/Window/window-postmessage-clone-expected.txt:
        * fast/dom/computed-style-set-property-expected.txt:
        * fast/dom/createElementNS-namespace-errors-expected.txt:
        * fast/dom/createElementNS-namespace-errors.html:
        * fast/dom/css-mediarule-functions-expected.txt:
        * fast/dom/css-mediarule-functions.html:
        * fast/dom/custom/document-register-basic-expected.txt:
        * fast/dom/custom/document-register-basic.html:
        * fast/dom/custom/document-register-type-extensions-expected.txt:
        * fast/dom/custom/document-register-type-extensions.html:
        * fast/dom/dataset-expected.txt:
        * fast/dom/dataset-xhtml-expected.txt:
        * fast/dom/document-set-body-null-expected.txt:
        * fast/dom/document-set-body-null.html:
        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
        * fast/dom/node-prefix-setter-namespace-exception-expected.txt:
        * fast/dom/outerText-no-element-expected.txt:
        * fast/dom/processing-instruction-appendChild-exceptions-expected.txt:
        * fast/dom/processing-instruction-appendChild-exceptions.xhtml:
        * fast/dom/rel-list-expected.txt:
        * fast/dom/script-tests/dataset-xhtml.js:
        * fast/dom/script-tests/dataset.js:
        * fast/dom/setAttributeNS-namespace-errors-expected.txt:
        * fast/dom/setAttributeNS-namespace-errors.html:
        * fast/dom/setPrimitiveValue-exceptions-expected.txt:
        * fast/dom/setPrimitiveValue-expected.txt:
        * fast/dynamic/insertAdjacentElement-expected.txt:
        * fast/dynamic/insertAdjacentHTML-expected.txt:
        * fast/dynamic/insertAdjacentText-expected.txt:
        * fast/dynamic/outerHTML-no-element-expected.txt:
        * fast/events/dispatch-event-being-dispatched-expected.txt:
        * fast/events/dispatch-event-being-dispatched.html:
        * fast/events/message-port-clone-expected.txt:
        * fast/events/message-port-multi-expected.txt:
        * fast/events/mutation-during-append-child-expected.txt:
        * fast/events/mutation-during-append-child.html:
        * fast/events/mutation-during-insert-before-expected.txt:
        * fast/events/mutation-during-insert-before.html:
        * fast/events/mutation-during-replace-child-2-expected.txt:
        * fast/events/mutation-during-replace-child-2.html:
        * fast/events/mutation-during-replace-child-expected.txt:
        * fast/events/mutation-during-replace-child.html:
        * fast/eventsource/eventsource-constructor-expected.txt:
        * fast/forms/color/color-setrangetext-expected.txt:
        * fast/forms/date/date-setrangetext-expected.txt:
        * fast/forms/date/date-stepup-stepdown-expected.txt:
        * fast/forms/date/date-stepup-stepdown.html:
        * fast/forms/date/input-valueasnumber-date-expected.txt:
        * fast/forms/date/input-valueasnumber-date.html:
        * fast/forms/datetime/datetime-setrangetext-expected.txt:
        * fast/forms/datetime/datetime-stepup-stepdown-expected.txt:
        * fast/forms/datetime/datetime-stepup-stepdown.html:
        * fast/forms/datetime/input-valueasnumber-datetime-expected.txt:
        * fast/forms/datetime/input-valueasnumber-datetime.html:
        * fast/forms/datetimelocal/datetimelocal-setrangetext-expected.txt:
        * fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt:
        * fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html:
        * fast/forms/datetimelocal/input-valueasnumber-datetimelocal-expected.txt:
        * fast/forms/datetimelocal/input-valueasnumber-datetimelocal.html:
        * fast/forms/file/file-setrangetext-expected.txt:
        * fast/forms/file/input-file-value-expected.txt:
        * fast/forms/hidden/hidden-setrangetext-expected.txt:
        * fast/forms/image/image-setrangetext-expected.txt:
        * fast/forms/input-maxlength-expected.txt:
        * fast/forms/input-maxlength.html:
        * fast/forms/input-stepup-stepdown-expected.txt:
        * fast/forms/input-stepup-stepdown.html:
        * fast/forms/input-valueasnumber-unsupported-expected.txt:
        * fast/forms/input-valueasnumber-unsupported.html:
        * fast/forms/month/input-valueasdate-expected.txt:
        * fast/forms/month/input-valueasdate.html:
        * fast/forms/month/input-valueasnumber-month-expected.txt:
        * fast/forms/month/input-valueasnumber-month.html:
        * fast/forms/month/month-setrangetext-expected.txt:
        * fast/forms/month/month-stepup-stepdown-expected.txt:
        * fast/forms/month/month-stepup-stepdown.html:
        * fast/forms/number/number-setrangetext-expected.txt:
        * fast/forms/number/number-size-expected.txt:
        * fast/forms/number/number-size.html:
        * fast/forms/number/number-stepup-stepdown-expected.txt:
        * fast/forms/number/number-stepup-stepdown-from-renderer.html:
        * fast/forms/number/number-stepup-stepdown.html:
        * fast/forms/number/number-valueasnumber-expected.txt:
        * fast/forms/number/number-valueasnumber.html:
        * fast/forms/range/input-valueasnumber-range-expected.txt:
        * fast/forms/range/input-valueasnumber-range.html:
        * fast/forms/range/range-setrangetext-expected.txt:
        * fast/forms/range/range-stepup-stepdown-expected.txt:
        * fast/forms/range/range-stepup-stepdown-from-renderer.html:
        * fast/forms/range/range-stepup-stepdown.html:
        * fast/forms/search/search-setrangetext-expected.txt:
        * fast/forms/setrangetext-expected.txt:
        * fast/forms/textarea-maxlength-expected.txt:
        * fast/forms/textarea-maxlength.html:
        * fast/forms/textarea/textarea-setrangetext-expected.txt:
        * fast/forms/time/time-setrangetext-expected.txt:
        * fast/forms/time/time-stepup-stepdown-expected.txt:
        * fast/forms/time/time-stepup-stepdown.html:
        * fast/forms/time/time-valueasnumber-expected.txt:
        * fast/forms/time/time-valueasnumber.html:
        * fast/forms/week/input-valueasnumber-week-expected.txt:
        * fast/forms/week/input-valueasnumber-week.html:
        * fast/forms/week/week-setrangetext-expected.txt:
        * fast/forms/week/week-stepup-stepdown-expected.txt:
        * fast/forms/week/week-stepup-stepdown.html:
        * fast/frames/adopt-iframe-into-itself-expected.txt:
        * fast/frames/adopt-object-into-itself-expected.txt:
        * fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
        * fast/frames/sandboxed-iframe-storage-expected.txt:
        * fast/html/marquee-element-expected.txt:
        * fast/innerHTML/innerHTML-changing-document-properties-expected.txt:
        * fast/inspector-support/uncaught-dom1-exception-expected.txt:
        * fast/inspector-support/uncaught-dom3-exception-expected.txt:
        * fast/inspector-support/uncaught-dom8-exception-expected.txt:
        * fast/loader/stateobjects/pushstate-frequency-expected.txt:
        * fast/loader/stateobjects/pushstate-frequency-iframe-expected.txt:
        * fast/loader/stateobjects/replacestate-frequency-expected.txt:
        * fast/loader/stateobjects/replacestate-frequency-iframe-expected.txt:
        * fast/media/mq-js-media-except-01-expected.html:
        * fast/media/mq-js-media-except-02-expected.html:
        * fast/media/mq-js-media-except-03-expected.html:
        * fast/mediastream/MediaDevices-getUserMedia-expected.txt:
        * fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
        * fast/mediastream/RTCPeerConnection-closed-state-expected.txt:
        * fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
        * fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
        * fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
        * fast/mediastream/RTCPeerConnection-dtmf-expected.txt:
        * fast/mediastream/RTCPeerConnection-have-local-offer-expected.txt:
        * fast/mediastream/RTCPeerConnection-have-remote-offer-expected.txt:
        * fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt:
        * fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt:
        * fast/mediastream/RTCPeerConnection-stable-expected.txt:
        * fast/mediastream/RTCRtpSender-replaceTrack-expected.txt:
        * fast/notifications/notifications-document-close-crash-expected.txt:
        * fast/regions/selection/crash-deselect-expected.txt:
        * fast/selectors/closest-general-expected.txt:
        * fast/selectors/invalid-functional-pseudo-class-expected.txt:
        * fast/selectors/lang-empty-expected.txt:
        * fast/selectors/lang-extended-filtering-expected.txt:
        * fast/selectors/lang-extended-filtering-with-string-arguments-expected.txt:
        * fast/selectors/lang-invalid-expected.txt:
        * fast/selectors/lang-multiple-expected.txt:
        * fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-not-expected.txt:
        * fast/text/font-face-empty-string-expected.txt:
        * fast/text/font-face-javascript-expected.txt:
        * fast/text/font-face-set-javascript-expected.txt:
        * fast/text/text-combine-crash-expected.txt:
        * fast/workers/atob-btoa-expected.txt:
        * fast/workers/worker-constructor-expected.txt:
        * fast/workers/worker-context-multi-port-expected.txt:
        * fast/workers/worker-multi-port-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-responsetype-document-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-responsetype-set-at-headers-received-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-responsetype-text-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-sync-disabled-expected.txt:
        * fast/xpath/attr-namespace-expected.txt:
        * fast/xpath/detached-subtree-invalidate-iterator-expected.txt:
        * fast/xpath/py-dom-xpath/nodetests-expected.txt:
        * http/tests/contentextensions/sync-xhr-blocked-expected.txt:
        * http/tests/loading/state-object-security-exception-expected.txt:
        * http/tests/local/fileapi/send-sliced-dragged-file-expected.txt:
        * http/tests/notifications/legacy/show-expected.txt:
        * http/tests/security/canvas-remote-read-data-url-image-redirect-expected.txt:
        * http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
        * http/tests/security/canvas-remote-read-remote-image-expected.txt:
        * http/tests/security/canvas-remote-read-remote-image-redirect-expected.txt:
        * http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin-expected.txt:
        * http/tests/security/canvas-remote-read-remote-video-localhost-expected.txt:
        * http/tests/security/canvas-remote-read-remote-video-redirect-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html:
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-importscripts-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-importscripts-blocked.html:
        * http/tests/security/history-username-password-expected.txt:
        * http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
        * http/tests/security/postMessage/target-origin-expected.txt:
        * http/tests/security/resources/canvas-video-crossorigin.js:
        (testDataRetrievalAllowed):
        (testDataRetrievalForbidden):
        * http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt:
        * http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
        * http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt:
        * http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt:
        * http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
        * http/tests/websocket/tests/hybi/binary-type-expected.txt:
        * http/tests/websocket/tests/hybi/binary-type.html:
        * http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt:
        * http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html:
        * http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt:
        * http/tests/websocket/tests/hybi/invalid-subprotocols.html:
        * http/tests/websocket/tests/hybi/url-parsing-expected.txt:
        * http/tests/workers/worker-importScripts-expected.txt:
        * http/tests/workers/worker-redirect-expected.txt:
        * http/tests/xmlhttprequest/XMLHttpRequestException-expected.txt:
        * http/tests/xmlhttprequest/XMLHttpRequestException.html:
        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-denied-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-sandboxed-iframe-denied-expected.txt:
        * http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
        * http/tests/xmlhttprequest/connection-error-sync-expected.txt:
        * http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
        * http/tests/xmlhttprequest/exceptions-expected.txt:
        * http/tests/xmlhttprequest/inject-header-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/workers/access-control-basic-get-fail-non-simple-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-open-empty-method-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
        * inspector/debugger/command-line-api-exception-expected.txt:
        * inspector/debugger/regress-133182-expected.txt:
        * inspector/debugger/resources/exceptions.js:
        (triggerUncaughtDOMException):
        * inspector/debugger/setPauseOnExceptions-all-expected.txt:
        * inspector/debugger/setPauseOnExceptions-none-expected.txt:
        * inspector/debugger/setPauseOnExceptions-uncaught-expected.txt:
        * inspector/model/remote-object-expected.txt:
        * js/dom/dfg-custom-getter-throw-expected.txt:
        * js/dom/reflect-set-onto-dom-expected.txt:
        * js/dom/script-tests/dfg-custom-getter-throw-inlined.js:
        (i.dfgIncrement):
        * js/dom/script-tests/dfg-custom-getter-throw.js:
        * loader/stateobjects/pushstate-size-expected.txt:
        * loader/stateobjects/pushstate-size-iframe-expected.txt:
        * loader/stateobjects/replacestate-size-expected.txt:
        * loader/stateobjects/replacestate-size-iframe-expected.txt:
        * media/track/regions-webvtt/vtt-region-constructor-expected.txt:
        * media/track/regions-webvtt/vtt-region-list-expected.txt:
        * platform/efl/fast/dynamic/015-expected.txt:
        * platform/gtk/fast/dynamic/015-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-ltr-2-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-ltr-2-left-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-ltr-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-ltr-right-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-rtl-2-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-rtl-2-left-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-rtl-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-rtl-right-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt:
        * platform/ios-simulator/fast/dynamic/015-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
        * platform/ios-simulator/webaudio/analyser-exception-expected.txt:
        * platform/ios-simulator/webaudio/audiobuffersource-exception-expected.txt:
        * platform/ios-simulator/webaudio/delaynode-maxdelaylimit-expected.txt:
        * platform/mac/TestExpectations:
        * platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
        * platform/mac/fast/dynamic/015-expected.txt:
        * platform/mac/inspector/model/remote-object-expected.txt:
        * platform/win/fast/dynamic/015-expected.txt:
        * security/contentSecurityPolicy/worker-inherits-blocks-xhr-expected.txt:
        * storage/domstorage/localstorage/blocked-file-access-expected.txt:
        * storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt:
        * storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt:
        * storage/indexeddb/removed-expected.txt:
        * storage/indexeddb/removed-private-expected.txt:
        * storage/websql/open-database-set-empty-version-expected.txt:
        * svg/animations/animate-gradient-transform-expected.txt:
        * svg/as-image/svg-canvas-pattern-with-link-tainted-expected.txt:
        * svg/as-image/svg-canvas-svg-with-feimage-with-link-tainted-expected.txt:
        * svg/as-image/svg-canvas-svg-with-image-with-link-tainted-expected.txt:
        * svg/as-image/svg-canvas-xhtml-tainted-expected.txt:
        * svg/custom/acid3-test-77-expected.txt:
        * svg/custom/baseval-animval-equality-expected.txt:
        * svg/custom/getSubStringLength-expected.txt:
        * svg/custom/selectSubString-expected.txt:
        * svg/dom/SVGAngle-expected.txt:
        * svg/dom/SVGColor-expected.txt:
        * svg/dom/SVGLength-expected.txt:
        * svg/dom/SVGLength-px-expected.txt:
        * svg/dom/SVGLengthList-appendItem-expected.txt:
        * svg/dom/SVGLengthList-basics-expected.txt:
        * svg/dom/SVGLengthList-getItem-expected.txt:
        * svg/dom/SVGLengthList-initialize-expected.txt:
        * svg/dom/SVGLengthList-insertItemBefore-expected.txt:
        * svg/dom/SVGLengthList-removeItem-expected.txt:
        * svg/dom/SVGLengthList-replaceItem-expected.txt:
        * svg/dom/SVGNumberList-basics-expected.txt:
        * svg/dom/SVGPaint-expected.txt:
        * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt:
        * svg/dom/SVGPointList-basics-expected.txt:
        * svg/dom/SVGPreserveAspectRatio-expected.txt:
        * svg/dom/SVGStringList-basics-expected.txt:
        * svg/dom/SVGTransformList-basics-expected.txt:
        * svg/dom/SVGTransformList-expected.txt:
        * svg/dom/SVGViewSpec-defaults-expected.txt:
        * svg/dom/altGlyph-dom-expected.txt:
        * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
        * transforms/cssmatrix-2d-interface-expected.txt:
        * transforms/cssmatrix-3d-interface-expected.txt:
        * webaudio/analyser-exception-expected.txt:
        * webaudio/analyser-exception.html:
        * webaudio/audiobuffersource-channels-expected.txt:
        * webaudio/audiobuffersource-exception-expected.txt:
        * webaudio/audiobuffersource-exception.html:
        * webaudio/convolver-channels-expected.txt:
        * webaudio/convolver-channels.html:
        * webaudio/convolver-setBuffer-different-samplerate-expected.txt:
        * webaudio/convolver-setBuffer-different-samplerate.html:
        * webaudio/delaynode-maxdelaylimit-expected.txt:
        * webaudio/offlineaudiocontext-constructor-expected.txt:

2016-07-17  Myles C. Maxfield  <mmaxfield@apple.com>

        Support new emoji group candidates
        https://bugs.webkit.org/show_bug.cgi?id=159755
        <rdar://problem/27325521>

        Reviewed by Dean Jackson.

        Because this patch doesn't update the rules for our cursor movement
        iterator, the new expected result for editing/deleting/delete-emoji.html
        expects incorrect results. In the patch where we update these rules,
        the expected result should also be updated.

        Because these new emoji require system support, TestExpectations has
        been updated to mark the tests as failing until the system support has
        been added.

        * TestExpectations:
        * editing/deleting/delete-emoji-expected.txt:
        * fast/text/emoji-gender-2-3-expected.html: Added.
        * fast/text/emoji-gender-2-3.html: Added.
        * fast/text/emoji-gender-2-4-expected.html: Added.
        * fast/text/emoji-gender-2-4.html: Added.
        * fast/text/emoji-gender-2-5-expected.html: Added.
        * fast/text/emoji-gender-2-5.html: Added.
        * fast/text/emoji-gender-2-6-expected.html: Added.
        * fast/text/emoji-gender-2-6.html: Added.
        * fast/text/emoji-gender-2-7-expected.html: Added.
        * fast/text/emoji-gender-2-7.html: Added.
        * fast/text/emoji-gender-2-8-expected.html: Added.
        * fast/text/emoji-gender-2-8.html: Added.
        * fast/text/emoji-gender-2-9-expected.html: Added.
        * fast/text/emoji-gender-2-9.html: Added.
        * fast/text/emoji-gender-2-expected-mismatch.html: Added.
        * fast/text/emoji-gender-2.html: Added.
        * fast/text/emoji-gender-3-expected.html: Added.
        * fast/text/emoji-gender-3.html: Added.
        * fast/text/emoji-gender-4-expected.html: Added.
        * fast/text/emoji-gender-4.html: Added.
        * fast/text/emoji-gender-5-expected.html: Added.
        * fast/text/emoji-gender-5.html: Added.
        * fast/text/emoji-gender-6-expected.html: Added.
        * fast/text/emoji-gender-6.html: Added.
        * fast/text/emoji-gender-7-expected.html: Added.
        * fast/text/emoji-gender-7.html: Added.
        * fast/text/emoji-gender-8-expected.html: Added.
        * fast/text/emoji-gender-8.html: Added.
        * fast/text/emoji-gender-9-expected.html: Added.
        * fast/text/emoji-gender-9.html: Added.
        * fast/text/emoji-gender-expected-mismatch.html: Added.
        * fast/text/emoji-gender-fe0f-3-expected.html: Added.
        * fast/text/emoji-gender-fe0f-3.html: Added.
        * fast/text/emoji-gender-fe0f-4-expected.html: Added.
        * fast/text/emoji-gender-fe0f-4.html: Added.
        * fast/text/emoji-gender-fe0f-5-expected.html: Added.
        * fast/text/emoji-gender-fe0f-5.html: Added.
        * fast/text/emoji-gender-fe0f-6-expected.html: Added.
        * fast/text/emoji-gender-fe0f-6.html: Added.
        * fast/text/emoji-gender-fe0f-7-expected.html: Added.
        * fast/text/emoji-gender-fe0f-7.html: Added.
        * fast/text/emoji-gender-fe0f-8-expected.html: Added.
        * fast/text/emoji-gender-fe0f-8.html: Added.
        * fast/text/emoji-gender-fe0f-9-expected.html: Added.
        * fast/text/emoji-gender-fe0f-9.html: Added.
        * fast/text/emoji-gender.html: Added.
        * fast/text/emoji-num-glyphs-expected.txt: Added.
        * fast/text/emoji-num-glyphs.html: Added.
        * fast/text/emoji-single-parent-family-2-expected-mismatch.html: Added.
        * fast/text/emoji-single-parent-family-2.html: Added.
        * fast/text/emoji-single-parent-family-expected-mismatch.html: Added.
        * fast/text/emoji-single-parent-family.html: Added.

2016-07-16  Brady Eidson  <beidson@apple.com>

        Update SVGException to use the description in toString().
        https://bugs.webkit.org/show_bug.cgi?id=159847

        Reviewed by Darin Adler.

        * svg/animations/animate-marker-orient-from-angle-to-autostartreverse-expected.txt:
        * svg/custom/SVGException-expected.txt:
        * svg/custom/polyline-points-crash-expected.txt:
        * svg/custom/script-tests/SVGException.js:
        * svg/dom/SVGAnimatedEnumeration-SVGClipPathElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFilterElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGGradientElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGMaskElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGPatternElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGTextContentElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGTextPathElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-expected.txt:
        * svg/dom/SVGLengthList-basics-expected.txt:
        * svg/dom/SVGMatrix-interface-expected.txt:
        * svg/dom/SVGNumberList-basics-expected.txt:
        * svg/dom/SVGPointList-basics-expected.txt:
        * svg/dom/SVGTransformList-basics-expected.txt:
        * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
        * svg/filters/feBlend-invalid-mode-expected.txt:
        * svg/filters/feComponentTransfer-style-crash-expected.txt:
        * svg/filters/feDisplacementMap-crash-test-expected.txt:

2016-07-15  Benjamin Poulain  <benjamin@webkit.org>

        [mac] LayoutTest fast/css/ancestor-of-hovered-element-detached.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=159173

        Reviewed by Alexey Proskuryakov.

        The test ancestor-of-hovered-element-detached.html is not reliably
        covering r202324.

        In the case of that test, the first style update is done with
        the flag TeardownType::KeepHoverAndActive. This keeps the ":hover" state
        set despite the subtree losing their renderer.
        This looks like a serious issue that should be tested separately.

        * fast/css/ancestor-of-hovered-element-removed.html:
        The :hover update timer is actually a zero timer.
        It is reasonable to expect a full update after one frame update.

        * fast/css/ancestor-of-hovered-element-detached-expected.txt: Removed.
        * fast/css/ancestor-of-hovered-element-detached.html: Removed.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2016-07-15  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening after r203314
        https://bugs.webkit.org/show_bug.cgi?id=159842

        Unreviewed.

        * TestExpectations:

2016-07-15  Myles C. Maxfield  <mmaxfield@apple.com>

        [macOS] Work around crash in [NSAttributedString nextWordFromIndex:forward:]
        https://bugs.webkit.org/show_bug.cgi?id=159842

        Reviewed by Jon Lee.

        * editing/deleting/delete-emoji-expected.txt:
        * editing/deleting/delete-emoji.html:

2016-07-15  Brady Eidson  <beidson@apple.com>

        Update XPathException to use the description in toString().
        https://bugs.webkit.org/show_bug.cgi?id=159848

        Reviewed by Alex Christensen.

        * fast/dom/DOMException/XPathException-expected.txt:
        * fast/dom/DOMException/resources/XPathException.js:
        * fast/xpath/4XPath/Core/test_parser-expected.txt:
        * fast/xpath/invalid-functions-expected.txt:
        * fast/xpath/py-dom-xpath/expressions-expected.txt:

2016-07-15  Brady Eidson  <beidson@apple.com>

        Change toString() behavior for exceptions constructed with "createWithDescriptionAsMessage".
        https://bugs.webkit.org/show_bug.cgi?id=159839

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/createobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/createobjectstore-failures-private-expected.txt:
        * storage/indexeddb/modern/double-abort-expected.txt:
        * storage/indexeddb/modern/double-abort-private-expected.txt:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt:

2016-07-15  Brent Fulgham  <bfulgham@apple.com>

        Merge background parser Blink test case
        https://bugs.webkit.org/show_bug.cgi?id=116503

        Test case is from the Blink change (patch by <apavlov@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/3044d8c22b6ab5653fe572aad656ae1325725dc9>

        * fast/css/background-parser-crash-expected.txt: Added.
        * fast/css/background-parser-crash.html: Added.
        * inspector/styles: Added.
        * inspector/styles/background-parsing-crash-expected.txt: Added.
        * inspector/styles/background-parsing-crash.html: Added.

2016-07-15  Brent Fulgham  <bfulgham@apple.com>

        Merge First-letter Blink test case
        https://bugs.webkit.org/show_bug.cgi?id=123961

        Test case is from the Blink change (patch by <leviw@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/c8ff8df9fc2ad81580526d53304c281df5d93e97%5E%21/#F1>

        * fast/css-generated-content/empty-first-letter-with-columns-crash-expected.txt: Added.
        * fast/css-generated-content/empty-first-letter-with-columns-crash.html: Added.

2016-07-15  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/cache/disk-cache/disk-cache-request-max-stale.html as a flaky timeout on ios-simulator WK2 Release
        https://bugs.webkit.org/show_bug.cgi?id=159840

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-07-15  Brent Fulgham  <bfulgham@apple.com>

        Block insecure script running in a data: frame when the top-level page is HTTPS
        https://bugs.webkit.org/show_bug.cgi?id=125806
        <rdar://problem/27331825>

        Reviewed by Brady Eidson.

        Fix based on a Blink change (patch by <tsepez@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/33e553bd96e040151c1472289a0d80803bfca3a5>

        * http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-data-url-frame-with-script.html: Added.

2016-07-15  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping test from r203288 on ios-simulator due to reliance upon mouse events.
        https://bugs.webkit.org/show_bug.cgi?id=159818

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-07-15  Frederic Wang  <fwang@igalia.com>

        MathOperator: Improve alignment for vertical size variant
        https://bugs.webkit.org/show_bug.cgi?id=158866

        Reviewed by Brent Fulgham.

        We import the latest version of mo-axis-height-1.html and update the expectation now that we
        pass the two cases (size variant and glyph assembly). We also rebaseline some pixel tests.

        * imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff: Updated.
        * imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt: Updated to expect PASS.
        * imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html: Updated to include the two tests.
        * platform/gtk/mathml/opentype/vertical-expected.png: Rebaseline to take into account better alignment of size variant.
        * platform/gtk/mathml/opentype/vertical-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/mo-stretch-expected.png: Ditto.
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: Ditto.
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt: Ditto.
        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/mac/mathml/presentation/mo-stretch-expected.txt: Ditto.

2016-07-15  Brady Eidson  <beidson@apple.com>

        WebKit should prevent push/replace state with username in URL.
        <rdar://problem/27361737> and https://bugs.webkit.org/show_bug.cgi?id=159818

        Reviewed by Brent Fulgham.

        * http/tests/security/history-username-password-expected.txt: Added.
        * http/tests/security/history-username-password.html: Added.

2016-07-15  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r203266.

        This change caused editing/deleting/delete-emoji.html to time
        out on El Capitan, crash under GuardMalloc

        Reverted changeset:

        "Support new emoji group candidates"
        https://bugs.webkit.org/show_bug.cgi?id=159755
        http://trac.webkit.org/changeset/203266

2016-07-15  Frederic Wang  <fwang@igalia.com>

        Move parsing of mfrac attributes into a MathMLFractionElementClass
        https://bugs.webkit.org/show_bug.cgi?id=159624

        Reviewed by Brent Fulgham.

        We update the expectation for negative linethickness. As indicated in the MathML
        recommendation, it should be rounded up to the nearest valid value, which is 0.

        * mathml/presentation/mfrac-linethickness2.html: Update the comment to reflect the new behavior.
        * mathml/presentation/mfrac-linethickness2-expected.html: Use 0px as the reference for negative values.

2016-07-15  Brent Fulgham  <bfulgham@apple.com>

        Merge InlineBidiResolver end-of-line Blink test case
        https://bugs.webkit.org/show_bug.cgi?id=126201
        <rdar://problem/27331789>

        Test case is from the Blink change (patch by <igor.o@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/d34ca9bbbdf71905d61aa45def30063311508a64>

        * fast/text/international/bidi-crash-reached-end-of-line-expected.txt: Added.
        * fast/text/international/bidi-crash-reached-end-of-line.html: Added.

2016-07-15  Brent Fulgham  <bfulgham@apple.com>

        Merge Blink test case
        https://bugs.webkit.org/show_bug.cgi?id=123870

        Patch is from the Blink change (patch by <morritaw@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/2abd63ccea97b1fcf25b337c76f12e6ad1bfc025>

        * fast/dom/mutation-details-focus-expected.txt: Added.
        * fast/dom/mutation-details-focus.html: Added.

2016-07-15  Ryan Haddad  <ryanhaddad@apple.com>

        Updating TestExpectations after r203267
        https://bugs.webkit.org/show_bug.cgi?id=159817

        Unreviewed test gardening.

        * TestExpectations:

2016-07-15  Frederic Wang  <fwang@igalia.com>

        Import more tests from the MathML in HTML5 test suite
        https://bugs.webkit.org/show_bug.cgi?id=159715

        Reviewed by Brent Fulgham.

        * imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2-expected.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2.html: Added.
        * imported/mathml-in-html5/mathml/relations/css-styling/color-1-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/css-styling/color-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/css-styling/visibility-1-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/css-styling/visibility-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/class-1-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/class-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/class-2-expected.txt: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/class-2.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/display-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/display-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2-expected.txt: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3.html: Added.
        * imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html: Added.
        * platform/ios-simulator/TestExpectations: Mark use-typo-metrics-1.html as failing.
        * platform/mac/TestExpectations: Ditto.

2016-07-15  Eric Carlson  <eric.carlson@apple.com>

        [MSE] Increase the SourceBuffer "fudge factor"
        https://bugs.webkit.org/show_bug.cgi?id=159813
        <rdar://problem/27372033>

        Reviewed by Jon Lee.

        * media/media-source/media-source-small-gap-expected.txt:
        * media/media-source/media-source-small-gap.html:

2016-07-14  Yoav Weiss  <yoav@yoav.ws>

        Change CSSParser::sourceSize returning Optional<CSSParser::SourceSize>
        https://bugs.webkit.org/show_bug.cgi?id=159666

        Reviewed by Michael Catanzaro.

        Added a test to make sure that an invalid source-size value is skipped, but the next one is properly picked.

        * fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt:
        * fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html:

2016-07-14  Antonio Gomes  <tonikitoo@igalia.com>

        [RTL Scrollbars] Frame scrollbars don't move to the right when text direction changes to RTL
        https://bugs.webkit.org/show_bug.cgi?id=158252

        Reviewed by Myles C. Maxfield.

        * fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement.html: Added.
        * fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-expected.txt: Added.
        * fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2.html: Added.
        * fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement.html: Added.
        * fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement-expected.txt: Added.

2016-07-14  Myles C. Maxfield  <mmaxfield@apple.com>

        Support new emoji group candidates
        https://bugs.webkit.org/show_bug.cgi?id=159755
        <rdar://problem/27325521>

        Reviewed by Dean Jackson.

        Because this patch doesn't update the rules for our cursor movement
        iterator, the new expected result for editing/deleting/delete-emoji.html
        expects incorrect results. In the patch where we update these rules,
        the expected result should also be updated.

        Because these new emoji require system support, TestExpectations has
        been updated to mark the tests as failing until the system support has
        been added.

        * TestExpectations:
        * editing/deleting/delete-emoji-expected.txt:
        * editing/deleting/delete-emoji.html:
        * fast/text/emoji-gender-2-3-expected.html: Added.
        * fast/text/emoji-gender-2-3.html: Added.
        * fast/text/emoji-gender-2-4-expected.html: Added.
        * fast/text/emoji-gender-2-4.html: Added.
        * fast/text/emoji-gender-2-5-expected.html: Added.
        * fast/text/emoji-gender-2-5.html: Added.
        * fast/text/emoji-gender-2-6-expected.html: Added.
        * fast/text/emoji-gender-2-6.html: Added.
        * fast/text/emoji-gender-2-7-expected.html: Added.
        * fast/text/emoji-gender-2-7.html: Added.
        * fast/text/emoji-gender-2-8-expected.html: Added.
        * fast/text/emoji-gender-2-8.html: Added.
        * fast/text/emoji-gender-2-9-expected.html: Added.
        * fast/text/emoji-gender-2-9.html: Added.
        * fast/text/emoji-gender-2-expected-mismatch.html: Added.
        * fast/text/emoji-gender-2.html: Added.
        * fast/text/emoji-gender-3-expected.html: Added.
        * fast/text/emoji-gender-3.html: Added.
        * fast/text/emoji-gender-4-expected.html: Added.
        * fast/text/emoji-gender-4.html: Added.
        * fast/text/emoji-gender-5-expected.html: Added.
        * fast/text/emoji-gender-5.html: Added.
        * fast/text/emoji-gender-6-expected.html: Added.
        * fast/text/emoji-gender-6.html: Added.
        * fast/text/emoji-gender-7-expected.html: Added.
        * fast/text/emoji-gender-7.html: Added.
        * fast/text/emoji-gender-8-expected.html: Added.
        * fast/text/emoji-gender-8.html: Added.
        * fast/text/emoji-gender-9-expected.html: Added.
        * fast/text/emoji-gender-9.html: Added.
        * fast/text/emoji-gender-expected-mismatch.html: Added.
        * fast/text/emoji-gender-fe0f-3-expected.html: Added.
        * fast/text/emoji-gender-fe0f-3.html: Added.
        * fast/text/emoji-gender-fe0f-4-expected.html: Added.
        * fast/text/emoji-gender-fe0f-4.html: Added.
        * fast/text/emoji-gender-fe0f-5-expected.html: Added.
        * fast/text/emoji-gender-fe0f-5.html: Added.
        * fast/text/emoji-gender-fe0f-6-expected.html: Added.
        * fast/text/emoji-gender-fe0f-6.html: Added.
        * fast/text/emoji-gender-fe0f-7-expected.html: Added.
        * fast/text/emoji-gender-fe0f-7.html: Added.
        * fast/text/emoji-gender-fe0f-8-expected.html: Added.
        * fast/text/emoji-gender-fe0f-8.html: Added.
        * fast/text/emoji-gender-fe0f-9-expected.html: Added.
        * fast/text/emoji-gender-fe0f-9.html: Added.
        * fast/text/emoji-gender.html: Added.
        * fast/text/emoji-num-glyphs-expected.txt: Added.
        * fast/text/emoji-num-glyphs.html: Added.
        * fast/text/emoji-single-parent-family-2-expected-mismatch.html: Added.
        * fast/text/emoji-single-parent-family-2.html: Added.
        * fast/text/emoji-single-parent-family-expected-mismatch.html: Added.
        * fast/text/emoji-single-parent-family.html: Added.

2016-07-14  Saam Barati  <sbarati@apple.com>

        It should be a syntax error to have a 'use strict' directive inside a function that has a non-simple parameter list
        https://bugs.webkit.org/show_bug.cgi?id=159790
        <rdar://problem/27171636>

        Reviewed by Geoffrey Garen.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2016-07-14  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] When scrolling apple.com/music on iPad Pro in landscape, left-hand tiles appear first
        https://bugs.webkit.org/show_bug.cgi?id=159798
        rdar://problem/27362717

        Reviewed by Tim Horton.
        
        Test with an offscreen tiled layer.

        * compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
        * compositing/tiling/offscreen-tiled-layer.html: Added.
        * platform/ios-simulator-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
        * platform/ios-simulator-wk2/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
        * platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.

2016-07-14  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping editing/spelling/copy-paste-crash.html on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=142969

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-07-14  Brent Fulgham  <bfulgham@apple.com>

        Merge Blink test case
        https://bugs.webkit.org/show_bug.cgi?id=117422

        Patch is from a set of Blink changes (patches by <leviw@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/507e1576555bd2ce6688206f28339c25761893b1>
        <https://chromium.googlesource.com/chromium/blink/+/4c95872f52340cf0cf9a2a7078bb63a94f38d302>

        * fast/list/list-style-position-inside-expected.txt: Added.
        * fast/list/list-style-position-inside.html: Added.
        * fast/sub-pixel/float-list-inside-expected.txt: Added.
        * fast/sub-pixel/float-list-inside.html: Added.

2016-07-14  John Wilander  <wilander@apple.com>

        Remove credentials in URL when accessed through location.href
        https://bugs.webkit.org/show_bug.cgi?id=139562
        <rdar://problem/27331164>

        Reviewed by Brent Fulgham.

        The reason for this change is to not allow scripts on the page to
        exfiltrate username and password from the URL.

        * http/tests/security/location-href-clears-username-password-expected.txt: Added.
        * http/tests/security/location-href-clears-username-password.html: Added.
            Test case adapted from https://src.chromium.org/viewvc/blink?revision=189367&view=revision.

2016-07-14  Brent Fulgham  <bfulgham@apple.com>

        Merge Blink test case
        https://bugs.webkit.org/show_bug.cgi?id=116507

        Patch is from a Blink change (patch by <ojan@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/6598fc75a7260643ecfc42856ef24bcf96380443>

        * compositing/iframes/crash-mouse-event-expected.txt: Added.
        * compositing/iframes/crash-mouse-event.html: Added.

2016-07-14  Brent Fulgham  <bfulgham@apple.com>

        editing/spelling/spellcheck-async.html sometimes crashes with GuardMalloc 
        https://bugs.webkit.org/show_bug.cgi?id=142969
        <rdar://problem/27331095>

        Reviewed by Alex Christensen.

        Fix based on a Blink change (patch by <rouslan@chromium.org>):
        <https://chromium.googlesource.com/chromium/blink/+/c713736b122c2224804b2db72f1f711cb47ee260%5E%21/#F1>

        * editing/spelling/copy-paste-crash-expected.txt: Added.
        * editing/spelling/copy-paste-crash.html: Added.
        * platform/platform/mac-wk2/TestExpectations: Skip test on mac-wk2 since all Spelling tests are
        currently broken (see <https://webkit.org/b/105616>).

2016-07-14  Ryan Haddad  <ryanhaddad@apple.com>

        Remove duplicate TestExpectations entry.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-14  Brent Fulgham  <bfulgham@apple.com>

        Add test to confirm we do not crash in media destruction
        https://bugs.webkit.org/show_bug.cgi?id=122816

        Test based on a Blink change (patch by <igor.o@sisa.samsung.com>):
        <https://chromium.googlesource.com/chromium/blink/+/7a2b2dcefbc013003487d5055eeda7a57daafa93%5E%21/#F0>

        We do not seem to have the bug that prompted the Chromium source change. Adding
        test case to ensure we do not introduce this problem in the future.

        * editing/undo/audio-in-undo-stack-crash-expected.txt: Added.
        * editing/undo/audio-in-undo-stack-crash.html: Added.

2016-07-14  Youenn Fablet  <youenn@apple.com>

        Remove support for value iterators from JSDOMIterator
        https://bugs.webkit.org/show_bug.cgi?id=159293

        Reviewed by Chris Dumez.

        * fast/text/font-face-set-javascript-expected.txt:
        * fast/text/font-face-set-javascript.html:

2016-07-14  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27353750.

        * platform/mac/TestExpectations:

2016-07-14  Mark Lam  <mark.lam@apple.com>

        JSONObject Walker::walk must save array length before processing array elements.
        https://bugs.webkit.org/show_bug.cgi?id=153485

        Reviewed by Darin Adler and Michael Saboff.

        * js/JSON-parse-reviver-expected.txt:
        * js/script-tests/JSON-parse-reviver.js:
        - Fixed a bug in arrayReviver() where it was setting the array length to 3,
          but was immediately returning a value from the reviver for index 3.  This
          effectively forces array.length to 4.  As a result, case 4 always failed
          silently, and case 5 never executed.
        - Added tracking of cases visited by the revivers so that they can be verified.

2016-07-14  Youenn Fablet  <youenn@apple.com>

        DOM value iterable interfaces should use Array prototype methods
        https://bugs.webkit.org/show_bug.cgi?id=159296

        Reviewed by Chris Dumez and Mark Lam.

        * fast/dom/nodeListIterator-expected.txt:
        * fast/dom/nodeListIterator.html:
        * fast/dom/NodeList/nodelist-iterable-expected.txt: Added.
        * fast/dom/NodeList/nodelist-iterable.html: Added.

2016-07-14  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Request and Response url getter should use URL serialization
        https://bugs.webkit.org/show_bug.cgi?id=159705

        Reviewed by Alex Christensen.

        * fetch/fetch-url-serialization-expected.txt: Added.
        * fetch/fetch-url-serialization.html: Added.
        * fetch/fetch-urls.json: Added.

2016-07-14  Jer Noble  <jer.noble@apple.com>

        REGRESSION (r202918): LayoutTest media/video-main-content-allow-then-deny.html is flaky, failing almost every time on El Capitan
        https://bugs.webkit.org/show_bug.cgi?id=159533

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:

2016-07-14  Alex Christensen  <achristensen@webkit.org>

        Rebaseline test after r203204 and r203207.

        * js/typed-array-mutated-during-set-expected.txt:

2016-07-13  Frederic Wang  <fwang@igalia.com>

        Rebaseline EFL and Windows MathML tests after r203171

        Unreviewed test gardening.

        * platform/efl/mathml/opentype/horizontal-expected.txt:
        * platform/efl/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/efl/mathml/opentype/large-operators-expected.txt:
        * platform/efl/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/efl/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/efl/mathml/opentype/vertical-expected.txt:
        * platform/efl/mathml/presentation/menclose-notation-default-longdiv-expected.txt:
        * platform/efl/mathml/presentation/menclose-notation-values-expected.txt:
        * platform/efl/mathml/presentation/mo-stretch-expected.txt:
        * platform/efl/mathml/presentation/mspace-children-expected.txt:
        * platform/efl/mathml/presentation/roots-expected.txt:
        * platform/efl/mathml/radical-fallback-expected.txt:
        * platform/win/mathml/mathml-in-dashboard-expected.txt:
        * platform/win/mathml/opentype/horizontal-expected.txt:
        * platform/win/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/win/mathml/opentype/large-operators-expected.txt:
        * platform/win/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/win/mathml/opentype/vertical-expected.txt:
        * platform/win/mathml/presentation/menclose-notation-default-longdiv-expected.txt:
        * platform/win/mathml/presentation/mo-stretch-expected.txt:
        * platform/win/mathml/presentation/mspace-children-expected.txt:
        * platform/win/mathml/presentation/roots-expected.txt:
        * platform/win/mathml/radical-fallback-expected.txt:

2016-07-13  Keith Miller  <keith_miller@apple.com>

        Unreviewed, rebaseline tests for ES6 TypedArray behavior.

        * js/typed-array-mutated-during-set-expected.txt:
        * js/typed-array-mutated-during-set.html:

2016-07-13  Michael Saboff  <msaboff@apple.com>

        Some bad unicode regex escapes aren't flagged as errors
        https://bugs.webkit.org/show_bug.cgi?id=158080

        Reviewed by Saam Barati.

        New tests.

        * js/regress-158080.html: Added.
        * js/script-tests/regress-158080.js: Added.

2016-07-13  Jiewen Tan  <jiewen_tan@apple.com>

        Import W3C WebCryptoAPI tests
        https://bugs.webkit.org/show_bug.cgi?id=159636

        Reviewed by Alex Christensen.

        * TestExpectations:
        Skip test cases for unimplemented features.

2016-07-13  Ryan Haddad  <ryanhaddad@apple.com>

        Remove duplicated TestExpectation for perf/rel-list-remove.html on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-07-13  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening for fast/text/font-face-javascript.html
        https://bugs.webkit.org/show_bug.cgi?id=156631

        Unreviewed.

        * TestExpectations:
        * fast/text/font-face-javascript-expected.txt:
        * fast/text/font-face-javascript.html:

2016-07-13  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/blink/storage/indexeddb/blob-valid-after-deletion.html as flaky on Mac and ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=158640

        Unreviewed test gardening.

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

2016-07-13  Alex Christensen  <achristensen@webkit.org>

        Add test verifying detached iframes cannot set IDB values
        https://bugs.webkit.org/show_bug.cgi?id=159736

        Reviewed by Brady Eidson.
        
        We match Chrome but not Firefox in this case.

        * storage/indexeddb/detached-iframe-expected.txt: Added.
        * storage/indexeddb/detached-iframe.html: Added.
        * storage/indexeddb/resources/detached-iframe.html: Added.
        * storage/indexeddb/resources/detached-iframe.js: Added.
        (done):
        (unexpectedErrorCallback):
        (getRequestCallback):
        (dbOpenedSecondTime):
        (getValueFromIDB):
        (makeDetachedFrame):
        (prepareDatabase):

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

        REGRESSION(r202953): Clicking on input[type=file] doesn't open a file picker
        https://bugs.webkit.org/show_bug.cgi?id=159686
        <rdar://problem/27263589>

        Reviewed by Chris Dumez.

        Added a regression test for opening a file picker on a type=file input element.

        The test currently only works on WebKit2 since the support for logging "OPEN FILE PANEL"
        was only added to WebKitTestRunner.

        Also added WebKit2 specific expected results for some tests that tries to open file panel.

        * fast/forms/file/open-file-panel-expected.txt: Added.
        * fast/forms/file/open-file-panel.html: Added.
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wk2/accessibility: Added.
        * platform/wk2/accessibility/axpress-on-aria-button-expected.txt: Copied from LayoutTests/accessibility/axpress-on-aria-button-expected.txt.
        * platform/wk2/accessibility/file-upload-button-with-axpress-expected.txt: Copied from LayoutTests/accessibility/file-upload-button-with-axpress-expected.txt.
        * platform/wk2/fast: Added.
        * platform/wk2/fast/events: Added.
        * platform/wk2/fast/events/domactivate-sets-underlying-click-event-as-handled-expected.txt: Copied from LayoutTests/fast/events/domactivate-sets-underlying-click-event-as-handled-expected.txt.

2016-07-13  Frederic Wang  <fwang@igalia.com>

        Remove padding and margin around the <math> element
        https://bugs.webkit.org/show_bug.cgi?id=157989

        Reviewed by Brent Fulgham.

        * imported/mathml-in-html5/mathml/relations/html5-tree/href-click-1.html: Remove spacing hack.
        * imported/mathml-in-html5/mathml/relations/html5-tree/href-click-2.html: Ditto.
        * mathml/presentation/fractions-box-expected.html: Ditto.
        * mathml/presentation/fractions-box.html: Ditto.
        * mathml/presentation/href-enter.html: Ditto.
        * mathml/presentation/maction-toggle-href.html: Ditto.
        * mathml/presentation/mpadded-1-2.html: Ditto.
        * mathml/presentation/mpadded-1.html: Ditto.
        * mathml/presentation/mpadded-2.html: Ditto.
        * mathml/presentation/mpadded-3.html: Ditto.
        * mathml/presentation/mpadded-4-expected.html: Ditto.
        * mathml/presentation/mpadded-4.html: Ditto.
        * mathml/presentation/mspace-prefered-width.html: Ditto.
        * mathml/presentation/mspace-units-expected.html: Ditto.
        * mathml/presentation/mspace-units.html: Ditto.
        * mathml/presentation/mspace.html: Ditto.
        * mathml/presentation/scripts-height-expected.html: Ditto.
        * mathml/presentation/scripts-subsup-expected.html: Ditto.
        * mathml/presentation/scripts-subsup.html: Ditto.
        * mathml/presentation/scripts-underover-expected.html: Ditto.
        * mathml/presentation/scripts-underover.html: Ditto.
        * mathml/presentation/semantics-2.html: Ditto.
        * mathml/presentation/semantics-3.html: Ditto.
        * mathml/presentation/semantics-4.html: Ditto.
        * mathml/presentation/semantics-href.html: Ditto.
        * mathml/presentation/style-border-padding-background.html: Ditto.
        * platform/gtk/mathml/opentype/horizontal-expected.png: Rebaseline due to spacing change around the math tag.
        * platform/gtk/mathml/opentype/horizontal-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.png: Ditto.
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/large-operators-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.png: Ditto.
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png: Ditto.
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/vertical-expected.png: Ditto.
        * platform/gtk/mathml/opentype/vertical-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.png: Ditto.
        * platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/menclose-notation-values-expected.png: Ditto.
        * platform/gtk/mathml/presentation/menclose-notation-values-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/mo-stretch-expected.png: Ditto.
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/mspace-children-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/roots-expected.png: Ditto.
        * platform/gtk/mathml/presentation/roots-expected.txt: Ditto.
        * platform/gtk/mathml/radical-fallback-expected.png: Ditto.
        * platform/gtk/mathml/radical-fallback-expected.txt: Ditto.
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/menclose-notation-values-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/mspace-children-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/roots-expected.txt: Ditto.
        * platform/ios-simulator/mathml/radical-fallback-expected.txt: Ditto.
        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Ditto.
        * platform/mac/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Ditto.
        * platform/mac/mathml/presentation/menclose-notation-values-expected.txt: Ditto.
        * platform/mac/mathml/presentation/mo-stretch-expected.txt: Ditto.
        * platform/mac/mathml/presentation/mspace-children-expected.txt: Ditto.
        * platform/mac/mathml/presentation/roots-expected.txt: Ditto.
        * platform/mac/mathml/radical-fallback-expected.txt: Ditto.
        * mathml/mathml-in-dashboard-expected.txt: Ditto

2016-07-13  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] spinbutton-crash.html fails
        https://bugs.webkit.org/show_bug.cgi?id=159723

        Reviewed by Chris Fleizach.

        In ATK, the accessible object for an input element has no children for
        the text component. As a result, the spinner is the first and only child.
        In AXAPI, the input element has an AXGroup child for the text component.
        As a result, the spinner is the second of two children. Therefore, add a
        helper method to accessibility-helper.js to retrieve the correct child
        for the current platform use it in spinbutton-crash.html.

        * accessibility/spinbutton-crash.html: Modified.
        * resources/accessibility-helper.js:
        (spinnerForTextInput): Added.

2016-07-13  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm as failing on Mac and ios-sim Release WK2
        https://bugs.webkit.org/show_bug.cgi?id=159724

        Unreviewed test gardening.

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

2016-07-13  Brent Fulgham  <bfulgham@apple.com>

        [WK1][iOS] Crash when WebSocket attempts to dispatch a mixed content blocker event
        https://bugs.webkit.org/show_bug.cgi?id=159680
        <rdar://problem/22102028>

        Reviewed by Zalan Bujtas.

        * http/tests/ssl/mixedContent: Added.
        * http/tests/ssl/mixedContent/insecure-websocket-expected.txt: Added.
        * http/tests/ssl/mixedContent/insecure-websocket.html: Added.

2016-07-13  Youenn Fablet  <youennf@gmail.com>

        Refresh WPT tests up to c875b42
        https://bugs.webkit.org/show_bug.cgi?id=159712

        Reviewed by Alex Christensen.

        * TestExpectations: Adding some test expectations and skipping some resource files.

2016-07-13  Frederic Wang  <fwang@igalia.com>

        The display property of many MathML elements can not be overriden by page authors
        https://bugs.webkit.org/show_bug.cgi?id=139403

        Reviewed by Brent Fulgham.

        * imported/mathml-in-html5/mathml/relations/css-styling/display-1-expected.html: Added.
        * imported/mathml-in-html5/mathml/relations/css-styling/display-1.html: Added.

2016-07-13  Frederic Wang  <fwang@igalia.com>

        Update Windows expectations for two MathML tests.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2016-07-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [EFL] [GTK] Enable back crypto subtle on development builds.
        https://bugs.webkit.org/show_bug.cgi?id=159260

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations: Enable back the tests that were
        passing on GTK.

2016-07-13  Frederic Wang  <fwang@igalia.com>

        Update MathML expectations on EFL and Windows ports.

        Unreviewed test gardening.

        * platform/efl/mathml/opentype/horizontal-expected.txt:
        * platform/efl/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/win/TestExpectations:
        * platform/win/mathml/opentype/horizontal-expected.txt:
        * platform/win/mathml/opentype/horizontal-munderover-expected.txt:

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

        REGRESSION (r202509): media controls controls enabled AirPlay placeholder is shown
        https://bugs.webkit.org/show_bug.cgi?id=159685
        <rdar://problem/27198899>

        Reviewed by Dean Jackson.

        * media/controls/airplay-controls-expected.txt: Added.
        * media/controls/airplay-controls.html: Added.

        * media/controls/controls-test-helpers.js:
        (ControlsTest.prototype.get currentState): Put a try block around the call to get the current
        status in case it fails.

        * platform/mac/TestExpectations: Skip the new test on Yosemite where AirPlay doesn't work.

2016-07-12  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] Array.prototype.join() fails some conformance tests
        https://bugs.webkit.org/show_bug.cgi?id=159657

        Reviewed by Saam Barati.

        I removed 3 sputnik tests that are incorrect in the latest spec.
        In ES5, Array.prototype.join() was using ToUint32 on the argument:
            https://es5.github.io/#x15.4.4.5
        In ES6, the function uses ToLength:
            https://tc39.github.io/ecma262/#sec-array.prototype.join

        The test use Infinity and very large integer as the length.
        They are guaranteed to time out or run out of memory.
        Even if we waited the hours it takes to run this, the results would be different
        from what the tests expect.

        * js/array-join-expected.txt: Added.
        * js/array-join.html: Added.
        * js/script-tests/array-join.js: Added.

2016-07-12  Commit Queue  <commit-queue@webkit.org>

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

        This change caused an existing LayoutTest to time out on debug
        testers (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "[JSC] Array.prototype.join() fails some conformance tests"
        https://bugs.webkit.org/show_bug.cgi?id=159657
        http://trac.webkit.org/changeset/203131

2016-07-12  Mark Lam  <mark.lam@apple.com>

        We should use different stack limits for stack checks from JS and host code.
        https://bugs.webkit.org/show_bug.cgi?id=159442
        <rdar://problem/26889188>

        Reviewed by Geoffrey Garen.

        * js/regress-141098-expected.txt:
        * js/script-tests/regress-141098.js:
        (testEval):
        (probeAndRecurse):
        - Gave all the test constants names.
        - Tweaked the constants to allow the test to run in the least amount of time, and
          also to behave consistently across all test configurations.
        - Re-enable eager tests now that the test should finish quickly.

2016-07-12  Dean Jackson  <dino@apple.com>

        REGRESSION (202694): Audio and Video playback controls: Cannot find a position slider to adjust playback position using VO.
        https://bugs.webkit.org/show_bug.cgi?id=159661
        <rdar://problem/27285135>

        Unreviewed. Slight tweak to test to hopefully avoid flakiness.

        * media/controls/default-size-should-show-scrubber-expected.txt:
        * media/controls/default-size-should-show-scrubber.html:

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

        Marking fast/css/ancestor-of-hovered-element-detached.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=159173

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-12  Johan K. Jensen  <johan_jensen@apple.com>

        Web Inspector: ER: Copy as cURL
        https://bugs.webkit.org/show_bug.cgi?id=159380

        Reviewed by Joseph Pecoraro.

        * http/tests/inspector/network/copy-as-curl-expected.txt: Added.
        * http/tests/inspector/network/copy-as-curl.html: Added.

2016-07-12  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] Array.prototype.join() fails some conformance tests
        https://bugs.webkit.org/show_bug.cgi?id=159657

        Reviewed by Saam Barati.

        I removed 3 sputnik tests that are incorrect in the latest spec.
        In ES5, Array.prototype.join() was using ToUint32 on the argument:
            https://es5.github.io/#x15.4.4.5
        In ES6, the function uses ToLength:
            https://tc39.github.io/ecma262/#sec-array.prototype.join

        The test use Infinity and very large integer as the length.
        They are guaranteed to time out or run out of memory.
        Even if we waited the hours it takes to run this, the results would be different
        from what the tests expect.

        * js/array-join-expected.txt: Added.
        * js/array-join.html: Added.
        * js/script-tests/array-join.js: Added.

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

        Marking storage/indexeddb/database-close-private.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=158500

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

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

        Marking storage/indexeddb/modern/handle-user-delete.html as flaky on Yosemite Release
        https://bugs.webkit.org/show_bug.cgi?id=158741

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

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

        Marking inspector/indexeddb/deleteDatabaseNamesWithSpace.html as a flaky timeout on Mac debug.
        https://bugs.webkit.org/show_bug.cgi?id=159684

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

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

        Update test expectations for rdar://problem/26590623 after r203117.

        * platform/mac/TestExpectations:

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

        Marking imported/w3c/web-platform-tests/fetch/api/request/request-cache.html as flaky on Mac and ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=159683

        Unreviewed test gardening.

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

2016-07-11  Dean Jackson  <dino@apple.com>

        REGRESSION (202694): Audio and Video playback controls: Cannot find a position slider to adjust playback position using VO.
        https://bugs.webkit.org/show_bug.cgi?id=159661
        <rdar://problem/27285135>

        Reviewed by Eric Carlson.

        Add a test that checks the scrubber is visible on a default media element.
        Unfortunately this isn't quite an accurate test, since we really want to
        examine a Media Document, but it's close enough.

        * media/controls/default-size-should-show-scrubber-expected.txt: Added.
        * media/controls/default-size-should-show-scrubber.html: Added.

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

        Marking http/tests/preload/single_download_preload_runner.html as a timeout
        https://bugs.webkit.org/show_bug.cgi?id=159678

        Unreviewed test gardening.

        * TestExpectations:

2016-07-11  Caio Lima  <ticaiolima@gmail.com>

        ECMAScript 2016: %TypedArray%.prototype.includes implementation
        https://bugs.webkit.org/show_bug.cgi?id=159385

        Reviewed by Benjamin Poulain.

        This patch implements test case to ECMAScript 2016:
        %TypedArray%.prototype.includes implementation
        following spec 22.2.3.14
        https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes

        * js/regress/script-tests/typed-array-includes.js: Added.
        (assertProperError):
        (testIntTypedArray):
        (testFloatTypedArray):
        * js/typed-array-includes-expected.txt: Added.
        * js/typed-array-includes.html: Added.

2016-07-11  Frederic Wang  <fwang@igalia.com>

        Disable some a failing test.

        Unreviewed test gardening.

        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1.html:

2016-07-11  Frederic Wang  <fwang@igalia.com>

        Add support for @href attribute in MathML
        https://bugs.webkit.org/show_bug.cgi?id=85733

        Reviewed by Brent Fulgham.

        We import some tests from the MathML in HTML5 test suite to
        test clicks on href attributes and write similar tests.
        We also test tab/enter keys and user agent style with links.

        * mathml/mathml-in-html5/href-click-1.html: Added. Verify mouse click on a MathML link.
        * mathml/mathml-in-html5/href-click-1-expected.html: Added.
        * mathml/mathml-in-html5/href-click-2.html: Added.
        Verify mouse click on a descendant of a MathML link.
        * mathml/mathml-in-html5/href-click-2-expected.html: Added.
        * mathml/presentation/href-enter.html: Added.
        Verify tab navigation and activing link with enter.
        * mathml/presentation/href-enter-expected.html: Added.
        * mathml/presentation/href-style.html: Added.
        Verify default style of links and of focused links.
        * mathml/presentation/href-style-expected.html: Added.
        * mathml/presentation/maction-toggle-href.html: Added.
        Verify conflicts between maction toggle and href link.
        * mathml/presentation/maction-toggle-href-expected.html: Added.
        * mathml/presentation/semantics-href.html: Added. Verify mouse click on a <semantics> link.
        * mathml/presentation/semantics-href-expected.html: Added.
        * platform/mac/TestExpectations: Disable MathML link tests that rely on keyboard events.
        * platform/ios-simulator/TestExpectations: Ditto.

2016-07-11  Frederic Wang  <fwang@igalia.com>

        Replace reftest mathml/presentation/fractions-positions.html with script tests
        https://bugs.webkit.org/show_bug.cgi?id=159558

        Reviewed by Martin Robinson.

        * TestExpectations: Remove fractions-positions.html
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1.html: Added.
        * mathml/presentation/fractions-positions-expected.html: Removed.
        * mathml/presentation/fractions-positions.html: Removed.

2016-07-11  Benjamin Poulain  <benjamin@webkit.org>

        [JSC] Array.from() and Array.of() try to build objects even if "this" is not a constructor
        https://bugs.webkit.org/show_bug.cgi?id=159604

        Reviewed by Yusuke Suzuki.

        * js/array-from-expected.txt:
        * js/array-of-expected.txt:
        * js/script-tests/array-from.js:
        * js/script-tests/array-of.js:

2016-07-11  Simon Fraser  <simon.fraser@apple.com>

        Deleting in a text input inside an iframe causes the page to scroll incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=159654
        rdar://problem/26805722

        Reviewed by Zalan Bujtas.

        * fast/forms/ios/delete-in-input-in-iframe-expected.txt: Added.
        * fast/forms/ios/delete-in-input-in-iframe.html: Added.

2016-07-11  Myles C. Maxfield  <mmaxfield@apple.com>

        Honor the second argument to FontFaceSet.load and FontFaceSet.check
        https://bugs.webkit.org/show_bug.cgi?id=159607
        <rdar://problem/27284902>

        Reviewed by Zalan Bujtas.

        * fast/text/font-face-set-document-expected.txt:
        * fast/text/font-face-set-document.html:
        * fast/text/font-face-set-javascript-expected.txt:
        * fast/text/font-face-set-javascript.html:
        * fast/text/unicode-range-javascript-expected.txt: Added.
        * fast/text/unicode-range-javascript.html: Added.

2016-07-11  Nan Wang  <n_wang@apple.com>

        AX: Crash when backspacing in number field with spin button
        https://bugs.webkit.org/show_bug.cgi?id=157830

        Reviewed by Chris Fleizach.

        * accessibility/spinbutton-crash-expected.txt: Added.
        * accessibility/spinbutton-crash.html: Added.

2016-07-11  Brent Fulgham  <bfulgham@apple.com>

        [WebGL] Check for existing buffer exists for enabled vertex array attributes before permitting glDrawArrays to execute
        https://bugs.webkit.org/show_bug.cgi?id=159590
        <rdar://problem/26865535>

        Reviewed by Dean Jackson.

        * fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt: Added.
        * fast/canvas/webgl/webgl-drawarrays-crash-2.html: Added.

2016-07-11  Keith Miller  <keith_miller@apple.com>

        STP TypedArray.subarray 5x slowdown compared to 9.1
        https://bugs.webkit.org/show_bug.cgi?id=156404

        Reviewed by Geoffrey Garen.

        Add new micro-benchmark for testing subarray performance with small subarray sizes.

        * js/regress/script-tests/typed-array-subarray.js: Added.
        (createManySubs):
        (go):
        * js/regress/typed-array-subarray-expected.txt: Added.
        * js/regress/typed-array-subarray.html: Added.

2016-07-11  Nan Wang  <n_wang@apple.com>

        AX: WKWebView should have API to prevent pinch-to-zoom always being allowed
        https://bugs.webkit.org/show_bug.cgi?id=158364

        Reviewed by Anders Carlsson.

        * fast/viewport/ios/force-always-user-scalable.html:
        * fast/viewport/ios/user-scalable-does-not-scale-for-keyboard-focus-with-author-defined-scale.html:
        * fast/viewport/ios/user-scalable-scales-for-keyboard-focus-with-no-author-defined-scale.html:

2016-07-11  Frederic Wang  <fwang@igalia.com>

        Use parameters from the OpenType MATH table for <munderover>
        https://bugs.webkit.org/show_bug.cgi?id=155756

        Reviewed by Brent Fulgham.

        Import some tests from the MathML in HTML5 test suite to verify
        the layout of the <munderover> element. We also write a test to
        verify dynamic change of accent/accentunder attributes and adjust
        other tests.

        * imported/mathml-in-html5/fonts/math/limits-lowerlimitbaselinedropmin3000.woff: Added.
        * imported/mathml-in-html5/fonts/math/limits-lowerlimitgapmin11000.woff: Added.
        * imported/mathml-in-html5/fonts/math/limits-upperlimitbaselinerisemin5000.woff: Added.
        * imported/mathml-in-html5/fonts/math/limits-upperlimitgapmin7000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stretchstack-bottomshiftdown3000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stretchstack-gapabovemin7000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stretchstack-gapbelowmin11000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stretchstack-topshiftup5000.woff: Added.
        * imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarextraascender3000.woff: Added.
        * imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarverticalgap11000.woff: Added.
        * imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarextradescender5000.woff: Added.
        * imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarverticalgap7000.woff: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html: Added.
        * mathml/presentation/attributes-accent-accentunder-dynamic.html: Added.
        Test dynamic changes of accent and accentunder.
        * mathml/presentation/attributes-accent-accentunder-dynamic-expected.html: Added.
        * mathml/presentation/scripts-underover.html: Remove one of the test since munderover
        with an empty script is no longer equivalent to munder or mover.
        * mathml/presentation/scripts-underover-expected.html: Ditto.
        * platform/gtk/mathml/opentype/horizontal-expected.png: Updated due to change in
        vertical metrics of scripts.
        * platform/gtk/mathml/opentype/horizontal-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.png: Ditto.
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/roots-expected.txt: Udapted due to script baseline fix.
        * platform/gtk/mathml/presentation/roots-expected.png: ditto.
        * mathml/presentation/underover-nonstretchy-or-vertical.html: Prevent the <mo> to be treated
        as an accent so that we always get the same spacing as the reference. We also use the Ahem
        font to make the result more reliable.

2016-07-11  Frederic Wang  <fwang@igalia.com>

        Use Stack* parameters from the OpenType MATH table
        https://bugs.webkit.org/show_bug.cgi?id=155714

        Reviewed by Brent Fulgham.

        We import a test from the MathML in HTML5 test suite to verify Stack* parameters.

        * imported/mathml-in-html5/fonts/math/stack-axisheight7000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stack-bottomdisplaystyleshiftdown5000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stack-bottomshiftdown6000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stack-displaystylegapmin4000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stack-gapmin8000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stack-topdisplaystyleshiftup3000.woff: Added.
        * imported/mathml-in-html5/fonts/math/stack-topshiftup9000.woff: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2.html: Added.

2016-07-11  Frederic Wang  <fwang@igalia.com>

        Add support for mathvariants that cannot be emulated via CSS.
        https://bugs.webkit.org/show_bug.cgi?id=108778

        Reviewed by Brent Fulgham.

        Import a test from the MathML in HTML5 test suite to perform an exhaustive
        verification of all the mathvariant transforms allowed.
        We also add some tests to verify inheritance of the mathvariant style, the
        effect on each token element and dynamic modification of mathvariant.
        Finally, we modify one test now that mathvariant is no longer emulated via CSS.

        * mathml/mathml-in-html5/fonts/mathvariant-transforms.woff: Added.
        * mathml/mathml-in-html5/mathvariant-transforms-1-expected.html: Added.
        * mathml/mathml-in-html5/mathvariant-transforms-1.html: Added.
        * mathml/mathml-in-html5/mathvariant-transforms-2-expected.html: Added.
        * mathml/mathml-in-html5/mathvariant-transforms-2.html: Added.
        * mathml/presentation/attributes-mathvariant-expected.html: Update this test now that
        mathvariant is correctly implemented using character transforms.
        * mathml/presentation/mathvariant-inheritance-expected.html: Added.
        * mathml/presentation/mathvariant-inheritance.html: Added.
        * mathml/presentation/mathvariant-tokens-expected.html: Added.
        * mathml/presentation/mathvariant-tokens.html: Added.
        * mathml/presentation/mathvariant-dynamic.html: Added.
        * mathml/presentation/mathvariant-dynamic-expected.html: Added.

2016-07-11  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/controls/inline-elements-dropoff-order.html as failing on El Capitan
        https://bugs.webkit.org/show_bug.cgi?id=151287

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-11  Eric Carlson  <eric.carlson@apple.com>

        Add a test for media control dropoff
        https://bugs.webkit.org/show_bug.cgi?id=151287
        <rdar://problem/23544666>

        Unreviewed El Capitan-specific test results after r203057.

        * platform/mac-elcapitan/media/controls: Added.
        * platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.
        * platform/mac-yosemite/media/controls: Added.

2016-07-11  Mark Lam  <mark.lam@apple.com>

        Change run-webkit-tests.py and run-jsc-stress-tests to use a smaller JS stack size for testing.
        https://bugs.webkit.org/show_bug.cgi?id=159524

        Reviewed by Michael Saboff.

        * js/dom/deep-recursion-test.html:
        * js/script-tests/stack-overflow-arrity-catch.js:
        (funcWith20Args):

2016-07-11  Fujii Hironori  <Hironori.Fujii@sony.com>

        Using dpi unit in sizes attribute raises SIGSEGV
        https://bugs.webkit.org/show_bug.cgi?id=159412

        Reviewed by Darin Adler.

        * TestExpectations: Unskip fast/dom/HTMLImageElement/sizes.
        * fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt: Updated.
        * fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html: Added a dpi unit test case.
        Renumbering element IDs.

2016-07-11  Eric Carlson  <eric.carlson@apple.com>

        Add a test for media control dropoff
        https://bugs.webkit.org/show_bug.cgi?id=151287
        <rdar://problem/23544666>

        Reviewed by Antoine Quint.

        * media/controls/inline-elements-dropoff-order-expected.txt: Added.
        * media/controls/inline-elements-dropoff-order.html: Added.
        * platform/mac-yosemite/media/controls: Added.
        * platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt: Added.
        * platform/mac-elcapitan/media/controls: Added.
        * platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.

2016-07-11  Frederic Wang  <fwang@igalia.com>

        Update expectations for some MathML pixel tests on Windows.

        Unreviewed test gardening.

        * platform/win/mathml/opentype/vertical-expected.txt:
        * platform/win/mathml/presentation/mo-stretch-expected.txt:
        * platform/win/mathml/presentation/roots-expected.txt:
        * platform/win/mathml/radical-fallback-expected.txt:

2016-07-11  Frederic Wang  <fwang@igalia.com>

        Update expectations for some MathML pixel tests on EFL.

        Unreviewed test gardening.

        * platform/efl/mathml/opentype/vertical-expected.txt:
        * platform/efl/mathml/presentation/mo-stretch-expected.txt:
        * platform/efl/mathml/presentation/roots-expected.txt:
        * platform/efl/mathml/radical-fallback-expected.txt:

2016-07-10  Chris Dumez  <cdumez@apple.com>

        Setting document.title reuses <title>'s textnode child
        https://bugs.webkit.org/show_bug.cgi?id=28864
        <rdar://problem/7186473>

        Reviewed by Benjamin Poulain.

        * fast/dom/title-setter-new-text-node-expected.txt: Added.
        * fast/dom/title-setter-new-text-node.html: Added.
        Add test coverage.

        * fast/dom/title-text-property-2-expected.txt:
        * fast/dom/title-text-property-expected.txt:
        * http/tests/globalhistory/history-delegate-basic-title-expected.txt:
        Rebaseline a few tests now that we do not reuse the <title>'s text
        node child.

2016-07-10  Commit Queue  <commit-queue@webkit.org>

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

        The JSC tests are breaking in elcapitan-debug-tests-jsc and
        elcapitan-release-tests-jsc (Requested by caiolima on
        #webkit).

        Reverted changeset:

        "ECMAScript 2016: %TypedArray%.prototype.includes
        implementation"
        https://bugs.webkit.org/show_bug.cgi?id=159385
        http://trac.webkit.org/changeset/203037

2016-07-10  Zalan Bujtas  <zalan@apple.com>

        Fix LogicalSelectionOffsetCaches to work with detached render tree.
        https://bugs.webkit.org/show_bug.cgi?id=159605
        <rdar://problem/27248845>

        Reviewed by Brent Fulgham.

        * fast/text/selection-on-a-detached-tree-expected.txt: Added.
        * fast/text/selection-on-a-detached-tree.html: Added.

2016-07-10  Chris Dumez  <cdumez@apple.com>

        adoptNode() changes css class to lowercase for document loaded with XHR responseType = "document"
        https://bugs.webkit.org/show_bug.cgi?id=159555
        <rdar://problem/27252541>

        Reviewed by Benjamin Poulain.

        Add test coverage.

        * fast/dom/Document/adoptNode-quirks-mismatch2-expected.txt: Added.
        * fast/dom/Document/adoptNode-quirks-mismatch2.html: Added.
        * fast/dom/Document/resources/document-noquirks-class.html: Added.
        * fast/dom/Document/resources/document-noquirks-id.html: Added.

2016-07-10  Caio Lima  <ticaiolima@gmail.com>

        ECMAScript 2016: %TypedArray%.prototype.includes implementation
        https://bugs.webkit.org/show_bug.cgi?id=159385

        Reviewed by Benjamin Poulain.

        This patch implements test case to ECMAScript 2016:
        %TypedArray%.prototype.includes implementation
        following spec 22.2.3.14
        https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes

        * js/regress/script-tests/typed-array-includes.js: Added.
        (assertProperError):
        (testIntTypedArray):
        (testFloatTypedArray):
        * js/typed-array-includes-expected.txt: Added.
        * js/typed-array-includes.html: Added.

2016-07-10  Yusuke Suzuki  <utatane.tea@gmail.com>

        [GTK] Crash on https://diafygi.github.io/webcrypto-examples with ENABLE_SUBTLE_CRYPTO
        https://bugs.webkit.org/show_bug.cgi?id=159189

        Reviewed by Michael Catanzaro.

        If you execute the added test with subtle-crypto-enabled GTK environment without this patch, this causes the crash.

        * crypto/subtle/unimplemented-unwrap-crash-expected.txt: Added.
        * crypto/subtle/unimplemented-unwrap-crash.html: Added.

2016-07-09  Keith Miller  <keith_miller@apple.com>

        appendMemcpy might fail in concatAppendOne
        https://bugs.webkit.org/show_bug.cgi?id=159601

        Reviewed by Mark Lam.

        Add new microbenchmark testing the performance of concat
        when appending one new element. This patch appears to be
        about a 13% progression on this test.

        * js/regress/concat-append-one-expected.txt: Added.
        * js/regress/concat-append-one.html: Added.
        * js/regress/script-tests/concat-append-one.js: Added.
        (test):

2016-07-09  Youenn Fablet  <youenn@apple.com>

        Make use of PrivateIdentifier to simplify Fetch Headers built-in checks
        https://bugs.webkit.org/show_bug.cgi?id=159554

        Reviewed by Alex Christensen.

        * fetch/header-constructor-overriden-expected.txt: Added.
        * fetch/header-constructor-overriden.html: Added.

2016-07-08  Chris Dumez  <cdumez@apple.com>

        adoptNode() changes css class to lowercase for document loaded with XHR responseType = "document"
        https://bugs.webkit.org/show_bug.cgi?id=159555
        <rdar://problem/27252541>

        Reviewed by Ryosuke Niwa.

        Add test coverage for id and class attributes.

        * fast/dom/Document/adoptNode-quirks-mismatch-expected.txt: Added.
        * fast/dom/Document/adoptNode-quirks-mismatch.html: Added.
        * fast/dom/Document/resources/document-quirks-class.html: Added.
        * fast/dom/Document/resources/document-quirks-id.html: Added.

2016-07-08  Daniel Bates  <dabates@apple.com>

        Setting table.tFoot or calling table.createTFoot() should append HTML tfont element to the end of the table
        https://bugs.webkit.org/show_bug.cgi?id=159583
        <rdar://problem/27255292>

        Reviewed by Chris Dumez.

        Update expected results now that we append the HTML tfoot element to the end of the table.

        * platform/efl/tables/mozilla/bugs/bug30418-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug30418-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug30418-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30418-expected.txt:
        * platform/win/tables/mozilla/bugs/bug30418-expected.txt:

2016-07-08  Chris Dumez  <cdumez@apple.com>

        Object.defineProperty() should maintain existing getter / setter if not overridden in the new descriptor
        https://bugs.webkit.org/show_bug.cgi?id=159576
        <rdar://problem/27242197>

        Reviewed by Mark Lam.

        Add test coverage.

        * js/dom/customAccessor-defineProperty-expected.txt: Added.
        * js/dom/customAccessor-defineProperty.html: Added.
        * js/dom/customAccessor-defineProperty_getterOnly-expected.txt: Added.
        * js/dom/customAccessor-defineProperty_getterOnly.html: Added.
        * js/dom/customAccessor-defineProperty_setterOnly-expected.txt: Added.
        * js/dom/customAccessor-defineProperty_setterOnly.html: Added.

2016-07-08  Andy Estes  <aestes@apple.com>

        [Content Filtering] Load blocked pages more like other error pages are loaded
        https://bugs.webkit.org/show_bug.cgi?id=159485
        <rdar://problem/26014076>

        Reviewed by Brady Eidson.

        Changed allow-* and block-* tests from ref tests to text tests so that they can capture
        frame load delegate callbacks and the back forward list.

        * contentfiltering/allow-after-add-data-expected.html: Removed.
        * contentfiltering/allow-after-add-data-expected.txt: Added.
        * contentfiltering/allow-after-finished-adding-data-expected.html: Removed.
        * contentfiltering/allow-after-finished-adding-data-expected.txt: Added.
        * contentfiltering/allow-after-response-expected.html: Removed.
        * contentfiltering/allow-after-response-expected.txt: Added.
        * contentfiltering/allow-after-will-send-request-expected.html: Removed.
        * contentfiltering/allow-after-will-send-request-expected.txt: Added.
        * contentfiltering/allow-never-expected.html: Removed.
        * contentfiltering/allow-never-expected.txt: Added.
        * contentfiltering/block-after-add-data-expected.html: Removed.
        * contentfiltering/block-after-add-data-expected.txt: Added.
        * contentfiltering/block-after-add-data-then-allow-unblock-expected.html: Removed.
        * contentfiltering/block-after-add-data-then-allow-unblock-expected.txt: Added.
        * contentfiltering/block-after-add-data-then-deny-unblock-expected.html: Removed.
        * contentfiltering/block-after-add-data-then-deny-unblock-expected.txt: Added.
        * contentfiltering/block-after-finished-adding-data-expected.html: Removed.
        * contentfiltering/block-after-finished-adding-data-expected.txt: Added.
        * contentfiltering/block-after-finished-adding-data-then-allow-unblock-expected.html: Removed.
        * contentfiltering/block-after-finished-adding-data-then-allow-unblock-expected.txt: Added.
        * contentfiltering/block-after-finished-adding-data-then-deny-unblock-expected.html: Removed.
        * contentfiltering/block-after-finished-adding-data-then-deny-unblock-expected.txt: Added.
        * contentfiltering/block-after-response-expected.html: Removed.
        * contentfiltering/block-after-response-expected.txt: Added.
        * contentfiltering/block-after-response-then-allow-unblock-expected.html: Removed.
        * contentfiltering/block-after-response-then-allow-unblock-expected.txt: Added.
        * contentfiltering/block-after-response-then-deny-unblock-expected.html: Removed.
        * contentfiltering/block-after-response-then-deny-unblock-expected.txt: Added.
        * contentfiltering/block-after-will-send-request-expected.html: Removed.
        * contentfiltering/block-after-will-send-request-expected.txt: Added.
        * contentfiltering/block-after-will-send-request-then-allow-unblock-expected.html: Removed.
        * contentfiltering/block-after-will-send-request-then-allow-unblock-expected.txt: Added.
        * contentfiltering/block-after-will-send-request-then-deny-unblock-expected.html: Removed.
        * contentfiltering/block-after-will-send-request-then-deny-unblock-expected.txt: Added.
        * contentfiltering/block-never-expected.html: Removed.
        * contentfiltering/block-never-expected.txt: Added.
        * contentfiltering/resources/contentfiltering.js: Added testRunner calls to dump as text,
        dump frame load callbacks, and dump the back forward list. Changed from loading data: URLs
        to file: URLs in the test iframe.

2016-07-08  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] The callback passed to document.fonts.ready should always be called
        https://bugs.webkit.org/show_bug.cgi?id=158884

        Reviewed by Dean Jackson.

        * TestExpectations:
        * fast/text/font-face-set-ready-fire-expected.txt: Added.
        * fast/text/font-face-set-ready-fire.html: Added.

2016-07-08  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/shadow-dom/trusted-event-scoped-flags.html for ios-simulator after r202953.

        Unreviewed test gardening.

        * platform/ios-simulator/fast/shadow-dom/trusted-event-scoped-flags-expected.txt:

2016-07-08  Commit Queue  <commit-queue@webkit.org>

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

        caused some tests to crash under GuardMalloc (Requested by
        estes on #webkit).

        Reverted changeset:

        "[Content Filtering] Load blocked pages more like other error
        pages are loaded"
        https://bugs.webkit.org/show_bug.cgi?id=159485
        http://trac.webkit.org/changeset/202944

2016-07-08  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Eliminate test noise from roles-computedRoleString.html
        https://bugs.webkit.org/show_bug.cgi?id=159563

        Reviewed by Chris Fleizach.

        Ensure we hide all the content, as the test intends to do.

        * accessibility/roles-computedRoleString-expected.txt: Updated.
        * accessibility/roles-computedRoleString.html: Updated.
        * platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated.

2016-07-08  Ryan Haddad  <ryanhaddad@apple.com>

        Marking some mathml tests as timeouts after r202983.

        Unreviewed test gardening.

        * TestExpectations:

2016-07-08  Antti Koivisto  <antti@apple.com>

        Regression(r201805): Crash with <use> resource that has Vary header
        https://bugs.webkit.org/show_bug.cgi?id=159560
        <rdar://problem/27034208>

        Reviewed by Chris Dumez.

        * http/tests/cache/resources/svg-defs-vary.php: Added.
        * http/tests/cache/vary-frameless-document-expected.txt: Added.
        * http/tests/cache/vary-frameless-document.html: Added.

2016-07-08  Commit Queue  <commit-queue@webkit.org>

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

        The test for this change is failing on all platforms.
        (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "[Font Loading] The callback passed to document.fonts.ready
        should always be called"
        https://bugs.webkit.org/show_bug.cgi?id=158884
        http://trac.webkit.org/changeset/202945

2016-07-08  Keith Miller  <keith_miller@apple.com>

        TypedArrays need more isNeutered checks.
        https://bugs.webkit.org/show_bug.cgi?id=159231

        Reviewed by Filip Pizlo.

        Update tests that assert that we can access indexed properties on
        a neutered TypedArray.

        * fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js:
        (assertViewClosed):
        * js/dom/dfg-typed-array-neuter-expected.txt:
        * js/dom/script-tests/dfg-typed-array-neuter.js:

2016-07-08  Frederic Wang  <fwang@igalia.com>

        Use Fraction* parameters from the OpenType MATH table
        https://bugs.webkit.org/show_bug.cgi?id=155639

        Reviewed by Brent Fulgham.

        We import a test from the MathML in HTML5 test suite to verify Fraction* parameters.
        We also do some small test adjustments.

        * TestExpectations: We disable fractions-positions.html for now until it is replaced with a more reliable test.
        * imported/mathml-in-html5/fonts/math/fraction-axisheight7000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-denominatordisplaystylegapmin5000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-denominatordisplaystyleshiftdown6000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-denominatorgapmin4000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-denominatorshiftdown3000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-numeratordisplaystylegapmin8000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-numeratordisplaystyleshiftup2000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-numeratorgapmin9000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-numeratorshiftup11000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/math/fraction-rulethickness10000.woff: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-1.html: Added.
        * mathml/presentation/fractions-linethickness-expected.html: Adjust the test to interpret
        "thick" and "thin" as suggested the MathML in HTML5 implementation note.
        * mathml/presentation/stretchy-depth-height-symmetric.html: Increase error tolerance.
        * platform/gtk/mathml/presentation/roots-expected.png: Handle small rendering changes.
        * platform/gtk/mathml/presentation/roots-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/roots-expected.txt: Ditto.
        * platform/mac/mathml/presentation/roots-expected.txt: Ditto.

2016-07-08  Frederic Wang  <fwang@igalia.com>

        Use Radical* constants from the OpenType MATH table.
        https://bugs.webkit.org/show_bug.cgi?id=155638

        Reviewed by Brent Fulgham.

        Import a test from the MathML in HTML5 test suite to verify all the Radical* parameters.
        For test RadicalDegreeBottomRaisePercent, WebKit's drawing of one of the radical sign
        is weird. This causes unexpected height of the radical and a fortiori wrong vertical
        position of the index. For now, we tweak that height to make the test pass.

        * imported/mathml-in-html5/fonts/radical-degreebottomraisepercent25-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/radical-displaystyleverticalgap7000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/radical-extraascender3000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/radical-kernafterdegreeminus5000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/radical-kernbeforedegree4000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/fonts/radical-rulethickness8000.woff: Added.
        * imported/mathml-in-html5/fonts/radical-verticalgap6000-rulethickness1000.woff: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/radicals/root-parameters-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/radicals/root-parameters-1.html: Added.
        * platform/gtk/mathml/radical-fallback-expected.png: Updated to take into account new rendering.
        * platform/gtk/mathml/radical-fallback-expected.txt: Ditto.
        * platform/mac/mathml/presentation/mo-stretch-expected.txt: Ditto.
        * platform/mac/mathml/presentation/roots-expected.txt: Ditto.
        * platform/mac/mathml/radical-fallback-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt: Ditto.
        * platform/ios-simulator/mathml/presentation/roots-expected.txt: Ditto.
        * platform/ios-simulator/mathml/radical-fallback-expected.txt: Ditto.

2016-07-08  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Inline size is never indefinite during layout
        https://bugs.webkit.org/show_bug.cgi?id=159253

        Reviewed by Sergio Villar Senin.

        Created a new test verifying the expected behavior. Updated the results
        in a few tests too.

        * fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
        * fast/css-grid-layout/grid-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-container-percentage-columns-expected.txt: Added.
        * fast/css-grid-layout/grid-container-percentage-columns.html: Added.
        * fast/css-grid-layout/named-grid-line-get-set-expected.txt:
        * fast/css-grid-layout/named-grid-line-get-set.html:
        * fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt:
        * fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
        The results of this test now show some FAIL messages becase of a bug in
        RenderBox::hasDefiniteLogicalHeight() (http://webkit.org/b/159251).
        * fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
        * fast/css-grid-layout/resources/grid-columns-rows-get-set.js:

2016-07-08  Frederic Wang  <fwang@igalia.com>

        Use OpenType MATH constant AxisHeight.
        https://bugs.webkit.org/show_bug.cgi?id=133567

        Reviewed by Brent Fulgham.

        Import tests from the MathML in HTML5 test suite to verify the AxisHeight parameter.

        * imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/tables/table-axis-height.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-expected.txt: Added.

2016-07-08  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Disallow repeat() in grid-template shorthand
        https://bugs.webkit.org/show_bug.cgi?id=159200

        Reviewed by Sergio Villar Senin.

        Modified test to follow the new behavior including new cases.

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

2016-07-08  Frederic Wang  <fwang@igalia.com>

        Add support for movablelimits.
        https://bugs.webkit.org/show_bug.cgi?id=155542

        Reviewed by Brent Fulgham.

        We import some reftests from Mozilla and write more tests in order to verify the effect of
        movablelimits. We also adjust one existing test due to change in how munderover handles
        invalid markup.

        * mathml/presentation/displaystyle-1.html: Added. Imported from Mozilla. This verifies the
        inheritance of displaystyle via its effect on movablelimits.
        * mathml/presentation/displaystyle-1-expected.html: Added.
        * mathml/presentation/displaystyle-2.html: Added. Imported from Mozilla. Test the effect of
        displaystyle on munder, mover and munderover with a movablelimits base.
        * mathml/presentation/displaystyle-2-expected.html: Added.
        * mathml/presentation/displaystyle-3.html: Added. Imported from Mozilla. Test dynamic change
        of displaystyle via its effect on movablelimits.
        * mathml/presentation/displaystyle-3-expected.html: Added.
        * mathml/presentation/mo-movablelimits-default.html: Added. Test that the default
        movablelimits value from the operator dictionary is correctly read.
        * mathml/presentation/mo-movablelimits-default-expected.html: Added.
        * mathml/presentation/mo-movablelimits-dynamic.html: Added. Imported from Mozilla.
        Test dynamic change of movablelimits.
        * mathml/presentation/mo-movablelimits-dynamic-expected.html: Added.
        * mathml/presentation/mo-movablelimits.html: Added. Basic test to check the effect of
        movablelimits on munder.
        * mathml/presentation/mo-movablelimits-expected.html: Added.
        * mathml/presentation/underover-scriptshifts.html: Added. This verifies that script shifts
        do not have any effect on munderover/mover/munder elements when their limits are rendered
        as postscripts.
        * mathml/presentation/underover-scriptshifts-expected.html: Added.

2016-07-07  Joseph Pecoraro  <pecoraro@apple.com>

        padStart/padEnd with Infinity produces unexpected result
        https://bugs.webkit.org/show_bug.cgi?id=159543

        Reviewed by Benjamin Poulain.

        * js/script-tests/string-padend.js: Added.
        (thisObject.toString):
        (lengthObject.valueOf):
        (fillObject.toString):
        * js/script-tests/string-padstart.js: Added.
        (thisObject.toString):
        (lengthObject.valueOf):
        (fillObject.toString):
        * js/string-padend-expected.txt: Added.
        * js/string-padend.html: Added.
        * js/string-padstart-expected.txt: Added.
        * js/string-padstart.html: Added.
        Add some basic String.prototype.padStart/padEnd test coverage
        that is not just in the JavaScriptCore/tests/es6 directory.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Bug 155792 - Basic implementation of mpadded
        https://bugs.webkit.org/show_bug.cgi?id=155792

        Reviewed by Brent Fulgham.

        We import mpadded tests from Mozilla test suite.
        We also add some tests for dynamic changes of mpadded attributes and to verify
        that the mpadded element behaves as if it had an inferred <mrow>.
        Finally, we check that fallback properly for negative and pseudo-unit values that
        we do not support yet.

        * mathml/presentation/inferred-mrow-baseline.html: Check baseline for mpadded.
        * mathml/presentation/inferred-mrow-baseline-expected.txt: Ditto.
        * mathml/presentation/inferred-mrow-stretchy.html: Check stretching of operators for mpadded.
        * mathml/presentation/inferred-mrow-stretchy-expected.txt: Ditto.
        * mathml/presentation/mpadded-dynamic.html: Added. Verify dynamic change of mpadded attributes.
        * mathml/presentation/mpadded-dynamic-expected.html: Added. Ditto.
        * mathml/presentation/mpadded-unsupported-values.html: Added. Check negative and pseudo-unit values.
        * mathml/presentation/mpadded-unsupported-values-expected.html: Added.
        * mathml/presentation/mpadded-1-2-expected.html: Added.
        * mathml/presentation/mpadded-1-2.html: Added.
        * mathml/presentation/mpadded-1-expected.html: Added.
        * mathml/presentation/mpadded-1.html: Added.
        * mathml/presentation/mpadded-2-expected.html: Added.
        * mathml/presentation/mpadded-2.html: Added.
        * mathml/presentation/mpadded-3-expected.html: Added.
        * mathml/presentation/mpadded-3.html: Added.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Implement an internal style property for displaystyle.
        https://bugs.webkit.org/show_bug.cgi?id=133845

        Reviewed by Brent Fulgham.

        This is based on a patch by Alejandro G. Castro <alex@igalia.com>

        Add two new tests to verify that the displaystyle property is correctly inherited
        on various MathML elements.
        large-operators-displaystyle verifies that large operators are only drawn bigger when
        the displaystyle is true.
        large-operators-displaystyle-dynamic verifies the same displaystyle is calculated when
        the display and displaystyle attributes are changed dynamically.

        * mathml/opentype/large-operators-displaystyle-dynamic-expected.html: Added.
        * mathml/opentype/large-operators-displaystyle-dynamic.html: Added.
        * mathml/opentype/large-operators-displaystyle-expected.txt: Added.
        * imported/mathml-in-html5/fonts/math/largeop-displayoperatorminheight5000.woff: Added.
        * imported/mathml-in-html5/mathml/relations/css-styling/displaystyle-1.html: Added.
        * imported/mathml-in-html5/mathml/relations/css-styling/displaystyle-1-expected.txt: Added.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Rebaseline some MathML tests on Windows after r202934

        Unreviewed test gardening.

        * platform/win/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/win/mathml/opentype/vertical-expected.txt:
        * platform/win/mathml/presentation/mo-stretch-expected.txt:
        * platform/win/mathml/presentation/roots-expected.txt:

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Rebaseline MathML pixels tests
        https://bugs.webkit.org/show_bug.cgi?id=159348

        Unreviewed test gardening.

        * platform/efl/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/efl/mathml/opentype/vertical-expected.txt:
        * platform/efl/mathml/presentation/mo-stretch-expected.txt:
        * platform/efl/mathml/presentation/roots-expected.txt:

2016-07-07  Benjamin Poulain  <benjamin@webkit.org>

        [JSC] String.prototype[Symbol.iterator] needs a name
        https://bugs.webkit.org/show_bug.cgi?id=159541

        Reviewed by Yusuke Suzuki.

        * js/script-tests/string-iterator.js: Added.
        * js/string-iterator-expected.txt: Added.
        * js/string-iterator.html: Added.

2016-07-07  Joseph Pecoraro  <pecoraro@apple.com>

        Unexpected "Out of memory" error for "x".repeat(-1)
        https://bugs.webkit.org/show_bug.cgi?id=159529

        Reviewed by Benjamin Poulain.

        Extended test coverage for:

          - function properties
          - fast path with invalid counts
          - observable side effects for fast path which were wrong before

        * js/script-tests/string-repeat.js:
        * js/string-repeat-expected.txt:

2016-07-07  Ryosuke Niwa  <rniwa@webkit.org>

        Replace scoped flag in Event by composed flag
        https://bugs.webkit.org/show_bug.cgi?id=158415

        Reviewed by Chris Dumez.

        Updated the tests to reflect the rename of scoped to composed and the negation of its semantics.
        Now every Event is assumed to be scoped / non-composed by default, and we need to explicitly set
        composed to true in order for events to cross shadow boundaries.

        Also, every Event behaves as if related target is assumed to be scoped in the old terminology
        althoug the flag no longer exists.

        * fast/shadow-dom/Extensions-to-Event-Interface-expected.txt:
        * fast/shadow-dom/Extensions-to-Event-Interface.html: Removed a test case that was testing 
        relatedTargetScoped to false since this flag no longer exists.
        * fast/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html:
        * fast/shadow-dom/event-inside-shadow-tree.html:
        * fast/shadow-dom/event-inside-slotted-node.html:
        * fast/shadow-dom/event-with-related-target.html:
        * fast/shadow-dom/trusted-event-scoped-flags-expected.txt:
        * fast/shadow-dom/trusted-event-scoped-flags.html:
        * fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
        * http/tests/workers/worker-importScriptsOnError-expected.txt:
        * inspector/model/remote-object-get-properties-expected.txt:

2016-07-07  Dean Jackson  <dino@apple.com>

        REGRESSION(r200769): animations are no longer overridden
        https://bugs.webkit.org/show_bug.cgi?id=159450
        <rdar://problem/27120570>

        Reviewed by Zalan Bujtas.

        Update an existing test to exercise a prefixed form applying
        to non-prefixed longhands.

        * fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt:
        * fast/css/shorthand-omitted-initial-value-overrides-shorthand.html:

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

        Test gardening after r202826
        https://bugs.webkit.org/show_bug.cgi?id=159538
        <rdar://problem/27197375>

        Unreviewed.

        * editing/style/text-indent.html:
        * platform/mac-wk1/TestExpectations:

2016-07-07  Myles C. Maxfield  <mmaxfield@apple.com> and Frédéric Wang  <fred.wang@free.fr>

        [Font Loading] The callback passed to document.fonts.ready should always be called
        https://bugs.webkit.org/show_bug.cgi?id=158884

        Reviewed by Dean Jackson.

        * fast/text/font-face-set-ready-fire-expected.txt: Added.
        * fast/text/font-face-set-ready-fire.html: Added.

2016-07-07  Andy Estes  <aestes@apple.com>

        [Content Filtering] Load blocked pages more like other error pages are loaded
        https://bugs.webkit.org/show_bug.cgi?id=159485
        <rdar://problem/26014076>

        Reviewed by Brady Eidson.

        Changed allow-* and block-* tests from ref tests to text tests so that they can capture
        frame load delegate callbacks and the back forward list.

        * contentfiltering/allow-after-add-data-expected.html: Removed.
        * contentfiltering/allow-after-add-data-expected.txt: Added.
        * contentfiltering/allow-after-finished-adding-data-expected.html: Removed.
        * contentfiltering/allow-after-finished-adding-data-expected.txt: Added.
        * contentfiltering/allow-after-response-expected.html: Removed.
        * contentfiltering/allow-after-response-expected.txt: Added.
        * contentfiltering/allow-after-will-send-request-expected.html: Removed.
        * contentfiltering/allow-after-will-send-request-expected.txt: Added.
        * contentfiltering/allow-never-expected.html: Removed.
        * contentfiltering/allow-never-expected.txt: Added.
        * contentfiltering/block-after-add-data-expected.html: Removed.
        * contentfiltering/block-after-add-data-expected.txt: Added.
        * contentfiltering/block-after-add-data-then-allow-unblock-expected.html: Removed.
        * contentfiltering/block-after-add-data-then-allow-unblock-expected.txt: Added.
        * contentfiltering/block-after-add-data-then-deny-unblock-expected.html: Removed.
        * contentfiltering/block-after-add-data-then-deny-unblock-expected.txt: Added.
        * contentfiltering/block-after-finished-adding-data-expected.html: Removed.
        * contentfiltering/block-after-finished-adding-data-expected.txt: Added.
        * contentfiltering/block-after-finished-adding-data-then-allow-unblock-expected.html: Removed.
        * contentfiltering/block-after-finished-adding-data-then-allow-unblock-expected.txt: Added.
        * contentfiltering/block-after-finished-adding-data-then-deny-unblock-expected.html: Removed.
        * contentfiltering/block-after-finished-adding-data-then-deny-unblock-expected.txt: Added.
        * contentfiltering/block-after-response-expected.html: Removed.
        * contentfiltering/block-after-response-expected.txt: Added.
        * contentfiltering/block-after-response-then-allow-unblock-expected.html: Removed.
        * contentfiltering/block-after-response-then-allow-unblock-expected.txt: Added.
        * contentfiltering/block-after-response-then-deny-unblock-expected.html: Removed.
        * contentfiltering/block-after-response-then-deny-unblock-expected.txt: Added.
        * contentfiltering/block-after-will-send-request-expected.html: Removed.
        * contentfiltering/block-after-will-send-request-expected.txt: Added.
        * contentfiltering/block-after-will-send-request-then-allow-unblock-expected.html: Removed.
        * contentfiltering/block-after-will-send-request-then-allow-unblock-expected.txt: Added.
        * contentfiltering/block-after-will-send-request-then-deny-unblock-expected.html: Removed.
        * contentfiltering/block-after-will-send-request-then-deny-unblock-expected.txt: Added.
        * contentfiltering/block-never-expected.html: Removed.
        * contentfiltering/block-never-expected.txt: Added.
        * contentfiltering/resources/contentfiltering.js: Added testRunner calls to dump as text,
        dump frame load callbacks, and dump the back forward list. Changed from loading data: URLs
        to file: URLs in the test iframe.

2016-07-07  Benjamin Poulain  <benjamin@webkit.org>

        [JSC] Array.prototype[Symbol.unscopables] should have the "includes" property
        https://bugs.webkit.org/show_bug.cgi?id=159504

        Reviewed by Keith Miller.

        * js/array-unscopables-properties-expected.txt: Added.
        * js/array-unscopables-properties.html: Added.
        * js/script-tests/array-unscopables-properties.js: Added.

2016-07-07  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27197375.

        * platform/mac-wk1/TestExpectations:

2016-07-07  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/video-main-content-allow-then-deny.html as failing on ElCapitan+
        https://bugs.webkit.org/show_bug.cgi?id=159533

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: When IDBDatabase objects are garbage collected, they don't close their server connection.
        <rdar://problem/25910345> and https://bugs.webkit.org/show_bug.cgi?id=159523

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/gc-closes-database-expected.txt: Added.
        * storage/indexeddb/modern/gc-closes-database-private-expected.txt: Added.
        * storage/indexeddb/modern/gc-closes-database-private.html: Added.
        * storage/indexeddb/modern/gc-closes-database.html: Added.
        * storage/indexeddb/modern/resources/gc-closes-database.js: Added.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Refactor layout functions to avoid using flexbox in MathML
        https://bugs.webkit.org/show_bug.cgi?id=153991

        Reviewed by Brent Fulgham.

        Update expectations of some MathML tests to take into account the
        removal of some line breaks and a better computation of the width of
        MathML expressions with vertical stretchy operators.

        * mathml/presentation/stretchy-depth-height-expected.txt:
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.png:
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/gtk/mathml/opentype/vertical-expected.png:
        * platform/gtk/mathml/opentype/vertical-expected.txt:
        * platform/gtk/mathml/presentation/mo-stretch-expected.png:
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt:
        * platform/gtk/mathml/presentation/roots-expected.png:
        * platform/gtk/mathml/presentation/roots-expected.txt:
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.png:
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt:
        * platform/mac/mathml/opentype/opentype-stretchy-expected.png:
        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/mac/mathml/presentation/mo-stretch-expected.png:
        * platform/mac/mathml/presentation/mo-stretch-expected.txt:
        * accessibility/mac/mathml-elements-expected.txt:
        * imported/blink/fast/text/output-isolate-at-end-of-line-crash-expected.txt:

2016-07-07  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector, regression: JS/JSON pretty-printing sporadically broken in STP8
        https://bugs.webkit.org/show_bug.cgi?id=159511
        <rdar://problem/27218435>

        Reviewed by Timothy Hatcher.

        * inspector/formatting/formatting-json-expected.txt: Added.
        * inspector/formatting/formatting-json.html: Added.

2016-07-07  Antti Koivisto  <antti@apple.com>

        REGRESSION (r199054): CrashTracer: [USER] parseWebKit at WebCore: WebCore::RenderBlockFlow::checkFloatsInCleanLine + 107
        https://bugs.webkit.org/show_bug.cgi?id=159519

        Reviewed by Zalan Bujtas.

        * fast/inline/trailing-floats-inline-crash-expected.txt: Added.
        * fast/inline/trailing-floats-inline-crash.html: Added.

2016-07-07  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r202905 and r202911.
        https://bugs.webkit.org/show_bug.cgi?id=159522

        This test is fails on El Capitan and Sierra WK1 (Requested by
        ryanhaddad on #webkit).

        Reverted changesets:

        "Add a test for media control dropoff"
        https://bugs.webkit.org/show_bug.cgi?id=151287
        http://trac.webkit.org/changeset/202905

        "Add a test for media control dropoff"
        https://bugs.webkit.org/show_bug.cgi?id=151287
        http://trac.webkit.org/changeset/202911

2016-07-07  Benjamin Poulain  <benjamin@webkit.org>

        [JSC] Array.prototype.includes uses ToInt32 instead of ToInteger on the index argument
        https://bugs.webkit.org/show_bug.cgi?id=159505

        Reviewed by Mark Lam.

        * js/array-includes-expected.txt:
        * js/script-tests/array-includes.js:

2016-07-07  Benjamin Poulain  <benjamin@webkit.org>

        [JSC] String.prototype.normalize should have a length of zero
        https://bugs.webkit.org/show_bug.cgi?id=159506

        Reviewed by Yusuke Suzuki.

        * js/script-tests/string-normalize.js: Added.
        (listener.toString):
        * js/string-normalize-expected.txt: Added.
        * js/string-normalize.html: Added.

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

        Add a test for media control dropoff
        https://bugs.webkit.org/show_bug.cgi?id=151287
        <rdar://problem/23544666>

        Unreviewed El Capitan-specific test results after r202905.

        * platform/mac-elcapitan/media/controls: Added.
        * platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Replace reftest scripts-height.html with script tests
        https://bugs.webkit.org/show_bug.cgi?id=159423

        We import a test from the MathML in HTML5 test suite to replace the test scripts-height.html
        and make results more reliable, explicit and accurate. This avoids the failure on iOS.

        Reviewed by Martin Robinson.

        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-4-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-4.html: Added.
        * mathml/presentation/scripts-height.html: Removed.
        * platform/ios-simulator/TestExpectations: Remove failure expectation.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Replace multiscripts-positions.html reftest with script tests
        https://bugs.webkit.org/show_bug.cgi?id=159418

        We import more tests from the MathML in HTML5 test suite to replace
        and extend the reftest testing metrics in the mmultiscripts element.
        This allows to make such tests work on OS X and iOS.

        Reviewed by Martin Robinson.

        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2.html: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3.html: Added.
        * mathml/presentation/multiscripts-positions.html: Removed.
        * platform/ios-simulator/TestExpectations: Remove failure for multiscripts-positions.
        * platform/mac/TestExpectations: Ditto.

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

        Add a test for media control dropoff
        https://bugs.webkit.org/show_bug.cgi?id=151287
        <rdar://problem/23544666>

        Reviewed by Antoine Quint.

        * media/controls/inline-elements-dropoff-order-expected.txt: Added.
        * media/controls/inline-elements-dropoff-order.html: Added.
        * platform/mac-yosemite/media/controls: Added.
        * platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt: Added.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Rewrite the tests of scripts-subsup.html
        https://bugs.webkit.org/show_bug.cgi?id=159202

        The tests for script metrics in scripts-subsup.html are very unreliable and difficult to
        debug. They currently fail on all platforms. We remove them and import a test from the
        MathML in HTML5 test suite that verifies equivalent features in a more reliable and
        understandable way. The equivalence test for msubsup and empty script is not preserved as
        the current code does not actually try to achieve this equivalence.

        Reviewed by Martin Robinson.

        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-1-expected.txt: Added.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-1.html: Added.
        * mathml/presentation/scripts-subsup-expected.html: Remove the tests for metrics.
        * mathml/presentation/scripts-subsup.html: Ditto.
        * platform/gtk/TestExpectations: Remove failure for scripts-subsup.html.
        * platform/ios-simulator-wk1/TestExpectations: Ditto.
        * platform/ios-simulator/TestExpectations: Ditto.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Improve test mathml/presentation/tokenElements-background-color.html
        https://bugs.webkit.org/show_bug.cgi?id=130693

        We use the Ahem font to make tokenElements-background-color.html more reliable. However, we
        remove the case of italic m because Ahem does not contain the required character U+1D45A.

        Reviewed by Martin Robinson.

        * mathml/presentation/tokenElements-background-color-expected.html:
        * mathml/presentation/tokenElements-background-color.html:
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2016-07-07  Frederic Wang  <fred.wang@free.fr>

        Fix the name of mathml-in-dashboard-expected.txt for iOS.

        Unreviewed test gardening.

        * platform/ios-simulator/mathml/mathml-in-dashboard-expected.txt: Renamed from LayoutTests/platform/ios-simulator/mathml/mathml-in-dashboard-actual.txt.

2016-07-07  Frederic Wang  <fwang@igalia.com>

        Tweak mathml/presentation/semantics.html to make it pass on iOS
        https://bugs.webkit.org/show_bug.cgi?id=159457

        Reviewed by Sergio Villar Senin.

        * mathml/presentation/semantics-expected.html: Force a line break between the two tests.
        * mathml/presentation/semantics.html: Ditto.
        * platform/ios-simulator-wk1/TestExpectations: Remove failure expectation.
        * platform/ios-simulator-wk2/TestExpectations: Ditto.

2016-07-06  Chris Dumez  <cdumez@apple.com>

        Align Document.body setter with the HTML specification
        https://bugs.webkit.org/show_bug.cgi?id=159490

        Reviewed by Alex Christensen.

        Update existing test that was setting a document's body to another frame's body
        as it was expecting the body element to get cloned rather than adopted / transferred.

        * fast/dom/document-set-body-expected.txt:
        * fast/dom/document-set-body.html:

2016-07-06  Brent Fulgham  <bfulgham@apple.com>

        Return values of JSArray::createUninitialized (and related) are not consistently checked for nullptr
        https://bugs.webkit.org/show_bug.cgi?id=159495
        <rdar://problem/26075433>

        Reviewed by Dean Jackson.

        * fast/canvas/canvas-getImageData-invalid-result-buffer-crash.html: Added.
        * fast/canvas/canvas-getImageData-invalid-result-buffer-crash-expected.txt: Added.

2016-07-06  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/restore-from-page-cache.html as a flaky crash on mac-wk2 debug
        https://bugs.webkit.org/show_bug.cgi?id=159430

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-07-06  Ryan Haddad  <ryanhaddad@apple.com>

        More test gardening after r202835.

        Unreviewed test gardening.

        * platform/mac-elcapitan/fast/attachment/attachment-select-on-click-expected.txt: Copied from LayoutTests/platform/mac/fast/attachment/attachment-select-on-click-expected.txt.
        * platform/mac/fast/attachment/attachment-select-on-click-expected.png:
        * platform/mac/fast/attachment/attachment-select-on-click-expected.txt:

2016-07-06  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline inspector/model/remote-object.html after r202873

        Unreviewed test gardening.

        * platform/mac/inspector/model/remote-object-expected.txt:

2016-07-06  Ryan Haddad  <ryanhaddad@apple.com>

        Correct a typo in the Mac TestExpectations file.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-06  Chris Dumez  <cdumez@apple.com>

        [ShadowDOM] assignedSlot property should be on Text, not CharacterData
        https://bugs.webkit.org/show_bug.cgi?id=159482
        <rdar://problem/27201687>

        Reviewed by Ryosuke Niwa.

        Update / rebaseline a couple of existing tests.

        * fast/shadow-dom/Slotable-interface-assignedSlot-expected.txt: Renamed from LayoutTests/fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot-expected.txt.
        * fast/shadow-dom/Slotable-interface-assignedSlot.html: Renamed from LayoutTests/fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html.
        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2016-07-06  Chris Dumez  <cdumez@apple.com>

        Add support for Node.isConnected
        https://bugs.webkit.org/show_bug.cgi?id=159474
        <rdar://problem/27197947>

        Reviewed by Ryosuke Niwa.

        Rebaseline test now that a new property is exposed on nodes.

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

2016-07-06  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r198928 and r198985.
        https://bugs.webkit.org/show_bug.cgi?id=159478

        "It's breaking some websites" (Requested by saamyjoon on
        #webkit).

        Reverted changesets:

        "[ES6] Disallow var assignments in for-in loops"
        https://bugs.webkit.org/show_bug.cgi?id=155451
        http://trac.webkit.org/changeset/198928

        "Unreviewed, turn ES6 for-in loop test success"
        https://bugs.webkit.org/show_bug.cgi?id=155451
        http://trac.webkit.org/changeset/198985

2016-07-06  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/debugger/tail-deleted-frames-from-vm-entry.html as flaky on mac-wk2 debug
        https://bugs.webkit.org/show_bug.cgi?id=159447

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-07-06  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27187013.

        * platform/mac/TestExpectations:

2016-07-06  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Height percentages are not properly resolved for item's children
        https://bugs.webkit.org/show_bug.cgi?id=159258

        Reviewed by Sergio Villar Senin.

        * fast/css-grid-layout/percent-resolution-grid-item-children-expected.txt: Added.
        * fast/css-grid-layout/percent-resolution-grid-item-children.html: Added.

2016-07-05  Youenn Fablet  <youenn@apple.com>

        Rebasing tests

        Importing tests

        Refresh WPT tests up to 03916af
        https://bugs.webkit.org/show_bug.cgi?id=159420

        Reviewed by Alex Christensen.

        * TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:

2016-07-05  Per Arne Vollan  <pvollan@apple.com>

        Enhance Windows DRT implementation to support platform scroll wheel events.
        https://bugs.webkit.org/show_bug.cgi?id=36002

        Reviewed by Brent Fulgham.

        Update test expectations.

        * platform/win/TestExpectations:

2016-07-05  Per Arne Vollan  <pvollan@apple.com>

        [Win] Layout Test http/tests/security/contentSecurityPolicy/source-list-parsing-10.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=147646

        Reviewed by Brent Fulgham.

        Update test expectations.

        * platform/win/TestExpectations:

2016-07-05  Joseph Pecoraro  <pecoraro@apple.com>

        RELEASE_ASSERT(!thisObject) in ObjCCallbackFunctionImpl::call when calling JSExport ObjC Constructor without operator new
        https://bugs.webkit.org/show_bug.cgi?id=159446

        Reviewed by Mark Lam.

        * js/class-syntax-call-expected.txt:
        * js/class-syntax-default-constructor-expected.txt:
        * js/script-tests/class-syntax-call.js:
        * js/script-tests/class-syntax-default-constructor.js:
        Improve error message when calling a class constructor without 'new'.

2016-07-05  David Kilzer  <ddkilzer@apple.com>

        Throw exceptions for invalid number of channels for ConvolverNode
        <https://webkit.org/b/159238>

        Reviewed by Brent Fulgham.

        Test based on a Blink change (patch by <rtoy@chromium.org>):
        <https://chromium.googlesource.com/chromium/src.git/+/0cc26bbb7175aec77910d0b47faf9f8c8a640fe5>

        compatibility.js based on a Blink change (patch by <rtoy@google.com>):
        <https://chromium.googlesource.com/chromium/src.git/+/f846f5a461d1fcdbe5152898576c125058079ed1>

        * webaudio/convolver-channels-expected.txt: Added.
        * webaudio/convolver-channels.html: Added.
        * webaudio/resources/compatibility.js: Added.

2016-07-05  Johan K. Jensen  <jj@johanjensen.dk>

        Web Inspector: Sending XHR with UTF8 encoded data shows garbled data in Resource sidebar
        https://bugs.webkit.org/show_bug.cgi?id=159358

        Reviewed by Joseph Pecoraro.

        * http/tests/inspector/network/xhr-request-data-encoded-correctly-expected.txt: Added.
        * http/tests/inspector/network/xhr-request-data-encoded-correctly.html: Added.

2016-07-05  Ryan Haddad  <ryanhaddad@apple.com>

        Test gardening after r202835.

        Unreviewed test garedening.

        * platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt:
        * platform/mac-elcapitan/fast/attachment/attachment-select-on-click-expected.txt: Removed.
        * platform/mac/fast/attachment/attachment-select-on-click-expected.txt:

2016-07-05  Chris Fleizach  <cfleizach@apple.com>

        AX: Image attachment in email does not show up in AX tree
        https://bugs.webkit.org/show_bug.cgi?id=159422

        Reviewed by Joanmarie Diggs.

        * accessibility/image-load-on-delay-expected.txt: Added.
        * accessibility/image-load-on-delay.html: Added.

2016-07-05  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27182687.

        * platform/mac/TestExpectations:

2016-07-05  Enrica Casucci  <enrica@apple.com>

        HTMLAttachment elements don't receive clicks after the first on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=159310
        rdar://problem/25776940

        Reviewed by Tim Horton.

        Updated existing test to correctly reflect the new behavior.

        * fast/attachment/attachment-select-on-click.html:
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt:
        * platform/mac/fast/attachment/attachment-select-on-click-expected.txt:

2016-07-05  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] The prototype cycle checks throws the wrong error type
        https://bugs.webkit.org/show_bug.cgi?id=159393

        Reviewed by Geoffrey Garen.

        * js/cyclic-prototypes-expected.txt:
        * js/script-tests/cyclic-prototypes.js:
        (catch):

2016-07-05  Jer Noble  <jer.noble@apple.com>

        REGRESSION (r202641): Netflix playback stalls after a few seconds
        https://bugs.webkit.org/show_bug.cgi?id=159365

        Reviewed by Eric Carlson.

        * media/media-source/media-source-small-gap-expected.txt: Added.
        * media/media-source/media-source-small-gap.html: Added.

2016-07-05  Myles C. Maxfield  <mmaxfield@apple.com>

        [Sierra] Rebaseline tests to use un-mocked system font metrics
        https://bugs.webkit.org/show_bug.cgi?id=159311
        <rdar://problem/24138411>

        Reviewed in person by Alexey Proskuryakov.

        * platform/mac-elcapitan/accessibility/aria-readonly-expected.txt: Copied from LayoutTests/platform/mac/accessibility/aria-readonly-expected.txt.
        * platform/mac-elcapitan/accessibility/form-control-value-settable-expected.txt: Copied from LayoutTests/platform/mac/accessibility/form-control-value-settable-expected.txt.
        * platform/mac-elcapitan/compositing/contents-opaque/control-layer-expected.txt: Copied from LayoutTests/platform/mac/compositing/contents-opaque/control-layer-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-19b-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-19b-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-23-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-23-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-24-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-24-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-64-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-64-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-68-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-68-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-69-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-69-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-19b-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-19b-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-23-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-23-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-24-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-24-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-64-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-64-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-68-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-68-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-69-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-69-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-19b-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-19b-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-23-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-23-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-24-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-24-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-64-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-64-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-68-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-68-expected.txt.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-69-expected.txt: Copied from LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-69-expected.txt.
        * platform/mac-elcapitan/editing/input/caret-at-the-edge-of-input-expected.txt: Copied from LayoutTests/platform/mac/editing/input/caret-at-the-edge-of-input-expected.txt.
        * platform/mac-elcapitan/editing/input/reveal-caret-of-multiline-input-expected.txt: Copied from LayoutTests/platform/mac/editing/input/reveal-caret-of-multiline-input-expected.txt.
        * platform/mac-elcapitan/editing/inserting/4960120-1-expected.txt: Copied from LayoutTests/platform/mac/editing/inserting/4960120-1-expected.txt.
        * platform/mac-elcapitan/editing/inserting/before-after-input-element-expected.txt: Copied from LayoutTests/platform/mac/editing/inserting/before-after-input-element-expected.txt.
        * platform/mac-elcapitan/editing/mac/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Added.
        * platform/mac-elcapitan/editing/mac/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Added.
        * platform/mac-elcapitan/editing/mac/spelling/delete-autocorrected-word-2-expected.txt: Copied from LayoutTests/editing/mac/spelling/delete-autocorrected-word-2-expected.txt.
        * platform/mac-elcapitan/editing/pasteboard/4641033-expected.txt: Copied from LayoutTests/platform/mac/editing/pasteboard/4641033-expected.txt.
        * platform/mac-elcapitan/editing/pasteboard/4806874-expected.txt: Copied from LayoutTests/platform/mac/editing/pasteboard/4806874-expected.txt.
        * platform/mac-elcapitan/editing/pasteboard/4944770-1-expected.txt: Copied from LayoutTests/platform/mac/editing/pasteboard/4944770-1-expected.txt.
        * platform/mac-elcapitan/editing/pasteboard/4944770-2-expected.txt: Copied from LayoutTests/platform/mac/editing/pasteboard/4944770-2-expected.txt.
        * platform/mac-elcapitan/editing/pasteboard/drop-text-without-selection-expected.txt: Copied from LayoutTests/platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt.
        * platform/mac-elcapitan/editing/pasteboard/input-field-1-expected.txt: Copied from LayoutTests/platform/mac/editing/pasteboard/input-field-1-expected.txt.
        * platform/mac-elcapitan/editing/pasteboard/pasting-tabs-expected.txt: Copied from LayoutTests/platform/mac/editing/pasteboard/pasting-tabs-expected.txt.
        * platform/mac-elcapitan/editing/selection/3690703-2-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/3690703-2-expected.txt.
        * platform/mac-elcapitan/editing/selection/3690703-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/3690703-expected.txt.
        * platform/mac-elcapitan/editing/selection/3690719-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/3690719-expected.txt.
        * platform/mac-elcapitan/editing/selection/4397952-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/4397952-expected.txt.
        * platform/mac-elcapitan/editing/selection/4895428-3-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/4895428-3-expected.txt.
        * platform/mac-elcapitan/editing/selection/4975120-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/4975120-expected.txt.
        * platform/mac-elcapitan/editing/selection/5240265-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/5240265-expected.txt.
        * platform/mac-elcapitan/editing/selection/drag-select-1-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/drag-select-1-expected.txt.
        * platform/mac-elcapitan/editing/selection/replaced-boundaries-3-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/replaced-boundaries-3-expected.txt.
        * platform/mac-elcapitan/editing/selection/select-across-readonly-input-3-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/select-across-readonly-input-3-expected.txt.
        * platform/mac-elcapitan/editing/selection/select-box-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/select-box-expected.txt.
        * platform/mac-elcapitan/editing/selection/select-element-paragraph-boundary-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/select-element-paragraph-boundary-expected.txt.
        * platform/mac-elcapitan/editing/selection/select-from-textfield-outwards-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/select-from-textfield-outwards-expected.txt.
        * platform/mac-elcapitan/editing/selection/selection-button-text-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/selection-button-text-expected.txt.
        * platform/mac-elcapitan/fast/attachment/attachment-label-highlight-expected.txt: Copied from LayoutTests/platform/mac/fast/attachment/attachment-label-highlight-expected.txt.
        * platform/mac-elcapitan/fast/attachment/attachment-progress-expected.txt: Copied from LayoutTests/platform/mac/fast/attachment/attachment-progress-expected.txt.
        * platform/mac-elcapitan/fast/attachment/attachment-select-on-click-expected.txt: Copied from LayoutTests/platform/mac/fast/attachment/attachment-select-on-click-expected.txt.
        * platform/mac-elcapitan/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Copied from LayoutTests/platform/mac/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt.
        * platform/mac-elcapitan/fast/attachment/attachment-subtitle-expected.txt: Copied from LayoutTests/platform/mac/fast/attachment/attachment-subtitle-expected.txt.
        * platform/mac-elcapitan/fast/block/float/float-avoidance-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/float-avoidance-expected.txt.
        * platform/mac-elcapitan/fast/block/margin-collapse/103-expected.txt: Copied from LayoutTests/platform/mac/fast/block/margin-collapse/103-expected.txt.
        * platform/mac-elcapitan/fast/block/positioning/inline-block-relposition-expected.txt: Copied from LayoutTests/platform/mac/fast/block/positioning/inline-block-relposition-expected.txt.
        * platform/mac-elcapitan/fast/css/continuationCrash-expected.txt: Copied from LayoutTests/platform/mac/fast/css/continuationCrash-expected.txt.
        * platform/mac-elcapitan/fast/css/focus-ring-exists-for-search-field-expected.txt: Copied from LayoutTests/platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt.
        * platform/mac-elcapitan/fast/css/line-height-expected.txt: Copied from LayoutTests/platform/mac/fast/css/line-height-expected.txt.
        * platform/mac-elcapitan/fast/css/margin-top-bottom-dynamic-expected.txt: Copied from LayoutTests/platform/mac/fast/css/margin-top-bottom-dynamic-expected.txt.
        * platform/mac-elcapitan/fast/css/text-overflow-input-expected.txt: Copied from LayoutTests/platform/mac/fast/css/text-overflow-input-expected.txt.
        * platform/mac-elcapitan/fast/css/text-transform-select-expected.txt: Copied from LayoutTests/platform/mac/fast/css/text-transform-select-expected.txt.
        * platform/mac-elcapitan/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt: Copied from LayoutTests/platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt.
        * platform/mac-elcapitan/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt: Copied from LayoutTests/platform/mac/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt.
        * platform/mac-elcapitan/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt: Copied from LayoutTests/platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt.
        * platform/mac-elcapitan/fast/dom/isindex-001-expected.txt: Copied from LayoutTests/platform/mac/fast/dom/isindex-001-expected.txt.
        * platform/mac-elcapitan/fast/dom/isindex-002-expected.txt: Copied from LayoutTests/platform/mac/fast/dom/isindex-002-expected.txt.
        * platform/mac-elcapitan/fast/dynamic/008-expected.txt: Copied from LayoutTests/platform/mac/fast/dynamic/008-expected.txt.
        * platform/mac-elcapitan/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Copied from LayoutTests/platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.txt.
        * platform/mac-elcapitan/fast/events/context-no-deselect-expected.txt: Copied from LayoutTests/platform/mac/fast/events/context-no-deselect-expected.txt.
        * platform/mac-elcapitan/fast/events/shadow-event-path-2-expected.txt: Copied from LayoutTests/platform/mac/fast/events/shadow-event-path-2-expected.txt.
        * platform/mac-elcapitan/fast/forms/001-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/001-expected.txt.
        * platform/mac-elcapitan/fast/forms/004-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/004-expected.txt.
        * platform/mac-elcapitan/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Added.
        * platform/mac-elcapitan/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Added.
        * platform/mac-elcapitan/fast/forms/basic-buttons-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/basic-buttons-expected.txt.
        * platform/mac-elcapitan/fast/forms/basic-inputs-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/basic-inputs-expected.txt.
        * platform/mac-elcapitan/fast/forms/basic-selects-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/basic-selects-expected.txt.
        * platform/mac-elcapitan/fast/forms/basic-textareas-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/basic-textareas-expected.txt.
        * platform/mac-elcapitan/fast/forms/basic-textareas-quirks-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/basic-textareas-quirks-expected.txt.
        * platform/mac-elcapitan/fast/forms/blankbuttons-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/blankbuttons-expected.txt.
        * platform/mac-elcapitan/fast/forms/box-shadow-override-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/box-shadow-override-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-align-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-align-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-cannot-be-nested-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-cannot-be-nested-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-default-title-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-default-title-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-generated-content-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-generated-content-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-positioned-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-positioned-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-sizes-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-sizes-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-style-color-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-style-color-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-table-styles-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-table-styles-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-text-transform-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-text-transform-expected.txt.
        * platform/mac-elcapitan/fast/forms/button-white-space-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-white-space-expected.txt.
        * platform/mac-elcapitan/fast/forms/control-clip-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/control-clip-expected.txt.
        * platform/mac-elcapitan/fast/forms/control-clip-overflow-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/control-clip-overflow-expected.txt.
        * platform/mac-elcapitan/fast/forms/control-restrict-line-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/control-restrict-line-height-expected.txt.
        * platform/mac-elcapitan/fast/forms/disabled-select-change-index-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/disabled-select-change-index-expected.txt.
        * platform/mac-elcapitan/fast/forms/encoding-test-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/encoding-test-expected.txt.
        * platform/mac-elcapitan/fast/forms/fieldset-align-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/fieldset-align-expected.txt.
        * platform/mac-elcapitan/fast/forms/file/file-input-direction-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/file/file-input-direction-expected.txt.
        * platform/mac-elcapitan/fast/forms/file/file-input-disabled-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/file/file-input-disabled-expected.txt.
        * platform/mac-elcapitan/fast/forms/file/input-file-re-render-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/file/input-file-re-render-expected.txt.
        * platform/mac-elcapitan/fast/forms/floating-textfield-relayout-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/floating-textfield-relayout-expected.txt.
        * platform/mac-elcapitan/fast/forms/form-element-geometry-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/form-element-geometry-expected.txt.
        * platform/mac-elcapitan/fast/forms/hidden-listbox-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/hidden-listbox-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-align-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-align-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-bkcolor-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-bkcolor-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-default-bkcolor-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-default-bkcolor-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-disabled-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-disabled-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-focus-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-focus-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-height-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-preventDefault-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-preventDefault-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-readonly-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-readonly-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-selection-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-selection-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-spinbutton-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-spinbutton-up-expected.txt: Added.
        * platform/mac-elcapitan/fast/forms/input-appearance-visibility-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-visibility-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-appearance-width-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-width-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-baseline-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-baseline-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-button-sizes-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-button-sizes-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-disabled-color-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-disabled-color-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-double-click-selection-gap-bug-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-field-text-truncated-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-field-text-truncated-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-first-letter-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-first-letter-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-placeholder-visibility-1-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-placeholder-visibility-3-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-readonly-autoscroll-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-readonly-autoscroll-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-readonly-dimmed-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-readonly-dimmed-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-readonly-empty-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-readonly-empty-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-spaces-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-spaces-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-table-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-table-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-text-click-inside-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-click-inside-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-text-click-outside-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-click-outside-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-text-double-click-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-double-click-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-text-drag-down-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-drag-down-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-text-option-delete-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-option-delete-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-text-scroll-left-on-blur-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-text-self-emptying-click-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-self-emptying-click-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-text-word-wrap-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-word-wrap-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-value-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-value-expected.txt.
        * platform/mac-elcapitan/fast/forms/input-width-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-width-expected.txt.
        * platform/mac-elcapitan/fast/forms/listbox-bidi-align-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/listbox-bidi-align-expected.txt.
        * platform/mac-elcapitan/fast/forms/listbox-scrollbar-incremental-load-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/listbox-scrollbar-incremental-load-expected.txt.
        * platform/mac-elcapitan/fast/forms/listbox-width-change-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/listbox-width-change-expected.txt.
        * platform/mac-elcapitan/fast/forms/menulist-clip-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/menulist-clip-expected.txt.
        * platform/mac-elcapitan/fast/forms/menulist-deselect-update-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/menulist-deselect-update-expected.txt.
        * platform/mac-elcapitan/fast/forms/menulist-narrow-width-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/menulist-narrow-width-expected.txt.
        * platform/mac-elcapitan/fast/forms/menulist-no-overflow-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/menulist-no-overflow-expected.txt.
        * platform/mac-elcapitan/fast/forms/menulist-restrict-line-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/menulist-restrict-line-height-expected.txt.
        * platform/mac-elcapitan/fast/forms/menulist-style-color-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/menulist-style-color-expected.txt.
        * platform/mac-elcapitan/fast/forms/menulist-width-change-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/menulist-width-change-expected.txt.
        * platform/mac-elcapitan/fast/forms/minWidthPercent-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/minWidthPercent-expected.txt.
        * platform/mac-elcapitan/fast/forms/number/number-appearance-rtl-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/number/number-appearance-rtl-expected.txt.
        * platform/mac-elcapitan/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt.
        * platform/mac-elcapitan/fast/forms/number/number-appearance-spinbutton-layer-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/number/number-appearance-spinbutton-layer-expected.txt.
        * platform/mac-elcapitan/fast/forms/option-script-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/option-script-expected.txt.
        * platform/mac-elcapitan/fast/forms/option-strip-whitespace-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/option-strip-whitespace-expected.txt.
        * platform/mac-elcapitan/fast/forms/option-text-clip-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/option-text-clip-expected.txt.
        * platform/mac-elcapitan/fast/forms/placeholder-position-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/placeholder-position-expected.txt.
        * platform/mac-elcapitan/fast/forms/placeholder-pseudo-style-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/placeholder-pseudo-style-expected.txt.
        * platform/mac-elcapitan/fast/forms/plaintext-mode-2-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/plaintext-mode-2-expected.txt.
        * platform/mac-elcapitan/fast/forms/search-cancel-button-style-sharing-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt.
        * platform/mac-elcapitan/fast/forms/search-display-none-cancel-button-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-display-none-cancel-button-expected.txt.
        * platform/mac-elcapitan/fast/forms/search-input-rtl-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-input-rtl-expected.txt.
        * platform/mac-elcapitan/fast/forms/search-rtl-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-rtl-expected.txt.
        * platform/mac-elcapitan/fast/forms/search-styled-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-styled-expected.txt.
        * platform/mac-elcapitan/fast/forms/search-vertical-alignment-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-vertical-alignment-expected.txt.
        * platform/mac-elcapitan/fast/forms/search/search-padding-cancel-results-buttons-expected.txt: Added.
        * platform/mac-elcapitan/fast/forms/search/search-size-with-decorations-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search/search-size-with-decorations-expected.txt.
        * platform/mac-elcapitan/fast/forms/searchfield-heights-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/searchfield-heights-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-background-none-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-background-none-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-baseline-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-baseline-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-block-background-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-block-background-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-change-listbox-size-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-change-listbox-size-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-change-listbox-to-popup-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-change-listbox-to-popup-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-change-popup-to-listbox-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-change-popup-to-listbox-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-dirty-parent-pref-widths-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-dirty-parent-pref-widths-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-disabled-appearance-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-disabled-appearance-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-empty-option-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-empty-option-height-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-initial-position-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-initial-position-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-item-background-clip-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-item-background-clip-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-list-box-with-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-list-box-with-height-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-listbox-multiple-no-focusring-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-listbox-multiple-no-focusring-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-non-native-rendering-direction-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-non-native-rendering-direction-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-overflow-scroll-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-overflow-scroll-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-overflow-scroll-inherited-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-overflow-scroll-inherited-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-selected-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-selected-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-style-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-style-expected.txt.
        * platform/mac-elcapitan/fast/forms/select-writing-direction-natural-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-writing-direction-natural-expected.txt.
        * platform/mac-elcapitan/fast/forms/select/optgroup-rendering-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select/optgroup-rendering-expected.txt.
        * platform/mac-elcapitan/fast/forms/stuff-on-my-optgroup-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/stuff-on-my-optgroup-expected.txt.
        * platform/mac-elcapitan/fast/forms/tabbing-input-iframe-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/tabbing-input-iframe-expected.txt.
        * platform/mac-elcapitan/fast/forms/text-style-color-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/text-style-color-expected.txt.
        * platform/mac-elcapitan/fast/forms/textAreaLineHeight-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textAreaLineHeight-expected.txt.
        * platform/mac-elcapitan/fast/forms/textarea-align-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textarea-align-expected.txt.
        * platform/mac-elcapitan/fast/forms/textarea-placeholder-pseudo-style-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.txt.
        * platform/mac-elcapitan/fast/forms/textarea-placeholder-visibility-1-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textarea-placeholder-visibility-1-expected.txt.
        * platform/mac-elcapitan/fast/forms/textarea-placeholder-visibility-2-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textarea-placeholder-visibility-2-expected.txt.
        * platform/mac-elcapitan/fast/forms/textarea-scroll-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textarea-scroll-height-expected.txt.
        * platform/mac-elcapitan/fast/forms/textarea-scrollbar-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textarea-scrollbar-expected.txt.
        * platform/mac-elcapitan/fast/forms/textarea-scrolled-type-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textarea-scrolled-type-expected.txt.
        * platform/mac-elcapitan/fast/forms/textarea-setinnerhtml-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textarea-setinnerhtml-expected.txt.
        * platform/mac-elcapitan/fast/forms/textfield-focus-ring-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textfield-focus-ring-expected.txt.
        * platform/mac-elcapitan/fast/forms/textfield-outline-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textfield-outline-expected.txt.
        * platform/mac-elcapitan/fast/forms/textfield-overflow-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/textfield-overflow-expected.txt.
        * platform/mac-elcapitan/fast/forms/validation-message-appearance-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/validation-message-appearance-expected.txt.
        * platform/mac-elcapitan/fast/forms/visual-hebrew-text-field-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/visual-hebrew-text-field-expected.txt.
        * platform/mac-elcapitan/fast/frames/take-focus-from-iframe-expected.txt: Copied from LayoutTests/platform/mac/fast/frames/take-focus-from-iframe-expected.txt.
        * platform/mac-elcapitan/fast/hidpi/resize-corner-hidpi-expected.txt: Copied from LayoutTests/platform/mac/fast/hidpi/resize-corner-hidpi-expected.txt.
        * platform/mac-elcapitan/fast/html/details-no-summary4-expected.txt: Copied from LayoutTests/platform/mac/fast/html/details-no-summary4-expected.txt.
        * platform/mac-elcapitan/fast/html/details-open-javascript-expected.txt: Copied from LayoutTests/platform/mac/fast/html/details-open-javascript-expected.txt.
        * platform/mac-elcapitan/fast/html/details-open2-expected.txt: Copied from LayoutTests/platform/mac/fast/html/details-open2-expected.txt.
        * platform/mac-elcapitan/fast/html/details-open4-expected.txt: Copied from LayoutTests/platform/mac/fast/html/details-open4-expected.txt.
        * platform/mac-elcapitan/fast/html/keygen-expected.txt: Copied from LayoutTests/platform/mac/fast/html/keygen-expected.txt.
        * platform/mac-elcapitan/fast/lists/dynamic-marker-crash-expected.txt: Copied from LayoutTests/platform/mac/fast/lists/dynamic-marker-crash-expected.txt.
        * platform/mac-elcapitan/fast/overflow/overflow-x-y-expected.txt: Copied from LayoutTests/platform/mac/fast/overflow/overflow-x-y-expected.txt.
        * platform/mac-elcapitan/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt: Copied from LayoutTests/platform/mac/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt.
        * platform/mac-elcapitan/fast/overflow/scrollRevealButton-expected.txt: Copied from LayoutTests/platform/mac/fast/overflow/scrollRevealButton-expected.txt.
        * platform/mac-elcapitan/fast/parser/document-write-option-expected.txt: Copied from LayoutTests/platform/mac/fast/parser/document-write-option-expected.txt.
        * platform/mac-elcapitan/fast/parser/entity-comment-in-textarea-expected.txt: Copied from LayoutTests/platform/mac/fast/parser/entity-comment-in-textarea-expected.txt.
        * platform/mac-elcapitan/fast/parser/open-comment-in-textarea-expected.txt: Copied from LayoutTests/platform/mac/fast/parser/open-comment-in-textarea-expected.txt.
        * platform/mac-elcapitan/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt: Copied from LayoutTests/platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt.
        * platform/mac-elcapitan/fast/repaint/search-field-cancel-expected.txt: Copied from LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.txt.
        * platform/mac-elcapitan/fast/repaint/subtree-root-skipped-expected.txt: Copied from LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.txt.
        * platform/mac-elcapitan/fast/replaced/replaced-breaking-expected.txt: Copied from LayoutTests/platform/mac/fast/replaced/replaced-breaking-expected.txt.
        * platform/mac-elcapitan/fast/replaced/replaced-breaking-mixture-expected.txt: Copied from LayoutTests/platform/mac/fast/replaced/replaced-breaking-mixture-expected.txt.
        * platform/mac-elcapitan/fast/replaced/width100percent-button-expected.txt: Copied from LayoutTests/platform/mac/fast/replaced/width100percent-button-expected.txt.
        * platform/mac-elcapitan/fast/replaced/width100percent-menulist-expected.txt: Copied from LayoutTests/platform/mac/fast/replaced/width100percent-menulist-expected.txt.
        * platform/mac-elcapitan/fast/replaced/width100percent-textarea-expected.txt: Copied from LayoutTests/platform/mac/fast/replaced/width100percent-textarea-expected.txt.
        * platform/mac-elcapitan/fast/selectors/064-expected.txt: Copied from LayoutTests/platform/mac/fast/selectors/064-expected.txt.
        * platform/mac-elcapitan/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt: Copied from LayoutTests/platform/mac/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt.
        * platform/mac-elcapitan/fast/table/003-expected.txt: Copied from LayoutTests/platform/mac/fast/table/003-expected.txt.
        * platform/mac-elcapitan/fast/table/append-cells2-expected.txt: Copied from LayoutTests/platform/mac/fast/table/append-cells2-expected.txt.
        * platform/mac-elcapitan/fast/table/colspanMinWidth-expected.txt: Copied from LayoutTests/platform/mac/fast/table/colspanMinWidth-expected.txt.
        * platform/mac-elcapitan/fast/table/colspanMinWidth-vertical-expected.txt: Copied from LayoutTests/platform/mac/fast/table/colspanMinWidth-vertical-expected.txt.
        * platform/mac-elcapitan/fast/table/remove-td-display-none-expected.txt: Copied from LayoutTests/platform/mac/fast/table/remove-td-display-none-expected.txt.
        * platform/mac-elcapitan/fast/table/spanOverlapRepaint-expected.txt: Copied from LayoutTests/platform/mac/fast/table/spanOverlapRepaint-expected.txt.
        * platform/mac-elcapitan/fast/table/text-field-baseline-expected.txt: Copied from LayoutTests/platform/mac/fast/table/text-field-baseline-expected.txt.
        * platform/mac-elcapitan/fast/text/backslash-to-yen-sign-euc-expected.txt: Copied from LayoutTests/platform/mac/fast/text/backslash-to-yen-sign-euc-expected.txt.
        * platform/mac-elcapitan/fast/text/drawBidiText-expected.txt: Copied from LayoutTests/platform/mac/fast/text/drawBidiText-expected.txt.
        * platform/mac-elcapitan/fast/text/international/hindi-spacing-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.txt.
        * platform/mac-elcapitan/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt.
        * platform/mac-elcapitan/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt.
        * platform/mac-elcapitan/fast/text/textIteratorNilRenderer-expected.txt: Copied from LayoutTests/platform/mac/fast/text/textIteratorNilRenderer-expected.txt.
        * platform/mac-elcapitan/fast/text/trak-optimizeLegibility-expected.txt: Added.
        * platform/mac-elcapitan/fast/transforms/transformed-focused-text-input-expected.txt: Copied from LayoutTests/platform/mac/fast/transforms/transformed-focused-text-input-expected.txt.
        * platform/mac-elcapitan/http/tests/navigation/javascriptlink-frames-expected.txt: Copied from LayoutTests/platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt.
        * platform/mac-elcapitan/media/controls-after-reload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-after-reload-expected.txt.
        * platform/mac-elcapitan/media/controls-styling-expected.txt: Renamed from LayoutTests/platform/mac-yosemite/media/controls-styling-expected.txt.
        * platform/mac-elcapitan/media/media-document-audio-repaint-expected.txt: Copied from LayoutTests/platform/mac/media/media-document-audio-repaint-expected.txt.
        * platform/mac-elcapitan/plugins/mouse-click-plugin-clears-selection-expected.txt: Copied from LayoutTests/platform/mac/plugins/mouse-click-plugin-clears-selection-expected.txt.
        * platform/mac-elcapitan/scrollbars/key-window-not-first-responder-expected.txt: Copied from LayoutTests/platform/mac/scrollbars/key-window-not-first-responder-expected.txt.
        * platform/mac-elcapitan/svg/custom/inline-svg-in-xhtml-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt.
        * platform/mac-elcapitan/svg/hixie/mixed/003-expected.txt: Copied from LayoutTests/platform/mac/svg/hixie/mixed/003-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug1188-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug1188-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug12384-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug12384-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug138725-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug138725-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug18359-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug18359-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug194024-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug194024-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug24200-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug24200-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug2479-2-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug2479-3-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug2479-4-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug2479-4-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug26178-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug26178-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug28928-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug28928-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug29326-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug29326-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug30559-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug30559-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug30692-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug30692-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug33855-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug33855-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug39209-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug39209-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug4382-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug4382-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug4429-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug4429-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug4527-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug4527-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug46368-1-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug46368-1-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug46368-2-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug46368-2-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug51037-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug51037-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug51727-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug51727-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug52505-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug52505-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug52506-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug52506-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug55545-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug55545-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug59354-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug59354-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug68912-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug68912-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug7342-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug7342-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug96334-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug96334-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug99948-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug99948-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/collapsing_borders/bug41262-4-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/collapsing_borders/bug41262-4-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/core/margins-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/core/margins-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/dom/tableDom-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/dom/tableDom-expected.txt.
        * platform/mac-elcapitan/tables/mozilla/other/move_row-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/other/move_row-expected.txt.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug1725-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.txt.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt.
        * platform/mac-elcapitan/transforms/2d/zoom-menulist-expected.txt: Copied from LayoutTests/platform/mac/transforms/2d/zoom-menulist-expected.txt.
        * platform/mac-elcapitan/transforms/3d/general/perspective-non-layer-expected.txt: Copied from LayoutTests/platform/mac/transforms/3d/general/perspective-non-layer-expected.txt.
        * platform/mac/accessibility/aria-readonly-expected.txt:
        * platform/mac/accessibility/form-control-value-settable-expected.txt:
        * platform/mac/compositing/contents-opaque/control-layer-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-19b-expected.png:
        * platform/mac/css3/selectors3/html/css3-modsel-19b-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-23-expected.png:
        * platform/mac/css3/selectors3/html/css3-modsel-23-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-24-expected.png:
        * platform/mac/css3/selectors3/html/css3-modsel-24-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-64-expected.png:
        * platform/mac/css3/selectors3/html/css3-modsel-64-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-68-expected.png:
        * platform/mac/css3/selectors3/html/css3-modsel-68-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-69-expected.png:
        * platform/mac/css3/selectors3/html/css3-modsel-69-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-19b-expected.png:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-19b-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-23-expected.png:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-23-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-24-expected.png:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-24-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-64-expected.png:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-64-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-68-expected.png:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-68-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-69-expected.png:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-69-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-19b-expected.png:
        * platform/mac/css3/selectors3/xml/css3-modsel-19b-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-23-expected.png:
        * platform/mac/css3/selectors3/xml/css3-modsel-23-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-24-expected.png:
        * platform/mac/css3/selectors3/xml/css3-modsel-24-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-64-expected.png:
        * platform/mac/css3/selectors3/xml/css3-modsel-64-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-68-expected.png:
        * platform/mac/css3/selectors3/xml/css3-modsel-68-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-69-expected.png:
        * platform/mac/css3/selectors3/xml/css3-modsel-69-expected.txt:
        * platform/mac/editing/input/caret-at-the-edge-of-input-expected.png:
        * platform/mac/editing/input/caret-at-the-edge-of-input-expected.txt:
        * platform/mac/editing/input/reveal-caret-of-multiline-input-expected.png:
        * platform/mac/editing/input/reveal-caret-of-multiline-input-expected.txt:
        * platform/mac/editing/inserting/4960120-1-expected.png:
        * platform/mac/editing/inserting/4960120-1-expected.txt:
        * platform/mac/editing/inserting/before-after-input-element-expected.png:
        * platform/mac/editing/inserting/before-after-input-element-expected.txt:
        * platform/mac/editing/mac/spelling/autocorrection-at-beginning-of-word-1-expected.png: Added.
        * platform/mac/editing/mac/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Added.
        * platform/mac/editing/mac/spelling/autocorrection-at-beginning-of-word-2-expected.png: Added.
        * platform/mac/editing/mac/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Added.
        * platform/mac/editing/mac/spelling/delete-autocorrected-word-2-expected.png: Added.
        * platform/mac/editing/mac/spelling/delete-autocorrected-word-2-expected.txt: Renamed from LayoutTests/editing/mac/spelling/delete-autocorrected-word-2-expected.txt.
        * platform/mac/editing/pasteboard/4641033-expected.png:
        * platform/mac/editing/pasteboard/4641033-expected.txt:
        * platform/mac/editing/pasteboard/4806874-expected.png:
        * platform/mac/editing/pasteboard/4806874-expected.txt:
        * platform/mac/editing/pasteboard/4944770-1-expected.png:
        * platform/mac/editing/pasteboard/4944770-1-expected.txt:
        * platform/mac/editing/pasteboard/4944770-2-expected.png:
        * platform/mac/editing/pasteboard/4944770-2-expected.txt:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.png:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt:
        * platform/mac/editing/pasteboard/input-field-1-expected.png:
        * platform/mac/editing/pasteboard/input-field-1-expected.txt:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.png:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/mac/editing/selection/3690703-2-expected.png:
        * platform/mac/editing/selection/3690703-2-expected.txt:
        * platform/mac/editing/selection/3690703-expected.png:
        * platform/mac/editing/selection/3690703-expected.txt:
        * platform/mac/editing/selection/3690719-expected.png:
        * platform/mac/editing/selection/3690719-expected.txt:
        * platform/mac/editing/selection/4397952-expected.png:
        * platform/mac/editing/selection/4397952-expected.txt:
        * platform/mac/editing/selection/4895428-3-expected.png:
        * platform/mac/editing/selection/4895428-3-expected.txt:
        * platform/mac/editing/selection/4975120-expected.png:
        * platform/mac/editing/selection/4975120-expected.txt:
        * platform/mac/editing/selection/5240265-expected.png:
        * platform/mac/editing/selection/5240265-expected.txt:
        * platform/mac/editing/selection/drag-select-1-expected.png:
        * platform/mac/editing/selection/drag-select-1-expected.txt:
        * platform/mac/editing/selection/replaced-boundaries-3-expected.png:
        * platform/mac/editing/selection/replaced-boundaries-3-expected.txt:
        * platform/mac/editing/selection/select-across-readonly-input-3-expected.png:
        * platform/mac/editing/selection/select-across-readonly-input-3-expected.txt:
        * platform/mac/editing/selection/select-box-expected.png:
        * platform/mac/editing/selection/select-box-expected.txt:
        * platform/mac/editing/selection/select-element-paragraph-boundary-expected.png:
        * platform/mac/editing/selection/select-element-paragraph-boundary-expected.txt:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.png:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/mac/editing/selection/selection-button-text-expected.png:
        * platform/mac/editing/selection/selection-button-text-expected.txt:
        * platform/mac/fast/attachment/attachment-label-highlight-expected.png:
        * platform/mac/fast/attachment/attachment-label-highlight-expected.txt:
        * platform/mac/fast/attachment/attachment-progress-expected.png:
        * platform/mac/fast/attachment/attachment-progress-expected.txt:
        * platform/mac/fast/attachment/attachment-select-on-click-expected.png:
        * platform/mac/fast/attachment/attachment-select-on-click-expected.txt:
        * platform/mac/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.png:
        * platform/mac/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt:
        * platform/mac/fast/attachment/attachment-subtitle-expected.png:
        * platform/mac/fast/attachment/attachment-subtitle-expected.txt:
        * platform/mac/fast/block/float/float-avoidance-expected.png:
        * platform/mac/fast/block/float/float-avoidance-expected.txt:
        * platform/mac/fast/block/margin-collapse/103-expected.png:
        * platform/mac/fast/block/margin-collapse/103-expected.txt:
        * platform/mac/fast/block/positioning/inline-block-relposition-expected.png:
        * platform/mac/fast/block/positioning/inline-block-relposition-expected.txt:
        * platform/mac/fast/css/continuationCrash-expected.png:
        * platform/mac/fast/css/continuationCrash-expected.txt:
        * platform/mac/fast/css/focus-ring-exists-for-search-field-expected.png:
        * platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt:
        * platform/mac/fast/css/line-height-expected.png:
        * platform/mac/fast/css/line-height-expected.txt:
        * platform/mac/fast/css/margin-top-bottom-dynamic-expected.png:
        * platform/mac/fast/css/margin-top-bottom-dynamic-expected.txt:
        * platform/mac/fast/css/text-overflow-input-expected.png:
        * platform/mac/fast/css/text-overflow-input-expected.txt:
        * platform/mac/fast/css/text-transform-select-expected.png:
        * platform/mac/fast/css/text-transform-select-expected.txt:
        * platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
        * platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:
        * platform/mac/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
        * platform/mac/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/mac/fast/dom/isindex-001-expected.png:
        * platform/mac/fast/dom/isindex-001-expected.txt:
        * platform/mac/fast/dom/isindex-002-expected.png:
        * platform/mac/fast/dom/isindex-002-expected.txt:
        * platform/mac/fast/dynamic/008-expected.png:
        * platform/mac/fast/dynamic/008-expected.txt:
        * platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.png:
        * platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
        * platform/mac/fast/events/context-no-deselect-expected.png:
        * platform/mac/fast/events/context-no-deselect-expected.txt:
        * platform/mac/fast/events/shadow-event-path-2-expected.txt:
        * platform/mac/fast/forms/001-expected.png:
        * platform/mac/fast/forms/001-expected.txt:
        * platform/mac/fast/forms/004-expected.png:
        * platform/mac/fast/forms/004-expected.txt:
        * platform/mac/fast/forms/auto-fill-button/input-auto-fill-button-expected.png: Added.
        * platform/mac/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Added.
        * platform/mac/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.png: Added.
        * platform/mac/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Added.
        * platform/mac/fast/forms/basic-buttons-expected.png:
        * platform/mac/fast/forms/basic-buttons-expected.txt:
        * platform/mac/fast/forms/basic-inputs-expected.png:
        * platform/mac/fast/forms/basic-inputs-expected.txt:
        * platform/mac/fast/forms/basic-selects-expected.png:
        * platform/mac/fast/forms/basic-selects-expected.txt:
        * platform/mac/fast/forms/basic-textareas-expected.png:
        * platform/mac/fast/forms/basic-textareas-expected.txt:
        * platform/mac/fast/forms/basic-textareas-quirks-expected.png:
        * platform/mac/fast/forms/basic-textareas-quirks-expected.txt:
        * platform/mac/fast/forms/blankbuttons-expected.png:
        * platform/mac/fast/forms/blankbuttons-expected.txt:
        * platform/mac/fast/forms/box-shadow-override-expected.png:
        * platform/mac/fast/forms/box-shadow-override-expected.txt:
        * platform/mac/fast/forms/button-align-expected.png:
        * platform/mac/fast/forms/button-align-expected.txt:
        * platform/mac/fast/forms/button-cannot-be-nested-expected.png:
        * platform/mac/fast/forms/button-cannot-be-nested-expected.txt:
        * platform/mac/fast/forms/button-default-title-expected.png:
        * platform/mac/fast/forms/button-default-title-expected.txt:
        * platform/mac/fast/forms/button-generated-content-expected.png:
        * platform/mac/fast/forms/button-generated-content-expected.txt:
        * platform/mac/fast/forms/button-positioned-expected.png:
        * platform/mac/fast/forms/button-positioned-expected.txt:
        * platform/mac/fast/forms/button-sizes-expected.png:
        * platform/mac/fast/forms/button-sizes-expected.txt:
        * platform/mac/fast/forms/button-style-color-expected.png:
        * platform/mac/fast/forms/button-style-color-expected.txt:
        * platform/mac/fast/forms/button-table-styles-expected.png:
        * platform/mac/fast/forms/button-table-styles-expected.txt:
        * platform/mac/fast/forms/button-text-transform-expected.png:
        * platform/mac/fast/forms/button-text-transform-expected.txt:
        * platform/mac/fast/forms/button-white-space-expected.png:
        * platform/mac/fast/forms/button-white-space-expected.txt:
        * platform/mac/fast/forms/control-clip-expected.png:
        * platform/mac/fast/forms/control-clip-expected.txt:
        * platform/mac/fast/forms/control-clip-overflow-expected.png:
        * platform/mac/fast/forms/control-clip-overflow-expected.txt:
        * platform/mac/fast/forms/control-restrict-line-height-expected.png:
        * platform/mac/fast/forms/control-restrict-line-height-expected.txt:
        * platform/mac/fast/forms/disabled-select-change-index-expected.png:
        * platform/mac/fast/forms/disabled-select-change-index-expected.txt:
        * platform/mac/fast/forms/encoding-test-expected.png:
        * platform/mac/fast/forms/encoding-test-expected.txt:
        * platform/mac/fast/forms/fieldset-align-expected.png:
        * platform/mac/fast/forms/fieldset-align-expected.txt:
        * platform/mac/fast/forms/file/file-input-direction-expected.png:
        * platform/mac/fast/forms/file/file-input-direction-expected.txt:
        * platform/mac/fast/forms/file/file-input-disabled-expected.png:
        * platform/mac/fast/forms/file/file-input-disabled-expected.txt:
        * platform/mac/fast/forms/file/input-file-re-render-expected.txt:
        * platform/mac/fast/forms/floating-textfield-relayout-expected.png:
        * platform/mac/fast/forms/floating-textfield-relayout-expected.txt:
        * platform/mac/fast/forms/form-element-geometry-expected.png:
        * platform/mac/fast/forms/form-element-geometry-expected.txt:
        * platform/mac/fast/forms/hidden-listbox-expected.png:
        * platform/mac/fast/forms/hidden-listbox-expected.txt:
        * platform/mac/fast/forms/input-align-expected.png:
        * platform/mac/fast/forms/input-align-expected.txt:
        * platform/mac/fast/forms/input-appearance-bkcolor-expected.png:
        * platform/mac/fast/forms/input-appearance-bkcolor-expected.txt:
        * platform/mac/fast/forms/input-appearance-default-bkcolor-expected.png:
        * platform/mac/fast/forms/input-appearance-default-bkcolor-expected.txt:
        * platform/mac/fast/forms/input-appearance-disabled-expected.png:
        * platform/mac/fast/forms/input-appearance-disabled-expected.txt:
        * platform/mac/fast/forms/input-appearance-focus-expected.png:
        * platform/mac/fast/forms/input-appearance-focus-expected.txt:
        * platform/mac/fast/forms/input-appearance-height-expected.png:
        * platform/mac/fast/forms/input-appearance-height-expected.txt:
        * platform/mac/fast/forms/input-appearance-preventDefault-expected.png:
        * platform/mac/fast/forms/input-appearance-preventDefault-expected.txt:
        * platform/mac/fast/forms/input-appearance-readonly-expected.png:
        * platform/mac/fast/forms/input-appearance-readonly-expected.txt:
        * platform/mac/fast/forms/input-appearance-selection-expected.png:
        * platform/mac/fast/forms/input-appearance-selection-expected.txt:
        * platform/mac/fast/forms/input-appearance-spinbutton-expected.png: Added.
        * platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
        * platform/mac/fast/forms/input-appearance-spinbutton-up-expected.png: Added.
        * platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt: Added.
        * platform/mac/fast/forms/input-appearance-visibility-expected.png:
        * platform/mac/fast/forms/input-appearance-visibility-expected.txt:
        * platform/mac/fast/forms/input-appearance-width-expected.png:
        * platform/mac/fast/forms/input-appearance-width-expected.txt:
        * platform/mac/fast/forms/input-baseline-expected.png:
        * platform/mac/fast/forms/input-baseline-expected.txt:
        * platform/mac/fast/forms/input-button-sizes-expected.png:
        * platform/mac/fast/forms/input-button-sizes-expected.txt:
        * platform/mac/fast/forms/input-disabled-color-expected.png:
        * platform/mac/fast/forms/input-disabled-color-expected.txt:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.png:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/mac/fast/forms/input-field-text-truncated-expected.png:
        * platform/mac/fast/forms/input-field-text-truncated-expected.txt:
        * platform/mac/fast/forms/input-first-letter-expected.png:
        * platform/mac/fast/forms/input-first-letter-expected.txt:
        * platform/mac/fast/forms/input-placeholder-visibility-1-expected.png:
        * platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt:
        * platform/mac/fast/forms/input-placeholder-visibility-3-expected.png:
        * platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.png:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.txt:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.png:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.txt:
        * platform/mac/fast/forms/input-readonly-empty-expected.png:
        * platform/mac/fast/forms/input-readonly-empty-expected.txt:
        * platform/mac/fast/forms/input-spaces-expected.png:
        * platform/mac/fast/forms/input-spaces-expected.txt:
        * platform/mac/fast/forms/input-table-expected.png:
        * platform/mac/fast/forms/input-table-expected.txt:
        * platform/mac/fast/forms/input-text-click-inside-expected.png:
        * platform/mac/fast/forms/input-text-click-inside-expected.txt:
        * platform/mac/fast/forms/input-text-click-outside-expected.png:
        * platform/mac/fast/forms/input-text-click-outside-expected.txt:
        * platform/mac/fast/forms/input-text-double-click-expected.png:
        * platform/mac/fast/forms/input-text-double-click-expected.txt:
        * platform/mac/fast/forms/input-text-drag-down-expected.png:
        * platform/mac/fast/forms/input-text-drag-down-expected.txt:
        * platform/mac/fast/forms/input-text-option-delete-expected.png:
        * platform/mac/fast/forms/input-text-option-delete-expected.txt:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.png:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/mac/fast/forms/input-text-word-wrap-expected.png:
        * platform/mac/fast/forms/input-text-word-wrap-expected.txt:
        * platform/mac/fast/forms/input-value-expected.png:
        * platform/mac/fast/forms/input-value-expected.txt:
        * platform/mac/fast/forms/input-width-expected.png:
        * platform/mac/fast/forms/input-width-expected.txt:
        * platform/mac/fast/forms/listbox-bidi-align-expected.png:
        * platform/mac/fast/forms/listbox-bidi-align-expected.txt:
        * platform/mac/fast/forms/listbox-scrollbar-incremental-load-expected.png:
        * platform/mac/fast/forms/listbox-scrollbar-incremental-load-expected.txt:
        * platform/mac/fast/forms/listbox-width-change-expected.png:
        * platform/mac/fast/forms/listbox-width-change-expected.txt:
        * platform/mac/fast/forms/menulist-clip-expected.png:
        * platform/mac/fast/forms/menulist-clip-expected.txt:
        * platform/mac/fast/forms/menulist-deselect-update-expected.png:
        * platform/mac/fast/forms/menulist-deselect-update-expected.txt:
        * platform/mac/fast/forms/menulist-narrow-width-expected.png:
        * platform/mac/fast/forms/menulist-narrow-width-expected.txt:
        * platform/mac/fast/forms/menulist-no-overflow-expected.png:
        * platform/mac/fast/forms/menulist-no-overflow-expected.txt:
        * platform/mac/fast/forms/menulist-restrict-line-height-expected.png:
        * platform/mac/fast/forms/menulist-restrict-line-height-expected.txt:
        * platform/mac/fast/forms/menulist-style-color-expected.png:
        * platform/mac/fast/forms/menulist-style-color-expected.txt:
        * platform/mac/fast/forms/menulist-width-change-expected.png:
        * platform/mac/fast/forms/menulist-width-change-expected.txt:
        * platform/mac/fast/forms/minWidthPercent-expected.png:
        * platform/mac/fast/forms/minWidthPercent-expected.txt:
        * platform/mac/fast/forms/number/number-appearance-rtl-expected.png:
        * platform/mac/fast/forms/number/number-appearance-rtl-expected.txt:
        * platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.png:
        * platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
        * platform/mac/fast/forms/number/number-appearance-spinbutton-layer-expected.png:
        * platform/mac/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
        * platform/mac/fast/forms/option-script-expected.png:
        * platform/mac/fast/forms/option-script-expected.txt:
        * platform/mac/fast/forms/option-strip-whitespace-expected.png:
        * platform/mac/fast/forms/option-strip-whitespace-expected.txt:
        * platform/mac/fast/forms/option-text-clip-expected.png:
        * platform/mac/fast/forms/option-text-clip-expected.txt:
        * platform/mac/fast/forms/placeholder-position-expected.png:
        * platform/mac/fast/forms/placeholder-position-expected.txt:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.png:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/plaintext-mode-2-expected.png:
        * platform/mac/fast/forms/plaintext-mode-2-expected.txt:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.png:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.png:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/mac/fast/forms/search-input-rtl-expected.png: Added.
        * platform/mac/fast/forms/search-input-rtl-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.png:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/search-styled-expected.png:
        * platform/mac/fast/forms/search-styled-expected.txt:
        * platform/mac/fast/forms/search-vertical-alignment-expected.png:
        * platform/mac/fast/forms/search-vertical-alignment-expected.txt:
        * platform/mac/fast/forms/search/search-padding-cancel-results-buttons-expected.png: Copied from LayoutTests/platform/mac/fast/forms/textarea-setinnerhtml-expected.png.
        * platform/mac/fast/forms/search/search-padding-cancel-results-buttons-expected.txt: Added.
        * platform/mac/fast/forms/search/search-size-with-decorations-expected.png:
        * platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
        * platform/mac/fast/forms/searchfield-heights-expected.png:
        * platform/mac/fast/forms/searchfield-heights-expected.txt:
        * platform/mac/fast/forms/select-background-none-expected.png:
        * platform/mac/fast/forms/select-background-none-expected.txt:
        * platform/mac/fast/forms/select-baseline-expected.png:
        * platform/mac/fast/forms/select-baseline-expected.txt:
        * platform/mac/fast/forms/select-block-background-expected.png:
        * platform/mac/fast/forms/select-block-background-expected.txt:
        * platform/mac/fast/forms/select-change-listbox-size-expected.png:
        * platform/mac/fast/forms/select-change-listbox-size-expected.txt:
        * platform/mac/fast/forms/select-change-listbox-to-popup-expected.png:
        * platform/mac/fast/forms/select-change-listbox-to-popup-expected.txt:
        * platform/mac/fast/forms/select-change-popup-to-listbox-expected.png:
        * platform/mac/fast/forms/select-change-popup-to-listbox-expected.txt:
        * platform/mac/fast/forms/select-dirty-parent-pref-widths-expected.png:
        * platform/mac/fast/forms/select-dirty-parent-pref-widths-expected.txt:
        * platform/mac/fast/forms/select-disabled-appearance-expected.png:
        * platform/mac/fast/forms/select-disabled-appearance-expected.txt:
        * platform/mac/fast/forms/select-empty-option-height-expected.png:
        * platform/mac/fast/forms/select-empty-option-height-expected.txt:
        * platform/mac/fast/forms/select-initial-position-expected.png:
        * platform/mac/fast/forms/select-initial-position-expected.txt:
        * platform/mac/fast/forms/select-item-background-clip-expected.png:
        * platform/mac/fast/forms/select-item-background-clip-expected.txt:
        * platform/mac/fast/forms/select-list-box-with-height-expected.png:
        * platform/mac/fast/forms/select-list-box-with-height-expected.txt:
        * platform/mac/fast/forms/select-listbox-multiple-no-focusring-expected.png:
        * platform/mac/fast/forms/select-listbox-multiple-no-focusring-expected.txt:
        * platform/mac/fast/forms/select-non-native-rendering-direction-expected.png:
        * platform/mac/fast/forms/select-non-native-rendering-direction-expected.txt:
        * platform/mac/fast/forms/select-overflow-scroll-expected.png:
        * platform/mac/fast/forms/select-overflow-scroll-expected.txt:
        * platform/mac/fast/forms/select-overflow-scroll-inherited-expected.png:
        * platform/mac/fast/forms/select-overflow-scroll-inherited-expected.txt:
        * platform/mac/fast/forms/select-selected-expected.png:
        * platform/mac/fast/forms/select-selected-expected.txt:
        * platform/mac/fast/forms/select-style-expected.png:
        * platform/mac/fast/forms/select-style-expected.txt:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.png:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.txt:
        * platform/mac/fast/forms/select/optgroup-rendering-expected.png:
        * platform/mac/fast/forms/select/optgroup-rendering-expected.txt:
        * platform/mac/fast/forms/stuff-on-my-optgroup-expected.png:
        * platform/mac/fast/forms/stuff-on-my-optgroup-expected.txt:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.png:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
        * platform/mac/fast/forms/text-style-color-expected.png:
        * platform/mac/fast/forms/text-style-color-expected.txt:
        * platform/mac/fast/forms/textAreaLineHeight-expected.png:
        * platform/mac/fast/forms/textAreaLineHeight-expected.txt:
        * platform/mac/fast/forms/textarea-align-expected.png:
        * platform/mac/fast/forms/textarea-align-expected.txt:
        * platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.png:
        * platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/textarea-placeholder-visibility-1-expected.png:
        * platform/mac/fast/forms/textarea-placeholder-visibility-1-expected.txt:
        * platform/mac/fast/forms/textarea-placeholder-visibility-2-expected.png:
        * platform/mac/fast/forms/textarea-placeholder-visibility-2-expected.txt:
        * platform/mac/fast/forms/textarea-scroll-height-expected.png:
        * platform/mac/fast/forms/textarea-scroll-height-expected.txt:
        * platform/mac/fast/forms/textarea-scrollbar-expected.png:
        * platform/mac/fast/forms/textarea-scrollbar-expected.txt:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.png:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.png:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.txt:
        * platform/mac/fast/forms/textfield-focus-ring-expected.png:
        * platform/mac/fast/forms/textfield-focus-ring-expected.txt:
        * platform/mac/fast/forms/textfield-outline-expected.png:
        * platform/mac/fast/forms/textfield-outline-expected.txt:
        * platform/mac/fast/forms/textfield-overflow-expected.png:
        * platform/mac/fast/forms/textfield-overflow-expected.txt:
        * platform/mac/fast/forms/validation-message-appearance-expected.png:
        * platform/mac/fast/forms/validation-message-appearance-expected.txt:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.png:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac/fast/frames/take-focus-from-iframe-expected.png:
        * platform/mac/fast/frames/take-focus-from-iframe-expected.txt:
        * platform/mac/fast/hidpi/resize-corner-hidpi-expected.png:
        * platform/mac/fast/hidpi/resize-corner-hidpi-expected.txt:
        * platform/mac/fast/html/details-no-summary4-expected.png:
        * platform/mac/fast/html/details-no-summary4-expected.txt:
        * platform/mac/fast/html/details-open-javascript-expected.png:
        * platform/mac/fast/html/details-open-javascript-expected.txt:
        * platform/mac/fast/html/details-open2-expected.png:
        * platform/mac/fast/html/details-open2-expected.txt:
        * platform/mac/fast/html/details-open4-expected.png:
        * platform/mac/fast/html/details-open4-expected.txt:
        * platform/mac/fast/html/keygen-expected.png:
        * platform/mac/fast/html/keygen-expected.txt:
        * platform/mac/fast/lists/dynamic-marker-crash-expected.png:
        * platform/mac/fast/lists/dynamic-marker-crash-expected.txt:
        * platform/mac/fast/overflow/overflow-x-y-expected.png:
        * platform/mac/fast/overflow/overflow-x-y-expected.txt:
        * platform/mac/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png:
        * platform/mac/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
        * platform/mac/fast/overflow/scrollRevealButton-expected.png:
        * platform/mac/fast/overflow/scrollRevealButton-expected.txt:
        * platform/mac/fast/parser/document-write-option-expected.png:
        * platform/mac/fast/parser/document-write-option-expected.txt:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.png:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.png:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
        * platform/mac/fast/repaint/search-field-cancel-expected.png:
        * platform/mac/fast/repaint/search-field-cancel-expected.txt:
        * platform/mac/fast/repaint/subtree-root-skipped-expected.png:
        * platform/mac/fast/repaint/subtree-root-skipped-expected.txt:
        * platform/mac/fast/replaced/replaced-breaking-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-expected.txt:
        * platform/mac/fast/replaced/replaced-breaking-mixture-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-mixture-expected.txt:
        * platform/mac/fast/replaced/width100percent-button-expected.png:
        * platform/mac/fast/replaced/width100percent-button-expected.txt:
        * platform/mac/fast/replaced/width100percent-menulist-expected.png:
        * platform/mac/fast/replaced/width100percent-menulist-expected.txt:
        * platform/mac/fast/replaced/width100percent-textarea-expected.png:
        * platform/mac/fast/replaced/width100percent-textarea-expected.txt:
        * platform/mac/fast/selectors/064-expected.png:
        * platform/mac/fast/selectors/064-expected.txt:
        * platform/mac/fast/spatial-navigation/snav-multiple-select-focusring-expected.png:
        * platform/mac/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt:
        * platform/mac/fast/table/003-expected.png:
        * platform/mac/fast/table/003-expected.txt:
        * platform/mac/fast/table/append-cells2-expected.png:
        * platform/mac/fast/table/append-cells2-expected.txt:
        * platform/mac/fast/table/colspanMinWidth-expected.png:
        * platform/mac/fast/table/colspanMinWidth-expected.txt:
        * platform/mac/fast/table/colspanMinWidth-vertical-expected.png:
        * platform/mac/fast/table/colspanMinWidth-vertical-expected.txt:
        * platform/mac/fast/table/remove-td-display-none-expected.png:
        * platform/mac/fast/table/remove-td-display-none-expected.txt:
        * platform/mac/fast/table/spanOverlapRepaint-expected.png:
        * platform/mac/fast/table/spanOverlapRepaint-expected.txt:
        * platform/mac/fast/table/text-field-baseline-expected.png:
        * platform/mac/fast/table/text-field-baseline-expected.txt:
        * platform/mac/fast/text/backslash-to-yen-sign-euc-expected.png:
        * platform/mac/fast/text/backslash-to-yen-sign-euc-expected.txt:
        * platform/mac/fast/text/drawBidiText-expected.png:
        * platform/mac/fast/text/drawBidiText-expected.txt:
        * platform/mac/fast/text/international/hindi-spacing-expected.png:
        * platform/mac/fast/text/international/hindi-spacing-expected.txt:
        * platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
        * platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
        * platform/mac/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png:
        * platform/mac/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.png:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.txt:
        * platform/mac/fast/text/trak-optimizeLegibility-expected.txt: Added.
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.png:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.txt:
        * platform/mac/http/tests/media/video-buffered-range-contains-currentTime-expected.png: Added.
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/mac/media/controls-after-reload-expected.png:
        * platform/mac/media/controls-after-reload-expected.txt:
        * platform/mac/media/controls-styling-expected.png:
        * platform/mac/media/controls-styling-expected.txt:
        * platform/mac/media/media-document-audio-repaint-expected.png:
        * platform/mac/media/media-document-audio-repaint-expected.txt:
        * platform/mac/media/video-controls-rendering-expected.png: Added.
        * platform/mac/media/video-controls-rendering-expected.txt:
        * platform/mac/media/video-display-toggle-expected.png: Added.
        * platform/mac/media/video-display-toggle-expected.txt:
        * platform/mac/media/video-no-audio-expected.png: Added.
        * platform/mac/media/video-no-audio-expected.txt:
        * platform/mac/media/video-volume-slider-expected.png: Added.
        * platform/mac/media/video-volume-slider-expected.txt:
        * platform/mac/plugins/mouse-click-plugin-clears-selection-expected.png: Added.
        * platform/mac/plugins/mouse-click-plugin-clears-selection-expected.txt:
        * platform/mac/scrollbars/key-window-not-first-responder-expected.txt:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.png:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/mac/svg/hixie/mixed/003-expected.png:
        * platform/mac/svg/hixie/mixed/003-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.png:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12384-expected.png:
        * platform/mac/tables/mozilla/bugs/bug12384-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug138725-expected.png:
        * platform/mac/tables/mozilla/bugs/bug138725-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug18359-expected.png:
        * platform/mac/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.png:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.png:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.png:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.png:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-4-expected.png:
        * platform/mac/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug26178-expected.png:
        * platform/mac/tables/mozilla/bugs/bug26178-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug28928-expected.png:
        * platform/mac/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug29326-expected.png:
        * platform/mac/tables/mozilla/bugs/bug29326-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.png:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.png:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug33855-expected.png:
        * platform/mac/tables/mozilla/bugs/bug33855-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug39209-expected.png:
        * platform/mac/tables/mozilla/bugs/bug39209-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4382-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4382-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4429-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4429-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.png:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46368-2-expected.png:
        * platform/mac/tables/mozilla/bugs/bug46368-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug51037-expected.png:
        * platform/mac/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug51727-expected.png:
        * platform/mac/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug52505-expected.png:
        * platform/mac/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug52506-expected.png:
        * platform/mac/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug55545-expected.png:
        * platform/mac/tables/mozilla/bugs/bug55545-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug59354-expected.png:
        * platform/mac/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug68912-expected.png:
        * platform/mac/tables/mozilla/bugs/bug68912-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.png:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.png:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug99948-expected.png:
        * platform/mac/tables/mozilla/bugs/bug99948-expected.txt:
        * platform/mac/tables/mozilla/collapsing_borders/bug41262-4-expected.png:
        * platform/mac/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
        * platform/mac/tables/mozilla/core/margins-expected.png:
        * platform/mac/tables/mozilla/core/margins-expected.txt:
        * platform/mac/tables/mozilla/dom/tableDom-expected.png:
        * platform/mac/tables/mozilla/dom/tableDom-expected.txt:
        * platform/mac/tables/mozilla/other/move_row-expected.png:
        * platform/mac/tables/mozilla/other/move_row-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png:
        * platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png:
        * platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/mac/transforms/2d/zoom-menulist-expected.png:
        * platform/mac/transforms/2d/zoom-menulist-expected.txt:
        * platform/mac/transforms/3d/general/perspective-non-layer-expected.png:
        * platform/mac/transforms/3d/general/perspective-non-layer-expected.txt:

2016-07-05  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION (r202529?) inspector/debugger/break-on-* tests are flaky
        https://bugs.webkit.org/show_bug.cgi?id=159272
        <rdar://problem/27087938>

        Reviewed by Timothy Hatcher.

        Rewrite the break on exception and uncaught exception tests
        to be easier to read and understand, reduce duplicated code,
        and avoid unnecessary work (such as a reload and script check).

        * TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        Unskip the core break-on-* tests, but mark them as Slow.

        * inspector/debugger/break-on-exception-throw-in-promise.html:
        * inspector/debugger/break-on-exception-throw-in-promise-expected.txt:
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-expected.txt:
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise.html:
        * inspector/debugger/break-on-exception-expected.txt:
        * inspector/debugger/break-on-exception.html:
        * inspector/debugger/break-on-uncaught-exception-expected.txt:
        * inspector/debugger/break-on-uncaught-exception.html:
        Converge into 4 tests, share a significant amount of code,
        and make them easier to read and understand.
        
        * inspector/debugger/break-on-exception-catch-expected.txt: Removed.
        * inspector/debugger/break-on-exception-catch.html: Removed.
        * inspector/debugger/break-on-exception-finally-expected.txt: Removed.
        * inspector/debugger/break-on-exception-finally.html: Removed.
        * inspector/debugger/break-on-exception-native-expected.txt: Removed.
        * inspector/debugger/break-on-exception-native.html: Removed.
        * inspector/debugger/break-on-exception-throw-in-promise-rethrow-in-catch-expected.txt: Removed.
        * inspector/debugger/break-on-exception-throw-in-promise-rethrow-in-catch.html: Removed.
        * inspector/debugger/break-on-exception-throw-in-promise-then-expected.txt: Removed.
        * inspector/debugger/break-on-exception-throw-in-promise-then-with-catch-expected.txt: Removed.
        * inspector/debugger/break-on-exception-throw-in-promise-then-with-catch.html: Removed.
        * inspector/debugger/break-on-exception-throw-in-promise-then.html: Removed.
        * inspector/debugger/break-on-exception-throw-in-promise-with-catch-expected.txt: Removed.
        * inspector/debugger/break-on-exception-throw-in-promise-with-catch.html: Removed.
        * inspector/debugger/break-on-uncaught-exception-catch-expected.txt: Removed.
        * inspector/debugger/break-on-uncaught-exception-catch.html: Removed.
        * inspector/debugger/break-on-uncaught-exception-finally-expected.txt: Removed.
        * inspector/debugger/break-on-uncaught-exception-finally.html: Removed.
        * inspector/debugger/break-on-uncaught-exception-native-expected.txt: Removed.
        * inspector/debugger/break-on-uncaught-exception-native.html: Removed.
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-rethrow-in-catch-expected.txt: Removed.
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-rethrow-in-catch.html: Removed.
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-then-expected.txt: Removed.
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-then-with-catch-expected.txt: Removed.
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-then-with-catch.html: Removed.
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-then.html: Removed.
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-with-catch-expected.txt: Removed.
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-with-catch.html: Removed.
        Merged into the 4 tests above.

        * inspector/debugger/break-on-exception-window-onerror-expected.txt: Removed.
        * inspector/debugger/break-on-exception-window-onerror.html: Removed.
        * inspector/debugger/break-on-uncaught-exception-window-onerror-expected.txt: Removed.
        * inspector/debugger/break-on-uncaught-exception-window-onerror.html: Removed.
        Eliminate these entirely. Tests already have an onerror listener,
        so these were actually already equivalent to the basic tests.

2016-07-05  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/restore-from-page-cache.html as a flaky failure on El Capitan
        https://bugs.webkit.org/show_bug.cgi?id=158747

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-05  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/media/hls/video-controller-getStartDate.html as a flaky timeout on Yosemite WK1
        https://bugs.webkit.org/show_bug.cgi?id=158645

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-05  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/history/page-cache-webdatabase-pending-transaction.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=159379

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-07-05  Frederic Wang  <fwang@igalia.com>

        Unskip mathml/presentation/fractions-box.html
        https://bugs.webkit.org/show_bug.cgi?id=159347

        Unreviewed test gardening.

        * platform/efl/TestExpectations:

2016-07-05  Frederic Wang  <fred.wang@free.fr>

        Remove obsolete test mathml/presentation/bug97990.html

        This test is currently skipped on all platforms. It was a test for the
        old flexbox-based MathML layout. The new layout ignore padding or
        borders for MathML elements and it's not clear whether this will change
        in the future.

        Unreviewed test gardening.

        * TestExpectations: Remove skip flag for bug97990.html.
        * mathml/presentation/bug97990-expected.html: Removed.
        * mathml/presentation/bug97990.html: Removed.

2016-07-04  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] Null Node dereference in FrameSelection::notifyAccessibilityForSelectionChange of FrameSelectionAtk.cpp
        https://bugs.webkit.org/show_bug.cgi?id=159411

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations: Removed a crash expectation of
        editing/selection/selection-in-iframe-removed-crash.html.

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

        Shield WebRTC JS built-ins from user scripts
        https://bugs.webkit.org/show_bug.cgi?id=155964

        Reviewed by Sam Weinig.

        * fast/mediastream/RTCPeerConnection-createOffer.html:
        * fast/mediastream/RTCPeerConnection-stable.html:

2016-07-04  Yusuke Suzuki  <utatane.tea@gmail.com>

        Unreviewed, skip misc-bugs-847389-jpeg2000.js in jsc stress tests
        https://bugs.webkit.org/show_bug.cgi?id=159334

        In debug build, it takes too much time.
        Since run-jsc-stress-tests can take the arbitrary JSC shell, ifJSCArgIsntProvidedAreWeReleaseBuild
        is not good source to determine whether the test is executed with the debug built JSC shell.
        So here, we skip this test.
        This test is still executed under the run-webkit-tests. So the coverage is still kept.

        * js/regress/script-tests/misc-bugs-847389-jpeg2000.js:

2016-07-04  Per Arne Vollan  <pvollan@apple.com>

        Update Windows test expectations for fast/css/fontloader-download-error.html.
        It is skipped on all platforms.

        Unreviewed test gardening.
        
        * platform/win/TestExpectations:

2016-07-01  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] MacroAssemblerX86::branch8 should accept unsigned 8bit value
        https://bugs.webkit.org/show_bug.cgi?id=159334

        Reviewed by Benjamin Poulain.

        * TestExpectations:
        * js/regress/misc-bugs-847389-jpeg2000-expected.txt: Added.
        * js/regress/misc-bugs-847389-jpeg2000.html: Added.
        * js/regress/script-tests/misc-bugs-847389-jpeg2000.js: Added.
        (error):
        (warn):
        (JpxImage.JpxImageClosure.JpxImage):
        (JpxImage.JpxImageClosure.JpxImage.prototype.load.JpxImage_load.xhr.onload):
        (JpxImage.JpxImageClosure.JpxImage.prototype.load):
        (JpxImage.JpxImageClosure.JpxImage.prototype.parse.JpxImage_parse.readUint):
        (JpxImage.JpxImageClosure.JpxImage.prototype.parse):
        (JpxImage.JpxImageClosure.JpxImage.prototype.parseCodestream):
        (JpxImage.JpxImageClosure.readUint32):
        (JpxImage.JpxImageClosure.readUint16):
        (JpxImage.JpxImageClosure.log2):
        (JpxImage.JpxImageClosure.calculateComponentDimensions):
        (JpxImage.JpxImageClosure.calculateTileGrids):
        (JpxImage.JpxImageClosure.getBlocksDimensions):
        (JpxImage.JpxImageClosure.buildPrecincts):
        (JpxImage.JpxImageClosure.buildCodeblocks):
        (JpxImage.JpxImageClosure.createPacket):
        (JpxImage.JpxImageClosure.LayerResolutionComponentPositionIterator.this.nextPacket):
        (JpxImage.JpxImageClosure.LayerResolutionComponentPositionIterator):
        (JpxImage.JpxImageClosure.ResolutionLayerComponentPositionIterator.this.nextPacket):
        (JpxImage.JpxImageClosure.ResolutionLayerComponentPositionIterator):
        (JpxImage.JpxImageClosure.buildPackets):
        (JpxImage.JpxImageClosure.readBits):
        (JpxImage.JpxImageClosure.alignToByte):
        (JpxImage.JpxImageClosure.readCodingpasses):
        (JpxImage.JpxImageClosure.parseTilePackets):
        (JpxImage.JpxImageClosure.copyCoefficients):
        (JpxImage.JpxImageClosure.transformTile):
        (JpxImage.JpxImageClosure.transformComponents):
        (JpxImage.JpxImageClosure.initializeTile):
        (JpxImage.JpxImageClosure.):
        (JpxImage.JpxImageClosure.TagTree):
        (JpxImage.JpxImageClosure.InclusionTree):
        (JpxImage.JpxImageClosure.ArithmeticDecoder):
        (JpxImage.JpxImageClosure.BitModel):
        (JpxImage.JpxImageClosure.Transform):
        (JpxImage.JpxImageClosure.IrreversibleTransform):
        (JpxImage.JpxImageClosure.ReversibleTransform):
        (JpxImage):
        (atob):

2016-07-03  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] __lookupGetter__ and __lookupSetter__ should not ignore exceptions
        https://bugs.webkit.org/show_bug.cgi?id=159390

        Reviewed by Mark Lam.

        * js/property-getters-and-setters-expected.txt:
        * js/script-tests/property-getters-and-setters.js:
        (getter17):
        (get getter17):
        (getOwnPropertyDescriptor):
        (setter18):
        (set setter18):

2016-07-03  Frederic Wang  <fred.wang@free.fr>

        Update windows test expectations for some MathML tests.

        Unreviewed test gardening.

        * platform/win/TestExpectations:
        * platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.

2016-07-03  Frederic Wang  <fred.wang@free.fr>

        [win] Update TestExpectations after the MathML refactoring
        https://bugs.webkit.org/show_bug.cgi?id=159386

        Reviewed by Alex Christensen.

        * platform/win/TestExpectations:

2016-07-03  Frederic Wang  <fred.wang@free.fr>

        Update windows test expectations for some MathML tests.

        Unreviewed test gardening.

        * platform/win/TestExpectations:
        * platform/win/mathml/opentype/horizontal-expected.txt:
        * platform/win/mathml/opentype/horizontal-munderover-expected.txt:

2016-07-03  David Kilzer  <ddkilzer@apple.com>

        fast/css/image-set-unprefixed.html fails on iOS Simulator

        Follow-up fix for:

        "image-src" support is missing. We only support "-webkit-image-src"
        https://bugs.webkit.org/show_bug.cgi?id=159373
        <rdar://problem/27140443>

        * platform/ios-simulator/fast/css/image-set-unprefixed-expected.txt: Added.
        Cursor tests are expected to fail on iOS Simulator.

2016-07-02  Joseph Pecoraro  <pecoraro@apple.com>

        inspector/debugger/command-line-api-exception.html flakily times out on mac
        https://bugs.webkit.org/show_bug.cgi?id=152029
        <rdar://problem/23813812>

        Reviewed by Timothy Hatcher.

        * inspector/debugger/command-line-api-exception-expected.txt:
        * inspector/debugger/command-line-api-exception-nested-catch-expected.txt:
        * inspector/debugger/command-line-api-exception-nested-catch.html:
        * inspector/debugger/command-line-api-exception.html:
        * platform/mac/TestExpectations:
        Rewrite these tests to use the new test harness.
        This also is more careful about Pause/Resume timing differences
        between Release and Debug builds.

2016-07-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix inspector/debugger/pause-reason.html
        https://bugs.webkit.org/show_bug.cgi?id=159325

        Reviewed by Timothy Hatcher.

        * platform/mac/TestExpectations:
        * inspector/debugger/pause-reason.html:
        This test was pausing on inspector code (evaluateInPage) and
        auto-resuming. Instead change the test to pause on the page
        doing the setTimeout, so we get the expected pause on next
        statement evaluation.

2016-07-02  Frederic Wang  <fred.wang@free.fr>

        Update EFL expectations for some MathML tests.

        Unreviewed test gardening.

        * platform/efl/TestExpectations: Mark mathml/presentation/radical-bar-visibility.html as failing.
        * platform/efl/mathml/opentype/horizontal-munderover-expected.txt: Update expectation using latest buildbot results.
        * platform/efl/mathml/presentation/menclose-notation-values-expected.txt: Ditto.
        * platform/efl/mathml/presentation/mspace-children-expected.txt: Ditto.

2016-07-02  Frederic Wang  <fred.wang@free.fr>

        Update windows expectations for some MathML tests.

        Unreviewed test gardening.

        * platform/win/TestExpectations:
        * platform/win/mathml/opentype/large-operators-expected.txt: Added.
        * platform/win/mathml/opentype/opentype-stretchy-expected.txt: Added.
        * platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.
        * platform/win/mathml/opentype/vertical-expected.txt: Added.
        * platform/win/mathml/presentation/menclose-notation-default-longdiv-expected.txt:
        * platform/win/mathml/presentation/mo-stretch-expected.txt: Added.
        * platform/win/mathml/presentation/roots-expected.txt: Added.
        * platform/win/mathml/radical-fallback-expected.png: Added.
        * platform/win/mathml/radical-fallback-expected.txt: Added.
        * platform/efl/mathml/radical-fallback-expected.txt:

2016-07-02  Frederic Wang  <fred.wang@free.fr>

        Update EFL expectations for some MathML tests.

        Unreviewed test gardening.

        * platform/efl/accessibility/math-mo-fences-and-separators-expected.txt: Added.
        * platform/efl/mathml/opentype/horizontal-expected.txt:
        * platform/efl/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/efl/mathml/opentype/large-operators-expected.png: Removed.
        * platform/efl/mathml/opentype/large-operators-expected.txt:
        * platform/efl/mathml/opentype/opentype-stretchy-expected.png: Removed.
        * platform/efl/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/efl/mathml/opentype/vertical-expected.png: Removed.
        * platform/efl/mathml/opentype/vertical-expected.txt:
        * platform/efl/mathml/presentation/menclose-notation-default-longdiv-expected.png: Removed.
        * platform/efl/mathml/presentation/menclose-notation-default-longdiv-expected.txt:
        * platform/efl/mathml/presentation/menclose-notation-values-expected.txt:
        * platform/efl/mathml/presentation/mo-stretch-expected.png: Removed.
        * platform/efl/mathml/presentation/mo-stretch-expected.txt:
        * platform/efl/mathml/presentation/mspace-children-expected.txt:
        * platform/efl/mathml/presentation/roots-expected.png: Removed.
        * platform/efl/mathml/presentation/roots-expected.txt:
        * platform/efl/mathml/radical-fallback-expected.txt: Added.

2016-07-02  Frederic Wang  <fred.wang@free.fr>

        Update iOS expectations for some MathML tests.

        Unreviewed test gardening.

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/mathml/mathml-in-dashboard-actual.txt: Added.

2016-07-01  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r189668): Notification tests are flakey
        https://bugs.webkit.org/show_bug.cgi?id=159375
        <rdar://problem/22760990>

        Reviewed by Alexey Proskuryakov.

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

2016-07-01  Commit Queue  <commit-queue@webkit.org>

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

        The new test asserts every time (Requested by ap on #webkit).

        Reverted changeset:

        "Web Inspector: Sending XHR with UTF8 encoded data shows
        garbled data in Resource sidebar"
        https://bugs.webkit.org/show_bug.cgi?id=159358
        http://trac.webkit.org/changeset/202766

2016-07-01  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] RegExp.compile is not returning the regexp when it succeed
        https://bugs.webkit.org/show_bug.cgi?id=159381

        Reviewed by Mark Lam.

        * js/regexp-compile-expected.txt:
        * js/script-tests/regexp-compile.js:

2016-07-01  Zalan Bujtas  <zalan@apple.com>

        prepareForDestruction() always needs to be called before destroying the Document object.
        https://bugs.webkit.org/show_bug.cgi?id=159372
        rdar://problem/26788150

        Reviewed by Antti Koivisto.

        We should never start destroying the Document object without calling prepareForDestruction() first.
        It ensures that render tree gets nuked before we start tearing down the node tree.

        * fast/history/page-cache-destroy-document-expected.txt: Added.
        * fast/history/page-cache-destroy-document.html: Added.
        * fast/history/resources/page-cache-destroy-helper.html: Added.

2016-07-01  Saam Barati  <sbarati@apple.com>

        fix "ASSERTION FAILED: currentOffset() >= currentLineStartOffset()"
        https://bugs.webkit.org/show_bug.cgi?id=158572
        <rdar://problem/26884092>

        Reviewed by Mark Lam.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        (invalid.or.break.catch):
        (catch): Deleted.

2016-07-01  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/history/page-cache-webdatabase-pending-transaction.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=159379

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-07-01  Johan K. Jensen  <jj@johanjensen.dk>

        Web Inspector: Sending XHR with UTF8 encoded data shows garbled data in Resource sidebar
        https://bugs.webkit.org/show_bug.cgi?id=159358

        Reviewed by Joseph Pecoraro.

        Based on Chromium patch:
        <https://chromium.googlesource.com/chromium/src/+/bcbb663864624ab38b36731eb2edc839a90f9e65%5E%21/#F2>

        * http/tests/inspector/network/xhr-request-data-encoded-correctly-expected.txt:
        * http/tests/inspector/network/xhr-request-data-encoded-correctly.html:

2016-07-01  Dean Jackson  <dino@apple.com>

        "image-src" support is missing. We only support "-webkit-image-src"
        https://bugs.webkit.org/show_bug.cgi?id=159373
        <rdar://problem/27140443>

        Patch by Brent Fulgham and Dean Jackson.
        Reviewed by Dean Jackson and Brent Fulgham.

        Convert some existing tests to use the unprefixed form,
        and add a test that checks we are compatible with
        the prefixed form.

        * cssom/cssvalue-comparison-expected.txt:
        * cssom/cssvalue-comparison.html:
        * fast/css/cursor-parsing-image-set-expected.txt:
        * fast/css/cursor-parsing-image-set.html:
        * fast/css/image-set-setting-expected.txt:
        * fast/css/image-set-unprefixed-expected.txt: Added.
        * fast/css/image-set-unprefixed.html: Added.
        * fast/css/script-tests/image-set-setting.js:
        (testImageSetRule):

2016-07-01  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/27141291.

        * platform/mac/TestExpectations:

2016-07-01  Chris Dumez  <cdumez@apple.com>

        Regression(r199087): window.focus() / window.close() can no longer be called by a Window's opener
        https://bugs.webkit.org/show_bug.cgi?id=159364
        <rdar://problem/27117169>

        Reviewed by Gavin Barraclough.

        Add layout test coverage.

        * fast/dom/Window/child-window-focus-expected.txt: Added.
        * fast/dom/Window/child-window-focus.html: Added.

2016-07-01  Ryan Haddad  <ryanhaddad@apple.com>

        Test gardening for Sierra WK1

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-07-01  Frederic Wang  <fwang@igalia.com>

        Remove failure expectation for mathml/presentation/bug97990.html on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-07-01  Benjamin Poulain  <bpoulain@apple.com>

        __defineGetter__/__defineSetter__ should throw exceptions
        https://bugs.webkit.org/show_bug.cgi?id=142934

        Reviewed by Mark Lam.

        * js/dom/dom-properties-are-configurable-expected.txt: Added.
        * js/dom/dom-properties-are-configurable.html: Added.
        * js/object-literal-duplicate-properties-expected.txt:
        * js/property-getters-and-setters-expected.txt:
        * js/script-tests/object-literal-duplicate-properties.js:
        * js/script-tests/property-getters-and-setters.js:

2016-07-01  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] Date.toGMTString should be the Date.toUTCString function
        https://bugs.webkit.org/show_bug.cgi?id=159318

        Reviewed by Mark Lam.

        * js/date-prototype-expected.txt: Added.
        * js/date-prototype.html: Added.
        * js/script-tests/date-prototype.js: Added.

2016-07-01  Frederic Wang  <fwang@igalia.com>

        Rebaseline some MathML tests.

        Unreviewed test gardening.

        * platform/gtk/mathml/opentype/munderover-window-resize-expected.txt: Removed.
        * platform/ios-simulator/mathml/presentation/roots-expected.png: Added.
        * platform/mac/mathml/opentype/munderover-window-resize-expected.png: Removed.

2016-07-01  Frederic Wang  <fwang@igalia.com>

        Update OS X and iOS expectations for some MathML pixel tests.
        https://bugs.webkit.org/show_bug.cgi?id=159339

        Unreviewed test gardening.

        * mathml/opentype/fraction-line.html: Add a comment about font requirements.
        * mathml/opentype/horizontal-munderover.html: Ditto.
        * mathml/opentype/horizontal.html: Ditto.
        * mathml/opentype/large-operators-italic-correction.html: Ditto.
        * mathml/opentype/large-operators.html: Ditto.
        * mathml/opentype/vertical.html: Ditto.
        * mathml/presentation/attributes-mathvariant.html: Ditto.
        * mathml/presentation/fractions-linethickness.html: Ditto.
        * mathml/presentation/tokenElements-mathvariant.html: Ditto.
        * mathml/radical-fallback.html: Ditto.
        * platform/ios-simulator-wk1/TestExpectations: Update expectations.
        * platform/ios-simulator-wk2/TestExpectations: Ditto.
        * platform/ios-simulator-wk2/mathml/opentype/large-operators-expected.png: Removed.
        * platform/ios-simulator-wk2/mathml/opentype/vertical-expected.png: Removed.
        * platform/ios-simulator-wk2/mathml/presentation/mo-stretch-expected.png: Removed.
        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/mathml/opentype/horizontal-expected.txt: Removed.
        * platform/ios-simulator/mathml/opentype/horizontal-munderover-expected.txt: Removed.
        * platform/ios-simulator/mathml/opentype/large-operators-expected.txt: Removed.
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.png: Added.
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-horizontal-expected.png: Added.
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/ios-simulator/mathml/opentype/vertical-expected.txt: Removed.
        * platform/ios-simulator/mathml/presentation/menclose-notation-default-longdiv-expected.png: Added.
        * platform/ios-simulator/mathml/presentation/menclose-notation-values-expected.png: Added.
        * platform/ios-simulator/mathml/presentation/mo-stretch-expected.png: Added.
        * platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt:
        * platform/ios-simulator/mathml/presentation/mspace-children-expected.png: Added.
        * platform/ios-simulator/mathml/radical-fallback-expected.png:
        * platform/mac/TestExpectations: Update expectations.
        * platform/mac/mathml/opentype/horizontal-expected.txt: Removed.
        * platform/mac/mathml/opentype/horizontal-munderover-expected.txt: Removed.
        * platform/mac/mathml/opentype/large-operators-expected.txt: Removed.
        * platform/mac/mathml/opentype/opentype-stretchy-expected.png: Added.
        * platform/mac/mathml/opentype/vertical-expected.txt: Removed.
        * platform/mac/mathml/presentation/menclose-notation-values-expected.png:
        * platform/mac/mathml/presentation/menclose-notation-values-expected.txt:
        * platform/mac/mathml/presentation/mo-stretch-expected.png:
        * platform/mac/mathml/presentation/mo-stretch-expected.txt:
        * platform/mac/mathml/presentation/mspace-children-expected.png: Added.
        * platform/mac/mathml/presentation/roots-expected.png:
        * platform/mac/mathml/presentation/roots-expected.txt:
        * platform/mac/mathml/radical-fallback-expected.png:
        * platform/mac/mathml/radical-fallback-expected.txt:

2016-07-01  Brady Eidson  <beidson@apple.com>

        Blob content type not preserved when retrieving blobs from IndexedDB.
        <rdar://problem/27057357> and https://bugs.webkit.org/show_bug.cgi?id=159360

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/blob-svg-image-expected.txt: Added.
        * storage/indexeddb/modern/blob-svg-image.html: Added.
        * storage/indexeddb/modern/resources/blob-svg-image.js: Added.
        * storage/indexeddb/modern/resources/blob-svg-image1.html: Added.
        * storage/indexeddb/modern/resources/blob-svg-image2.html: Added.

2016-07-01  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Cleanup inspector/console/console-message.html
        https://bugs.webkit.org/show_bug.cgi?id=159324

        Reviewed by Brian Burg.

        * inspector/console/console-message.html:

2016-07-01  Frederic Wang  <fwang@igalia.com>

        Rebaseline opentype-stretchy-horizontal.html for EFL.
        https://bugs.webkit.org/show_bug.cgi?id=135561

        Unreviewed test gardening.

        * platform/efl/TestExpectations:
        * platform/efl/mathml/opentype/opentype-stretchy-horizontal-expected.txt:

2016-07-01  Frederic Wang  <fwang@igalia.com>

        Regenerate EFL expectation for foreign-element-in-token.html
        https://bugs.webkit.org/show_bug.cgi?id=133972

        Unreviewed test gardening.

        * platform/efl/TestExpectations:
        * platform/efl/mathml/presentation/foreign-element-in-token-expected.txt: Added.

2016-07-01  Frederic Wang  <fwang@igalia.com>

        Fix warnings about non existent paths in TestExpectations

        Unreviewed test gardening.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/win/TestExpectations:

2016-07-01  Frederic Wang  <fwang@igalia.com>

        Fix error in r202729

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations: Revert unintentional change of horizontal-munderover.

2016-07-01  Frederic Wang  <fwang@igalia.com>

        Reorganize and improve comments for MathML test expectations on ios and mac.

        Unreviewed test gardening.

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

2016-06-30  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping flaky inspector/debugger/break-on-* tests
        https://bugs.webkit.org/show_bug.cgi?id=159272

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-30  Ryan Haddad  <ryanhaddad@apple.com>

        Moving flaky expectation for inspector/codemirror/prettyprinting-css-rules.html from mac-wk1 to mac.
        https://bugs.webkit.org/show_bug.cgi?id=153460

        Unreviewed test gardening.

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

2016-06-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Wrong function name next to scope
        https://bugs.webkit.org/show_bug.cgi?id=158210
        <rdar://problem/26543093>

        Reviewed by Timothy Hatcher.

        * inspector/debugger/paused-scopes-expected.txt: Added.
        * inspector/debugger/paused-scopes.html: Added.
        * inspector/debugger/resources/paused-scopes.js: Added.
        Test dumps the call frames and scope chains for each call frame
        when pausing at different locations in a program. Outputting
        the hashes we can see even identically named functions have
        different hashes because their location is different.

        * inspector/model/scope-chain-node.html:
        Make the test more stable on debug builds which run slower.

2016-06-30  Antoine Quint  <graouts@apple.com>

        Drawing an SVG image into a <canvas> that is not in the DOM draws the wrong region
        https://bugs.webkit.org/show_bug.cgi?id=159276

        Reviewed by Dean Jackson.

        Adding a series of new tests to check we correctly respect mismatching source and
        destination rectangles with SVG images as sources, both with the source <img> element
        being present and absent from the DOM, and explicit sizes being set or not set.

        * svg/as-image/img-with-svg-resource-in-dom-and-drawImage-expected.html: Added.
        * svg/as-image/img-with-svg-resource-in-dom-and-drawImage.html: Added.
        * svg/as-image/img-with-svg-resource-in-dom-no-size-and-drawImage-expected.html: Added.
        * svg/as-image/img-with-svg-resource-in-dom-no-size-and-drawImage.html: Added.
        * svg/as-image/img-with-svg-resource-not-in-dom-and-drawImage-expected.html: Added.
        * svg/as-image/img-with-svg-resource-not-in-dom-and-drawImage.html: Added.
        * svg/as-image/img-with-svg-resource-not-in-dom-no-size-and-drawImage-expected.html: Added.
        * svg/as-image/img-with-svg-resource-not-in-dom-no-size-and-drawImage.html: Added.

2016-06-30  Antoine Quint  <graouts@apple.com>

        [iOS] Media controls are too cramped with small video
        https://bugs.webkit.org/show_bug.cgi?id=158815
        <rdar://problem/26824238>

        Reviewed by Eric Carlson.

        Adjust the output of a couple of tests to account for the time label clones, ensure the video
        is wide enough to always have its timeline visible for tests that rely on the timeline being
        visible to drag and seek, and finally add a new test.

        * media/controls-drag-timebar.html:
        * media/media-controls-drag-timeline-set-controls-property.html:
        * media/video-controls-drop-and-restore-timeline-expected.txt: Added.
        * media/video-controls-drop-and-restore-timeline.html: Added.
        * platform/mac-yosemite/http/tests/media/hls/video-controls-live-stream-expected.txt:
        * platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:

2016-06-30  Ryan Haddad  <ryanhaddad@apple.com>

        Removing duplicated line from Mac TestExpectations file.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/shrink-wrap/rect-shrink-wrap.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=159275

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-06-30  Commit Queue  <commit-queue@webkit.org>

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

        The test for this change times out on mac-wk2 debug and caused
        an existing test to crash. (Requested by ryanhaddad on
        #webkit).

        Reverted changeset:

        "Web Inspector: Wrong function name next to scope"
        https://bugs.webkit.org/show_bug.cgi?id=158210
        http://trac.webkit.org/changeset/202659

2016-06-30  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] Date.setYear() misses timeClip()
        https://bugs.webkit.org/show_bug.cgi?id=159289

        Reviewed by Geoffrey Garen.

        * js/date-timeClip-large-values-expected.txt:
        * js/script-tests/date-timeClip-large-values.js:
        The failures are caused by bugs related to GregorianDateTime.
        The last test case is the one covering this patch.

2016-06-30  Commit Queue  <commit-queue@webkit.org>

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

        Still causing timeouts on media/controls-drag-timebar.html
        (Requested by ap on #webkit).

        Reverted changeset:

        "[iOS] Media controls are too cramped with small video"
        https://bugs.webkit.org/show_bug.cgi?id=158815
        http://trac.webkit.org/changeset/202679

2016-06-30  Joseph Pecoraro  <pecoraro@apple.com> and Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Implement isFinite / isNaN in JS and make DFG ToNumber accept non number values
        https://bugs.webkit.org/show_bug.cgi?id=154022

        Reviewed by Filip Pizlo.

        * js/regress/Number-isNaN-expected.txt: Added.
        * js/regress/Number-isNaN.html: Added.
        * js/regress/global-isNaN-expected.txt: Added.
        * js/regress/global-isNaN.html: Added.
        * js/regress/script-tests/Number-isNaN.js: Added.
        * js/regress/script-tests/global-isNaN.js: Added.
        * js/regress/script-tests/many-foreach-calls.js:
        (i.4.forEach):
        (i.array.forEach): Deleted.
        * js/regress/script-tests/to-number-constructor-number-string-number-string.js: Added.
        (test):
        * js/regress/script-tests/to-number-constructor-only-number.js: Added.
        (test):
        * js/regress/script-tests/to-number-constructor-only-string.js: Added.
        (test):
        * js/regress/script-tests/to-number-constructor-string-number-string-number.js: Added.
        (test):
        * js/regress/script-tests/to-number-number-string-number-string.js: Added.
        (test):
        * js/regress/script-tests/to-number-only-number.js: Added.
        (test):
        * js/regress/script-tests/to-number-only-string.js: Added.
        (test):
        * js/regress/script-tests/to-number-string-number-string-number.js: Added.
        (test):
        * js/regress/to-number-constructor-number-string-number-string-expected.txt: Added.
        * js/regress/to-number-constructor-number-string-number-string.html: Added.
        * js/regress/to-number-constructor-only-number-expected.txt: Added.
        * js/regress/to-number-constructor-only-number.html: Added.
        * js/regress/to-number-constructor-only-string-expected.txt: Added.
        * js/regress/to-number-constructor-only-string.html: Added.
        * js/regress/to-number-constructor-string-number-string-number-expected.txt: Added.
        * js/regress/to-number-constructor-string-number-string-number.html: Added.
        * js/regress/to-number-number-string-number-string-expected.txt: Added.
        * js/regress/to-number-number-string-number-string.html: Added.
        * js/regress/to-number-only-number-expected.txt: Added.
        * js/regress/to-number-only-number.html: Added.
        * js/regress/to-number-only-string-expected.txt: Added.
        * js/regress/to-number-only-string.html: Added.
        * js/regress/to-number-string-number-string-number-expected.txt: Added.
        * js/regress/to-number-string-number-string-number.html: Added.

2016-06-30  Antoine Quint  <graouts@apple.com>

        [iOS] Media controls are too cramped with small video
        https://bugs.webkit.org/show_bug.cgi?id=158815
        <rdar://problem/26824238>

        Reviewed by Eric Carlson.

        Adjust the output of this test to account for the time label clones and add a new test.

        * media/video-controls-drop-and-restore-timeline-expected.txt: Added.
        * media/video-controls-drop-and-restore-timeline.html: Added.
        * platform/mac-yosemite/http/tests/media/hls/video-controls-live-stream-expected.txt:
        * platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:

2016-06-29  Benjamin Poulain  <bpoulain@apple.com>

        Attempt to fix constructor-length.html

        I did a rebaseline of constructor-length.html.
        I should have updated the test instead.

        * js/dom/constructor-length.html:
        * platform/efl/js/dom/constructor-length-expected.txt:
        * platform/gtk/js/dom/constructor-length-expected.txt:
        * platform/ios-simulator/js/dom/constructor-length-expected.txt:
        * platform/mac/js/dom/constructor-length-expected.txt:
        * platform/win/js/dom/constructor-length-expected.txt:

2016-06-29  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Implement MediaEndpointPeerConnection::setConfiguration()
        https://bugs.webkit.org/show_bug.cgi?id=159254

        Reviewed by Eric Carlson.

        Test configuring an RTCPeerConnection object via the constructor and setConfiguration() and
        check the resulting configuration with getConfiguration().

        * fast/mediastream/RTCPeerConnection-getConfiguration-expected.txt:
        * fast/mediastream/RTCPeerConnection-getConfiguration.html:
        Remove 'requestIdentity' tests (dictionary member removed from WebRTC 1.0). Add tests for
        'bundlePolicy'.
        * platform/gtk/TestExpectations:
        Unskip above test.

2016-06-29  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] Minor TypedArray fixes
        https://bugs.webkit.org/show_bug.cgi?id=159286

        Reviewed by Keith Miller.

        * js/script-tests/typedarray-constructors.js:
        * js/script-tests/typedarray-prototype.js:
        * js/typedarray-constructors-expected.txt:
        * js/typedarray-prototype-expected.txt:

2016-06-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: API View of Native DOM APIs looks poor (TypeErrors for native getters)
        https://bugs.webkit.org/show_bug.cgi?id=158334
        <rdar://problem/26615366>

        Reviewed by Timothy Hatcher.

        * inspector/runtime/getProperties-expected.txt:
        * inspector/runtime/getProperties.html:
        Improve output for accessors now that getProperties
        returns real accessor descriptors for native accessors
        instead of fake value descriptors.

2016-06-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Wrong function name next to scope
        https://bugs.webkit.org/show_bug.cgi?id=158210
        <rdar://problem/26543093>

        Reviewed by Brian Burg.

        * inspector/debugger/paused-scopes-expected.txt: Added.
        * inspector/debugger/paused-scopes.html: Added.
        * inspector/debugger/resources/paused-scopes.js: Added.
        Test dumps the call frames and scope chains for each call frame
        when pausing at different locations in a program. Outputting
        the hashes we can see even identically named functions have
        different hashes because their location is different.

2016-06-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking perf/rel-list-remove.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=156561

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-06-29  Saam barati  <sbarati@apple.com>

        Destructuring variable declaration is missing a validation of the syntax of a sub production when there is a rhs
        https://bugs.webkit.org/show_bug.cgi?id=159267

        Reviewed by Mark Lam.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2016-06-29  Nan Wang  <n_wang@apple.com>

        AX: Crash in WebCore::Document::focusNavigationStartingNode(WebCore::FocusDirection) const + 128
        https://bugs.webkit.org/show_bug.cgi?id=159240

        Reviewed by Ryosuke Niwa.

        * fast/events/remove-focus-navigation-starting-point-crash-expected.txt: Added.
        * fast/events/remove-focus-navigation-starting-point-crash.html: Added.
        * platform/ios-simulator/TestExpectations:

2016-06-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking animations/multiple-backgrounds.html as flaky on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=150942

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-06-29  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r202617.

        The LayoutTest from this change crashes under GuardMalloc

        Reverted changeset:

        "Throw exceptions for invalid number of channels for
        ConvolverNode"
        https://bugs.webkit.org/show_bug.cgi?id=159238
        http://trac.webkit.org/changeset/202617

2016-06-29  Jer Noble  <jer.noble@apple.com>

        Cannot clear a MediaSource SourceBuffer in Safari 9 and WebKit nightly
        https://bugs.webkit.org/show_bug.cgi?id=159230

        Reviewed by Eric Carlson.

        * media/media-source/media-source-remove.html:
        * media/media-source/media-source-remove-expected.txt:

2016-06-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Show Shadow Root type in DOM Tree
        https://bugs.webkit.org/show_bug.cgi?id=159236
        <rdar://problem/27068521>

        Reviewed by Timothy Hatcher.

        * inspector/dom/shadowRootType-expected.txt: Added.
        * inspector/dom/shadowRootType.html: Added.

2016-06-29  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] Fix small issues of TypedArray prototype
        https://bugs.webkit.org/show_bug.cgi?id=159248

        Reviewed by Saam Barati.

        * js/script-tests/typedarray-prototype.js: Added.
        * js/typedarray-prototype-expected.txt: Added.
        * js/typedarray-prototype.html: Added.

2016-06-29  Alejandro G. Castro  <alex@igalia.com>

        WebRTC: ice-char can not contain '=' characters for credentials
        https://bugs.webkit.org/show_bug.cgi?id=159207

        Reviewed by Eric Carlson.

        Modified the parser to make the regexp similar to the one we have
        in WebCore.

        * fast/mediastream/resources/sdp-utils.js:
        (printComparableSessionDescription):

2016-06-29  David Kilzer  <ddkilzer@apple.com>

        Crash when 'input' event handler for input[type=color] changes the input type
        <https://webkit.org/b/159262>
        <rdar://problem/27020404>

        Reviewed by Daniel Bates.

        Test based on a Blink change (patch by <tkent@chromium.org>):
        <https://chromium.googlesource.com/chromium/src.git/+/a17cb3ecef49a078657524cdeaba33ad2083646c>

        * fast/forms/color/color-type-change-on-input-crash-expected.txt: Added.
        * fast/forms/color/color-type-change-on-input-crash.html: Added.

2016-06-29  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Misc MediaStreamEvent fixes: Update build flag and remove PassRefPtr usage
        https://bugs.webkit.org/show_bug.cgi?id=159132

        Reviewed by Eric Carlson.

        Update skip lists and expected results to not expect the MediaStreamEvent constructor in
        the global scope (it's under the WEB_RTC build flag).

        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        (all above) Remove expected results associated with MediaStreamEvent constructor.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:
        Skip MediaStreamEvent constructor test on ports that dont't build with WEB_RTC yet.

2016-06-29  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Fix the expectations for crypto/subtle tests after r202535.
        https://bugs.webkit.org/show_bug.cgi?id=159260

        Unreviewed.

        * platform/gtk/TestExpectations: Skip properly the crypto/subtle tests.

2016-06-29  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK][Wayland] Implement support for running the layout tests under a (virtualized) Wayland environment.
        https://bugs.webkit.org/show_bug.cgi?id=156716

        Reviewed by Carlos Garcia Campos and Michael Catanzaro.

        * platform/gtk-wayland/TestExpectations: Added. Add initial Wayland specific test expectations.

2016-06-29  David Kilzer  <ddkilzer@apple.com>

        Throw exceptions for invalid number of channels for ConvolverNode
        <https://webkit.org/b/159238>
        <rdar://problem/27020410>

        Reviewed by Brent Fulgham.

        Test based on a Blink change (patch by <rtoy@chromium.org>):
        <https://chromium.googlesource.com/chromium/src.git/+/0cc26bbb7175aec77910d0b47faf9f8c8a640fe5>

        compatibility.js based on a Blink change (patch by <rtoy@google.com>):
        <https://chromium.googlesource.com/chromium/src.git/+/f846f5a461d1fcdbe5152898576c125058079ed1>

        * webaudio/convolver-channels-expected.txt: Added.
        * webaudio/convolver-channels.html: Added.
        * webaudio/resources/compatibility.js: Added.

2016-06-28  Frederic Wang  <fwang@igalia.com>

        AX: Add accessibility tests for MathML operators
        https://bugs.webkit.org/show_bug.cgi?id=124836

        Reviewed by Joanmarie Diggs.

        We add one test to verify the (sub)roles of MathML operators with various fence and separator
        properties. These properties can be set via an explicit attribute or read from the operator
        dictionary.

        * accessibility/math-mo-fences-and-separators.html: Added.
        * platform/gtk/accessibility/math-mo-fences-and-separators-expected.txt: Added.
        * platform/mac/accessibility/math-mo-fences-and-separators-expected.txt: Added.

2016-06-28  David Kilzer  <ddkilzer@apple.com>

        Enhance shouldNotThrow()/shouldThrow() to accept functions and a descriptive message
        <https://webkit.org/b/159232>

        Reviewed by Brent Fulgham.

        Based on a Blink change (patch by <hongchan@chromium.org>):
        <https://src.chromium.org/viewvc/blink?view=revision&revision=192204>

        Currently, shouldNotThrow() and shouldThrow() take the following
        arguments:

            shouldNotThrow(evalString)
            shouldThrow(evalString, expectedExceptionString)

        The challenges with this design are:

            1) The 'evalString' must capture every variable that it
               needs, which means the code can be long, and concatenated
               into a single line.  It would be really nice to be able
               to use an (anonymous) function to capture variables
               instead.
            2) The 'evalString' is literally printed out in the test
               results, which isn't always the most descriptive.  A
               descriptive message would make it clearer what failed.
            3) When changing a shouldThrow() into a shouldNotThrow()
               or copying/pasting code, it's possible to forget to
               remove 'expectedExceptionString' from the function call.

        This patch changes the methods to take the following arguments:

            shouldNotThrow(evalString|function [, message])
            shouldThrow(evalString|function, expectedExceptionString [, message])

        If 'function' is passed in, then it is invoked instead of
        evaluated, and 'message' replaces the literal code in the
        pass/fail output.

        This patch also adds the global 'didFailSomeTests' variable to
        js-test.js, which already exists in js-test-pre.js.  This was
        added to js-test-pre.js in r153203 by Oliver Hunt to
        LayoutTests/fast/js/resources/js-test-pre.js.

        * fast/canvas/webgl/canvas-supports-context-expected.txt:
        * fast/canvas/webgl/gl-bind-attrib-location-before-compile-test-expected.txt:
        * fast/css-grid-layout/grid-element-auto-repeat-get-set-expected.txt:
        * fast/dom/getElementsByClassName/ASCII-case-insensitive-expected.txt:
        * storage/indexeddb/cursor-basics-expected.txt:
        * storage/indexeddb/cursor-basics-private-expected.txt:
        - Update expected results to include "Some tests fail." since
          some subtests actually do fail during these tests.

        * fast/css/parsing-css-lang.html:
        * fast/css/parsing-css-matches-1.html:
        * fast/css/parsing-css-matches-2.html:
        * fast/css/parsing-css-matches-3.html:
        * fast/css/parsing-css-matches-4.html:
        * fast/css/parsing-css-not-1.html:
        * fast/css/parsing-css-not-2.html:
        * fast/css/parsing-css-not-3.html:
        * fast/css/parsing-css-not-4.html:
        * fast/css/parsing-css-nth-child-of-1.html:
        * fast/css/parsing-css-nth-child-of-2.html:
        * fast/css/parsing-css-nth-last-child-of-1.html:
        * fast/css/parsing-css-nth-last-child-of-2.html:
        * js/script-tests/arrowfunction-supercall.js:
        - Remove expectedExceptionString from shouldNotThrow() calls
          after they were changed from shouldThrow() calls.

        * resources/js-test-pre.js:
        (shouldNotThrow): Change to invoke first argument if it is a
        function, else use eval() as before.  Use second argurment in
        place of first argument (if set) when printing results.  NOTE:
        Care was taken not to add any lines of code to prevent changes
        to test results.
        (shouldThrow): Ditto.  Reformat code.
        * resources/js-test.js: Declare 'didFailSomeTests'.
        (testFailed): Set 'didFailSomeTests' to true when a test fails.
        (shouldNotThrow): Same changes as js-test-pre.js.
        (shouldThrow): Ditto.
        (isSuccessfullyParsed): Output a message if 'didFailSomeTests'
        is true.

2016-06-28  Jiewen Tan  <jiewen_tan@apple.com>

        Implement "replacement" codec
        https://bugs.webkit.org/show_bug.cgi?id=159180
        <rdar://problem/26015178>

        Reviewed by Brent Fulgham.

        * fast/encoding/char-decoding-expected.txt:
        * fast/encoding/char-decoding.html:
        * fast/encoding/char-encoding-expected.txt:
        * fast/encoding/char-encoding.html:
        * fast/encoding/charset-replacement-expected.txt: Added.
        * fast/encoding/charset-replacement.html: Added.

2016-06-28  Michael Saboff  <msaboff@apple.com>

        REGRESSION (r200946): Improper backtracking from last alternative in sticky patterns
        https://bugs.webkit.org/show_bug.cgi?id=159233

        Reviewed by Mark Lam.

        Updated tests.

        * js/regexp-sticky-expected.txt:
        * js/script-tests/regexp-sticky.js:

2016-06-28  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/images/composited-animated-gif-outside-viewport.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=157592

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-06-28  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline http/tests/media/video-auth.html for WK2
        https://bugs.webkit.org/show_bug.cgi?id=159195

        Unreviewed test gardening.

        * platform/wk2/http/tests/media/video-auth-expected.txt:

2016-06-28  Youenn Fablet  <youenn@apple.com>

        Iterable interfaces should have their related prototype @@iterator property writable
        https://bugs.webkit.org/show_bug.cgi?id=159211

        Reviewed by Chris Dumez.

        * fast/dom/nodeListIterator-expected.txt:
        * fast/dom/nodeListIterator.html: Overriding NodeList @@iterator by Array one and checking everything is fine.

2016-06-28  Jer Noble  <jer.noble@apple.com>

        Cross-domain video loads do not prompt for authorization.
        https://bugs.webkit.org/show_bug.cgi?id=159195
        <rdar://problem/26234612>

        Reviewed by Brent Fulgham.

        Add a cross-origin authorization sub-test.

        * http/tests/media/video-auth.html:
        * http/tests/media/video-auth-expected.txt:

2016-06-28  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/multicol/fixed-stack.html as failing on ios-simulator

        Unreviewed test gardening.

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

2016-06-28  Frederic Wang  <fwang@igalia.com>

        Phrasing content should be accepted in <mo> elements
        https://bugs.webkit.org/show_bug.cgi?id=130245

        Reviewed by Brent Fulgham.

        * mathml/presentation/foreign-element-in-token.html: Copy test cases to
        check <mo> elements too.
        * mathml/presentation/foreign-element-in-token-expected.txt: Add the
        expectations for <mo>.

2016-06-28  Alexey Proskuryakov  <ap@apple.com>

        Sierra test expectation gardening.

        * platform/mac-elcapitan/fast/canvas: Added.
        * platform/mac-elcapitan/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Copied from platform/mac/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt.
        * platform/mac-elcapitan/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Copied from platform/mac/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt.
        * platform/mac/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
        * platform/mac/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
        Sierra matches cross-platform expectations.

        * platform/mac/TestExpectations: Removed expectations for fast/canvas/canvas-strokeRect-alpha-shadow.html

2016-06-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: selectElement.options shows unexpected entries in console (named indexes beyond collection length)
        https://bugs.webkit.org/show_bug.cgi?id=159192

        Reviewed by Timothy Hatcher.

        * inspector/model/remote-object-get-properties-expected.txt:
        * inspector/model/remote-object-get-properties.html:
        * inspector/runtime/getProperties-expected.txt:

2016-06-28  Brian Burg  <bburg@apple.com>

        Web Inspector: QuickConsole should update its selection when RuntimeManager.defaultExecutionContextIdentifier changes
        https://bugs.webkit.org/show_bug.cgi?id=159183

        Reviewed by Timothy Hatcher.

        Add a new test case for reverting to the top-level execution context when the selected context is destroyed.

        * inspector/runtime/change-execution-context-identifier-expected.txt:
        * inspector/runtime/change-execution-context-identifier.html:

2016-06-28  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Robustify 'this' type check in RTCPeerConnection JS built-ins
        https://bugs.webkit.org/show_bug.cgi?id=158831

        Reviewed by Youenn Fablet.

        * fast/mediastream/RTCPeerConnection-js-built-ins-check-this-expected.txt:
        Flip some result lines from FAIL to PASS. Clean out unnecessary tests (third set).

2016-06-28  Frederic Wang  <fwang@igalia.com>

        Remove flakiness expectations for mathml/wbr-in-mroot-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=130353

        Unreviewed gardening.

        The flakiness seemed to be due to the timeout of mathml/very-large-stretchy-operators.html.
        The latter was fixed in r202489, so we update the test expectations.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:

2016-06-28  Frederic Wang  <fwang@igalia.com>

        Increase opacity of stretched operators in mo-stacked-glyphs.html
        https://bugs.webkit.org/show_bug.cgi?id=159201

        Reviewed by Martin Robinson.

        The reftest mo-stacked-glyphs.html fails with small pixel differences invisible at the naked
        eyes. We increase opacity of stretched operators in that test to reduce these differences and
        make the test pass.

        * mathml/presentation/mo-stacked-glyphs-expected.html: Increase opacity of stretched operators.
        * mathml/presentation/mo-stacked-glyphs.html: Ditto.
        * platform/gtk/TestExpectations: Remove failure expectation.

2016-06-28  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Update expectations for subtle crypto layout tests

        Unreviewed.

        * platform/gtk/TestExpectations:

2016-06-28  Per Arne Vollan  <pvollan@apple.com>

        [Win] Custom elements tests are failing.
        https://bugs.webkit.org/show_bug.cgi?id=159139

        Reviewed by Alex Christensen.

        Update test expectations for passing custom elements tests.

        * platform/win/TestExpectations:

2016-06-28  Philippe Normand  <pnormand@igalia.com>

        [GTK] Web audio tests failing since GStreamer 1.6 upgrade
        https://bugs.webkit.org/show_bug.cgi?id=158927

        Unreviewed GTK rebaseline of webaudio tests.

        * platform/gtk/TestExpectations:
        * platform/gtk/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav:
        * platform/gtk/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.wav:
        * platform/gtk/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav:
        * platform/gtk/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.wav:

2016-06-28  Youenn Fablet  <youenn@apple.com>

        http/tests/media/hls/video-controller-getStartDate.html is failing on non-PDT time-based computers
        https://bugs.webkit.org/show_bug.cgi?id=159134

        Reviewed by Alex Christensen.

        * http/tests/media/hls/video-controller-getStartDate-expected.txt: Converting date to UTC string before making the comparison.
        * http/tests/media/hls/video-controller-getStartDate.html: Rebasing.

2016-06-28  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed EFL Gardening on 28th Jun.

        * platform/efl/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added.
        * platform/efl/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added.
        * platform/efl/accessibility/aria-labelledby-overrides-label-expected.txt: Added.
        * platform/efl/accessibility/aria-option-role-expected.txt: Added.
        * platform/efl/accessibility/aria-role-on-label-expected.txt: Added.
        * platform/efl/accessibility/aria-switch-text-expected.txt:
        * platform/efl/accessibility/auto-fill-crash-expected.txt: Added.
        * platform/efl/accessibility/empty-image-with-title-expected.txt: Added.
        * platform/efl/accessibility/form-control-value-settable-expected.txt: Added.
        * platform/efl/accessibility/image-link-expected.txt:
        * platform/efl/accessibility/image-map1-expected.txt:
        * platform/efl/accessibility/image-map2-expected.txt:
        * platform/efl/accessibility/image-with-alt-and-map-expected.txt:
        * platform/efl/accessibility/img-fallsback-to-title-expected.txt:
        * platform/efl/accessibility/math-fenced-expected.txt: Added.
        * platform/efl/accessibility/math-foreign-content-expected.txt: Added.
        * platform/efl/accessibility/math-multiscript-attributes-expected.txt:
        * platform/efl/accessibility/math-text-expected.txt:
        * platform/efl/accessibility/media-element-expected.txt:
        * platform/efl/accessibility/meter-element-expected.txt:
        * platform/efl/accessibility/radio-button-title-label-expected.txt:
        * platform/efl/accessibility/table-detection-expected.txt:

2016-06-27  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline test on iOS after r202539.

        * platform/ios-simulator/fast/dom/event-handler-attributes-expected.txt:

2016-06-27  Simon Fraser  <simon.fraser@apple.com>

        Mark some tests as image failures.
        
        These tests started to fail with the render server snapshotting enabled in r202532.

        * platform/ios-simulator-wk2/TestExpectations:

2016-06-27  Chris Dumez  <cdumez@apple.com>

        HTMLElement / SVGElement should implement GlobalEventHandlers, not Element
        https://bugs.webkit.org/show_bug.cgi?id=159191
        <rdar://problem/27019299>

        Reviewed by Ryosuke Niwa.

        * fast/dom/event-handler-attributes-expected.txt:
        Rebaseline tests now that more checks are passing.

        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        Rebaseline test now that enumeration order is different.

2016-06-27  Simon Fraser  <simon.fraser@apple.com>

        [iOS] -webkit-overflow-scrolling: touch prevents repaint with RTL
        https://bugs.webkit.org/show_bug.cgi?id=159186
        rdar://problem/26659341

        Reviewed by Zalan Bujtas.

        * compositing/scrolling/touch-scrolling-repaint-expected.html: Added.
        * compositing/scrolling/touch-scrolling-repaint-spans-expected.html: Added.
        * compositing/scrolling/touch-scrolling-repaint-spans.html: Added.
        * compositing/scrolling/touch-scrolling-repaint.html: Added.

2016-06-27  Simon Fraser  <simon.fraser@apple.com>

        [iOS] Make DumpRenderTree and WebKitTestRunner in the simulator use render server snapshotting
        https://bugs.webkit.org/show_bug.cgi?id=159077

        Reviewed by Tim Horton.

        fast/harness/snapshot-captures-compositing.html passes now.

        * platform/ios-simulator-wk2/TestExpectations:

2016-06-27  Benjamin Poulain  <benjamin@webkit.org>

        Adopt the iOS TouchEventHandler API for cases that must have synchronous dispatch
        https://bugs.webkit.org/show_bug.cgi?id=159179
        rdar://problem/27006387

        Reviewed by Simon Fraser.

        Several of those tests expose existing bugs with overflow scrolling.
        They are not using PASS/FAIL at the moment, just dump the called listeners.

        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt: Added.
        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state.html: Added.
        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt: Added.
        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state.html: Added.
        * fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt: Added.
        * fast/events/touch/ios/block-without-overflow-scroll-scrolling-state.html: Added.
        * fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-block-expected.txt: Added.
        * fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-block.html: Added.
        * fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-document-expected.txt: Added.
        * fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-document.html: Added.
        * fast/events/touch/ios/drag-block-without-overflow-scroll-expected.txt: Added.
        * fast/events/touch/ios/drag-block-without-overflow-scroll.html: Added.

2016-06-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: When modifying sessionStorage, localStorage gets updated
        https://bugs.webkit.org/show_bug.cgi?id=159181
        <rdar://problem/27043447>

        Reviewed by Timothy Hatcher.

        * inspector/storage/domStorage-events-expected.txt: Added.
        * inspector/storage/domStorage-events.html: Added.
        Add a new test for DOMStorage domain events. Ensures that sessionStorage
        and localStorage events are dispatched for the appropriate DOMStorageObject.

2016-06-27  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Test gardening for the system font in macOS Sierra and iOS 10
        https://bugs.webkit.org/show_bug.cgi?id=159175
        <rdar://problem/26478081>

        Unreviewed.

        * fast/text/trak-optimizeLegibility.html:

2016-06-27  Alex Christensen  <achristensen@webkit.org>

        Fix flakiness on Sierra after r202511
        https://bugs.webkit.org/show_bug.cgi?id=159071

        * http/tests/xmlhttprequest/sync-delegate-callbacks-expected.txt: Removed.
        * http/tests/xmlhttprequest/sync-delegate-callbacks.html: Removed.
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wk2/http/tests/xmlhttprequest/sync-delegate-callbacks-expected.txt: Removed.

2016-06-27  Brian Burg  <bburg@apple.com>

        Web Inspector: RuntimeManager should not use view object WebInspector.quickConsole
        https://bugs.webkit.org/show_bug.cgi?id=128092
        <rdar://problem/15966526>

        Reviewed by Timothy Hatcher.

        Add some really basic coverage for RuntimeManager.defaultExecutionContextIdentifier
        and using it in RuntimeManager.evaluateInInspectedWindow.

        * inspector/runtime/change-execution-context-identifier-expected.txt: Added.
        * inspector/runtime/change-execution-context-identifier.html: Added.
        * inspector/runtime/resources/change-execution-context-identifier-subframe.html: Added.

2016-06-27  Benjamin Poulain  <benjamin@webkit.org>

        Fix style invalidation for :active when the activated node has no renderer
        https://bugs.webkit.org/show_bug.cgi?id=159125

        Reviewed by Antti Koivisto.

        There was no bug with style sharing but I wanted that covered anyway.
        Style sharing depends on 2 flags which is uncommon.
        There was no test coverage whatsoever, breaking it did not fail any test.

        * fast/css/pseudo-active-on-labeled-control-without-renderer-expected.txt: Added.
        * fast/css/pseudo-active-on-labeled-control-without-renderer.html: Added.
        * fast/css/pseudo-active-style-sharing-1-expected.txt: Added.
        * fast/css/pseudo-active-style-sharing-1.html: Added.
        * fast/css/pseudo-active-style-sharing-2-expected.txt: Added.
        * fast/css/pseudo-active-style-sharing-2.html: Added.
        * fast/css/pseudo-active-style-sharing-3-expected.txt: Added.
        * fast/css/pseudo-active-style-sharing-3.html: Added.
        * fast/css/pseudo-active-style-sharing-4-expected.txt: Added.
        * fast/css/pseudo-active-style-sharing-4.html: Added.
        * fast/css/pseudo-active-style-sharing-5-expected.txt: Added.
        * fast/css/pseudo-active-style-sharing-5.html: Added.
        * fast/css/pseudo-active-style-sharing-6-expected.txt: Added.
        * fast/css/pseudo-active-style-sharing-6.html: Added.

2016-06-27  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: REGRESSION (r202063): ARIA role attribute is being ignored for label element
        https://bugs.webkit.org/show_bug.cgi?id=159162

        Reviewed by Chris Fleizach.

        This regression was caught by a GTK-specific layout test. Adding a cross-platform
        test for additional coverage.

        * accessibility/aria-role-on-label.html: Added.
        * platform/gtk/accessibility/aria-role-on-label-expected.txt: Added.
        * platform/mac/accessibility/aria-role-on-label-expected.txt: Added.

2016-06-27  Commit Queue  <commit-queue@webkit.org>

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

        The test added with this change is flaky and it caused an
        existing test to time out on El Capitan. (Requested by
        ryanhaddad on #webkit).

        Reverted changeset:

        "[iOS] Media controls are too cramped with small video"
        https://bugs.webkit.org/show_bug.cgi?id=158815
        http://trac.webkit.org/changeset/202505

2016-06-27  Alex Christensen  <achristensen@webkit.org>

        Send canAuthenticateAgainstProtectionSpace calls from NetworkProcess directly to UIProcess
        https://bugs.webkit.org/show_bug.cgi?id=159071

        Reviewed by Brady Eidson.

        * http/tests/xmlhttprequest/sync-delegate-callbacks-expected.txt: Added.
        * http/tests/xmlhttprequest/sync-delegate-callbacks.html: Added.
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wk2/http/tests/xmlhttprequest/sync-delegate-callbacks-expected.txt: Added.

2016-06-27  Alexey Proskuryakov  <ap@apple.com>

        Remove OS X Mavericks test results

        Rubber-stamped by Lucas Forschler.

        * platform/mac-mavericks: Removed.

2016-06-27  Eric Carlson  <eric.carlson@apple.com>

        [Mac] PiP placeholder should remain visible when 'controls' attribute is removed
        https://bugs.webkit.org/show_bug.cgi?id=159158
        <rdar://problem/26727435>

        Reviewed by Jer Noble.

        * media/controls/picture-in-picture-expected.txt: Updated.
        * media/controls/picture-in-picture.html: Ditto.

2016-06-27  Antoine Quint  <graouts@apple.com>

        [iOS] Media controls are too cramped with small video
        https://bugs.webkit.org/show_bug.cgi?id=158815
        <rdar://problem/26824238>

        Reviewed by Dean Jackson.

        Adjust the output of this test to account for the time label clones and add a new test.

        * media/video-controls-drop-and-restore-timeline-expected.txt: Added.
        * media/video-controls-drop-and-restore-timeline.html: Added.
        * platform/mac-yosemite/http/tests/media/hls/video-controls-live-stream-expected.txt:
        * platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:

2016-06-27  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION: Web Inspector: Text search broken in resources with <CR>
        https://bugs.webkit.org/show_bug.cgi?id=159110
        <rdar://problem/27008485>

        Reviewed by Brian Burg.

        * inspector/debugger/searchInContent-linebreaks-expected.txt:
        * inspector/debugger/searchInContent-linebreaks.html:
        Now that the backend responds with lines that end in \n, this test changes
        the number of line results. The frontend interprets this correctly.

2016-06-27  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Anonymous RenderMathMLOperators are not exposed to the accessibility tree
        https://bugs.webkit.org/show_bug.cgi?id=139582
        <rdar://problem/26938849>

        Reviewed by Chris Fleizach.

        This is based on a patch by Frederic Wang <fwang@igalia.com>.

        One of the things making it difficult to tell that the operators were not
        exposed on the Mac is the fact that the operator text is present. But the
        operator text is simply a StaticTextRole object corresponding to the
        RenderText descendant of the operator. Furthermore, on the Mac, accessible
        math operators have subroles which are missing from the StaticTextRole
        object which is exposed. In order to make issues like this more obvious,
        add an option to include the subrole to dumpAccessibilityTree() and use it
        in the new math-fenced.html.

        This change also fixes the mfenced in mac/mathml-elements.html that was
        broken after r202420. We enable it again and update the expectations of
        that test because the operators are now in the accessibility tree.

        We also add a new test to verify the render tree of foreign content in
        MathML formulas.

        * accessibility/mac/mathml-elements-expected.txt: Updated.
        * accessibility/mac/mathml-elements.html: Re-enable the mfenced test.
        * accessibility/math-fenced.html: Added.
        * accessibility/math-foreign-content.html: Added.
        * platform/gtk/accessibility/math-fenced-expected.txt: Added.
        * platform/gtk/accessibility/math-foreign-content-expected.txt: Added.
        * platform/mac/accessibility/math-fenced-expected.txt: Added.
        * platform/mac/accessibility/math-foreign-content-expected.txt: Added.
        * resources/accessibility-helper.js: Add option to include subrole in tree.
        (dumpAccessibilityTree):

2016-06-27  Ryan Haddad  <ryanhaddad@apple.com>

        Remove flaky expectation for imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata.html
        https://bugs.webkit.org/show_bug.cgi?id=150956

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-27  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Unskip RTCPeerConnection-AddRemoveStream test
        https://bugs.webkit.org/show_bug.cgi?id=159133

        Reviewed by Eric Carlson.

        Unskip RTCPeerConnection-AddRemoveStream test (on GTK+ port). RTCPeerConnection implements
        the legacy MediaStream-based API as JS built-ins so we can run this test again.

        * fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
        * fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
        * platform/gtk/TestExpectations:

2016-06-27  Frederic Wang  <fwang@igalia.com>

        Update TestExpectations for some dynamic MathML tests
        https://bugs.webkit.org/show_bug.cgi?id=159142

        Reviewed by Brent Fulgham.

        * TestExpectations: Enable this test again after r199980.
        * platform/efl/TestExpectations: This is already claimed to pass in the  platform independent TestExpectations.
        * platform/gtk/TestExpectations: Ditto.
        * platform/ios-simulator/TestExpectations: This test passes after the refactoring of RenderMathMLOperator.

2016-06-27  Michael Saboff  <msaboff@apple.com>

        ES6 Change: Unify handling of RegExp CharacterClassEscapes \w and \W and Word Asserts \b and \B
        https://bugs.webkit.org/show_bug.cgi?id=158505

        Reviewed by Geoffrey Garen.

        Updated and added test cases.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:

2016-06-27  Frederic Wang  <fwang@igalia.com>

        Set an upper limit for the size or number of pieces of stretchy operators
        https://bugs.webkit.org/show_bug.cgi?id=155434

        Update test expectations for very-large-stretchy-operators.

        Reviewed by Brent Fulgham.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2016-06-27  Ryan Haddad  <ryanhaddad@apple.com>

        Skip two LayoutTests that rely on mouse events on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-06-27  Javier Fernandez  <jfernandez@igalia.com>

        [GTK] Unreviewed test gardening. Added Failure Test Expectations because of r194502 and r194513.
        https://bugs.webkit.org/show_bug.cgi?id=159147

        * platform/gtk/TestExpectations:

2016-06-27  Youenn Fablet  <youennf@gmail.com>

        LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/ is failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=159136

        Unreviewed.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt: Added.

2016-06-27  Youenn Fablet  <youenn@apple.com>

        Remove didFailRedirectCheck ThreadableLoaderClient callback
        https://bugs.webkit.org/show_bug.cgi?id=159085

        Reviewed by Daniel Bates.

        * 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:

2016-06-26  Chris Dumez  <cdumez@apple.com>

        Regression: HTMLOptionsCollection's named properties have precedence over indexed properties
        https://bugs.webkit.org/show_bug.cgi?id=159058
        <rdar://problem/26988542>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/dom/HTMLSelectElement/options-indexed-getter-precedence-expected.txt: Added.
        * fast/dom/HTMLSelectElement/options-indexed-getter-precedence.html: Added.

2016-06-26  Javier Fernandez  <jfernandez@igalia.com>

        [GTK] Unreviewed test gardening.

        Several hidpi tests pass now thanks to r202421.

2016-06-26  Myles C. Maxfield  <mmaxfield@apple.com>

        [macOS] Font-related test gardening for macOS Sierra
        https://bugs.webkit.org/show_bug.cgi?id=159106
        <rdar://problem/25807529>

        Unreviewed.

        * fast/ruby/bopomofo-letter-spacing.html:
        * fast/ruby/bopomofo-rl.html:
        * fast/ruby/bopomofo.html:
        * svg/W3C-SVG-1.1/text-fonts-01-t.svg:
        * svg/text/text-fonts-01-t.svg:

2016-06-26  Youenn Fablet  <youennf@gmail.com>

        Refreshing WPT tests up to 12b7800
        https://bugs.webkit.org/show_bug.cgi?id=158872

        Reviewed by Chris Dumez.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt: Added.
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
        * platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:

2016-06-25  Benjamin Poulain  <bpoulain@apple.com>

        The active state of elements can break when focus changes
        https://bugs.webkit.org/show_bug.cgi?id=159112

        Reviewed by Antti Koivisto.

        * fast/css/pseudo-active-on-labeled-element-not-canceled-by-focus-expected.txt: Added.
        * fast/css/pseudo-active-on-labeled-element-not-canceled-by-focus.html: Added.
        * fast/css/pseudo-active-with-programmatic-focus-expected.txt: Added.
        * fast/css/pseudo-active-with-programmatic-focus.html: Added.

2016-06-24  Jer Noble  <jer.noble@apple.com>

        Consider exposing or hiding knowledge of a redirect from clients of WebCoreNSURLSession
        https://bugs.webkit.org/show_bug.cgi?id=156722
        <rdar://problem/25780035>

        Reviewed by Alex Christensen.

        Un-skip http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html & 
        http/tests/security/contentSecurityPolicy/video-redirect-allowed2.html.

        * platform/mac/TestExpectations:

2016-06-24  Mark Lam  <mark.lam@apple.com>

        [JSC] Error prototypes are called on remote scripts.
        https://bugs.webkit.org/show_bug.cgi?id=52192

        Reviewed by Keith Miller.

        The added test will test the following combinations of factors:

        1. Explicitly throwing an error of each of the types of JS errors i.e.
           Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError.
        2. Validating that the error received in window.onerror does not leak any info.
        3. Validating that the 'name' and 'toString' getters set on the error prototype
           object does not get invoked for creating the error message to be passed to
           window.error.

        * http/tests/security/regress-52192-expected.txt: Added.
        * http/tests/security/regress-52192.html: Added.
        * http/tests/security/resources/regress-52192-syntax-error.js: Added.
        * http/tests/security/resources/regress-52192-throw-error.js: Added.
        (catch):

2016-06-24  Myles C. Maxfield  <mmaxfield@apple.com>

        Update to test gardening in r202300

        Unreviewed.

        * platform/mac/TestExpectations:

2016-06-24  Konstantin Tokarev  <annulen@yandex.ru>

        Removed tests of STYLE_SCOPED which was removed in r156683.
        https://bugs.webkit.org/show_bug.cgi?id=159098

        Reviewed by Ryosuke Niwa.

        * fast/css/style-scoped/basic-attribute-expected.txt: Removed.
        * fast/css/style-scoped/basic-attribute.html: Removed.
        * fast/css/style-scoped/registering-expected.txt: Removed.
        * fast/css/style-scoped/registering-shadowroot-expected.txt: Removed.
        * fast/css/style-scoped/registering-shadowroot.html: Removed.
        * fast/css/style-scoped/registering.html: Removed.
        * fast/css/style-scoped/style-scoped-apply-author-styles-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-apply-author-styles.html: Removed.
        * fast/css/style-scoped/style-scoped-attach-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-attach.html: Removed.
        * fast/css/style-scoped/style-scoped-basic-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-basic.html: Removed.
        * fast/css/style-scoped/style-scoped-change-scoped-in-shadow-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-change-scoped-in-shadow.html: Removed.
        * fast/css/style-scoped/style-scoped-detach-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-detach.html: Removed.
        * fast/css/style-scoped/style-scoped-in-shadow-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-in-shadow.html: Removed.
        * fast/css/style-scoped/style-scoped-nested-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-nested.html: Removed.
        * fast/css/style-scoped/style-scoped-remove-scoped-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-remove-scoped.html: Removed.
        * fast/css/style-scoped/style-scoped-set-scoped-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-set-scoped.html: Removed.
        * fast/css/style-scoped/style-scoped-with-dom-operation-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-with-dom-operation.html: Removed.
        * fast/css/style-scoped/style-scoped-with-important-rule-expected.txt: Removed.
        * fast/css/style-scoped/style-scoped-with-important-rule.html: Removed.
        * platform/efl/TestExpectations: Don't skip fast/css/style-scoped.
        * platform/gtk/TestExpectations: Ditto.
        * platform/ios-simulator/TestExpectations: Ditto.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2016-06-24  Alexey Proskuryakov  <ap@apple.com>

        Update test expectations for rdar://problem/27000853

        * platform/mac/TestExpectations:

2016-06-24  Commit Queue  <commit-queue@webkit.org>

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

        Broke many JSC tests (Requested by ap on #webkit).

        Reverted changeset:

        "[JSC] Implement isFinite / isNaN in JS and make DFG ToNumber
        accept non number values"
        https://bugs.webkit.org/show_bug.cgi?id=154022
        http://trac.webkit.org/changeset/202413

2016-06-24  John Wilander  <wilander@apple.com>

        Make window.open layout tests for about: URLs work on iOS
        https://bugs.webkit.org/show_bug.cgi?id=159072

        Reviewed by Alex Christensen.

        Fix two window.open layout tests for iOS. They previously used click events.
        Now they instead turn off the popup blocker and just call window.open() on
        the load event.

        * http/tests/dom/window-open-about-blank-and-access-document-expected.txt:
        * http/tests/dom/window-open-about-blank-and-access-document.html:
        * 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:
        * platform/ios-simulator/TestExpectations:
            Removed the skipping of these two test cases.

2016-06-24  Yusuke Suzuki  <utatane.tea@gmail.com>

        [GTK][EFL] ImageBufferCairo should accept resolution factor
        https://bugs.webkit.org/show_bug.cgi?id=157848

        Reviewed by Martin Robinson.

        * fast/hidpi/filters-and-image-buffer-resolution-expected.html: Added.
        * fast/hidpi/filters-and-image-buffer-resolution.html: Added.

2016-06-24  Frederic Wang  <fwang@igalia.com>

        Refactor RenderMathMLOperator and RenderMathMLToken to avoid using anonymous renderers.
        https://bugs.webkit.org/show_bug.cgi?id=155018

        Reviewed by Martin Robinson.

        We update the test expectations. Most of the adjustments are irrelevant visual
        modifications (small shift and size differences) or due to changes in the renderer tree
        structure (removal of anonymous, operator text appearing in the dumped text).
        We disable the accessibility for mfenced for now, but this will be enabled again and improved
        in follow-up accessibility patches.

        * platform/ios-simulator/TestExpectations: We disable two reftests that use a character from
        the Mathematical Alphanumeric Symbols block as a reference, since iOS does not have
        appropriate fonts pre-installed.
        * accessibility/mac/mathml-elements.html: Disable the mfenced test for now.
        * accessibility/mac/mathml-elements-expected.txt: Ditto.
        * accessibility/ios-simulator/math-expected.txt: Update the reference now that the text of
        the operator appears in the render tree.
        * accessibility/mac/math-alttext-expected.txt: Ditto.
        * mathml/opentype/large-operators-italic-correction-expected.txt: Ditto.
        * mathml/opentype/large-operators-munderover-expected.txt: Ditto.
        * mathml/presentation/inferred-mrow-stretchy-expected.txt: Ditto.
        * mathml/presentation/mfrac-nested-expected.txt: Ditto.
        * mathml/presentation/stretchy-depth-height-expected.txt: Ditto.
        * mathml/presentation/stretchy-depth-height-symmetric-expected.txt: Ditto.
        * mathml/presentation/sup-nested-expected.txt: Ditto.
        * mathml/very-large-stretchy-operators-expected.txt: Ditto.
        * platform/mac/accessibility/math-text-expected.txt: Ditto.
        * platform/gtk/accessibility/math-text-expected.txt: Ditto.
        * fast/css/readonly-pseudoclass-common-element-expected.txt: Ditto.
        * fast/css/readwrite-pseudoclass-editable-expected.txt: Ditto.
        * imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-expected.txt: Ditto.
        * imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml-expected.txt: Ditto.
        * mathml/presentation/attributes-background-color.html: Add some padding to workaround some
        small rendering failures.
        * mathml/presentation/attributes-background-color-expected.html: Ditto.
        * mathml/presentation/attributes-display.html: Ditto.
        * mathml/presentation/attributes-display-expected.html: Ditto.
        * mathml/presentation/bug97990-expected.html: Ditto.
        * mathml/presentation/bug97990.html: Ditto.
        * mathml/presentation/attributes-mathvariant-expected.html: Update the reftest to use italic
        characters from the Mathematical Alphanumeric Symbols.
        * mathml/presentation/tokenElements-mathvariant-expected.html: Ditto.
        * mathml/presentation/mo-whitespaces-expected.html: Adjust one edge case since we now only
        collapse whitespace for operators that use MathOperator.
        * accessibility/math-multiscript-attributes-expected.txt: Small size/coordinate adjustment.
        * platform/gtk/accessibility/math-multiscript-attributes-expected.txt: Dottp.
        * platform/gtk/mathml/presentation/roots-expected.txt: Size/coordinate adjustment, removal
        of anonymous renderers and use italic characters from the Mathematical Alphanumeric Symbols.
        * platform/gtk/mathml/presentation/roots-expected.png: Ditto.
        * platform/ios-simulator/mathml/presentation/roots-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/horizontal-expected.txt: Size/coordinate adjustment and
        removal of anonymous renderers.
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/large-operators-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Ditto.
        * platform/gtk/mathml/opentype/vertical-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: Ditto.
        * platform/ios-simulator/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/mac/mathml/opentype/large-operators-expected.txt: Ditto.
        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Ditto.
        * platform/mac/mathml/opentype/vertical-expected.txt: Ditto.

2016-06-23  Benjamin Poulain  <bpoulain@apple.com>

        OOM Assertion failure in Array.prototype.toString
        https://bugs.webkit.org/show_bug.cgi?id=158793

        Reviewed by Saam Barati.

        * js/script-tests/stringimpl-to-jsstring-on-large-strings-1.js: Added.
        (string_appeared_here.createStrings):
        * js/script-tests/stringimpl-to-jsstring-on-large-strings-2.js: Added.
        (string_appeared_here.createRegexp):
        (catch):
        * js/script-tests/stringimpl-to-jsstring-on-large-strings-3.js: Added.
        (string_appeared_here.createStrings):
        (catch):
        * js/stringimpl-to-jsstring-on-large-strings-1-expected.txt: Added.
        * js/stringimpl-to-jsstring-on-large-strings-1.html: Added.
        * js/stringimpl-to-jsstring-on-large-strings-2-expected.txt: Added.
        * js/stringimpl-to-jsstring-on-large-strings-2.html: Added.
        * js/stringimpl-to-jsstring-on-large-strings-3-expected.txt: Added.
        * js/stringimpl-to-jsstring-on-large-strings-3.html: Added.

2016-06-23  Brady Eidson  <beidson@apple.com>

        Retrieving Blobs from IndexedDB using cursors fails in WK2 (Sandboxing)
        https://bugs.webkit.org/show_bug.cgi?id=158991

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/blob-cursor-expected.txt: Added.
        * storage/indexeddb/modern/blob-cursor.html: Added.
        * storage/indexeddb/modern/resources/blob-cursor.js: Added.
        * storage/indexeddb/modern/resources/blob-cursor1.html: Added.
        * storage/indexeddb/modern/resources/blob-cursor2.html: Added.

2016-06-23  Joseph Pecoraro  <pecoraro@apple.com> and Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Implement isFinite / isNaN in JS and make DFG ToNumber accept non number values
        https://bugs.webkit.org/show_bug.cgi?id=154022

        Reviewed by Filip Pizlo.

        * js/regress/Number-isNaN-expected.txt: Added.
        * js/regress/Number-isNaN.html: Added.
        * js/regress/global-isNaN-expected.txt: Added.
        * js/regress/global-isNaN.html: Added.
        * js/regress/script-tests/Number-isNaN.js: Added.
        * js/regress/script-tests/global-isNaN.js: Added.
        * js/regress/script-tests/many-foreach-calls.js:
        (i.4.forEach):
        (i.array.forEach): Deleted.
        * js/regress/script-tests/to-number-constructor-number-string-number-string.js: Added.
        (test):
        * js/regress/script-tests/to-number-constructor-only-number.js: Added.
        (test):
        * js/regress/script-tests/to-number-constructor-only-string.js: Added.
        (test):
        * js/regress/script-tests/to-number-constructor-string-number-string-number.js: Added.
        (test):
        * js/regress/script-tests/to-number-number-string-number-string.js: Added.
        (test):
        * js/regress/script-tests/to-number-only-number.js: Added.
        (test):
        * js/regress/script-tests/to-number-only-string.js: Added.
        (test):
        * js/regress/script-tests/to-number-string-number-string-number.js: Added.
        (test):
        * js/regress/to-number-constructor-number-string-number-string-expected.txt: Added.
        * js/regress/to-number-constructor-number-string-number-string.html: Added.
        * js/regress/to-number-constructor-only-number-expected.txt: Added.
        * js/regress/to-number-constructor-only-number.html: Added.
        * js/regress/to-number-constructor-only-string-expected.txt: Added.
        * js/regress/to-number-constructor-only-string.html: Added.
        * js/regress/to-number-constructor-string-number-string-number-expected.txt: Added.
        * js/regress/to-number-constructor-string-number-string-number.html: Added.
        * js/regress/to-number-number-string-number-string-expected.txt: Added.
        * js/regress/to-number-number-string-number-string.html: Added.
        * js/regress/to-number-only-number-expected.txt: Added.
        * js/regress/to-number-only-number.html: Added.
        * js/regress/to-number-only-string-expected.txt: Added.
        * js/regress/to-number-only-string.html: Added.
        * js/regress/to-number-string-number-string-number-expected.txt: Added.
        * js/regress/to-number-string-number-string-number.html: Added.

2016-06-23  Simon Fraser  <simon.fraser@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=159077

        Mark fast/harness/snapshot-captures-compositing.html as an image failure.

        * platform/ios-simulator-wk2/TestExpectations:

2016-06-23  Benjamin Poulain  <benjamin@webkit.org>

        Specialize synchronous event tracking per event type
        https://bugs.webkit.org/show_bug.cgi?id=158826

        Reviewed by Simon Fraser.

        * fast/events/touch/ios/tap-with-active-listener-inside-document-with-passive-listener-expected.txt: Added.
        * fast/events/touch/ios/tap-with-active-listener-inside-document-with-passive-listener.html: Added.
        * fast/events/touch/ios/tap-with-active-listener-inside-window-with-passive-listener-expected.txt: Added.
        * fast/events/touch/ios/tap-with-active-listener-inside-window-with-passive-listener.html: Added.
        * fast/events/touch/ios/tap-with-active-touch-end-listener-expected.txt: Added.
        * fast/events/touch/ios/tap-with-active-touch-end-listener.html: Added.
        * fast/events/touch/ios/tap-with-passive-listener-inside-active-listener.html: Added.
        * fast/events/touch/ios/tap-with-passive-touch-end-listener-expected.txt: Added.
        * fast/events/touch/ios/tap-with-passive-touch-end-listener.html: Added.
        * fast/events/touch/ios/tap-with-passive-touch-start-active-touch-end-listeners-on-elements-expected.txt: Added.
        * fast/events/touch/ios/tap-with-passive-touch-start-active-touch-end-listeners-on-elements.html: Added.
        * fast/events/touch/ios/tap-with-passive-touch-start-active-touch-move-listeners-on-elements-expected.txt: Added.
        * fast/events/touch/ios/tap-with-passive-touch-start-active-touch-move-listeners-on-elements.html: Added.

2016-06-23  Alexey Proskuryakov  <ap@apple.com>

        Update TestExpectations for a couple video track tests.

        * platform/mac/TestExpectations:

2016-06-23  Simon Fraser  <simon.fraser@apple.com>

        [iOS] Make DumpRenderTree and WebKitTestRunner in the simulator use render server snapshotting
        https://bugs.webkit.org/show_bug.cgi?id=159077

        Reviewed by Tim Horton.

        Test that fails if snapshotting doesn't correctly snapshot 3D transforms.

        * fast/harness/snapshot-captures-compositing-expected.html: Added.
        * fast/harness/snapshot-captures-compositing.html: Added.

2016-06-23  Said Abou-Hallawa  <sabouhallawa@apple.com>

        requestFrameAnimation() callback timestamp should be very close to Performance.now() 
        https://bugs.webkit.org/show_bug.cgi?id=159038

        Reviewed by Simon Fraser.

        * animations/animation-callback-timestamp-expected.txt: Added.
        * animations/animation-callback-timestamp.html: Added.
        * animations/animation-multiple-callbacks-timestamp-expected.txt: Added.
        * animations/animation-multiple-callbacks-timestamp.html: Added.

2016-06-23  Ryan Haddad  <ryanhaddad@apple.com>

        Land test expectations for rdar://problem/26952627.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-23  Alexey Proskuryakov  <ap@apple.com>

        Handle (0, 0) ranges from Lookup
        https://bugs.webkit.org/show_bug.cgi?id=159062
        rdar://problem/26960385

        Reviewed by Tim Horton.

        * platform/mac/TestExpectations: Unmark the test that was broken due to this.

2016-06-23  Joseph Pecoraro  <pecoraro@apple.com>

        CSSComputedStyleDeclaration::length should recalculate styles if needed to provide the correct value
        https://bugs.webkit.org/show_bug.cgi?id=159053
        <rdar://problem/26638119>

        Reviewed by Simon Fraser.

        * fast/css/variables/custom-property-computed-style-length-update-expected.txt: Added.
        * fast/css/variables/custom-property-computed-style-length-update.html: Added.

2016-06-23  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Add support for RTCPeerConnection legacy MediaStream-based API
        https://bugs.webkit.org/show_bug.cgi?id=158940

        Reviewed by Eric Carlson.

        Add test for RTCPeerConnection legacy MediaStream-based API.

        * fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-legacy-stream-based-api.html: Added.
        * platform/mac/TestExpectations:
        Skip test for mac port (not building with WEB_RTC yet)

2016-06-23  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        Update test expectations for passing accessibility tests after r202149,
        and fix style issues in test expectations file.

        * platform/win/TestExpectations:

2016-06-22  Alexey Proskuryakov  <ap@apple.com>

        Test expectations gardening for rdar://problem/26960385

        * platform/mac/TestExpectations:

2016-06-22  Benjamin Poulain  <bpoulain@apple.com>

        AX: Add support for CSS4 :focus-within pseudo
        https://bugs.webkit.org/show_bug.cgi?id=140144

        Reviewed by Antti Koivisto.

        * fast/css/css-selector-text-expected.txt:
        * fast/css/css-selector-text.html:
        * fast/css/css-set-selector-text-expected.txt:
        * fast/css/css-set-selector-text.html:
        * fast/css/pseudo-focus-within-basics-expected.html: Added.
        * fast/css/pseudo-focus-within-basics.html: Added.
        * fast/css/pseudo-focus-within-inside-shadow-dom-expected.html: Added.
        * fast/css/pseudo-focus-within-inside-shadow-dom.html: Added.
        * fast/css/pseudo-focus-within-style-sharing-1-expected.html: Added.
        * fast/css/pseudo-focus-within-style-sharing-1.html: Added.
        * fast/css/pseudo-focus-within-style-sharing-2-expected.html: Added.
        * fast/css/pseudo-focus-within-style-sharing-2.html: Added.
        * fast/selectors/focus-within-style-update-expected.txt: Added.
        * fast/selectors/focus-within-style-update.html: Added.

2016-06-17  Dean Jackson  <dino@apple.com>

        REGRESSION: Double tap to zoom does not work on yahoo finance
        https://bugs.webkit.org/show_bug.cgi?id=158886
        <rdar://problem/24917760>

        Reviewed by Simon Fraser.

        * fast/events/ios/viewport-shrink-to-fit-allows-double-tap-expected.txt: Added.
        * fast/events/ios/viewport-shrink-to-fit-allows-double-tap.html: Added.

2016-06-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening for css3/line-break-language-sensitive
        https://bugs.webkit.org/show_bug.cgi?id=159017

        Unreviewed.

        Some reftests had content which ended up outside of the viewport. This patch
        splits that extra content out into separate tests.

        In addition, this test migrates these tests to using a web font, so the results
        of this test are not sensitive to platform-specific font fallback.

        Because of the migration to the web font, css3/line-break-language-sensitive is
        no longer needed.

        * TestExpectations:
        * css3/line-break-language-sensitive/line-break-auto-centered-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-centered.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-half-kana-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-half-kana.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-hyphens.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-inseparables-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-inseparables.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-iteration-marks-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-iteration-marks.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-postfixes.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-prefixes-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-prefixes.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-sound-marks-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-auto-sound-marks.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-centered.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-half-kana-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-half-kana.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-hyphens.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-inseparables-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-inseparables.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-iteration-marks.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-postfixes.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-prefixes-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-prefixes.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-sound-marks-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-loose-sound-marks.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-centered-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-centered.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-half-kana-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-half-kana.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-hyphens-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-hyphens.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-inseparables-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-inseparables.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-iteration-marks.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-postfixes.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-prefixes-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-prefixes.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-sound-marks-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-normal-sound-marks.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-centered-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-centered.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-half-kana-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-half-kana.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-hyphens.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-inseparables-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-inseparables.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-iteration-marks-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-iteration-marks.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-postfixes.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-prefixes-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-prefixes.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-sound-marks-expected.html: Removed.
        * css3/line-break-language-sensitive/line-break-strict-sound-marks.html: Removed.
        * css3/line-break/line-break-auto-centered-2-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-strict-hyphens-expected.html.
        * css3/line-break/line-break-auto-centered-2.html: Added.
        * css3/line-break/line-break-auto-centered-expected.html:
        * css3/line-break/line-break-auto-centered.html:
        * css3/line-break/line-break-auto-half-kana-2-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-loose-postfixes-expected.html.
        * css3/line-break/line-break-auto-half-kana-2.html: Added.
        * css3/line-break/line-break-auto-half-kana-3-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-loose-postfixes-expected.html.
        * css3/line-break/line-break-auto-half-kana-3.html: Added.
        * css3/line-break/line-break-auto-half-kana-4-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-strict-postfixes-expected.html.
        * css3/line-break/line-break-auto-half-kana-4.html: Added.
        * css3/line-break/line-break-auto-half-kana-5-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-auto-postfixes-expected.html.
        * css3/line-break/line-break-auto-half-kana-5.html: Added.
        * css3/line-break/line-break-auto-half-kana-expected.html:
        * css3/line-break/line-break-auto-half-kana.html:
        * css3/line-break/line-break-auto-hyphens-expected.html:
        * css3/line-break/line-break-auto-hyphens.html:
        * css3/line-break/line-break-auto-inseparables-expected.html:
        * css3/line-break/line-break-auto-inseparables.html:
        * css3/line-break/line-break-auto-iteration-marks-expected.html:
        * css3/line-break/line-break-auto-iteration-marks.html:
        * css3/line-break/line-break-auto-postfixes-expected.html:
        * css3/line-break/line-break-auto-postfixes.html:
        * css3/line-break/line-break-auto-prefixes-expected.html:
        * css3/line-break/line-break-auto-prefixes.html:
        * css3/line-break/line-break-auto-sound-marks-expected.html:
        * css3/line-break/line-break-auto-sound-marks.html:
        * css3/line-break/line-break-loose-centered-2-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-loose-hyphens-expected.html.
        * css3/line-break/line-break-loose-centered-2.html: Added.
        * css3/line-break/line-break-loose-centered-expected.html:
        * css3/line-break/line-break-loose-centered.html:
        * css3/line-break/line-break-loose-half-kana-2-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-loose-postfixes-expected.html.
        * css3/line-break/line-break-loose-half-kana-2.html: Added.
        * css3/line-break/line-break-loose-half-kana-3-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-loose-postfixes-expected.html.
        * css3/line-break/line-break-loose-half-kana-3.html: Added.
        * css3/line-break/line-break-loose-half-kana-4-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-loose-centered-expected.html.
        * css3/line-break/line-break-loose-half-kana-4.html: Added.
        * css3/line-break/line-break-loose-half-kana-5-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-loose-iteration-marks-expected.html.
        * css3/line-break/line-break-loose-half-kana-5.html: Added.
        * css3/line-break/line-break-loose-half-kana-expected.html:
        * css3/line-break/line-break-loose-half-kana.html:
        * css3/line-break/line-break-loose-hyphens-expected.html:
        * css3/line-break/line-break-loose-hyphens.html:
        * css3/line-break/line-break-loose-inseparables-expected.html:
        * css3/line-break/line-break-loose-inseparables.html:
        * css3/line-break/line-break-loose-iteration-marks-expected.html:
        * css3/line-break/line-break-loose-iteration-marks.html:
        * css3/line-break/line-break-loose-postfixes-expected.html:
        * css3/line-break/line-break-loose-postfixes.html:
        * css3/line-break/line-break-loose-prefixes-expected.html:
        * css3/line-break/line-break-loose-prefixes.html:
        * css3/line-break/line-break-loose-sound-marks-expected.html:
        * css3/line-break/line-break-loose-sound-marks.html:
        * css3/line-break/line-break-normal-centered-2-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-normal-iteration-marks-expected.html.
        * css3/line-break/line-break-normal-centered-2.html: Added.
        * css3/line-break/line-break-normal-centered-expected.html:
        * css3/line-break/line-break-normal-centered.html:
        * css3/line-break/line-break-normal-half-kana-2-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-loose-postfixes-expected.html.
        * css3/line-break/line-break-normal-half-kana-2.html: Added.
        * css3/line-break/line-break-normal-half-kana-3-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-loose-postfixes-expected.html.
        * css3/line-break/line-break-normal-half-kana-3.html: Added.
        * css3/line-break/line-break-normal-half-kana-4-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-loose-postfixes-expected.html.
        * css3/line-break/line-break-normal-half-kana-4.html: Added.
        * css3/line-break/line-break-normal-half-kana-5-expected.html: Copied from LayoutTests/css3/line-break/line-break-loose-postfixes-expected.html.
        * css3/line-break/line-break-normal-half-kana-5.html: Added.
        * css3/line-break/line-break-normal-half-kana-expected.html:
        * css3/line-break/line-break-normal-half-kana.html:
        * css3/line-break/line-break-normal-hyphens-expected.html:
        * css3/line-break/line-break-normal-hyphens.html:
        * css3/line-break/line-break-normal-inseparables-expected.html:
        * css3/line-break/line-break-normal-inseparables.html:
        * css3/line-break/line-break-normal-iteration-marks-expected.html:
        * css3/line-break/line-break-normal-iteration-marks.html:
        * css3/line-break/line-break-normal-postfixes-expected.html:
        * css3/line-break/line-break-normal-postfixes.html:
        * css3/line-break/line-break-normal-prefixes-expected.html:
        * css3/line-break/line-break-normal-prefixes.html:
        * css3/line-break/line-break-normal-sound-marks-expected.html:
        * css3/line-break/line-break-normal-sound-marks.html:
        * css3/line-break/line-break-strict-centered-2-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-auto-hyphens-expected.html.
        * css3/line-break/line-break-strict-centered-2.html: Added.
        * css3/line-break/line-break-strict-centered-expected.html:
        * css3/line-break/line-break-strict-centered.html:
        * css3/line-break/line-break-strict-half-kana-2-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-normal-postfixes-expected.html.
        * css3/line-break/line-break-strict-half-kana-2.html: Added.
        * css3/line-break/line-break-strict-half-kana-3-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-strict-postfixes-expected.html.
        * css3/line-break/line-break-strict-half-kana-3.html: Added.
        * css3/line-break/line-break-strict-half-kana-4-expected.html: Copied from LayoutTests/css3/line-break-language-sensitive/line-break-normal-postfixes-expected.html.
        * css3/line-break/line-break-strict-half-kana-4.html: Added.
        * css3/line-break/line-break-strict-half-kana-5-expected.html: Renamed from LayoutTests/css3/line-break-language-sensitive/line-break-normal-postfixes-expected.html.
        * css3/line-break/line-break-strict-half-kana-5.html: Added.
        * css3/line-break/line-break-strict-half-kana-expected.html:
        * css3/line-break/line-break-strict-half-kana.html:
        * css3/line-break/line-break-strict-hyphens-expected.html:
        * css3/line-break/line-break-strict-hyphens.html:
        * css3/line-break/line-break-strict-inseparables-expected.html:
        * css3/line-break/line-break-strict-inseparables.html:
        * css3/line-break/line-break-strict-iteration-marks-expected.html:
        * css3/line-break/line-break-strict-iteration-marks.html:
        * css3/line-break/line-break-strict-postfixes-expected.html:
        * css3/line-break/line-break-strict-postfixes.html:
        * css3/line-break/line-break-strict-prefixes-expected.html:
        * css3/line-break/line-break-strict-prefixes.html:
        * css3/line-break/line-break-strict-sound-marks-expected.html:
        * css3/line-break/line-break-strict-sound-marks.html:
        * css3/line-break/resources/AllAhem.svg: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2016-06-22  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r201629): Weird button glitching on github.com
        https://bugs.webkit.org/show_bug.cgi?id=159031
        rdar://problem/26880332

        Reviewed by Tim Horton.

        * fast/backgrounds/scaled-gradient-background-expected.html: Added.
        * fast/backgrounds/scaled-gradient-background.html: Added.

2016-06-22  Alexey Proskuryakov  <ap@apple.com>

        Test expectation gardening for rdar://problem/26950065

        * platform/mac/TestExpectations:

2016-06-22  Alexey Proskuryakov  <ap@apple.com>

        Test expectation gardening.

        * platform/mac/TestExpectations:

2016-06-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Add support for the negotiationneeded event in MediaEndpointPeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=158985

        Add tests for the RTCPeerConnection negotiationneeded event.

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCPeerConnection-more-media-to-negotiate-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-more-media-to-negotiate.html: Added.
        Verify that a negotiationneeded event is fired when not all local media can be included in
        an answer. (The answerer cannot reply with more m-lines than the offer had to begin with.)
        * fast/mediastream/RTCPeerConnection-onnegotiationneeded-expected.txt:
        * fast/mediastream/RTCPeerConnection-onnegotiationneeded.html:
        Verify that a negotiationneeded event is fired when tracks are added and removed from an
        RTCPeerConnection.
        * platform/gtk/TestExpectations:
        Unskip fast/mediastream/RTCPeerConnection-onnegotiationneeded.html.
        * platform/mac/TestExpectations:
        The mac port does not build with WEB_RTC enabled yet.

2016-06-22  Youenn Fablet  <youennf@gmail.com>

        JSDOMIterator forEach should support second optional parameter
        https://bugs.webkit.org/show_bug.cgi?id=159020

        Reviewed by Chris Dumez.

        * fast/dom/nodeListIterator-expected.txt:
        * fast/dom/nodeListIterator.html: Adding 'thisValue' various checks.

2016-06-22  Per Arne Vollan  <pvollan@apple.com>

        window.showModalDialog doesn't work in DumpRenderTree on Windows
        https://bugs.webkit.org/show_bug.cgi?id=53675

        Reviewed by Brent Fulgham.

        Update test expectations for modal dialog tests.

        * platform/win/TestExpectations:

2016-06-21  Alexey Proskuryakov  <ap@apple.com>

        Land test expectations for rdar://problem/26422051.

        * platform/mac-wk1/TestExpectations:

2016-06-21  Benjamin Poulain  <bpoulain@apple.com>

        :hover CSS pseudo-class sometimes keeps matching ever after mouse has left the element
        https://bugs.webkit.org/show_bug.cgi?id=158340

        Reviewed by Simon Fraser.

        * fast/css/ancestor-of-hovered-element-detached-expected.txt: Added.
        * fast/css/ancestor-of-hovered-element-detached.html: Added.
        * fast/css/ancestor-of-hovered-element-removed-expected.txt: Added.
        * fast/css/ancestor-of-hovered-element-removed.html: Added.

2016-06-21  Alexey Proskuryakov  <ap@apple.com>

        Test expectations gardening.

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

2016-06-21  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rolling out r202302, r202303, r202305, and
        r202306.

        Roll out the rollouts because of breaking the build.

        Reverted changesets:

        "Unreviewed, rolling out r200678."
        https://bugs.webkit.org/show_bug.cgi?id=157453
        http://trac.webkit.org/changeset/202302

        "Unreviewed, rolling out r200619."
        https://bugs.webkit.org/show_bug.cgi?id=131443
        http://trac.webkit.org/changeset/202303

        "Unreviewed, attempt to fix the build after r202303."
        http://trac.webkit.org/changeset/202305

        "Unreviewed, attempt to fix the build after r202303."
        http://trac.webkit.org/changeset/202306

2016-06-21  Zalan Bujtas  <zalan@apple.com>

        LayoutTest tiled-drawing/scrolling/latched-div-with-scroll-snap.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=158320

        Reviewed by Simon Fraser.

        This test case is flaky because:
        1. There are multiple mouseScrollByWithWheelAndMomentumPhases() event bundles and they all need their own
        callbacks. (see additional eventSender.callAfterScrollingCompletes()) -> fail
        2. When the test fails, the testFailed() function is called with undefined variables. -> timeout  

        * platform/mac-wk2/TestExpectations:
        * tiled-drawing/scrolling/latched-div-with-scroll-snap.html:

2016-06-21  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rolling out r200619.

        This incompleted feature broke http://m.yahoo.co.jp. Roll it
        out together with r200678.

        Reverted changeset:

        "NodeList should be iterable"
        https://bugs.webkit.org/show_bug.cgi?id=131443
        http://trac.webkit.org/changeset/200619

2016-06-21  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rolling out r200678.

        This incompleted feature broke http://m.yahoo.co.jp. Roll it
        out together with r200619.

        Reverted changeset:

        "Ensure DOM iterators remain done"
        https://bugs.webkit.org/show_bug.cgi?id=157453
        http://trac.webkit.org/changeset/200678

2016-06-21  Joseph Pecoraro  <pecoraro@apple.com>

        Skip HeapSnapshot test on WebKit1. Shared VM skews the data.

        Unreviewed gardening.

        In this case, snapshots with snapshots with snapshots in the same VM
        causes the test to run out of memory. This does not happen in WebKit2.

        * platform/mac-wk1/TestExpectations:

2016-06-21  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening for platform-specific font-fallback on macOS Sierra
        https://bugs.webkit.org/show_bug.cgi?id=159003
        <rdar://problem/25807529>

        Unreviewed.

        * fast/text/font-cursive-italic-cjk-2-expected.html: Added.
        * fast/text/font-cursive-italic-cjk-2.html: Added.
        * platform/mac/TestExpectations:

2016-06-20  Simon Fraser  <simon.fraser@apple.com>

        [iOS] Typing text into a text field or text area causes screen to scroll down (hiding text entry)
        https://bugs.webkit.org/show_bug.cgi?id=158970

        Reviewed by Ryosuke Niwa.

        Test that focuses an input in a frame and then types a character, then checks for scrolling.

        * fast/forms/ios/typing-in-input-in-iframe-expected.txt: Added.
        * fast/forms/ios/typing-in-input-in-iframe.html: Added.

2016-06-20  Simon Fraser  <simon.fraser@apple.com>

        Focus event dispatched in iframe causes parent document to scroll incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=158629
        rdar://problem/26521616

        Reviewed by Tim Horton.

        * fast/forms/ios/focus-input-in-iframe-expected.txt: Added.
        * fast/forms/ios/focus-input-in-iframe.html: Added.
        * fast/forms/ios/programmatic-focus-input-in-iframe-expected.txt: Added.
        * fast/forms/ios/programmatic-focus-input-in-iframe.html: Added.

2016-06-21  Alexey Proskuryakov  <ap@apple.com>

        Add an expectation for another copy of fast/canvas/webgl/premultiplyalpha-test.html

        * platform/mac/TestExpectations:

2016-06-21  Alexey Proskuryakov  <ap@apple.com>

        Update Sierra test expectations for fast/canvas/webgl/premultiplyalpha-test.html

        * platform/mac/TestExpectations:

2016-06-21  Frederic Wang  <fwang@igalia.com>

        Implement RenderMathMLOperator::layoutBlock
        https://bugs.webkit.org/show_bug.cgi?id=157521

        Reviewed by Brent Fulgham.

        Update some tests to take into account improved width computation and how the anonymous text
        node of operators using MathOperator is layout.

        * platform/gtk/mathml/opentype/horizontal-expected.txt:
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/gtk/mathml/opentype/large-operators-expected.txt:
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/gtk/mathml/opentype/vertical-expected.png:
        * platform/gtk/mathml/opentype/vertical-expected.txt:
        * platform/gtk/mathml/presentation/mo-stretch-expected.png:
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt:
        * platform/mac/mathml/opentype/large-operators-expected.txt:
        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/mac/mathml/opentype/vertical-expected.txt:
        * platform/ios-simulator/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt:

2016-06-21  Commit Queue  <commit-queue@webkit.org>

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

        imported/w3c/web-platform-tests/tools actually does exist, so
        documentation files got executed as tests (Requested by ap on
        #webkit).

        Reverted changeset:

        "Unskip non-existing imported/w3c/web-platform-tests/tools."
        http://trac.webkit.org/changeset/202277

2016-06-21  Konstantin Tokarev  <annulen@yandex.ru>

        Unskip non-existing imported/w3c/web-platform-tests/tools.

        Unreviewed fix after r191043.

        * TestExpectations:

2016-06-21  Alexey Proskuryakov  <ap@apple.com>

        Correct which test is marked as flaky, copy/paste mistake.

        * platform/mac-wk2/TestExpectations:

2016-06-21  Miguel Gomez  <magomez@igalia.com>

        [GStreamer] video orientation support
        https://bugs.webkit.org/show_bug.cgi?id=148524

        Reviewed by Philippe Normand.

        Test whether the video is properly being displayed by checking the video
        element size.

        * media/content/no-rotation.mp4: Added.
        * media/content/rotation-180.mp4: Added.
        * media/content/rotation-270.mp4: Added.
        * media/content/rotation-90.mp4: Added.
        * media/video-orientation-expected.txt: Added.
        * media/video-orientation.html: Added.

2016-06-20  Frederic Wang  <fwang@igalia.com>

        Use the MathOperator to handle some non-stretchy operators
        https://bugs.webkit.org/show_bug.cgi?id=157519

        Reviewed by Brent Fulgham.

        We adjust fenced-mi.html to handle one edge case that we no longer support.
        We also update some test references on Mac and iOS.

        * mathml/presentation/fenced-mi-expected.html: Indicate that this is no longer supported.
        * mathml/presentation/fenced-mi.html: Adjust the reference since no text is shown.
        * platform/mac/mathml/opentype/large-operators-expected.txt: Update reference.
        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
        * platform/mac/mathml/opentype/vertical-expected.txt: Ditto.
        * platform/ios-simulator/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.

2016-06-20  Alexey Proskuryakov  <ap@apple.com>

        Test expectation update for media/click-placeholder-not-pausing.html

        * platform/mac-wk2/TestExpectations:

2016-06-20  Alexey Proskuryakov  <ap@apple.com>

        Test expectation update for
        https://bugs.webkit.org/show_bug.cgi?id=158320
        REGRESSION (r201476?): LayoutTest tiled-drawing/scrolling/latched-div-with-scroll-snap.html is flaky

        * platform/mac-wk2/TestExpectations:

2016-06-20  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: RTCIceCandidate init dictionary don't handle explicit null or undefined values correctly
        https://bugs.webkit.org/show_bug.cgi?id=158873

        Reviewed by Alejandro G. Castro.

        Updated test to verify that explicit null and undefined values, passed to the
        RTCIceCandidate init dictionary, are handled correctly.

        * fast/mediastream/RTCIceCandidate-expected.txt:
        * fast/mediastream/RTCIceCandidate.html:

2016-06-20  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION(r202253): Broke inspector/unit-tests/heap-snapshot-collection-event.html
        https://bugs.webkit.org/show_bug.cgi?id=158973

        Unreviewed fix after r202253.

        * inspector/unit-tests/heap-snapshot-collection-event-expected.txt:
        * inspector/unit-tests/heap-snapshot-collection-event.html:
        Update the method name.

2016-06-20  Commit Queue  <commit-queue@webkit.org>

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

        Broke Windows build and iOS tests (Requested by ap on
        #webkit).

        Reverted changeset:

        "Focus event dispatched in iframe causes parent document to
        scroll incorrectly"
        https://bugs.webkit.org/show_bug.cgi?id=158629
        http://trac.webkit.org/changeset/202243

2016-06-20  Zalan Bujtas  <zalan@apple.com>

        Set the end position on the placeholder BidiRun properly.
        https://bugs.webkit.org/show_bug.cgi?id=158958

        Reviewed by Myles C. Maxfield.
        rdar://problem/26609266

        The second paramenter for BidiRun indicates the end position and not the length of the run.
        This was regressed at r102875 where only the start position was changed from 0 to pos.

        * fast/text/international/bidi-style-in-isolate-crash-expected.txt: Added.
        * fast/text/international/bidi-style-in-isolate-crash.html: Added.

2016-06-20  Fujii Hironori  <Hironori.Fujii@sony.com>

        A composition underline is placed to wrong position in RTL
        https://bugs.webkit.org/show_bug.cgi?id=158602

        Reviewed by Myles C. Maxfield.

        * editing/input/composition-underline-rtl-expected.html: Added.
        * editing/input/composition-underline-rtl.html: Added.

2016-06-20  Alexey Proskuryakov  <ap@apple.com>

        Test expectations gardening for
        https://bugs.webkit.org/show_bug.cgi?id=155196

        * platform/mac-wk1/TestExpectations:

2016-06-20  Alexey Proskuryakov  <ap@apple.com>

        Test result gardening.

        * platform/mac-wk2/TestExpectations:

2016-06-20  Benjamin Poulain  <benjamin@webkit.org>

        :default CSS pseudo-class should match checkboxes+radios with a `checked` attribute
        https://bugs.webkit.org/show_bug.cgi?id=156230

        Reviewed by Alex Christensen.

        * fast/css/pseudo-default-basics-expected.html: Added.
        * fast/css/pseudo-default-basics.html: Added.
        * fast/selectors/default-style-update-expected.txt: Added.
        * fast/selectors/default-style-update.html: Added.

2016-06-20  Simon Fraser  <simon.fraser@apple.com>

        Focus event dispatched in iframe causes parent document to scroll incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=158629
        rdar://problem/26521616

        Reviewed by Tim Horton.

        * fast/forms/ios/focus-input-in-iframe-expected.txt: Added.
        * fast/forms/ios/focus-input-in-iframe.html: Added.
        * fast/forms/ios/programmatic-focus-input-in-iframe-expected.txt: Added.
        * fast/forms/ios/programmatic-focus-input-in-iframe.html: Added.

2016-06-20  Commit Queue  <commit-queue@webkit.org>

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

        The test either fails or times out 100% of the time (Requested
        by ap on #webkit).

        Reverted changeset:

        "REGRESSION: Double tap to zoom does not work on yahoo
        finance"
        https://bugs.webkit.org/show_bug.cgi?id=158886
        http://trac.webkit.org/changeset/202179

2016-06-20  Alexey Proskuryakov  <ap@apple.com>

        Fix a run-webkit-tests --lint warning.

        * platform/mac/TestExpectations:

2016-06-20  Alexey Proskuryakov  <ap@apple.com>

        Test expectations gardening for
        https://bugs.webkit.org/show_bug.cgi?id=155196

        Marked the tests as flaky instead of skipping, to make the results visible on the
        flakiness dashboard. Also added video-with-data-url-allowed-by-media-src-star.html,
        which is very flaky too.

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

2016-06-20  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.profile should use the new Sampling Profiler
        https://bugs.webkit.org/show_bug.cgi?id=153499
        <rdar://problem/24352431>

        Reviewed by Timothy Hatcher.

        * inspector/timeline/setInstruments-programmatic-capture-expected.txt: Added.
        * inspector/timeline/setInstruments-programmatic-capture.html: Added.
        New test that the backend auto-starts instruments during programmatic capture.

2016-06-20  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline test now that TouchEvent has a constructor.

        * fast/events/touch/document-create-touch-list-ios-expected.txt:

2016-06-19  Antti Koivisto  <antti@apple.com>

        Updating class name of a shadow host does not update the style applied by :host()
        https://bugs.webkit.org/show_bug.cgi?id=158900
        <rdar://problem/26883707>

        Reviewed by Simon Fraser.

        * fast/shadow-dom/shadow-host-style-update-expected.html: Added.
        * fast/shadow-dom/shadow-host-style-update.html: Added.

2016-06-19  Alexey Proskuryakov  <ap@apple.com>

        Test expectation gardening.

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

2016-06-19  Alexey Proskuryakov  <ap@apple.com>

        Test expectation gardening.

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

2016-06-19  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Mark shadow-dom tests to pass because it was enabled by r202091
        https://bugs.webkit.org/show_bug.cgi?id=158930

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations:

2016-06-19  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed test gardening

        * fast/forms/select-non-native-rendering-direction-expected.txt: Added.
        * fast/text/hyphenate-avoid-orphaned-word-expected.txt: Added.
        * platform/gtk/TestExpectations:

2016-06-17  Alexey Proskuryakov  <ap@apple.com>

        Add test expectations for macOS Sierra
        https://bugs.webkit.org/show_bug.cgi?id=158903

        Reviewed by Alex Christensen.

        * TestExpectations:
        * media/click-placeholder-not-pausing-expected.txt: Added.
        * media/click-placeholder-not-pausing.html: Added.
        * media/controls/picture-in-picture-expected.txt: Added.
        * media/controls/picture-in-picture.html: Added.
        * media/element-containing-pip-video-going-into-fullscreen-expected.txt: Added.
        * media/element-containing-pip-video-going-into-fullscreen.html: Added.
        * media/fullscreen-api-enabled-media-with-presentation-mode-expected.txt: Added.
        * media/fullscreen-api-enabled-media-with-presentation-mode.html: Added.
        * media/fullscreen-video-going-into-pip-expected.txt: Added.
        * media/fullscreen-video-going-into-pip.html: Added.
        * media/navigate-with-pip-should-not-crash-expected.txt: Added.
        * media/navigate-with-pip-should-not-crash.html: Added.
        * media/pip-video-going-into-fullscreen-expected.txt: Added.
        * media/pip-video-going-into-fullscreen.html: Added.
        * media/video-contained-in-fullscreen-element-going-into-pip-expected.txt: Added.
        * media/video-contained-in-fullscreen-element-going-into-pip.html: Added.
        * platform/mac-elcapitan: Added.
        * platform/mac-elcapitan/compositing: Added.
        * platform/mac-elcapitan/compositing/rtl: Added.
        * platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt: Copied from LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt.
        * platform/mac-elcapitan/fast: Added.
        * platform/mac-elcapitan/fast/block: Added.
        * platform/mac-elcapitan/fast/block/float: Added.
        * platform/mac-elcapitan/fast/block/float/026-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/026-expected.png.
        * platform/mac-elcapitan/fast/block/float/026-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/026-expected.txt.
        * platform/mac-elcapitan/fast/block/float/028-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/028-expected.png.
        * platform/mac-elcapitan/fast/block/float/028-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/028-expected.txt.
        * platform/mac-elcapitan/fast/overflow: Added.
        * platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png: Copied from LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png.
        * platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt: Copied from LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt.
        * platform/mac-elcapitan/fast/ruby: Added.
        * platform/mac-elcapitan/fast/ruby/bopomofo-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-expected.png.
        * platform/mac-elcapitan/fast/ruby/bopomofo-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-expected.txt.
        * platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png.
        * platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt.
        * platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.png.
        * platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.txt.
        * platform/mac-elcapitan/fast/text: Added.
        * platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt: Copied from LayoutTests/platform/mac/fast/text/crash-complex-text-surrogate-expected.txt.
        * platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png: Copied from LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.png.
        * platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt: Copied from LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.txt.
        * platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.png.
        * platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.txt.
        * platform/mac-elcapitan/http: Added.
        * platform/mac-elcapitan/http/tests: Added.
        * platform/mac-elcapitan/http/tests/cookies: Added.
        * platform/mac-elcapitan/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Copied from LayoutTests/http/tests/cookies/third-party-cookie-relaxing-expected.txt.
        * platform/mac-elcapitan/http/tests/security: Added.
        * platform/mac-elcapitan/http/tests/security/mixedContent: Added.
        * platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt.
        * platform/mac-elcapitan/media: Added.
        * platform/mac-elcapitan/media/controls-strict-expected.png: Copied from LayoutTests/platform/mac/media/controls-strict-expected.png.
        * platform/mac-elcapitan/media/controls-strict-expected.txt: Copied from LayoutTests/platform/mac/media/controls-strict-expected.txt.
        * platform/mac-elcapitan/media/controls-without-preload-expected.png: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.png.
        * platform/mac-elcapitan/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
        * platform/mac-elcapitan/media/track: Added.
        * platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt: Copied from LayoutTests/platform/mac/media/track/video-track-alternate-groups-expected.txt.
        * platform/mac-elcapitan/media/video-controls-rendering-expected.txt: Copied from LayoutTests/platform/mac/media/video-controls-rendering-expected.txt.
        * platform/mac-elcapitan/media/video-display-toggle-expected.png: Copied from LayoutTests/platform/mac/media/video-display-toggle-expected.png.
        * platform/mac-elcapitan/media/video-display-toggle-expected.txt: Copied from LayoutTests/platform/mac/media/video-display-toggle-expected.txt.
        * platform/mac-elcapitan/media/video-no-audio-expected.txt: Copied from LayoutTests/platform/mac/media/video-no-audio-expected.txt.
        * platform/mac-elcapitan/media/video-volume-slider-expected.txt: Copied from LayoutTests/platform/mac/media/video-volume-slider-expected.txt.
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac-wk2/fast/scrolling: Added.
        * platform/mac-wk2/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.
        * platform/mac/TestExpectations:
        * platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.png: Added.
        * platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt:
        * platform/mac/fast/block/float/026-expected.png:
        * platform/mac/fast/block/float/026-expected.txt:
        * platform/mac/fast/block/float/028-expected.png:
        * platform/mac/fast/block/float/028-expected.txt:
        * platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png:
        * platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:
        * platform/mac/fast/ruby/bopomofo-expected.png:
        * platform/mac/fast/ruby/bopomofo-expected.txt:
        * platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png:
        * platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt:
        * platform/mac/fast/ruby/bopomofo-rl-expected.png:
        * platform/mac/fast/ruby/bopomofo-rl-expected.txt:
        * platform/mac/fast/text/crash-complex-text-surrogate-expected.txt:
        * platform/mac/fast/text/justify-ideograph-complex-expected.png:
        * platform/mac/fast/text/justify-ideograph-complex-expected.txt:
        * platform/mac/fast/text/line-initial-and-final-swashes-expected.png:
        * platform/mac/fast/text/line-initial-and-final-swashes-expected.txt:
        * platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Added.
        * platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt:
        * platform/mac/media/controls-strict-expected.png: Removed.
        * platform/mac/media/controls-without-preload-expected.png: Removed.
        * platform/mac/media/track/video-track-alternate-groups-expected.txt:
        * platform/mac/media/video-controls-rendering-expected.png: Removed.
        * platform/mac/media/video-display-toggle-expected.png: Removed.
        * platform/mac/media/video-no-audio-expected.png: Removed.
        * platform/mac/media/video-volume-slider-expected.png: Removed.

2016-06-17  Benjamin Poulain  <benjamin@webkit.org>

        :indeterminate pseudo-class should match radios whose group has no checked radio
        https://bugs.webkit.org/show_bug.cgi?id=156270

        Reviewed by Simon Fraser.

        There are two important aspect to cover for this change:
        1) The style is updated correctly when a Button Group composition change.
        2) When the checkness changes for a Button Group, all its elements
           are invalidated to match :indeterminate.

        * fast/forms/radio/indeterminate-radio.html:
        This test was verifying that the property "indeterminate" of the input element
        is not reflected to the style through :indeterminate.
        I updated the test to still verify that except that we now match :indeterminate
        before changing the property.

        * fast/css/pseudo-indeterminate-radio-buttons-basics-expected.html: Added.
        * fast/css/pseudo-indeterminate-radio-buttons-basics.html: Added.

        * fast/css/pseudo-indeterminate-with-radio-buttons-style-invalidation-expected.txt: Added.
        * fast/css/pseudo-indeterminate-with-radio-buttons-style-invalidation.html: Added.
        Verify that we don't invalidate everything when the checked button changes.
        We only need to invalidate everything if the checked state of the whole group changes.

        * fast/selectors/detached-radio-button-checked-and-indeterminate-states-expected.txt: Added.
        * fast/selectors/detached-radio-button-checked-and-indeterminate-states.html: Added.
        * fast/selectors/pseudo-indeterminate-with-radio-buttons-style-update-expected.txt: Added.
        * fast/selectors/pseudo-indeterminate-with-radio-buttons-style-update.html: Added.

2016-06-17  Commit Queue  <commit-queue@webkit.org>

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

        The new test is very unstable, timing out frequently
        (Requested by ap on #webkit).

        Reverted changeset:

        "Web Inspector: console.profile should use the new Sampling
        Profiler"
        https://bugs.webkit.org/show_bug.cgi?id=153499
        http://trac.webkit.org/changeset/202152

2016-06-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r202068, r202115, and r202128.
        https://bugs.webkit.org/show_bug.cgi?id=158896

        The new test is very unstable, timing out frequently
        (Requested by ap on #webkit).

        Reverted changesets:

        "decompose4 return value is unchecked, leading to potentially
        uninitialized data."
        https://bugs.webkit.org/show_bug.cgi?id=158761
        http://trac.webkit.org/changeset/202068

        "[mac] LayoutTest transforms/undecomposable.html is a flaky
        timeout"
        https://bugs.webkit.org/show_bug.cgi?id=158816
        http://trac.webkit.org/changeset/202115

        "[mac] LayoutTest transforms/undecomposable.html is a flaky
        timeout"
        https://bugs.webkit.org/show_bug.cgi?id=158816
        http://trac.webkit.org/changeset/202128

2016-06-17  Chris Fleizach  <cfleizach@apple.com>

        AX: HTML indeterminate IDL attribute not mapped to checkbox value=2 for native checkboxes
        https://bugs.webkit.org/show_bug.cgi?id=158876
        <rdar://problem/26842619>

        Reviewed by Joanmarie Diggs.

        * accessibility/checkbox-mixed-value-expected.txt: Added.
        * accessibility/checkbox-mixed-value.html: Added.

2016-06-17  Dean Jackson  <dino@apple.com>

        REGRESSION (r199819): CrashTracer: [GraphicsContext3D::getInternalFramebufferSize
        https://bugs.webkit.org/show_bug.cgi?id=158895
        <rdar://problem/26423617>

        Reviewed by Zalan Bujtas.

        New test to access the contexts after loss. Also cleaned
        up the JavaScript code in the existing test (and made sure
        it ran outside of the test system).

        * webgl/many-contexts-access-after-loss-expected.txt: Added.
        * webgl/many-contexts-access-after-loss.html: Added.
        * webgl/many-contexts.html:

2016-06-17  Antoine Quint  <graouts@apple.com>

        Web video playback controls should have RTL volume slider
        https://bugs.webkit.org/show_bug.cgi?id=158856
        <rdar://problem/25971769>

        Reviewed by Tim Horton.

        New test that checks that the volume box has the correct CSS class name and the expected
        CSS transform value applied to it when the user interface layout direction is right-to-left
        and that changing the user interface layout direction dynamically update the media element
        shadow tree as expected.

        * fullscreen/video-controls-rtl-expected.txt: Added.
        * fullscreen/video-controls-rtl.html: Added.

2016-06-17  Ryan Haddad  <ryanhaddad@apple.com>

        Update LayoutTest fast/canvas/canvas-composite-text-alpha.html
        https://bugs.webkit.org/show_bug.cgi?id=158710

        Reviewed by Alexey Proskuryakov.

        Though this test passes, opening the test file directly reports multiple failures. Updating the
        readback locations to get the correct results.

        * fast/canvas/canvas-composite-text-alpha.html:

2016-06-17  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/video-controls-show-on-kb-or-ax-event.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=158889

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-17  Ryan Haddad  <ryanhaddad@apple.com>

        Skip security/contentSecurityPolicy/video-with-file-url-allowed-by-media-src-star.html on Mac
        https://bugs.webkit.org/show_bug.cgi?id=155196

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-17  Dean Jackson  <dino@apple.com>

        REGRESSION: Double tap to zoom does not work on yahoo finance
        https://bugs.webkit.org/show_bug.cgi?id=158886
        <rdar://problem/24917760>

        Reviewed by Simon Fraser.

        * fast/events/ios/viewport-shrink-to-fit-allows-double-tap-expected.txt: Added.
        * fast/events/ios/viewport-shrink-to-fit-allows-double-tap.html: Added.

2016-06-17  Chris Dumez  <cdumez@apple.com>

        TouchEvent should have a constructor
        https://bugs.webkit.org/show_bug.cgi?id=158883
        <rdar://problem/26063585>

        Reviewed by Benjamin Poulain.

        Add layout test coverage for the TouchEvent constructor.

        * fast/events/touch/touch-event-constructor-expected.txt: Added.
        * fast/events/touch/touch-event-constructor.html: Added.

2016-06-17  Chris Dumez  <cdumez@apple.com>

        URL hash setter does not remove fragment identifier if argument is an empty string
        https://bugs.webkit.org/show_bug.cgi?id=158869
        <rdar://problem/26863430>

        Reviewed by Darin Adler.

        Update existing layout tests now that setting hash to "" or "#" clears
        the fragment identifier.

        * fast/dom/DOMURL/set-href-attribute-hash-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-hash.html:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-hash.js:
        * fast/dom/HTMLAnchorElement/set-href-attribute-hash-expected.txt:

2016-06-17  John Wilander  <wilander@apple.com>

        Ignore case in the check for security origin inheritance
        https://bugs.webkit.org/show_bug.cgi?id=158878

        Reviewed by Alex Christensen.

        * http/tests/dom/window-open-about-uppercase-blank-and-access-document-expected.txt: Added.
        * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: Added.

2016-06-17  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping two new LayoutTests that rely on mouse events on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=158855

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-06-17  Frederic Wang  <fwang@igalia.com>

        Refactor RenderMathMLRoot layout function to avoid using flexbox
        https://bugs.webkit.org/show_bug.cgi?id=153987

        Reviewed by Brent Fulgham.

        Update expectations for some MathML tests containing radical operators.

        * TestExpectations: mathml/roots-removeChild.html works as expected now
        that we do not manage anonymous wrappers anymore.
        * mathml/presentation/roots.xhtml: Add one test for RTL roots.
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: Update expectation to
        take into change in the render tree.
        * platform/gtk/mathml/presentation/roots-expected.txt: Ditto.
        * platform/gtk/mathml/presentation/roots-expected.png: Update expectation to take
        into account small rendering changes.
        * platform/ios-simulator/mathml/presentation/roots-expected.txt: Ditto.
        * platform/gtk/mathml/radical-fallback-expected.txt: Ditto.
        * platform/gtk/mathml/radical-fallback-expected.png: Ditto.
        * platform/mac/mathml/radical-fallback-expected.txt: Ditto.
        * platform/mac/mathml/radical-fallback-expected.png: Ditto.
        * platform/ios-simulator/mathml/radical-fallback-expected.txt: Ditto.
        * platform/ios-simulator/mathml/radical-fallback-expected.png: Added.

2016-06-17  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        Update test-expected file for failing fullscreen test
        https://bugs.webkit.org/show_bug.cgi?id=158838

        Reviewed by Carlos Garcia Campos.

        Used MAC version of the test as the default version since only MAC and
        GTK do not skip this test and expect the same result. Removed 
        test-expected files specific to each port when there was one. Prior to
        this patch, GTK test was failing unexpectedly.

        * fullscreen/video-controls-override-expected.txt:
        * platform/efl/fullscreen/video-controls-override-expected.txt: Removed.
        * platform/gtk/fullscreen/video-controls-override-expected.txt: Removed.
        * platform/mac/fullscreen/video-controls-override-expected.txt: Removed.

2016-06-17  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        CORS preflight with a non-200 response should be a preflight failure
        https://bugs.webkit.org/show_bug.cgi?id=111008

        Reviewed by Darin Adler.

        * http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-async.html:
        * http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt:
        * http/tests/xmlhttprequest/workers/access-control-basic-get-fail-non-simple-expected.txt:

2016-06-17  Frederic Wang  <fred.wang@free.fr>

        MathOperator: Add fallback mechanisms for stretching and mirroring radical symbols
        https://bugs.webkit.org/show_bug.cgi?id=156836

        Reviewed by Sergio Villar Senin.

        We add a pixel test to verify the result of stretching a radical operator.
        We test RTL/LTR direction as well as default/sans-serif font in order to check the fallback code.

        * mathml/radical-fallback.html: Added.
        * platform/gtk/mathml/radical-fallback-expected.png: Added.
        * platform/gtk/mathml/radical-fallback-expected.txt: Added.
        * platform/ios-simulator/mathml/radical-fallback-expected.txt: Added.
        * platform/mac/mathml/radical-fallback-expected.png: Added.
        * platform/mac/mathml/radical-fallback-expected.txt: Added.
        * platform/ios-simulator/mathml/presentation/roots.txt: Updated.

2016-06-16  Commit Queue  <commit-queue@webkit.org>

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

        Broke scrolling tests on iOS Simulator (Requested by ap on
        #webkit).

        Reverted changeset:

        "Focus event dispatched in iframe causes parent document to
        scroll incorrectly"
        https://bugs.webkit.org/show_bug.cgi?id=158629
        http://trac.webkit.org/changeset/202147

2016-06-16  Benjamin Poulain  <bpoulain@apple.com>

        :in-range & :out-of-range CSS pseudo-classes shouldn't match disabled or readonly inputs
        https://bugs.webkit.org/show_bug.cgi?id=156530

        Reviewed by Simon Fraser.

        * fast/css/pseudo-in-range-on-disabled-input-basics-expected.html: Added.
        * fast/css/pseudo-in-range-on-disabled-input-basics.html: Added.
        * fast/css/pseudo-in-range-on-readonly-input-basics-expected.html: Added.
        * fast/css/pseudo-in-range-on-readonly-input-basics.html: Added.
        * fast/css/pseudo-in-range-out-of-range-on-disabled-input-trivial-expected.html: Added.
        * fast/css/pseudo-in-range-out-of-range-on-disabled-input-trivial.html: Added.
        * fast/css/pseudo-out-of-range-on-disabled-input-basics-expected.html: Added.
        * fast/css/pseudo-out-of-range-on-disabled-input-basics.html: Added.
        * fast/css/pseudo-out-of-range-on-readonly-input-basics-expected.html: Added.
        * fast/css/pseudo-out-of-range-on-readonly-input-basics.html: Added.
        * fast/selectors/in-range-out-of-range-style-update-expected.txt: Added.
        * fast/selectors/in-range-out-of-range-style-update.html: Added.

2016-06-16  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL][GTK] LayoutTest doesn't run on Ubuntu 16.04
        https://bugs.webkit.org/show_bug.cgi?id=158141

        Reviewed by Michael Catanzaro.

        * http/conf/debian-httpd-2.4-php7.conf: Added.

2016-06-15  Filip Pizlo  <fpizlo@apple.com>

        Baseline JIT should be concurrent
        https://bugs.webkit.org/show_bug.cgi?id=158755

        Reviewed by Geoffrey Garen.
        
        This change revealed a latent bug in the LLInt.  The non-llint version of this new test
        would usually fail because it was still in LLInt.  This new test always fails.

        * js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-llint.html: Added.
        * js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-llint-expected.txt: Added.
        * js/dom/script-tests/prototype-chain-caching-with-impure-get-own-property-slot-traps-llint.js: Added.

2016-06-16  Frederic Wang  <fwang@igalia.com>

        Add separate MathOperator for selection/measuring/drawing of stretchy operators
        https://bugs.webkit.org/show_bug.cgi?id=152244

        Reviewed by Brent Fulgham.

        Update expectations for some MathML tests containing operators/radicals
        to take into account small rendering changes.

        * platform/gtk/mathml/opentype/horizontal-expected.png:
        * platform/gtk/mathml/opentype/horizontal-expected.txt:
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/gtk/mathml/opentype/large-operators-expected.png:
        * platform/gtk/mathml/opentype/large-operators-expected.txt:
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.png:
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png:
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/gtk/mathml/opentype/vertical-expected.png:
        * platform/gtk/mathml/opentype/vertical-expected.txt:
        * platform/gtk/mathml/presentation/mo-stretch-expected.png:
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt:
        * platform/gtk/mathml/presentation/roots-expected.txt:
        * platform/ios-simulator/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.png:
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:

2016-06-16  Jiewen Tan  <jiewen_tan@apple.com>

        CSP: Content Security Policy should allow '*' to match the originating page's scheme
        https://bugs.webkit.org/show_bug.cgi?id=158811
        <rdar://problem/26819568>

        Reviewed by Daniel Bates.

        * security/contentSecurityPolicy/image-with-file-url-allowed-by-img-src-star-expected.html: Added.
        * security/contentSecurityPolicy/image-with-file-url-allowed-by-img-src-star.html: Added.
        * security/contentSecurityPolicy/image-with-file-url-blocked-by-img-src-star-expected.html: Removed.
        * security/contentSecurityPolicy/image-with-file-url-blocked-by-img-src-star.html: Removed.
        * security/contentSecurityPolicy/link-with-file-url-allowed-by-style-src-star-expected.html: Added.
        * security/contentSecurityPolicy/link-with-file-url-allowed-by-style-src-star.html: Added.
        * security/contentSecurityPolicy/link-with-file-url-blocked-by-style-src-star-expected.html: Removed.
        * security/contentSecurityPolicy/link-with-file-url-blocked-by-style-src-star.html: Removed.
        * security/contentSecurityPolicy/resources/alert-pass.js: Added.
        * security/contentSecurityPolicy/script-with-file-url-allowed-by-script-src-star-expected.txt: Added.
        * security/contentSecurityPolicy/script-with-file-url-allowed-by-script-src-star.html: Added.
        * security/contentSecurityPolicy/video-with-file-url-allowed-by-media-src-star-expected.html: Copied from LayoutTests/security/contentSecurityPolicy/video-with-file-url-blocked-by-media-src-star.html.
        * security/contentSecurityPolicy/video-with-file-url-allowed-by-media-src-star.html: Renamed from LayoutTests/security/contentSecurityPolicy/video-with-file-url-blocked-by-media-src-star.html.
        * security/contentSecurityPolicy/video-with-file-url-blocked-by-media-src-star-expected.html: Removed.

2016-06-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.profile should use the new Sampling Profiler
        https://bugs.webkit.org/show_bug.cgi?id=153499
        <rdar://problem/24352431>

        Reviewed by Timothy Hatcher.

        * inspector/timeline/setInstruments-programmatic-capture-expected.txt: Added.
        * inspector/timeline/setInstruments-programmatic-capture.html: Added.
        New test that the backend auto-starts instruments during programmatic capture.

2016-06-16  John Wilander  <wilander@apple.com>

        Restrict security origin inheritance to empty, about:blank, and about:srcdoc URLs
        https://bugs.webkit.org/show_bug.cgi?id=158855
        <rdar://problem/26142632>

        Reviewed by Alex Christensen.

        * http/tests/dom/window-open-about-blank-and-access-document-expected.txt: Added.
        * http/tests/dom/window-open-about-blank-and-access-document.html: Added.
        * http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt: Added.
        * http/tests/dom/window-open-about-webkit-org-and-access-document.html: Added.

2016-06-16  Jiewen Tan  <jiewen_tan@apple.com>

        Move most of CSP tests into security/contentSecurityPolicy/
        https://bugs.webkit.org/show_bug.cgi?id=158859

        Reviewed by Daniel Bates.

        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wk2/TestExpectations:
        * security/contentSecurityPolicy/blocks-video-expected.txt: Renamed from LayoutTests/media/csp-blocks-video-expected.txt.
        * security/contentSecurityPolicy/blocks-video.html: Renamed from LayoutTests/media/csp-blocks-video.html.
        * security/contentSecurityPolicy/font-loading-block-all-expected.txt: Renamed from LayoutTests/fast/text/font-loading-csp-block-all-expected.txt.
        * security/contentSecurityPolicy/font-loading-block-all.html: Renamed from LayoutTests/fast/text/font-loading-csp-block-all.html.
        * security/contentSecurityPolicy/image-with-blob-url-allowed-by-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-blob-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html.
        * security/contentSecurityPolicy/image-with-blob-url-allowed-by-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-blob-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html.
        * security/contentSecurityPolicy/image-with-blob-url-blocked-by-img-src-star-expected.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-blob-url-blocked-by-csp-img-src-star-expected.html.
        * security/contentSecurityPolicy/image-with-blob-url-blocked-by-img-src-star.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-blob-url-blocked-by-csp-img-src-star.html.
        * security/contentSecurityPolicy/image-with-data-url-allowed-by-img-src-star-expected.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-data-url-allowed-by-csp-img-src-star-expected.html.
        * security/contentSecurityPolicy/image-with-data-url-allowed-by-img-src-star.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-data-url-allowed-by-csp-img-src-star.html.
        * security/contentSecurityPolicy/image-with-file-url-allowed-by-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-file-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html.
        * security/contentSecurityPolicy/image-with-file-url-allowed-by-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-file-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html.
        * security/contentSecurityPolicy/image-with-file-url-blocked-by-img-src-star-expected.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-file-url-blocked-by-csp-img-src-star-expected.html.
        * security/contentSecurityPolicy/image-with-file-url-blocked-by-img-src-star.html: Renamed from LayoutTests/fast/dom/HTMLImageElement/image-with-file-url-blocked-by-csp-img-src-star.html.
        * security/contentSecurityPolicy/link-with-blob-url-allowed-by-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-blob-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html.
        * security/contentSecurityPolicy/link-with-blob-url-allowed-by-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-blob-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html.
        * security/contentSecurityPolicy/link-with-blob-url-blocked-by-style-src-star-expected.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-blob-url-blocked-by-csp-style-src-star-expected.html.
        * security/contentSecurityPolicy/link-with-blob-url-blocked-by-style-src-star.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-blob-url-blocked-by-csp-style-src-star.html.
        * security/contentSecurityPolicy/link-with-data-url-allowed-by-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-data-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html.
        * security/contentSecurityPolicy/link-with-data-url-allowed-by-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-data-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html.
        * security/contentSecurityPolicy/link-with-data-url-blocked-by-style-src-star-expected.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-data-url-blocked-by-csp-style-src-star-expected.html.
        * security/contentSecurityPolicy/link-with-data-url-blocked-by-style-src-star.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-data-url-blocked-by-csp-style-src-star.html.
        * security/contentSecurityPolicy/link-with-file-url-allowed-by-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-file-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html.
        * security/contentSecurityPolicy/link-with-file-url-allowed-by-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-file-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html.
        * security/contentSecurityPolicy/link-with-file-url-blocked-by-style-src-star-expected.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-file-url-blocked-by-csp-style-src-star-expected.html.
        * security/contentSecurityPolicy/link-with-file-url-blocked-by-style-src-star.html: Renamed from LayoutTests/fast/dom/HTMLLinkElement/link-with-file-url-blocked-by-csp-style-src-star.html.
        * security/contentSecurityPolicy/resources/worker-inherits-blocks-eval.js: Renamed from LayoutTests/fast/workers/resources/worker-inherits-csp-blocks-eval.js.
        (catch):
        * security/contentSecurityPolicy/resources/worker-inherits-blocks-xhr.js: Renamed from LayoutTests/fast/workers/resources/worker-inherits-csp-blocks-xhr.js.
        (catch):
        * security/contentSecurityPolicy/video-with-blob-url-allowed-by-media-src-star-expected.html: Renamed from LayoutTests/media/video-with-blob-url-allowed-by-csp-media-src-star-expected.html.
        * security/contentSecurityPolicy/video-with-blob-url-allowed-by-media-src-star.html: Renamed from LayoutTests/media/video-with-blob-url-allowed-by-csp-media-src-star.html.
        * security/contentSecurityPolicy/video-with-data-url-allowed-by-media-src-star-expected.html: Renamed from LayoutTests/media/video-with-data-url-allowed-by-csp-media-src-star-expected.html.
        * security/contentSecurityPolicy/video-with-data-url-allowed-by-media-src-star.html: Renamed from LayoutTests/media/video-with-data-url-allowed-by-csp-media-src-star.html.
        * security/contentSecurityPolicy/video-with-file-url-allowed-by-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Renamed from LayoutTests/media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html.
        * security/contentSecurityPolicy/video-with-file-url-allowed-by-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Renamed from LayoutTests/media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html.
        * security/contentSecurityPolicy/video-with-file-url-blocked-by-media-src-star-expected.html: Renamed from LayoutTests/media/video-with-file-url-blocked-by-csp-media-src-star-expected.html.
        * security/contentSecurityPolicy/video-with-file-url-blocked-by-media-src-star.html: Renamed from LayoutTests/media/video-with-file-url-blocked-by-csp-media-src-star.html.
        * security/contentSecurityPolicy/worker-inherits-blocks-eval-expected.txt: Renamed from LayoutTests/fast/workers/worker-inherits-csp-blocks-eval-expected.txt.
        * security/contentSecurityPolicy/worker-inherits-blocks-eval.html: Renamed from LayoutTests/fast/workers/worker-inherits-csp-blocks-eval.html.
        * security/contentSecurityPolicy/worker-inherits-blocks-xhr-expected.txt: Renamed from LayoutTests/fast/workers/worker-inherits-csp-blocks-xhr-expected.txt.
        * security/contentSecurityPolicy/worker-inherits-blocks-xhr.html: Renamed from LayoutTests/fast/workers/worker-inherits-csp-blocks-xhr.html.

2016-06-16  Simon Fraser  <simon.fraser@apple.com>

        Focus event dispatched in iframe causes parent document to scroll incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=158629
        rdar://problem/26521616

        Reviewed by Enrica Casucci.
        
        Tests for user-initiated and programmatic focus in frames.

        * fast/forms/ios/focus-input-in-iframe-expected.txt: Added.
        * fast/forms/ios/focus-input-in-iframe.html: Added.
        * fast/forms/ios/programmatic-focus-input-in-iframe.html: Added.
        * fast/forms/ios/programmatic-focus-input-in-iframe-expected.txt: Added.

2016-06-16  Zalan Bujtas  <zalan@apple.com>

        [New Block-Inside-Inline Model] Do not attempt to re-run margin collapsing on the block sequence.
        https://bugs.webkit.org/show_bug.cgi?id=158854

        Reviewed by David Hyatt.

        * fast/block/inside-inlines/crash-on-first-line-change-expected.txt: Added.
        * fast/block/inside-inlines/crash-on-first-line-change.html: Added.

2016-06-16  Benjamin Poulain  <bpoulain@apple.com>

        :in-range & :out-of-range CSS pseudo-classes shouldn't match inputs without range limitations
        https://bugs.webkit.org/show_bug.cgi?id=156558

        Reviewed by Simon Fraser.

        * fast/css/pseudo-in-range-basics-expected.html: Added.
        * fast/css/pseudo-in-range-basics.html: Added.
        * fast/css/pseudo-in-range-out-of-range-trivial-expected.html: Added.
        * fast/css/pseudo-in-range-out-of-range-trivial.html: Added.
        * fast/css/pseudo-out-of-range-basics-expected.html: Added.
        * fast/css/pseudo-out-of-range-basics.html: Added.

2016-06-15  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] On iPad, indirect focussing of a text field doesn't always scroll to the correct location
        https://bugs.webkit.org/show_bug.cgi?id=158828

        Reviewed by Enrica Casucci.
        
        Add various tests for focusing form fields. focus-input-via-button-ipad.html tests
        the change in the current patch.

        * fast/forms/ios/focus-input-in-fixed-expected.txt: Added.
        * fast/forms/ios/focus-input-in-fixed.html: Added.
        * fast/forms/ios/focus-input-via-button-ipad-expected.txt: Added.
        * fast/forms/ios/focus-input-via-button-ipad.html: Added.
        * fast/forms/ios/focus-long-textarea-expected.txt: Added.
        * fast/forms/ios/focus-long-textarea.html: Added.
        * fast/forms/ios/resources/zooming-test-utils.js:
        (testZoomAfterTap):

2016-06-16  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Check type of this in RTCPeerConnection JS built-in functions
        https://bugs.webkit.org/show_bug.cgi?id=151303

        Reviewed by Youenn Fablet.

        Verify that the RTCPeerConnection JS built-in methods checks 'this'. The test has expected
        failures (bug: http://webkit.org/b/158831).

        * fast/mediastream/RTCPeerConnection-js-built-ins-check-this-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-js-built-ins-check-this.html: Added.
        * platform/mac/TestExpectations:
        The mac port does not build with WEB_RTC enabled yet.

2016-06-16  Dean Jackson  <dino@apple.com>

        [mac] LayoutTest transforms/undecomposable.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=158816

        Another attempt to deflake this test. Or is it unflake? I don't know.

        * transforms/undecomposable.html:

2016-06-16  Myles C. Maxfield  <mmaxfield@apple.com>

        Sporadic crash in HashTableAddResult following CSSValuePool::createFontFamilyValue
        https://bugs.webkit.org/show_bug.cgi?id=158297

        Reviewed by Darin Adler.

        * fast/text/placeholder-renderstyle-null-font-expected.txt: Added.
        * fast/text/placeholder-renderstyle-null-font.html: Added.

2016-06-15  Keith Miller  <keith_miller@apple.com>

        Add support for Symbol.isConcatSpreadable (round 2)
        https://bugs.webkit.org/show_bug.cgi?id=158769

        Reviewed by Mark Lam.

        Fix tests for Symbol.isConcatSpreadable. Also, add new test that
        the array species construction does not use the callees' global
        object's Array[Symbol.species] when given an array from another
        global object.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/array-species-different-globalobjects.html:
        * js/dom/array-prototype-properties-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-06-15  Zalan Bujtas  <zalan@apple.com>

        Decouple the percent height and positioned descendants maps.
        https://bugs.webkit.org/show_bug.cgi?id=158773

        Reviewed by David Hyatt and Chris Dumez.

        Various dynamic containing block changing tests.

        * fast/block/fixed-position-reparent-when-transition-is-removed.html:
        * fast/block/positioning/change-containing-block-for-absolute-positioned-expected.txt: Added.
        * fast/block/positioning/change-containing-block-for-absolute-positioned.html: Added.
        * fast/block/positioning/change-containing-block-for-fixed-positioned-expected.txt: Added.
        * fast/block/positioning/change-containing-block-for-fixed-positioned.html: Added.

2016-06-15  Tim Horton  <timothy_horton@apple.com>

        <attachment> elements jump around a lot around when subtitle text changes slightly
        https://bugs.webkit.org/show_bug.cgi?id=158818
        <rdar://problem/24450270>

        Reviewed by Simon Fraser.

        * fast/attachment/attachment-subtitle-resize-expected.txt: Added.
        * fast/attachment/attachment-subtitle-resize.html: Added.

2016-06-13  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Make it possible to test the Next/Previous buttons in the keyboard accessory bar
        https://bugs.webkit.org/show_bug.cgi?id=158714

        Reviewed by Enrica Casucci.

        Add UIScriptController.keyboardAccessoryBar{Next,Previous} and hook it up to the WKContentView
        method that gets called from UIKit.

        Add a test that exercises it.

        * TestExpectations:
        * fast/forms/ios/accessory-bar-navigation-expected.txt: Added.
        * fast/forms/ios/accessory-bar-navigation.html: Added.
        * fast/forms/ios/resources/zooming-test-utils.js: Added.
        (testZoomAfterTap):
        (tableFromJSON):
        * platform/ios-simulator-wk2/TestExpectations:

2016-06-15  Dean Jackson  <dino@apple.com>

        [mac] LayoutTest transforms/undecomposable.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=158816

        Unflakify this test by putting the script in a place that
        will execute it before the load event (by which time the animation
        may have started).

        * transforms/undecomposable.html:

2016-06-15  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Add tests for zooming to text fields on focus
        https://bugs.webkit.org/show_bug.cgi?id=158786

        Reviewed by Enrica Casucci.

        Add tests that focus form controls, and test the resulting scroll position and zoom level.

        * TestExpectations:
        * fast/forms/ios/focus-input-via-button-expected.txt: Added.
        * fast/forms/ios/focus-input-via-button-no-scaling-expected.txt: Added.
        * fast/forms/ios/focus-input-via-button-no-scaling.html: Added.
        * fast/forms/ios/focus-input-via-button.html: Added.
        * fast/forms/ios/resources/zooming-test-utils.js: Added.
        (testZoomAfterTap):
        (tableFromJSON):
        * fast/forms/ios/zoom-after-input-tap-expected.txt: Added.
        * fast/forms/ios/zoom-after-input-tap-wide-input-expected.txt: Added.
        * fast/forms/ios/zoom-after-input-tap-wide-input.html: Added.
        * fast/forms/ios/zoom-after-input-tap.html: Added.
        * platform/ios-simulator-wk2/TestExpectations:

2016-06-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Add media setup test using the legacy callback APIs
        https://bugs.webkit.org/show_bug.cgi?id=158736

        Reviewed by Eric Carlson.

        Add a test that sets up media using the legacy callback-based createOffer/Answer() and
        setLocal/RemoteDescription() methods [1].

        [1] https://w3c.github.io/webrtc-pc/archives/20160513/webrtc.html#legacy-interface-extensions

        * fast/mediastream/RTCPeerConnection-media-setup-callbacks-single-dialog-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-media-setup-callbacks-single-dialog.html: Added.
        * platform/mac/TestExpectations:
        The mac port is not building with WEB_RTC yet.

2016-06-15  Antti Koivisto  <antti@apple.com>

        GoogleMaps transit schedule explorer comes up blank initially
        https://bugs.webkit.org/show_bug.cgi?id=158803
        rdar://problem/25818080

        Reviewed by Andreas Kling

        Expand the tests to cover this case.

        * fast/css/style-invalidation-attribute-change-descendants-expected.txt:
        * fast/css/style-invalidation-attribute-change-descendants.html:
        * fast/css/style-invalidation-class-change-descendants-expected.txt:
        * fast/css/style-invalidation-class-change-descendants.html:

2016-06-15  Javier Fernandez  <jfernandez@igalia.com>

        [css-sizing] Item borders are missing with 'min-width:-webkit-fill-available' and zero available width
        https://bugs.webkit.org/show_bug.cgi?id=158258

        Tests to verify that fill-available size works as expected when contaner's width is zero.

        Reviewed by Darin Adler.

        * fast/css-intrinsic-dimensions/fill-available-with-zero-width-expected.html: Added.
        * fast/css-intrinsic-dimensions/fill-available-with-zero-width.html: Added.

2016-06-15  Alex Christensen  <achristensen@webkit.org>

        Fix 2d canvas transform after r192900
        https://bugs.webkit.org/show_bug.cgi?id=158725

        Reviewed by Dean Jackson.

        * fast/canvas/canvas-transform-inverse-expected.html: Added.
        * fast/canvas/canvas-transform-inverse.html: Added.

2016-06-15  Eric Carlson  <eric.carlson@apple.com>

        [iOS] Make HTMLMediaElement.muted mutable
        https://bugs.webkit.org/show_bug.cgi?id=158787
        <rdar://problem/24452567>

        Reviewed by Dean Jackson.

        * media/audio-playback-restriction-removed-muted-expected.txt: Added.
        * media/audio-playback-restriction-removed-muted.html: Added.
        * media/audio-playback-restriction-removed-track-enabled-expected.txt: Added.
        * media/audio-playback-restriction-removed-track-enabled.html: Added.

2016-06-15  Simon Fraser  <simon.fraser@apple.com>

        fast/events/ios tests are marked as flakey, but really just fail in OpenSource and WK1
        https://bugs.webkit.org/show_bug.cgi?id=158804
        
        Test gardening.

        fast/events/ios is skipped globally. Ideally it would be re-enabled in /ios-simulator-wk2/TestExpectations, but relies on unreleased
        software, so leave disabled for now.

        * platform/ios-simulator/TestExpectations:

2016-06-15  Antti Koivisto  <antti@apple.com>

        Vary:Cookie validation doesn't work in private browsing
        https://bugs.webkit.org/show_bug.cgi?id=158616

        Reviewed by Darin Adler.

        * http/tests/cache/disk-cache/disk-cache-vary-cookie-expected.txt:
        * http/tests/cache/disk-cache/disk-cache-vary-cookie.html:

        Exapand the existing test to cover memory cache and private browsing.

2016-06-14  Myles C. Maxfield  <mmaxfield@apple.com>

        Honor bidi unicode codepoints
        https://bugs.webkit.org/show_bug.cgi?id=149170
        <rdar://problem/26527378>

        Reviewed by Simon Fraser.

        * fast/text/isolate-ignore-expected.html: Added.
        * fast/text/isolate-ignore.html: Added.

2016-06-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Rename Timeline.setAutoCaptureInstruments to Timeline.setInstruments
        https://bugs.webkit.org/show_bug.cgi?id=158762

        Reviewed by Timothy Hatcher.

        * inspector/timeline/setInstruments-errors-expected.txt: Renamed from LayoutTests/inspector/timeline/setAutoCaptureInstruments-errors-expected.txt.
        * inspector/timeline/setInstruments-errors.html: Renamed from LayoutTests/inspector/timeline/setAutoCaptureInstruments-errors.html.

2016-06-14  Dean Jackson  <dino@apple.com>

        decompose4 return value is unchecked, leading to potentially uninitialized data.
        https://bugs.webkit.org/show_bug.cgi?id=158761
        <rdar://problem/17526268>

        Reviewed by Simon Fraser.

        * transforms/undecomposable-expected.txt: Added.
        * transforms/undecomposable.html: Added.

2016-06-14  Keith Miller  <keith_miller@apple.com>

        The Array species constructor watchpoints should be created the first time they are needed rather than on creation
        https://bugs.webkit.org/show_bug.cgi?id=158754

        Reviewed by Benjamin Poulain.

        Add new micro-benchmark that tests the impact of lazily
        initializing the array species watchpoints.

        * js/regress/lazy-array-species-watchpoints-expected.txt: Added.
        * js/regress/lazy-array-species-watchpoints.html: Added.
        * js/regress/script-tests/lazy-array-species-watchpoints.js: Added.
        (test):

2016-06-14  Benjamin Poulain  <bpoulain@apple.com>

        Add the unprefixed version of the pseudo element ::placeholder
        https://bugs.webkit.org/show_bug.cgi?id=158653

        Reviewed by Dean Jackson.

        * fast/css/css-selector-text-expected.txt:
        * fast/css/css-selector-text.html:
        * fast/css/css-set-selector-text-expected.txt:
        * fast/css/css-set-selector-text.html:
        This covers CSSOM for the prefixed version.

        * fast/forms/placeholder-pseudo-element-with-webkit-prefix-expected.html: Added.
        * fast/forms/placeholder-pseudo-element-with-webkit-prefix.html: Added.
        This verifies both version of the pseudo elements are equivalent.

        * fast/css/pseudo-cache-stale-expected.html:
        * fast/css/pseudo-cache-stale.html:
        * fast/forms/input-placeholder-paint-order-2-expected.html:
        * fast/forms/input-placeholder-paint-order-2.html:
        * fast/forms/input-placeholder-paint-order.html:
        * fast/forms/input-placeholder-text-indent.html:
        * fast/forms/input-user-modify.html:
        * fast/forms/isindex-placeholder.html:
        * fast/forms/placeholder-position.html:
        * fast/forms/placeholder-pseudo-style.html:
        * fast/forms/textarea-placeholder-pseudo-style.html:
        * fast/forms/textarea/textarea-placeholder-paint-order-2-expected.html:
        * fast/forms/textarea/textarea-placeholder-paint-order-2.html:
        * fast/forms/textarea/textarea-placeholder-paint-order.html:

2016-06-14  Doug Russell  <d_russell@apple.com>

        AX: Form label text should be exposed as static text if it contains only static text
        https://bugs.webkit.org/show_bug.cgi?id=158634

        Reviewed by Chris Fleizach.

        Use AccessibilityLabel to represent HTMLLabelElement to assistive technology.
        AccessibilityLabel::containsOnlyStaticText() searches label subtree to evaluate 
        if all children are static text.
        AccessibilityLabel::stringValue() consults containsOnlyStaticText() and returns
        textUnderElement() if true.
        WebAccessibilityObjectWrapperMac consults containsOnlyStaticText() and substitutes
        StaticTextRole for LabelRole if true.
        Cache containsOnlyStaticText() in the common case when updating children.

        * accessibility/aria-labelledby-overrides-label-expected.txt:
        * accessibility/mac/label-element-all-text-string-value-expected.txt: Added.
        * accessibility/mac/label-element-all-text-string-value.html: Added.
        * accessibility/mac/label-element-with-hidden-control-expected.txt:
        * accessibility/mac/label-element-with-hidden-control.html:
        * accessibility/mac/label-element-with-link-string-value-expected.txt: Added.
        * accessibility/mac/label-element-with-link-string-value.html: Added.
        * accessibility/mac/slider-allows-title-ui-element-expected.txt:
        * accessibility/mac/slider-allows-title-ui-element.html:

2016-06-14  Ryan Haddad  <ryanhaddad@apple.com>

        Increase timeouts for userscripts/window-onerror-for-isolated-world-3.html to fix flakiness.
        https://bugs.webkit.org/show_bug.cgi?id=158750

        Reviewed by Joseph Pecoraro.

        * userscripts/window-onerror-for-isolated-world-3.html:

2016-06-14  Commit Queue  <commit-queue@webkit.org>

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

        This change broke the Windows build. (Requested by ryanhaddad
        on #webkit).

        Reverted changeset:

        "Honor bidi unicode codepoints"
        https://bugs.webkit.org/show_bug.cgi?id=149170
        http://trac.webkit.org/changeset/202057

2016-06-14  Myles C. Maxfield  <mmaxfield@apple.com>

        Honor bidi unicode codepoints
        https://bugs.webkit.org/show_bug.cgi?id=149170
        <rdar://problem/26527378>

        Reviewed by Simon Fraser.

        * fast/text/isolate-ignore-expected.html: Added.
        * fast/text/isolate-ignore.html: Added.

2016-06-14  Ryan Haddad  <ryanhaddad@apple.com>

        Removing duplicated TestExpectation and sorting others alphabetically

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-14  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/debugger/break-in-constructor-before-super.html as flaky on mac debug.
        https://bugs.webkit.org/show_bug.cgi?id=158742

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-14  Ryan Haddad  <ryanhaddad@apple.com>

        Moving flaky expectation for inspector/heap/garbageCollected.html from mac-wk1 to mac
        https://bugs.webkit.org/show_bug.cgi?id=153039

        Unreviewed test gardening.

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

2016-06-14  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        WebRTC: RTCPeerConnection::addTrack() should throw InvalidAccessError instead of InvalidModificationError.
        https://bugs.webkit.org/show_bug.cgi?id=158735

        Reviewed by Eric Carlson.

        Check that an InvalidAccessError exception is thrown when the track already exists in set of senders.

        * fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt:

2016-06-14  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Imlement MediaEndpointPeerConnection::addIceCandidate()
        https://bugs.webkit.org/show_bug.cgi?id=158690

        Reviewed by Eric Carlson.

        Add test for RTCPeerConnection.addIceCandidate() that verifies:
        - Candidate line parsing
        - That a underlying media description can be identified using either sdpMid or sdpMLineIndex
        - That sdpMid takes precedence over sdpMLineIndex

        * fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-addIceCandidate.html: Added.
        * platform/mac/TestExpectations:
        The mac port is not building with WEB_RTC yet.

2016-06-14  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Add media setup test where media is set up in one direction at a time
        https://bugs.webkit.org/show_bug.cgi?id=158691

        Reviewed by Eric Carlson.

        Test setting up media in one direction at a time. This is achieved by first negotiating
        media in one direction. In a second step, an updated offer is sent to add bi-directional
        media.

        * fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html: Added.
        * platform/mac/TestExpectations:
        The mac port is not building with WEB_RTC yet.

2016-06-13  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Imlement MediaEndpointPeerConnection::replaceTrack()
        https://bugs.webkit.org/show_bug.cgi?id=158688

        Reviewed by Eric Carlson.

        Update existing test for RTCRtpSender.replaceTrack.

        * fast/mediastream/RTCRtpSender-replaceTrack-expected.txt:
        * fast/mediastream/RTCRtpSender-replaceTrack.html:
        Add test cases where a "not yet negotiated track" is directly replaced. Also check that the
        old track id is used in later offers.
        * fast/mediastream/resources/promise-utils.js:
        (promiseShouldResolve):
        Added utility method to test promise expressions that are expected to resolve.

2016-06-13  Joseph Pecoraro  <pecoraro@apple.com>

        window.onerror should pass the ErrorEvent's 'error' property as the 5th argument to the event handler
        https://bugs.webkit.org/show_bug.cgi?id=55092
        <rdar://problem/25731279>

        Reviewed by Dean Jackson.

        * platform/wk2/TestExpectations:
        Skip new userscript test on WebKit2 like others.

        * fast/events/constructors/error-event-constructor-expected.txt:
        * fast/events/constructors/error-event-constructor.html:
        Test for the new any "error" initialization property.

        * fast/events/event-leak-objects-expected.txt:
        * fast/events/event-leak-objects.html:
        * fast/events/event-properties-gc-expected.txt:
        * fast/events/event-properties-gc.html:
        Like CustomEvent.details, ErrorEvent.error should not leak
        objects across isolated worlds.

        * fast/events/window-onerror-exception-in-attr-expected.txt:
        * fast/events/window-onerror-exception-in-attr.html:
        * fast/events/window-onerror-syntax-error-in-attr-expected.txt:
        * fast/events/window-onerror-syntax-error-in-attr.html:
        * fast/events/window-onerror1-expected.txt:
        * fast/events/window-onerror1.html:
        * fast/events/window-onerror10-expected.txt:
        * fast/events/window-onerror10.html:
        * fast/events/window-onerror11-expected.txt:
        * fast/events/window-onerror11.html:
        * fast/events/window-onerror12-expected.txt:
        * fast/events/window-onerror12.html:
        * fast/events/window-onerror13.html:
        * fast/events/window-onerror14.html:
        * fast/events/window-onerror16.html:
        * fast/events/window-onerror17-expected.txt: Added.
        * fast/events/window-onerror17.html: Copied from LayoutTests/fast/events/window-onerror12.html.
        * fast/events/window-onerror2-expected.txt:
        * fast/events/window-onerror2.html:
        * fast/events/window-onerror3-expected.txt:
        * fast/events/window-onerror3.html:
        * fast/events/window-onerror4-expected.txt:
        * fast/events/window-onerror4.html:
        * fast/events/window-onerror5-expected.txt:
        * fast/events/window-onerror5.html:
        * fast/events/window-onerror6-expected.txt:
        * fast/events/window-onerror6.html:
        * fast/events/window-onerror7-expected.txt:
        * fast/events/window-onerror7.html:
        * fast/events/window-onerror8-expected.txt:
        * fast/events/window-onerror8.html:
        * fast/events/window-onerror9-expected.txt:
        * fast/events/window-onerror9.html:
        Include output for the column number and error object where possible.

        * fast/files/resources/setup-for-read-common.js:
        * fast/files/workers/worker-apply-blob-url-to-xhr.html:
        * fast/workers/resources/worker-error-in-handling-script-error.js:
        * fast/workers/resources/worker-script-error-bubbled.js:
        * fast/workers/resources/worker-script-error-handled.js:
        * fast/workers/resources/worker-script-error.js:
        * fast/workers/worker-script-error-expected.txt:
        Test "onerror" within Workers, and the "error" event on
        the Worker from the spawning context.

        * http/tests/security/cross-origin-script-error-event-expected.txt: Added.
        * http/tests/security/cross-origin-script-error-event-redirected-expected.txt: Added.
        * http/tests/security/cross-origin-script-error-event-redirected.html: Added.
        * http/tests/security/cross-origin-script-error-event.html: Added.
        * http/tests/security/cross-origin-script-window-onerror-expected.txt:
        * http/tests/security/cross-origin-script-window-onerror-redirected-expected.txt:
        * http/tests/security/cross-origin-script-window-onerror-redirected.html:
        * http/tests/security/cross-origin-script-window-onerror.html:
        * http/tests/security/script-crossorigin-error-event-information-expected.txt: Added.
        * http/tests/security/script-crossorigin-error-event-information.html: Added.
        * http/tests/security/script-crossorigin-onerror-information-expected.txt:
        * http/tests/security/script-crossorigin-onerror-information.html:
        * http/tests/security/script-no-crossorigin-error-event-should-be-sanitized-expected.txt: Added.
        * http/tests/security/script-no-crossorigin-error-event-should-be-sanitized.html: Copied from LayoutTests/http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html.
        * http/tests/security/script-no-crossorigin-onerror-should-be-sanitized-expected.txt:
        * http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html:
        * http/tests/security/window-onerror-exception-in-iframe-expected.txt:
        * http/tests/security/window-onerror-exception-in-iframe.html:
        * http/tests/workers/worker-importScriptsOnError-expected.txt:
        * js/dom/exception-line-number-expected.txt:
        * js/dom/script-tests/exception-line-number.js:
        (window.onerror):

        * userscripts/window-onerror-for-isolated-world-1-expected.txt:
        * userscripts/window-onerror-for-isolated-world-1.html:
        * userscripts/window-onerror-for-isolated-world-2-expected.txt:
        * userscripts/window-onerror-for-isolated-world-2.html:
        * userscripts/window-onerror-for-isolated-world-3-expected.txt: Added.
        * userscripts/window-onerror-for-isolated-world-3.html: Added.
        Add an explicit test for error objects crossing isolated world boundaries.
        In the Isolated World case, serializable values are cloned, but unserializable
        values cause the error object to return to null to avoid leaking across worlds.

2016-06-13  Dean Jackson  <dino@apple.com>

        SVG elements don't blend correctly into HTML
        https://bugs.webkit.org/show_bug.cgi?id=158718
        <rdar://problem/26782004>

        Reviewed by Antoine Quint.

        * svg/css/mix-blend-mode-with-inline-svg-expected.html: Added.
        * svg/css/mix-blend-mode-with-inline-svg.html: Added.

2016-06-13  Brady Eidson  <beidson@apple.com>

        storage/indexeddb/modern/leaks-1.html leaks the database connection handle.
        https://bugs.webkit.org/show_bug.cgi?id=158643

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/leak-1-expected.txt:
        * storage/indexeddb/modern/resources/leak-1.js:

2016-06-13  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Add test that verifies that RTCPeerConnection.addTrack can reuse an existing RTCRtpSender
        https://bugs.webkit.org/show_bug.cgi?id=158621

        Reviewed by Eric Carlson.

        Add test to verify that RTCPeerConnection.addTrack reuses an existing RTCRtpSender
        under the right circumstances.

        * fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-addTrack-reuse-sender.html: Added.
        * platform/mac/TestExpectations:
        The mac port is not building with WEB_RTC yet.

2016-06-13  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Add media setup test with complete offer/answer dialog
        https://bugs.webkit.org/show_bug.cgi?id=158620

        Reviewed by Eric Carlson.

        Test a complete SDP offer/answer dialog between two RTCPeerConnection instances in the same
        page. Media is set up in both direction with a single dialog. Check the local- and
        remoteDescription attributes and the RTCPeerConnection states.

        * fast/mediastream/RTCPeerConnection-media-setup-single-dialog-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-media-setup-single-dialog.html: Added.
        * platform/mac/TestExpectations:
        The mac port is not building with WEB_RTC yet.

2016-06-13  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [GTK] Enabling Shadow DOM by default
        https://bugs.webkit.org/show_bug.cgi?id=158686

        Reviewed by Carlos Garcia Campos.

        Changed GTK test expectations for fast/shadow-dom tests (most tests
        pass).

        * platform/gtk/TestExpectations:

2016-06-13  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        Unskip passing fast/workers tests.

        * platform/win/TestExpectations:

2016-06-12  Zalan Bujtas  <zalan@apple.com>

        Remove positioned descendants when RenderBlock is no longer a containing block.
        https://bugs.webkit.org/show_bug.cgi?id=158655
        <rdar://problem/26510032>

        Reviewed by Simon Fraser.

        Normally the RenderView is the containing block for fixed positioned renderers.
        However when a renderer acquires some transform related properties, it becomes the containing
        block for all the fixed positioned renderers in its descendant tree.
        When the last transform related property is removed, the renderer is no longer a containing block
        and we need to remove all these positioned renderers from the descendant tracker map (gPositionedDescendantsMap).
        They will be inserted back into the tracker map during the next layout (either under the RenderView or
        under the next transformed renderer in the ancestor chain).

        * fast/block/fixed-position-reparent-when-transition-is-removed-expected.txt: Added.
        * fast/block/fixed-position-reparent-when-transition-is-removed.html: Added.

2016-06-11  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Map commonly used Chinese Windows font names to names present on Cocoa operating systems
        https://bugs.webkit.org/show_bug.cgi?id=158649
        <rdar://problem/13258122>

        Reviewed by Darin Adler.

        Because this tests platform-specific font names, the test must
        be platform-specific. Because it's a ref test, make two tests which
        are mutually-exclusive on Cocoa platforms, and expected to fail
        everywhere else.

        * fast/text/chinese-font-name-aliases-2-expected.html: Added.
        * fast/text/chinese-font-name-aliases-2.html: Added.
        * fast/text/chinese-font-name-aliases-expected.html: Added.
        * fast/text/chinese-font-name-aliases.html: Added.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2016-06-11  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r201967, r201968, and r201972.
        https://bugs.webkit.org/show_bug.cgi?id=158665

        Caused flaky failures on IndexedDB tests (Requested by ap on
        #webkit).

        Reverted changesets:

        "Vary:Cookie validation doesn't work in private browsing"
        https://bugs.webkit.org/show_bug.cgi?id=158616
        http://trac.webkit.org/changeset/201967

        "Build fix."
        http://trac.webkit.org/changeset/201968

        "WinCairo build fix attempt."
        http://trac.webkit.org/changeset/201972

2016-06-11  Myles C. Maxfield  <mmaxfield@apple.com>

        Deleting a CSSOM style rule invalidates any previously-added FontFaces
        https://bugs.webkit.org/show_bug.cgi?id=158450

        Reviewed by Darin Adler.

        * fast/text/font-face-set-cssom-expected.txt: Added.
        * fast/text/font-face-set-cssom.html: Added.

2016-06-11  Chris Dumez  <cdumez@apple.com>

        WorkerNavigator is missing some attributes
        https://bugs.webkit.org/show_bug.cgi?id=158593
        <rdar://problem/26731334>

        Reviewed by Darin Adler.

        Improved test coverage for WorkerNavigator.

        * fast/workers/resources/worker-navigator.js:

2016-06-10  Antti Koivisto  <antti@apple.com>

        Vary:Cookie validation doesn't work in private browsing
        https://bugs.webkit.org/show_bug.cgi?id=158616

        Reviewed by Darin Adler.

        * http/tests/cache/disk-cache/disk-cache-vary-cookie-expected.txt:
        * http/tests/cache/disk-cache/disk-cache-vary-cookie.html:

        Exapand the existing test to cover memory cache and private browsing.

2016-06-10  Benjamin Poulain  <bpoulain@apple.com>

        Add support for passive event listeners on touch events
        https://bugs.webkit.org/show_bug.cgi?id=158601

        Reviewed by Simon Fraser.

        * fast/events/touch/ios/tap-with-active-listener-on-elements-expected.txt: Added.
        * fast/events/touch/ios/tap-with-active-listener-on-elements.html: Added.
        * fast/events/touch/ios/tap-with-active-listener-on-window-expected.txt: Added.
        * fast/events/touch/ios/tap-with-active-listener-on-window.html: Added.
        * fast/events/touch/ios/tap-with-passive-listener-inside-active-listener-expected.txt: Added.
        * fast/events/touch/ios/tap-with-passive-listener-on-elements-expected.txt: Added.
        * fast/events/touch/ios/tap-with-passive-listener-on-elements.html: Added.
        * fast/events/touch/ios/tap-with-passive-listener-on-window-expected.txt: Added.
        * fast/events/touch/ios/tap-with-passive-listener-on-window.html: Added.

2016-06-10  Enrica Casucci  <enrica@apple.com>

        REGRESSION(r198177): Cannot paste an image when the pasteboard format is mime type.
        https://bugs.webkit.org/show_bug.cgi?id=158590
        rdar://problem/25471371

        Reviewed by Darin Adler.

        * editing/pasteboard/image-in-iframe-expected.txt: Added.
        * editing/pasteboard/image-in-iframe.html: Added.

2016-06-10  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/blink/storage/indexeddb/blob-delete-objectstore-db.html as flaky on Yosemite Release WK2
        https://bugs.webkit.org/show_bug.cgi?id=158639

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-06-10  Brady Eidson  <beidson@apple.com>

        Add an IDB leak test.
        https://bugs.webkit.org/show_bug.cgi?id=158632

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/leak-1-expected.txt: Added.
        * storage/indexeddb/modern/leak-1.html: Added.
        * storage/indexeddb/modern/resources/leak-1.js: Added.

2016-06-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed gardening.

        * TestExpectations: shadow-dom tests timeout on the GTK port.
        Update the general expectations file to include also Timeout as
        an expected failure.
        * platform/gtk/TestExpectations: Since r200320 resource-timing feature is a runtime flag and this causes failures.
        Remove also one test that has been removed.
        * platform/gtk/fast/table/border-collapsing/cached-change-row-border-width-expected.txt: rebaseline after r201234
        * platform/gtk/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt: rebaseline after r201234
        * platform/gtk/fast/table/max-width-integer-overflow-expected.txt: rebaseline after r201234

2016-06-10  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Origin header is not included in CORS requests for preloaded cross-origin resources
        https://bugs.webkit.org/show_bug.cgi?id=155761
        <rdar://problem/25351850>

        Reviewed by Alex Christensen.

        * http/tests/security/cross-origin-css-9-expected.txt: Added.
        * http/tests/security/cross-origin-css-9.html: Added.
        * http/tests/security/resources/get-css-if-origin-header.php: Added.

2016-06-10  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/hidpi/hidpi-3x-device-pixel-ratio.html as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=158618

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-06-10  Chris Dumez  <cdumez@apple.com>

        ErrorEvent / ProgressEvent should be exposed to workers
        https://bugs.webkit.org/show_bug.cgi?id=158606

        Reviewed by Brady Eidson.

        Rebaseline test.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2016-06-10  Chris Dumez  <cdumez@apple.com>

        MessagePort should be exposed to workers
        https://bugs.webkit.org/show_bug.cgi?id=158607

        Reviewed by Brady Eidson.

        Rebaseline test.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2016-06-10  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Imlement MediaEndpointPeerConnection::createAnswer()
        https://bugs.webkit.org/show_bug.cgi?id=158566

        Reviewed by Eric Carlson.

        Add test for RTCPeerConnection.createAnswer.

        * fast/mediastream/RTCPeerConnection-inspect-answer-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-inspect-answer.html: Added.
        Generate two answers, one with audio only and a second with audio and video, and inspect
        the result.
        * platform/mac/TestExpectations:
        Skip tests for mac that require building with WEB_RTC enabled.

2016-06-08  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] CRASH when getting the computed style of a grid with only absolutely positioned children
        https://bugs.webkit.org/show_bug.cgi?id=158537

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-only-abspos-item-computed-style-crash-expected.txt: Added.
        * fast/css-grid-layout/grid-only-abspos-item-computed-style-crash.html: Added.
        * fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt: Adjusted, grid-template
        does create explicit tracks so we should return 0px instead of none.
        * fast/css-grid-layout/grid-template-shorthand-get-set.html: Ditto.

2016-06-10  Chris Dumez  <cdumez@apple.com>

        DOMException should be exposed to workers
        https://bugs.webkit.org/show_bug.cgi?id=158608

        Reviewed by Alex Christensen.

        Rebaseline existing test.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2016-06-09  Chris Fleizach  <cfleizach@apple.com>

        AX: VoiceOver Unable to View Download Progress or Completion Status for Mail Attachments
        https://bugs.webkit.org/show_bug.cgi?id=158581

        Reviewed by Darin Adler.

        * accessibility/attachment-element-expected.txt:
        * accessibility/attachment-element.html:
        * accessibility/ios-simulator/attributed-string-for-range-expected.txt:
        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/accessibility/attachment-element-expected.txt: Added.

2016-06-09  Zalan Bujtas  <zalan@apple.com>

        Hairline borders do not show up on 3x displays.
        https://bugs.webkit.org/show_bug.cgi?id=158604
        <rdar://problem/26511679>

        Reviewed by Simon Fraser.

        On a 3x display, when we convert a 1/3px hairline border from float
        to LayoutUnit and pixel floor the result, we end up with a 0px width border.
        It's because float to LayoutUnit is lossy and since the current kFixedPointDenominator % 3 != 0,
        flooring LayoutUnit(1/3px) ends up being 0px. (float: 1/3 -> LayoutUnit: (1/3 - 1/kFixedPointDenominator) -> floor: 0)
        This patch eliminates the (unnecessary) float -> LayoutUnit - float conversion on border width.   

        * fast/borders/hidpi-3x-input-hairline-border-expected-mismatch.html: Added.
        * fast/borders/hidpi-3x-input-hairline-border.html: Added.

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

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

        This change caused LayoutTest crashes under GuardMalloc and
        ASan (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "Deleting a CSSOM style rule invalidates any previously-added
        FontFaces"
        https://bugs.webkit.org/show_bug.cgi?id=158450
        http://trac.webkit.org/changeset/201887

2016-06-09  Zalan Bujtas  <zalan@apple.com>

        Add testing support for 3x device scale factor.
        https://bugs.webkit.org/show_bug.cgi?id=158597

        Reviewed by Simon Fraser.

        Set 3x device scale factor on the test canvas when the test url is prefixed with hidpi-3x-. 

        * fast/hidpi/hidpi-3x-device-pixel-ratio-expected.txt: Added.
        * fast/hidpi/hidpi-3x-device-pixel-ratio.html: Added.

2016-06-09  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r201823) editing/selection/selection-in-iframe-removed-crash.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=158569

        Commit the test fix that was supposed to be landed as a part of r201823,
        and remove the flaky test expectation.

        * editing/selection/selection-in-iframe-removed-crash.html:
        * platform/mac/TestExpectations:

2016-06-09  Antoine Quint  <graouts@apple.com>

        [iOS] -webkit-overflow-scrolling: touch; ignores pointer-events: none;
        https://bugs.webkit.org/show_bug.cgi?id=119839
        <rdar://problem/9671514>

        Reviewed by Simon Fraser.

        * fast/scrolling/ios/touch-scroll-pointer-events-none-expected.txt: Added.
        * fast/scrolling/ios/touch-scroll-pointer-events-none.html: Added.

2016-06-09  Chris Dumez  <cdumez@apple.com>

        WorkerNavigator property should exist on WorkerGlobalScope
        https://bugs.webkit.org/show_bug.cgi?id=158574
        <rdar://problem/26725108>

        Reviewed by Darin Adler.

        Rebaseline existing test now that WorkerNavigator is exposed to workers.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2016-06-09  Chris Dumez  <cdumez@apple.com>

        atob() / btoa() API should be exposed to workers
        https://bugs.webkit.org/show_bug.cgi?id=158576
        <rdar://problem/26729340>

        Reviewed by Sam Weinig.

        Add test for atob() / btoa() in workers.

        * fast/workers/atob-btoa-expected.txt: Added.
        * fast/workers/atob-btoa.html: Added.
        * fast/workers/resources/worker-atob-btoa.js: Added.

2016-06-09  Michael Saboff  <msaboff@apple.com>

        ES6: Reusing function name as a parameter name shouldn't throw Syntax Error
        https://bugs.webkit.org/show_bug.cgi?id=158575

        Reviewed by Benjamin Poulain.

        Added a new test case.

        * js/basic-strict-mode-expected.txt:
        * js/script-tests/basic-strict-mode.js:

2016-06-09  Antoine Quint  <graouts@apple.com>

        Changing canvas height immediately after page load does not relayout canvas
        https://bugs.webkit.org/show_bug.cgi?id=156097

        Reviewed by Zalan Bujtas.

        * fast/canvas/canvas-css-size-after-height-change-with-display-flex-expected.html: Added.
        * fast/canvas/canvas-css-size-after-height-change-with-display-flex.html: Added.

2016-06-09  Myles C. Maxfield  <mmaxfield@apple.com>

        Deleting a CSSOM style rule invalidates any previously-added FontFaces
        https://bugs.webkit.org/show_bug.cgi?id=158450

        Reviewed by Darin Adler.

        * fast/text/font-face-set-cssom-expected.txt: Added.
        * fast/text/font-face-set-cssom.html: Added.

2016-06-09  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webgl/webgl-backing-store-size-update.html as a flaky timeout on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=158585

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-06-09  Ryan Haddad  <ryanhaddad@apple.com>

        Removing Mavericks-specific TestExpectations from mac-wk1 TestExpectations file.

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-06-09  Eric Carlson  <eric.carlson@apple.com>

        Don't show the caption menu if a video has only forced tracks
        https://bugs.webkit.org/show_bug.cgi?id=158573
        <rdar://problem/24632384>

        Reviewed by Jer Noble.

        * media/controls/forced-tracks-only-expected.txt: Added.
        * media/controls/forced-tracks-only.html: Added.

2016-06-09  Chris Dumez  <cdumez@apple.com>

        WorkerGlobalScope attributes / operations should be on the prototype
        https://bugs.webkit.org/show_bug.cgi?id=158568
        <rdar://problem/26720079>

        Reviewed by Geoffrey Garen.

        * fast/workers/WorkerGlobalScope-properties-prototype-expected.txt: Added.
        * fast/workers/WorkerGlobalScope-properties-prototype.html: Added.
        Add layout test coverage.

        * fast/workers/self-hasOwnProperty-expected.txt:
        * fast/workers/self-hasOwnProperty.html:
        Update test I added a couple of days ago because it wrongly expected
        the 'navigator' property to be on the instance. This check was failing
        in other browsers (Firefox and Chrome).

2016-06-09  Tim Horton  <timothy_horton@apple.com>

        Writing-mode-dependent properties don't apply if their value is a variable
        https://bugs.webkit.org/show_bug.cgi?id=158449
        <rdar://problem/26662478>

        Reviewed by Simon Fraser.

        * fast/css/variables/direction-dependent-variable-properties-expected.html: Added.
        * fast/css/variables/direction-dependent-variable-properties.html: Added.
        Add a test ensuring that direction-dependent properties work correctly,
        including flipping when the direction is flipped.

2016-06-09  Ryan Haddad  <ryanhaddad@apple.com>

        Marking editing/selection/selection-in-iframe-removed-crash.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=158569

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-09  Brady Eidson  <beidson@apple.com>

        LayoutTest storage/indexeddb/modern/handle-user-delete.html is a flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=158501

        Reviewed by Darin Adler.
        
        The order in which the transaction abort happens doesn't matter; It only matters that it happens.
        
        Update the test to reflect this.
        
        * storage/indexeddb/modern/handle-user-delete-expected.txt:
        * storage/indexeddb/modern/resources/handle-user-delete.js:

2016-06-09  Simon Fraser  <simon.fraser@apple.com>

        border-radius with different width and height rendered wrong
        https://bugs.webkit.org/show_bug.cgi?id=158300
        <rdar://problem/26672922>

        Reviewed by Zalan Bujtas.
        
        * fast/borders/border-non-renderable-radius-inner-clip-expected.html: Added.
        * fast/borders/border-non-renderable-radius-inner-clip.html: Added.
        * fast/borders/border-radius-inner-clip-expected-mismatch.html: Added.
        * fast/borders/border-radius-inner-clip-vertical-expected-mismatch.html: Added.
        * fast/borders/border-radius-inner-clip-vertical.html: Added.
        * fast/borders/border-radius-inner-clip.html: Added.
        * fast/borders/resources/border-radius-helpers.js: Added.
        (createContainer):
        (createReferenceContainer):

2016-06-09  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        Unskip passing websocket tests.

        * platform/win/TestExpectations:

2016-06-09  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r201842.

        The change that prompted this rebaseline was rolled out.

        Reverted changeset:

        "Rebaseline js/dom/global-constructors-attributes.html for Mac
        after r201810"
        http://trac.webkit.org/changeset/201842

2016-06-09  Michael Saboff  <msaboff@apple.com>

        WebKitTestRunner and DumpRenderTree do not handle dangling surrogate characters
        https://bugs.webkit.org/show_bug.cgi?id=154863

        Reviewed by Alexey Proskuryakov.

        New tests.

        * fast/text/dangling-surrogates-expected.txt: Added.
        * fast/text/dangling-surrogates.html: Added.

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

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

        breaks build without ENABLE_WEB_ANIMATION (Requested by
        mcatanzaro on #webkit).

        Reverted changeset:

        "[web-animations] Add Animatable, AnimationEffect,
        KeyframeEffect and Animation interface"
        https://bugs.webkit.org/show_bug.cgi?id=156096
        http://trac.webkit.org/changeset/201810

2016-06-09  Ryosuke Niwa  <rniwa@webkit.org>

        slotchange event should be fired at the end of microtask
        https://bugs.webkit.org/show_bug.cgi?id=157374
        <rdar://problem/26154024>

        Reviewed by Antti Koivisto.

        Added a test case to ensure slotchange event is dispatched at the end of a microtask.

        * fast/shadow-dom/slotchange-event-expected.txt:
        * fast/shadow-dom/slotchange-event.html:

2016-06-08  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION: Web Inspector: Should be able to evaluate "{a:1, b:2}" in the console
        https://bugs.webkit.org/show_bug.cgi?id=158548
        <rdar://problem/26708513>

        Reviewed by Timothy Hatcher.

        * inspector/console/addInspectedNode.html:
        * inspector/console/command-line-api-copy.html:
        * inspector/console/command-line-api.html:
        * inspector/console/console-api.html:
        * inspector/console/console-table.html:
        * inspector/console/messagesCleared.html:
        * inspector/controller/runtime-controller.html:
        * inspector/debugger/command-line-api-exception-nested-catch.html:
        * inspector/debugger/command-line-api-exception.html:
        * inspector/model/remote-object-get-properties.html:
        * inspector/model/remote-object-weak-collection.html:
        * inspector/model/remote-object.html:
        * inspector/timeline/exception-in-injected-script-while-recording.html:
        Update evaluateInInspectedWindow callsites to use options dictionary.

2016-06-08  Chris Dumez  <cdumez@apple.com>

        DedicatedWorkerGlobalScope prototype chain is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=158544

        Reviewed by Brady Eidson.

        Add test coverage for the DedicatedWorkerGlobalScope prototype chain.

        * fast/workers/DedicatedWorkerGlobalScope-prototype-chain-expected.txt: Added.
        * fast/workers/DedicatedWorkerGlobalScope-prototype-chain.html: Added.

2016-06-08  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Imlement MediaEndpointPeerConnection::setRemoteDescription()
        https://bugs.webkit.org/show_bug.cgi?id=158467

        Reviewed by Eric Carlson.

        Add tests for RTCPeerConnection.setRemoteDescription() and the RTCTrackEvent constructor.

        * fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-setRemoteDescription-offer.html: Added.
        Verify the description set, the expected RTCPeerConnection state changes and that the
        'track' event is fired before the setRemoteDescription() promise fulfills.
        * fast/mediastream/RTCTrackEvent-constructor-expected.txt: Added.
        * fast/mediastream/RTCTrackEvent-constructor.html: Added.
        This test has some expected failures since the bindings generator don't support 'required'
        dictionary members for event init dictionaries.
        * platform/mac/TestExpectations:
        Skip tests for mac that require building with WEB_RTC enabled.

2016-06-08  John Wilander  <wilander@apple.com>

        Perform IDNA encoding on parameters for setHostAndPort and setHost
        https://bugs.webkit.org/show_bug.cgi?id=158371
        <rdar://problem/16869342>

        Reviewed by Brent Fulgham.

        * fast/dom/resources/set-document-location-iframe.html: Added.
        * fast/dom/set-document-location-host-to-unaccepted-values-expected.txt: Added.
        * fast/dom/set-document-location-host-to-unaccepted-values.html: Added.
        * fast/dom/set-document-location-hostname-to-unaccepted-values-expected.txt: Added.
        * fast/dom/set-document-location-hostname-to-unaccepted-values.html: Added.
        * http/tests/dom/resources/set-document-location-iframe.html: Added.
        * http/tests/dom/set-document-location-host-to-accepted-values-expected.txt: Added.
        * http/tests/dom/set-document-location-host-to-accepted-values.html: Added.
        * http/tests/dom/set-document-location-hostname-to-accepted-values-expected.txt: Added.
        * http/tests/dom/set-document-location-hostname-to-accepted-values.html: Added.

2016-06-08  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for Mac after r201810

        Unreviewed test gardening.

        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2016-06-08  Jer Noble  <jer.noble@apple.com>

        With audio user gesture restriction in place, video.src = 'file', video.play() succeeds where it should fail.
        https://bugs.webkit.org/show_bug.cgi?id=158546

        Reviewed by Eric Carlson.

        * media/video-playback-restriction-play-before-load-expected.txt: Added.
        * media/video-playback-restriction-play-before-load.html: Added.

2016-06-08  Chris Dumez  <cdumez@apple.com>

        First parameter to MessagePort / DedicatedWorkerGlobalScope.postMessage() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=158540

        Reviewed by Geoffrey Garen.

        Add test coverage.

        * fast/files/workers/inline-worker-via-blob-url.html:
        * fast/workers/postMessage-missing-parameter-expected.txt: Added.
        * fast/workers/postMessage-missing-parameter.html: Added.
        * fast/workers/worker-messageport-expected.txt:
        * fast/workers/worker-messageport.html:

2016-06-08  Nan Wang  <n_wang@apple.com>

        For keyboard users, activating a fragment URL should transfer focus and caret to the destination
        https://bugs.webkit.org/show_bug.cgi?id=116046

        Reviewed by Ryosuke Niwa.

        Added a layout test to check that mouse pressing, fragment navigation, focusing an element and removing
        the focused element will give us the expected focus navigation starting point.

        Also updated the fragment activation test because now that navigating to an unfocusable fragment will
        unfocus the current focused element.

        * fast/dom/fragment-activation-focuses-target-expected.txt:
        * fast/dom/fragment-activation-focuses-target.html:
        * fast/events/sequential-focus-navigation-starting-point-expected.txt: Added.
        * fast/events/sequential-focus-navigation-starting-point.html: Added.
        * platform/ios-simulator/TestExpectations:

2016-06-07  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r201667): ASSERTION FAILED: !m_anchorNode || !editingIgnoresContent(*m_anchorNode)
        https://bugs.webkit.org/show_bug.cgi?id=158373

        Reviewed by Brent Fulgham.

        Fixed a test so that the assertion failure happens within the test instead of affecting the subsequent test.

        * editing/selection/selection-in-iframe-removed-crash-expected.txt:
        * editing/selection/selection-in-iframe-removed-crash.html:

2016-06-08  Ryan Haddad  <ryanhaddad@apple.com>

        Marking css3/filters/backdrop/dynamic-backdrop-filter-change.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=158534

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-06-08  Dean Jackson  <dino@apple.com>

        Multiple selectors break keyframes animation
        https://bugs.webkit.org/show_bug.cgi?id=158199
        <rdar://problem/26652591>

        Reviewed by Simon Fraser.

        * animations/duplicate-keys-expected.html: Added.
        * animations/duplicate-keys.html: Added.

2016-06-08  Per Arne Vollan  <pvollan@apple.com>

        [Win] Shadow DOM tests are failing.
        https://bugs.webkit.org/show_bug.cgi?id=158524

        Reviewed by Brent Fulgham.

        Update test expectations for Shadow DOM.

        * platform/win/TestExpectations:

2016-06-08  Rawinder Singh  <rawinder.singh-webkit@cisra.canon.com.au>

        [web-animations] Add Animatable, AnimationEffect, KeyframeEffect and Animation interface
        https://bugs.webkit.org/show_bug.cgi?id=156096

        Reviewed by Dean Jackson.

        Adds:
        - Animatable interface and implementation of getAnimations in Element
        - Interface and implementation for Document getAnimations method.
        - AnimationEffect interface and class stub.
        - KeyframeEffect interface and constructor implementation.
        - 'Animation' interface, constructor and query methods for effect and timeline.
        - Remove runtime condition on Web animation interfaces (compile time flag is specified).

        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * webanimations/Document-expected.txt: Added.
        * webanimations/Document.html: Added.
        * webanimations/script-tests/Document.js: Added.

2016-06-08  Chris Dumez  <cdumez@apple.com>

        self.hasOwnProperty() does not work inside Web workers
        https://bugs.webkit.org/show_bug.cgi?id=158446
        <rdar://problem/26638397>

        Reviewed by Geoffrey Garen.

        Add tests to make sure that self.toString() and self.hasOwnProperty()
        now work in workers.

        * fast/workers/self-hasOwnProperty-expected.txt: Added.
        * fast/workers/self-hasOwnProperty.html: Added.
        * fast/workers/self-toString-expected.txt: Added.
        * fast/workers/self-toString.html: Added.

2016-06-06  Antti Koivisto  <antti@apple.com>

        WebKit memory cache doesn't respect Vary header
        https://bugs.webkit.org/show_bug.cgi?id=71509
        <rdar://problem/26651033>

        Reviewed by Sam Weinig.

        * http/tests/cache/disk-cache/disk-cache-vary-expected.txt:
        * http/tests/cache/disk-cache/disk-cache-vary-no-body-expected.txt:

2016-06-08  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Imlement MediaEndpointPeerConnection::setLocalDescription()
        https://bugs.webkit.org/show_bug.cgi?id=158190

        Reviewed by Eric Carlson.

        Add new test for RTCPeerConnection.setLocalDescription.

        * fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-setLocalDescription-offer.html: Added.
        Set two local offers as local descriptions and inspect the state changes. Also set some
        descriptions with bad types.
        * platform/mac/TestExpectations:
        Skip the above test for mac (not building with WEB_RTC)

2016-06-07  Chris Dumez  <cdumez@apple.com>

        Expose Event / EventTarget properties on WorkerGlobalScope
        https://bugs.webkit.org/show_bug.cgi?id=158511

        Reviewed by Sam Weinig.

        Rebaseline existing test.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2016-06-07  Antoine Quint  <graouts@apple.com>

        The backdrop-filter property does not respect border-radius
        https://bugs.webkit.org/show_bug.cgi?id=158483
        <rdar://problem/24210257>

        Reviewed by Simon Fraser.

        Adding new tests checking that border-radius correctly affects clipping of the backdrop layer
        in a basic scenario, when we change border-radius to a different value, when we set border-radius
        back to 0 and when we add a reflection.

        * css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-add-expected.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-add.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-expected.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-remove-expected.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-remove.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-expected.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-value-change-expected.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-value-change.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-value-remove-expected.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius-value-remove.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-border-radius.html: Added.

2016-06-07  Sam Weinig  <sam@webkit.org>

        Update tests to work around https://bugs.webkit.org/show_bug.cgi?id=158507.

        * TestExpectations:
        Re-enable now passing test.

        * animations/script-tests/spring-computed-style.js:
        * animations/script-tests/spring-parsing.js:
        Use a non-body element to do the testing.

2016-06-07  Sam Weinig  <sam@webkit.org>

        Mark animations/spring-computed-style.html as failing temporarily.

        * TestExpectations:

2016-06-07  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/events/touch/document-create-touch-list-ios.html

        Unreviewed test gardening.

        * fast/events/touch/document-create-touch-list-ios-expected.txt:

2016-06-07  Myles C. Maxfield  <mmaxfield@apple.com>

        Text-decoration-style: dashed / dotted rendered as solid
        https://bugs.webkit.org/show_bug.cgi?id=134336

        Reviewed by Dean Jackson.

        Make sure that the dotted / dashed / solid renderings are all distinct.

        * fast/css3-text/css3-text-decoration/text-decoration-dashed-expected-mismatch.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-dashed.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-dotted-dashed-expected-mismatch.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-dotted-dashed.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-dotted-expected-mismatch.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-dotted.html: Added.

2016-06-07  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping http/tests/websocket/tests/hybi/upgrade-simple-ws.html
        https://bugs.webkit.org/show_bug.cgi?id=158480

        Unreviewed test gardening.

        * TestExpectations:

2016-06-05  Sam Weinig  <sam@webkit.org>

        Add experimental support for spring based CSS animations
        https://bugs.webkit.org/show_bug.cgi?id=158403

        Reviewed by Dean Jackson.

        * animations/script-tests/spring-computed-style.js: Added.
        * animations/script-tests/spring-parsing.js: Added.
        * animations/spring-computed-style-expected.txt: Added.
        * animations/spring-computed-style.html: Added.
        * animations/spring-function-expected.txt: Added.
        * animations/spring-function.html: Added.
        * animations/spring-parsing-expected.txt: Added.
        * animations/spring-parsing.html: Added.
        Add tests for the spring timing function.

2016-06-07  Chris Dumez  <cdumez@apple.com>

        Implement EventListenerOptions argument to addEventListener
        https://bugs.webkit.org/show_bug.cgi?id=149466
        <rdar://problem/22802031>

        Reviewed by Dean Jackson.

        * fast/events/AddEventListenerOptions-once-expected.txt: Added.
        * fast/events/AddEventListenerOptions-once-recursive-expected.txt: Added.
        * fast/events/AddEventListenerOptions-once-recursive.html: Added.
        * fast/events/AddEventListenerOptions-once.html: Added.
        * fast/events/AddEventListenerOptions-passive-expected.txt: Added.
        * fast/events/AddEventListenerOptions-passive.html: Added.
        * fast/events/removeEventListener-EventListenerOptions-capture-expected.txt: Added.
        * fast/events/removeEventListener-EventListenerOptions-capture.html: Added.

        Add layout testing coverage for various aspects of the functionality.

        * imported/blink/fast/events/eventlisteneroptions/capture_default-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_default.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_equality-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_equality.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_query-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_query.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_dispatch-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_dispatch.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_inequality-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_inequality.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_query-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_query.html: Added.

        Import blink tests for this functionality.

2016-06-07  Brent Fulgham  <bfulgham@apple.com>

        CSP: Content Security Policy directive, upgrade-insecure-requests (UIR)
        https://bugs.webkit.org/show_bug.cgi?id=143653
        <rdar://problem/23032067>

        Reviewed by Andy Estes.

        Some of these tests are based on a set of Blink patches by Mike West <mkwst@chromium.org>.
        <https://src.chromium.org/viewvc/blink?revision=192607&view=revision>,
        <https://codereview.chromium.org/1178093002>, <https://codereview.chromium.org/1964303003>

        The rest of them are based on our own mixedContent tests, revised for upgraded requests.

        Note that WebSockets are not part of this testing at present due to https://bugs.webkit.org/show_bug.cgi?id=157884.

        * http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure.php: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-auxiliary-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-auxiliary.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-nested-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-nested.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-subresource-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-subresource.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-top-level-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-top-level.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/basic-upgrade-cors.https.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/check-https-header.pl: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/echo-https-header.pl: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-audio-video.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-css.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-image.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-redirect-http-to-https-script.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-redirect-https-to-http-script.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-xhr-in-main-frame-window.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/mixed-content-with-upgrade.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/post-https-header.pl: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-audio-video-in-main-frame-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-audio-video-in-main-frame.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-image-in-main-frame-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-image-in-main-frame.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrades-mixed-content-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrades-mixed-content.html: Added.
        * http/tests/security/resources/post-origin-to-parent.html: Added.
        * http/tests/ssl/iframe-upgrade.https-expected.txt: Added.
        * http/tests/ssl/iframe-upgrade.https.html: Added.
        * http/tests/ssl/upgrade-origin-usage-expected.txt: Added.
        * http/tests/ssl/upgrade-origin-usage.html: Added.
        * http/tests/ssl/resources/origin-usage-iframe-1.html: Added.
        * http/tests/ssl/resources/origin-usage-iframe-1.manifest: Added.
        * http/tests/ssl/resources/origin-usage-iframe-2.html: Added.
        * http/tests/ssl/resources/origin-usage-iframe-2.manifest: Added.
        * http/tests/websocket/tests/hybi/upgrade-simple-ws-expected.txt: Added.
        * http/tests/websocket/tests/hybi/upgrade-simple-ws.html: Added.
        * TestExpectations: Skip http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-simple-ws.html since the
        WebSocket server does not currently support wss sockets.

2016-06-07  Fujii Hironori  <Hironori.Fujii@sony.com>

        Video elements are painted twice, in PaintPhaseForeground and PaintPhaseSelfOutline
        https://bugs.webkit.org/show_bug.cgi?id=158247

        Reviewed by Simon Fraser.

        * fast/replaced/outline-replaced-elements-offset-expected.html: Added.
        * fast/replaced/outline-replaced-elements-offset.html: Added.

2016-06-07  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Mark fast/text/international/system-language/han-quotes.html as flaky

        Unreviewed gardening

        * platform/gtk/TestExpectations:

2016-06-07  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        Creating a TouchList with non Touch items should throw an exception
        https://bugs.webkit.org/show_bug.cgi?id=158302

        Reviewed by Youenn Fablet.

        Only Touch items should be passed to CreateTouchList function as
        per specification (https://w3c.github.io/touch-events/#extensions-to-the-document-interface).

        Tests have been modified to check whether behavior of CreateTouchList is correct.

        * fast/events/touch/document-create-touch-list-crash-expected.txt:
        * fast/events/touch/document-create-touch-list-expected.txt:
        * fast/events/touch/script-tests/document-create-touch-list-crash.js:
        * fast/events/touch/script-tests/document-create-touch-list.js:

2016-06-07  Joseph Pecoraro  <pecoraro@apple.com>

        Unskip js/script-tests/class-syntax-scoping.js
        https://bugs.webkit.org/show_bug.cgi?id=158458

        Reviewed by Ryosuke Niwa.

        * js/script-tests/class-syntax-scoping.js:

2016-06-06  Joseph Pecoraro  <pecoraro@apple.com>

        ASSERTION failed in get-by-pname.js when run with JSC_useLLINT=false and 2 other configurations
        https://bugs.webkit.org/show_bug.cgi?id=138497
        <rdar://problem/18909792>

        Reviewed by Mark Lam.

        * js/script-tests/get-by-pname.js:
        Test is no longer failing. Lets unskip.

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

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

        fast/events/AddEventListenerOptions-once-recursive.html fails
        on all bots (Requested by ap on #webkit).

        Reverted changeset:

        "Implement EventListenerOptions argument to addEventListener"
        https://bugs.webkit.org/show_bug.cgi?id=149466
        http://trac.webkit.org/changeset/201735

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

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

        http/tests/websocket/tests/hybi/upgrade-simple-ws.html is
        flaky (Requested by ap on #webkit).

        Reverted changeset:

        "CSP: Content Security Policy directive, upgrade-insecure-
        requests (UIR)"
        https://bugs.webkit.org/show_bug.cgi?id=143653
        http://trac.webkit.org/changeset/201679

2016-06-06  Jiewen Tan  <jiewen_tan@apple.com>

        URLs containing tabs or newlines are parsed incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=143381
        <rdar://problem/26567214>

        Reviewed by Brent Fulgham.

        * fast/dom/DOMURL/set-href-attribute-host-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-host.html:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-host.js:
        * fast/dom/HTMLAnchorElement/set-href-attribute-host-expected.txt:
        * fast/url/segments-expected.txt:
        * fast/url/segments-from-data-url-expected.txt:
        * fast/url/segments-from-data-url.html:
        * fast/url/segments.html:
        * fast/url/tab-and-newline-stripping-expected.txt: Added.
        * fast/url/tab-and-newline-stripping.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt:
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt:

2016-06-02  Ryosuke Niwa  <rniwa@webkit.org>

        Update the list of elements attachShadow is allowed
        https://bugs.webkit.org/show_bug.cgi?id=157706

        Reviewed by Darin Adler.

        Added more test cases for validating elements on which attachShadow is allowed and disallowed.

        * fast/shadow-dom/Element-interface-attachShadow-expected.txt:
        * fast/shadow-dom/Element-interface-attachShadow.html:

2016-06-03  Ryosuke Niwa  <rniwa@webkit.org>

        Crash inside moveOutOfAllShadowRoots
        https://bugs.webkit.org/show_bug.cgi?id=158378

        Reviewed by Antti Koivisto.

        Added a regression test that reproduced the crash reliably at least on my machine.

        * fast/shadow-dom/shadow-host-removal-crash-expected.txt: Added.
        * fast/shadow-dom/shadow-host-removal-crash.html: Added.
        * platform/ios-simulator/TestExpectations:

2016-06-06  Chris Dumez  <cdumez@apple.com>

        Implement EventListenerOptions argument to addEventListener
        https://bugs.webkit.org/show_bug.cgi?id=149466
        <rdar://problem/22802031>

        Reviewed by Dean Jackson.

        * fast/events/AddEventListenerOptions-once-expected.txt: Added.
        * fast/events/AddEventListenerOptions-once-recursive-expected.txt: Added.
        * fast/events/AddEventListenerOptions-once-recursive.html: Added.
        * fast/events/AddEventListenerOptions-once.html: Added.
        * fast/events/AddEventListenerOptions-passive-expected.txt: Added.
        * fast/events/AddEventListenerOptions-passive.html: Added.
        * fast/events/removeEventListener-EventListenerOptions-capture-expected.txt: Added.
        * fast/events/removeEventListener-EventListenerOptions-capture.html: Added.

        Add layout testing coverage for various aspects of the functionality.

        * imported/blink/fast/events/eventlisteneroptions/capture_default-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_default.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_equality-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_equality.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_query-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_query.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_dispatch-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_dispatch.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_inequality-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_inequality.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_query-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_query.html: Added.

        Import blink tests for this functionality.

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

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

        This change caused existing LayoutTests to crash (Requested by
        ryanhaddad on #webkit).

        Reverted changeset:

        "Implement EventListenerOptions argument to addEventListener"
        https://bugs.webkit.org/show_bug.cgi?id=149466
        http://trac.webkit.org/changeset/201730

2016-06-02  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/misc/slow-loading-animated-image.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=157916

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-06-06  Chris Dumez  <cdumez@apple.com>

        Implement EventListenerOptions argument to addEventListener
        https://bugs.webkit.org/show_bug.cgi?id=149466
        <rdar://problem/22802031>

        Reviewed by Dean Jackson.

        * fast/events/AddEventListenerOptions-once-expected.txt: Added.
        * fast/events/AddEventListenerOptions-once-recursive-expected.txt: Added.
        * fast/events/AddEventListenerOptions-once-recursive.html: Added.
        * fast/events/AddEventListenerOptions-once.html: Added.
        * fast/events/AddEventListenerOptions-passive-expected.txt: Added.
        * fast/events/AddEventListenerOptions-passive.html: Added.
        * fast/events/removeEventListener-EventListenerOptions-capture-expected.txt: Added.
        * fast/events/removeEventListener-EventListenerOptions-capture.html: Added.

        Add layout testing coverage for various aspects of the functionality.

        * imported/blink/fast/events/eventlisteneroptions/capture_default-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_default.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_equality-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_equality.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_query-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/capture_query.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_dispatch-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_dispatch.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_inequality-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_inequality.html: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_query-expected.txt: Added.
        * imported/blink/fast/events/eventlisteneroptions/passive_query.html: Added.

        Import blink tests for this functionality.

2016-06-06  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Update MediaEndpointPeerConnection::createOffer() to use the transceiver set
        https://bugs.webkit.org/show_bug.cgi?id=158203

        Reviewed by Eric Carlson.

        Updated existing test.

        * fast/mediastream/RTCPeerConnection-inspect-offer-expected.txt:
        * fast/mediastream/RTCPeerConnection-inspect-offer.html:
        Add verification of mid attribute [1] (corresponds to the RTCRtpTransceiver mid attribute).
        [1] https://tools.ietf.org/html/rfc5888
        * fast/mediastream/resources/sdp-utils.js: Added.
        (printComparableSessionDescription):
        (verified):
        (match):
        Move the printComparableSessionDescription function to a separate file
        to make it usable in other (future) tests.

2016-06-06  Antoine Quint  <graouts@apple.com>

        Position of WebGL <canvas> on iOS is incorrect with CSS borders
        https://bugs.webkit.org/show_bug.cgi?id=156790

        Reviewed by Simon Fraser.

        Adding new tests checking that CSS border, box-shadow and padding properties used on a
        WebGL <canvas> element correctly affect the position of the WebGL content.

        * webgl/webgl-border-expected.html: Added.
        * webgl/webgl-border.html: Added.
        * webgl/webgl-box-shadow-expected.html: Added.
        * webgl/webgl-box-shadow.html: Added.
        * webgl/webgl-padding-expected.html: Added.
        * webgl/webgl-padding.html: Added.

2016-06-06  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ESNext] Support trailing commas in function param lists
        https://bugs.webkit.org/show_bug.cgi?id=158020

        Reviewed by Keith Miller.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        * sputnik/Conformance/13_Function_Definition/S13_A5.html:

2016-06-06  George Ruan  <gruan@apple.com>

        Support createPattern(HTMLVideoElement, const String& repetitionType)
        https://bugs.webkit.org/show_bug.cgi?id=149984
        <rdar://problem/23058823>

        Reviewed by Dean Jackson.

        * fast/canvas/canvas-createPattern-video-invalid-expected.txt: Added.
        * fast/canvas/canvas-createPattern-video-invalid.html: Added. Test
        behavior when given invalid arguments.
        * fast/canvas/canvas-createPattern-video-loading-expected.txt: Added.
        * fast/canvas/canvas-createPattern-video-loading.html: Added. Tests
        behavior before video loaded, right after it's loaded, and after being
        played.
        * fast/canvas/canvas-createPattern-video-modify-expected.txt: Added.
        * fast/canvas/canvas-createPattern-video-modify.html: Added. Tests
        that modifying the video after calling the createPattern() function
        does not affect the pattern rendered or to be rendered.
        *
        http/tests/security/canvas-remote-read-remote-image-allowed-expected.txt:
        Fix typo.
        *
        http/tests/security/canvas-remote-read-remote-image-allowed-with-credentials-expected.txt:
        Fix typo.
        *
        http/tests/security/canvas-remote-read-remote-image-allowed-with-credentials.html:
        Fix typo.
        * http/tests/security/canvas-remote-read-remote-image-allowed.html:
        Fix typo.
        *
        http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
        Fix typo.
        *
        http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin.html:
        Fix typo.
        * http/tests/security/canvas-remote-read-remote-video-allowed-anonymous-expected.txt: Added.
        *
        http/tests/security/canvas-remote-read-remote-video-allowed-anonymous.html:
        Added. This test will fail as CORS is not implemented for media yet.
        Tests that data can be retrieved from canvas even when tainted if CORS
        is enabled with anonymous.
        * http/tests/security/canvas-remote-read-remote-video-allowed-with-credentials-expected.txt: Added.
        *
        http/tests/security/canvas-remote-read-remote-video-allowed-with-credentials.html:
        Added. This test will fail as CORS is not implemented for media yet.
        Tests that data can be retrieved from canvas even when tainted if CORS
        is enabled with credentials.
        * http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin-expected.txt: Added.
        *
        http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin.html:
        Added. Ensures that data cannot be retrieved from a tainted canvas if
        no cross origin is enabled.
        * http/tests/security/canvas-remote-read-remote-video-localhost-expected.txt: Added.
        * http/tests/security/canvas-remote-read-remote-video-localhost.html:
        Added. Ensures that localhost is blocked like http.
        * http/tests/security/canvas-remote-read-remote-video-redirect-expected.txt: Added.
        * http/tests/security/canvas-remote-read-remote-video-redirect.html:
        Added. Ensures that redirects are blocked.
        * http/tests/security/resources/canvas-video-crossorigin.js: Added.
        Includes common functions used to test the CORS of canvas for video.
        *
        http/tests/security/resources/video-cross-origin-allow-credentials.php:
        Added. Script that serves test video for
        canvas-remote-read-remote-video-allowed-with-credentials.html.
        * media/video-canvas-createPattern-expected.txt: Added.
        * media/video-canvas-createPattern.html: Added. Naive test that
        ensures functionality of createPattern() with HTMLVideoElement
        argument.
        * platform/ios-simulator-wk1/TestExpectations: Added
        canvas-remote-read-remote-video-allowed-anonymous.html and
        canvas-remote-read-remote-video-allowed-with-credentials.html.
        * platform/ios-simulator-wk2/TestExpectations: Same as wk1.
        * platform/mac/TestExpectations: Same as wk1.
        * platform/mac/media/video-canvas-createPattern-expected.png: Added.
        * platform/win/TestExpectations: Same as wk1.
        * platform/wk2/TestExpectations: Same as wk1.

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

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

        This change broke the Yosemite build and its LayoutTest is
        failing on Mac and iOS testers (Requested by ryanhaddad on
        #webkit).

        Reverted changeset:

        "Add experimental support for spring based CSS animations"
        https://bugs.webkit.org/show_bug.cgi?id=158403
        http://trac.webkit.org/changeset/201706

2016-06-03  Oliver Hunt  <oliver@apple.com>

        RegExp unicode parsing reads an extra character before failing
        https://bugs.webkit.org/show_bug.cgi?id=158376

        Reviewed by Saam Barati.

        Add a couple of tests.

        * js/script-tests/regexp-unicode.js:

2016-06-06  Chris Dumez  <cdumez@apple.com>

        Crash under JSObject::getOwnPropertyDescriptor()
        https://bugs.webkit.org/show_bug.cgi?id=158382
        <rdar://problem/26605004>

        Reviewed by Mark Lam.

        Add layout test to cover the crash in JSObject::getOwnPropertyDescriptor().

        * js/dom/getOwnPropertyDescriptor-crash-expected.txt: Added.
        * js/dom/getOwnPropertyDescriptor-crash.html: Added.

2016-06-06  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Horizontal scroll must account for grid container's height
        https://bugs.webkit.org/show_bug.cgi?id=157971

        Reviewed by Darin Adler.

        Test to verify we account horizontal scrollbar's size for grid container's
        height computation.

        * fast/css-grid-layout/grid-container-scroll-accounts-for-sizing-expected.html: Added.
        * fast/css-grid-layout/grid-container-scroll-accounts-for-sizing.html: Added.

2016-06-05  Sam Weinig  <sam@webkit.org>

        Add experimental support for spring based CSS animations
        https://bugs.webkit.org/show_bug.cgi?id=158403

        Reviewed by Dean Jackson.

        * animations/script-tests/spring-computed-style.js: Added.
        * animations/script-tests/spring-parsing.js: Added.
        * animations/spring-computed-style-expected.txt: Added.
        * animations/spring-computed-style.html: Added.
        * animations/spring-function-expected.txt: Added.
        * animations/spring-function.html: Added.
        * animations/spring-parsing-expected.txt: Added.
        * animations/spring-parsing.html: Added.
        Add tests for the spring timing function.

2016-06-05  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening on June 6. Unskip passing tests and mark failing tests.
        New bug is filed for new failing tests.

        * platform/efl/TestExpectations:

2016-06-05  Gavin & Ellie Barraclough  <barraclough@apple.com>

        Deprecate remaining uses of Lookup getStatic*, use HasStaticPropertyTable instead.
        https://bugs.webkit.org/show_bug.cgi?id=158178

        Reviewed by Darin Adler.

        As of bug #158059 most JSC static table property access no longer requires getOwnPropertySlot to be
        overridden. Port remaining calls to the getStatic* functions in Lookup.h over to the new mechanism.

        Switch JSGlobalObject & WebCore DOM instance bindings to use HasStaticPropertyTable.

        * fast/dom/unforgeable-attributes-expected.txt:
            - Progression, similar to the getOwnPropertyDescriptor test below. Previously we
              were reporting an error with a message appropriate to a disallowed value->value
              redefinition. This is actually a disallowed accessor->value reconfiguration, now
              reporting the correct error message for this.
        * http/tests/security/cross-origin-window-property-access-expected.txt:
            - Newly reporting previously missing CORS error.
        * js/dom/getOwnPropertyDescriptor-expected.txt:
        * js/resources/getOwnPropertyDescriptor.js:
            - This test was previously incorrect - was expecting window.window property to
              reflect as a value decriptor. This now reflect as an accesor descriptor. New
              behaviour is correct per spec & matches Firefox.

2016-06-05  Antti Koivisto  <antti@apple.com>

        TextIterator should ignore non-visible frames in findPlainText
        https://bugs.webkit.org/show_bug.cgi?id=158395

        Reviewed by Dan Bernstein and Darin Adler.

        * editing/text-iterator/count-matches-in-frames-expected.txt: Added.
        * editing/text-iterator/count-matches-in-frames.html: Added.
        * imported/blink/fast/shapes/shape-outside-floats/shape-outside-negative-height-crash-width.html: Non-rendered whitespace change.

2016-06-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add -private.html variants of crypto/subtle IndexedDB tests.
        https://bugs.webkit.org/show_bug.cgi?id=153323

        Reviewed by Darin Adler.

        * crypto/subtle/resources/rsa-indexeddb-non-exportable.js: Copied from LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable.html.
        * crypto/subtle/resources/rsa-indexeddb.js: Copied from LayoutTests/crypto/subtle/rsa-indexeddb.html.

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

2016-06-04  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r201263): Some tests have become flaky timeouts.
        https://bugs.webkit.org/show_bug.cgi?id=157990

        Reviewed by Darin Adler.

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

2016-06-04  Joseph Pecoraro  <pecoraro@apple.com>

        Add better basic isNaN test coverage
        https://bugs.webkit.org/show_bug.cgi?id=158379

        Reviewed by Benjamin Poulain.

        * js/Number-isNaN-expected.txt: Added.
        * js/Number-isNaN.html: Added.
        * js/global-isNaN-expected.txt: Added.
        * js/global-isNaN.html: Added.
        * js/script-tests/Number-isNaN.js: Added.
        (objectWithNumberValueOf.valueOf):
        (objectWithNaNValueOf.valueOf):
        (objectRecordConversionCalls.toString):
        (objectRecordConversionCalls.valueOf):
        * js/script-tests/global-isNaN.js: Added.
        (objectConvertToString.toString):
        (objectRecordToStringCall.toString):
        (objectThrowOnToString.toString):
        (objectWithValueOf.valueOf):
        (objectThrowOnValueOf.valueOf):
        (objectThrowOnValueOf.toString):
        (objectRecordValueOfCall.valueOf):
        (objectRecordConversionCalls.toString):
        (objectRecordConversionCalls.valueOf):
        * js/script-tests/math-clz32.js:

2016-06-04  Brent Fulgham  <bfulgham@apple.com>

        CSP: Content Security Policy directive, upgrade-insecure-requests (UIR)
        https://bugs.webkit.org/show_bug.cgi?id=143653
        <rdar://problem/23032067>

        Reviewed by Andy Estes.

        Some of these tests are based on a set of Blink patches by Mike West <mkwst@chromium.org>.
        <https://src.chromium.org/viewvc/blink?revision=192607&view=revision>,
        <https://codereview.chromium.org/1178093002>, <https://codereview.chromium.org/1964303003>

        The rest of them are based on our own mixedContent tests, revised for upgraded requests.

        Note that WebSockets are not part of this testing at present due to https://bugs.webkit.org/show_bug.cgi?id=157884.

        * http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure.php: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-auxiliary-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-auxiliary.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-nested-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-nested.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-subresource-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-subresource.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-top-level-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-top-level.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/basic-upgrade-cors.https.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/check-https-header.pl: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/echo-https-header.pl: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-audio-video.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-css.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-image.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-redirect-http-to-https-script.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-redirect-https-to-http-script.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-xhr-in-main-frame-window.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/mixed-content-with-upgrade.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/post-https-header.pl: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-audio-video-in-main-frame-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-audio-video-in-main-frame.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-image-in-main-frame-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-image-in-main-frame.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrades-mixed-content-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrades-mixed-content.html: Added.
        * http/tests/security/resources/post-origin-to-parent.html: Added.
        * http/tests/ssl/iframe-upgrade.https-expected.txt: Added.
        * http/tests/ssl/iframe-upgrade.https.html: Added.
        * http/tests/ssl/upgrade-origin-usage-expected.txt: Added.
        * http/tests/ssl/upgrade-origin-usage.html: Added.
        * http/tests/ssl/resources/origin-usage-iframe-1.html: Added.
        * http/tests/ssl/resources/origin-usage-iframe-1.manifest: Added.
        * http/tests/ssl/resources/origin-usage-iframe-2.html: Added.
        * http/tests/ssl/resources/origin-usage-iframe-2.manifest: Added.
        * http/tests/websocket/tests/hybi/upgrade-simple-ws-expected.txt: Added.
        * http/tests/websocket/tests/hybi/upgrade-simple-ws.html: Added.
        * TestExpectations: Skip http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-simple-ws.html since the
        WebSocket server does not currently support wss sockets.

2016-06-03  Myles C. Maxfield  <mmaxfield@apple.com>

        Bopomofo ruby in Dictionary.app is written horizontally (when it should be written vertically)
        https://bugs.webkit.org/show_bug.cgi?id=158245
        <rdar://problem/25675318>

        Reviewed by Darin Adler.

        Rebaselined fast/table/border-collapsing/004-vertical.html to show a progression.

        * fast/text/orthogonal-writing-mode-containing-block-frameView-resize-relayout-expected.html: Added.
        * fast/text/orthogonal-writing-mode-containing-block-frameView-resize-relayout.html: Added.
        * platform/mac/fast/table/border-collapsing/004-vertical-expected.png: Rebased
        * platform/mac/fast/table/border-collapsing/004-vertical-expected.txt: Rebased

2016-06-03  Myles C. Maxfield  <mmaxfield@apple.com>

        Text not visible while external font downloading
        https://bugs.webkit.org/show_bug.cgi?id=25207
        <rdar://problem/15167413>

        Reviewed by Dean Jackson.

        * fast/text/web-font-load-fallback-during-loading-no-multiple-expected.txt: Added.
        * fast/text/web-font-load-fallback-during-loading-no-multiple.html: Added.
        * fast/text/web-font-load-fallback-during-loading-expected.html: Added.
        * fast/text/web-font-load-fallback-during-loading.html: Added.

2016-06-03  Benjamin Poulain  <bpoulain@apple.com>

        JSON.stringify replacer function calls with numeric array indices
        https://bugs.webkit.org/show_bug.cgi?id=158262

        Reviewed by Saam Barati.

        * js/JSON-stringify-exposes-array-indices-as-strings-expected.txt: Added.
        * js/JSON-stringify-exposes-array-indices-as-strings.html: Added.
        * js/script-tests/JSON-stringify-exposes-array-indices-as-strings.js: Added.
        (replacer):
        (testObject.toJSON):
        (toJSONArrayHelper):
        * js/resources/JSON-stringify.js:
        * js/dom/JSON-stringify-expected.txt:
        Update the test results for the native implementation.

2016-06-03  Ryosuke Niwa  <rniwa@webkit.org>

        Crash under VisibleSelection::firstRange()
        https://bugs.webkit.org/show_bug.cgi?id=158241

        Reviewed by Enrica Casucci.

        Added a regression test.

        * fast/shadow-dom/selection-at-shadow-root-crash-expected.txt: Added.
        * fast/shadow-dom/selection-at-shadow-root-crash.html: Added.

2016-06-03  Zalan Bujtas  <zalan@apple.com>

        Incorrect rendering on boostmobile FAQ page
        https://bugs.webkit.org/show_bug.cgi?id=158303
        <rdar://problem/26603462>

        Reviewed by Chris Dumez.

        Initial value for background-color is 'transparent'. see https://drafts.csswg.org/css-backgrounds-3/#background-color

        * fast/selectors/non-visited-link-backround-color-expected.html: Added.
        * fast/selectors/non-visited-link-backround-color.html: Added.

2016-06-03  Chris Dumez  <cdumez@apple.com>

        CanvasRenderingContext2D.createPattern() / putImageData() throw wrong exception type
        https://bugs.webkit.org/show_bug.cgi?id=158322

        Reviewed by Ryosuke Niwa.

        Update several outdated layout tests.

        * canvas/philip/tests/2d.imageData.put.null.html:
        * canvas/philip/tests/2d.pattern.image.null.html:
        * canvas/philip/tests/2d.pattern.image.undefined.html:

2016-06-03  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/scrolling/scroll-container-horizontally.html as flaky on mac-wk2 and ios-simulator-wk1
        https://bugs.webkit.org/show_bug.cgi?id=158237

        Unreviewed test gardening.

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

2016-06-03  Brady Eidson  <beidson@apple.com>

        LayoutTest imported/w3c/indexeddb/idbcursor-advance-continue-async.htm is flaky on Yosemite WK2
        https://bugs.webkit.org/show_bug.cgi?id=154606

        Reviewed by Alex Christensen.

        * platform/mac-wk2/TestExpectations: Remove expectations. Test has been working great for quite awhile.

2016-06-03  Brady Eidson  <beidson@apple.com>

        storage/indexeddb/intversion-open-in-upgradeneeded.html is flaky on mac.
        https://bugs.webkit.org/show_bug.cgi?id=155050

        Reviewed by Alex Christensen.

        The test no longer crashes/times out, but it does have text failures.
        Resolve them by removing a race in the test itself.
        
        * platform/mac-wk2/TestExpectations:
        * storage/indexeddb/intversion-open-in-upgradeneeded-expected.txt:
        * storage/indexeddb/intversion-open-in-upgradeneeded-private-expected.txt:
        * storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:

2016-06-03  Antoine Quint  <graouts@apple.com>

        Reflection of element does not respect backdrop-filter property
        https://bugs.webkit.org/show_bug.cgi?id=158201

        Reviewed by Dean Jackson.

        * css3/filters/backdrop/backdrop-filter-with-reflection-add-backdrop-expected.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-reflection-add-backdrop.html: Added.

        Covers the case where a reflected element without a backdrop-filter initially has one added later.

        * css3/filters/backdrop/backdrop-filter-with-reflection-expected.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-reflection-remove-backdrop-expected.html: Added.

        Covers the case where a reflected element with a backdrop-filter initially has it removed later.

        * css3/filters/backdrop/backdrop-filter-with-reflection-remove-backdrop.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-reflection-value-change-expected.html: Added.

        Covers the case where a reflected element with a backdrop-filter has its backdrop-filter property changed later.

        * css3/filters/backdrop/backdrop-filter-with-reflection-value-change.html: Added.
        * css3/filters/backdrop/backdrop-filter-with-reflection.html: Added.

        Covers the basic case of a reflected element with a backdrop-filter.

2016-06-03  Antoine Quint  <graouts@apple.com>

        REGRESSION: WebGL doesn't show up in CSS reflections
        https://bugs.webkit.org/show_bug.cgi?id=76489

        Reviewed by Dean Jackson.

        Update the expected rendering to contain the reflected WebGL <canvas>.

        * platform/mac/compositing/webgl/webgl-reflection-expected.png:

2016-06-02  Zalan Bujtas  <zalan@apple.com>

        Repaint issue with vertical text in an out of flow container.
        https://bugs.webkit.org/show_bug.cgi?id=102665
        <rdar://problem/26605298>

        Reviewed by David Hyatt.

        Since the renderer’s offset for positioned objects is always physical, we only
        need to flip the repaint rect(always logical) for writing root, when we see the first positioned object.
        All subsequent writing root changes for positioned objects are okay and they don't need flipping.

        * fast/repaint/vertical-text-repaint-expected.txt: Added.
        * fast/repaint/vertical-text-repaint.html: Added.

2016-06-02  Benjamin Poulain  <bpoulain@apple.com>

        Fix a typo in the clz32() tests

        Rubber-stamped by Joseph Pecoraro.

        Joe found a bug in math-clz32.js: I typed INFINITI instead of INFINITY.
        The tests was effectively checking "undefined" instead of infinity.

        * js/math-clz32-expected.txt:
        * js/script-tests/math-clz32.js:
        (objectRecordConversionCalls.valueOf):

2016-06-02  Chris Dumez  <cdumez@apple.com>

        [WebIDL] 'undefined' should be an acceptable value for nullable parameters
        https://bugs.webkit.org/show_bug.cgi?id=158321

        Reviewed by Ryosuke Niwa.

        Rebaseline existing test that is now passing.

        * canvas/philip/tests/2d.pattern.image.undefined-expected.txt:

2016-06-02  Oliver Hunt  <oliver@apple.com>

        JS parser incorrectly handles invalid utf8 in error messages.
        https://bugs.webkit.org/show_bug.cgi?id=158128

        Reviewed by Saam Barati.

        Add a testcase.

        * js/invalid-utf8-in-syntax-error-expected.txt: Added.
        * js/script-tests/invalid-utf8-in-syntax-error.js: Added.

2016-06-02  Michael Saboff  <msaboff@apple.com>

        REGRESSION(r200694): %ThrowTypeError% is not unique
        https://bugs.webkit.org/show_bug.cgi?id=158231

        Reviewed by Joseph Pecoraro.

        Rebased tests for the new TypeError messages.
        Added a new test, throw-type-error-is-unique.html.

        * inspector/runtime/getProperties-expected.txt:
        * js/basic-strict-mode-expected.txt:
        * js/caller-property-expected.txt:
        * js/class-method-and-constructor-properties-expected.txt:
        * js/script-tests/caller-property.js:
        (strictCaller):
        (strictTailCaller):
        * js/script-tests/class-method-and-constructor-properties.js:
        (F.prototype.getElement):
        (F):
        (G.prototype.get item):
        (G):
        (H.prototype.arguments):
        (H):
        * js/script-tests/throw-type-error-is-unique.js: Added.
        (ThrowTypeErrorSource):
        (ThrowTypeErrorSource.prototype.checkTypeErrorFunctions):
        (A):
        (strictArguments):
        (test):
        * js/throw-type-error-is-unique-expected.txt: Added.
        * js/throw-type-error-is-unique.html: Added.

2016-06-02  Daniel Bates  <dabates@apple.com>

        Fix a couple of mistakes in CSSParserValue memory management
        https://bugs.webkit.org/show_bug.cgi?id=158307
        <rdar://problem/26127225>

        Reviewed by Darin Adler.

        * fast/css/calc-with-two-variables-crash-expected.txt: Added.
        * fast/css/calc-with-two-variables-crash.html: Added.

2016-06-02  Said Abou-Hallawa  <sabouhallawa@apple.com>

        SVG content renders in incorrect vertical position when padding-left is not specified
        https://bugs.webkit.org/show_bug.cgi?id=158234

        Reviewed by Darin Adler.

        Make sure the SVG root element is positioned correctly when either the sum
        of its (leftPadding + rightPadding) or the sum of its (topPadding + bottomPadding)
        is equal to zero.

        * svg/custom/svg-root-padding-individual-expected.html: Added.
        * svg/custom/svg-root-padding-individual.html: Added.

2016-06-02  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Update RTCPeerConnection.addTrack() to create (or reuse) an RTCRtpTransceiver
        https://bugs.webkit.org/show_bug.cgi?id=158191

        Reviewed by Eric Carlson.

        Extend existing test to verify the created RTCRtpTransceiver object.

        * fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt:
        * fast/mediastream/RTCPeerConnection-add-removeTrack.html:
        Add checks for bad argument lists and verify the created RTCRtpTransceiver.

2016-06-02  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        Unskip websocket tests passing after r201500.

        * platform/win/TestExpectations:

2016-06-02  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        The test storage/indexeddb/modern/blob-simple.html is passing.

        * platform/win/TestExpectations:

2016-06-02  Javier Fernandez  <jfernandez@igalia.com>

        Unreviewed GTK+ gardening Additional rebaseline after r201397.

        Added reference files for pixel tests.

        * fast/forms/search-input-rtl-expected.txt:
        * platform/gtk/fast/css/text-overflow-input-expected.png:
        * platform/gtk/fast/forms/placeholder-position-expected.png:
        * platform/gtk/fast/forms/search-input-rtl-expected.png: Added.
        * platform/gtk/fast/forms/search-rtl-expected.png:

2016-06-01  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] Some setters for components of Date do not timeClip() their result
        https://bugs.webkit.org/show_bug.cgi?id=158278
        rdar://problem/25131426

        Reviewed by Geoffrey Garen.

        New test coverage for large values.

        Note that some of those tests are still failing with this patch.

        The reason is our code handling month and years is unable to deal
        with values outside int32.
        Changing that is a bit more complicated due to the number of users
        of DateMath. I leave that for the future.

        * js/date-timeClip-large-values-expected.txt: Added.
        * js/date-timeClip-large-values.html: Added.
        * js/script-tests/date-timeClip-large-values.js: Added.

2016-06-01  Chris Fleizach  <cfleizach@apple.com>

        AX: iOS: VoiceOver can't access attachments in mail messages
        https://bugs.webkit.org/show_bug.cgi?id=158198

        Reviewed by Joanmarie Diggs.

        * accessibility/ios-simulator/attributed-string-for-range.html: Added.

2016-06-01  Commit Queue  <commit-queue@webkit.org>

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

        Caused 23% regression on JetStream's crypto-md5 (Requested by
        rniwa on #webkit).

        Reverted changeset:

        "[ESNext] Support trailing commas in function param lists"
        https://bugs.webkit.org/show_bug.cgi?id=158020
        http://trac.webkit.org/changeset/201488

2016-06-01  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        POST request on a blob resource should return a "network error" instead of HTTP 500 response
        https://bugs.webkit.org/show_bug.cgi?id=158022

        Reviewed by Alex Christensen.

        Make sure response to XHR request on blob is correct.

        * fast/files/xhr-blob-request-expected.txt: Added.
        * fast/files/xhr-blob-request.html: Added.

2016-06-01  Javier Fernandez  <jfernandez@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline several tests after r201397.

        We correctly render search field's cancel and result button for RTL content.

        * fast/forms/search-input-rtl-expected.txt: Added.
        * platform/gtk/fast/css/text-overflow-input-expected.txt:
        * platform/gtk/fast/forms/placeholder-position-expected.txt:
        * platform/gtk/fast/forms/search-rtl-expected.txt:

2016-06-01  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Add RTCRtpTransceiver interface and RTCPeerConnection.addTransceiver()
        https://bugs.webkit.org/show_bug.cgi?id=158189

        Reviewed by Darin Adler.

        Added test for RTCPeerConnection.addTransceiver().

        * fast/mediastream/RTCPeerConnection-addTransceiver-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-addTransceiver.html: Added.
        Test creating several RTCRtpTransceivers with various configurations and inspect the result.
        * platform/mac/TestExpectations:
        Skip the new test since the Mac port currently doesn't build with WebRTC support.

2016-06-01  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Positioned items can be placed on the implicit grid
        https://bugs.webkit.org/show_bug.cgi?id=158197

        Reviewed by Sergio Villar Senin.

        Updated the test to follow the expected behavior.

        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track-expected.txt:
        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html:

2016-05-31  Dave Hyatt  <hyatt@apple.com>

        REGRESSION(r201040): Repainting of moving overflow:hidden objects is broken.
        https://bugs.webkit.org/show_bug.cgi?id=158079

        Reviewed by Zalan Bujtas.

        * fast/repaint/overflow-hidden-movement-expected.txt: Added.
        * fast/repaint/overflow-hidden-movement.html: Added.

2016-05-31  Eric Carlson  <eric.carlson@apple.com>

        [Mac] AirPlay route is sometimes reset when changing video.src
        https://bugs.webkit.org/show_bug.cgi?id=158226
        <rdar://problem/24197592>

        Reviewed by Jer Noble.

        * media/airplay-autoplay-expected.txt: Added.
        * media/airplay-autoplay.html: Added.

2016-05-31  Dave Hyatt  <hyatt@apple.com>

        REGRESSION (r189567): Elements with aspect ratios not handled correctly inside flexbox.
        https://bugs.webkit.org/show_bug.cgi?id=158040

        Reviewed by Zalan Bujtas.

        * fast/flexbox/aspect-ratio-intrinsic-adjust-expected.html: Added.
        * fast/flexbox/aspect-ratio-intrinsic-adjust.html: Added.
        * fast/flexbox/resources/subjects_sm.png: Added.

2016-05-25  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Empty grid without explicit tracks shouldn't have any size
        https://bugs.webkit.org/show_bug.cgi?id=155197

        Reviewed by Darin Adler.

        Make sure that empty grids (and grids with one empty axis) are properly handled. Do also
        verify that removing all the items from a grid also generates an correct empty grid.

        * fast/css-grid-layout/empty-grid-expected.txt: Added.
        * fast/css-grid-layout/empty-grid.html: Added.

2016-05-30  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening.
        
        After the crash fix in r201500, update the test expectations for 
        http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html.

        * platform/win/TestExpectations:

2016-05-30  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Box Alignment] New CSS Value 'normal' for Self Alignment
        https://bugs.webkit.org/show_bug.cgi?id=156254

        Reviewed by Darin Adler.

        Changes in the already defined tests for the alignment properties to
        consider the new CSS value 'normal', which is the default for align-items
        and the value to resolve 'auto' when there is no parent.

        Added a new test to verify the Self-Alignment properties work as expected
        with root elements.

        * css3/flexbox/css-properties-expected.txt:
        * css3/flexbox/css-properties.html:
        * css3/parse-align-items-expected.txt:
        * css3/parse-align-items.html:
        * css3/parse-align-self-expected.txt:
        * css3/parse-align-self.html:
        * css3/parse-alignment-of-root-elements-expected.txt: Added.
        * css3/parse-alignment-of-root-elements.html: Added.
        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * fast/css/parse-justify-items-expected.txt:
        * fast/css/parse-justify-items.html:
        * fast/css/parse-justify-self-expected.txt:
        * fast/css/parse-justify-self.html:
        * fast/css/resources/alignment-parsing-utils.js:
        * svg/css/getComputedStyle-basic-expected.txt:
        (checkBadValues):
        * svg/css/getComputedStyle-basic-expected.txt:

2016-05-25  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ESNext] Support trailing commas in function param lists
        https://bugs.webkit.org/show_bug.cgi?id=158020

        Reviewed by Keith Miller.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        * sputnik/Conformance/13_Function_Definition/S13_A5.html:

2016-05-27  Zalan Bujtas  <zalan@apple.com>

        EventHandler finds incorrect scrollable container.
        https://bugs.webkit.org/show_bug.cgi?id=158132
        <rdar://problem/26423126>

        Reviewed by Brent Fulgham.

        Fix the logic that checks whether we are at the beginning or at the end of the container (horizontally).
        While scrolling to the right, deltaX has negative values. So in case of deltaX < 0, we need to check if
        the container is not scrolled all the way to the right.

        * fast/scrolling/scroll-container-horizontally-expected.txt: Added.
        * fast/scrolling/scroll-container-horizontally.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2016-05-27  Saam barati  <sbarati@apple.com>

        DebuggerCallFrame crashes when updated with the globalExec because neither ShadowChicken's algorithm nor StackVisitor's algorithm reasons about the globalExec
        https://bugs.webkit.org/show_bug.cgi?id=158104

        Reviewed by Filip Pizlo.

        * inspector/debugger/breakpoint-syntax-error-top-level-expected.txt: Added.
        * inspector/debugger/breakpoint-syntax-error-top-level.html: Added.
        * inspector/debugger/resources/file-with-syntax-error.js: Added.

2016-05-27  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test fix after r201468.

        Correct output handling to reduce flakiness on test bots.

        * http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load.html:

2016-05-26  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in TreeScope::focusedElement
        https://bugs.webkit.org/show_bug.cgi?id=158108

        Reviewed by Enrica Casucci.

        Added a regression test for accessing shadowRoot.activeElement after re-focusing an element
        inside DOMNodeRemovedFromDocument event and unload events.

        This patch also restores the expected result of fast/events/onblur-remove.html to that of when
        the test was in r15720 and updated in r19014. The expected result was changed in r85495 as it was
        converted to a eventSender test.

        * fast/dom/Range/range-created-during-remove-children-expected.txt:
        * fast/dom/Range/range-created-during-remove-children.html: Update the test to use unload event
        of an iframe since we no longer fire blur event when removing a focused element.
        * fast/dom/adopt-node-prevented-expected.txt:
        * fast/dom/adopt-node-prevented.html: Ditto.
        * fast/dom/remove-body-during-body-replacement2.html: Ditto. Use DOMNodeRemoved instead.
        * fast/events/nested-event-remove-node-crash.html: Ditto. Use DOMNodeRemovedFromDocument instead.
        * fast/events/onblur-remove-expected.txt:
        * fast/events/onblur-remove.html: See above.
        * fast/shadow-dom/shadow-root-active-element-crash-expected.txt: Added.
        * fast/shadow-dom/shadow-root-active-element-crash.html: Added.

2016-05-27  Brent Fulgham  <bfulgham@apple.com>

        CSP: Fire 'load' events even when blocking loads via 'frame-src'.
        https://bugs.webkit.org/show_bug.cgi?id=153150
        <rdar://problem/24383162>

        Reviewed by Daniel Bates.

        * TestExpectations: Unskip the cross-origin load test.
        * http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load-expected.txt: Update to match
        our message format.

2016-05-27  Saam barati  <sbarati@apple.com>

        ShadowChicken/DebuggerCallFrame don't properly handle when the entry stack frame is a tail deleted frame
        https://bugs.webkit.org/show_bug.cgi?id=158131

        Reviewed by Yusuke Suzuki.

        * inspector/debugger/resources/tail-deleted-frames-from-vm-entry.js: Added.
        (timeout):
        (bar):
        * inspector/debugger/tail-deleted-frames-from-vm-entry-expected.txt: Added.
        * inspector/debugger/tail-deleted-frames-from-vm-entry.html: Added.

2016-05-27  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] accessibility/gtk/no-notification-for-unrendered-iframe-children.html began failing after r201416
        https://bugs.webkit.org/show_bug.cgi?id=158152

        Reviewed by Chris Fleizach.

        The failure is actually a bug fix because only one child is being added, but two
        notifications were being emitted. Now there is only one notification. To verify
        this was the case, we really should examine the child reportedly being added. That
        child is the ATK event's any_data, so pass along that child to the listener.

        The failing test and associated expectations were modified to remove the duplicate
        notification and include the title of the added child for the notification we get.

        * accessibility/gtk/no-notification-for-unrendered-iframe-children.html: Updated.
        * accessibility/gtk/no-notification-for-unrendered-iframe-children-expected.txt: Updated.

2016-05-27  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Update RTCPeerConnection overloaded legacy operations to return a Promise
        https://bugs.webkit.org/show_bug.cgi?id=158114

        Reviewed by Eric Carlson.

        Updated existing tests (see below).

        * fast/mediastream/RTCPeerConnection-overloaded-operations-expected.txt:
        * fast/mediastream/RTCPeerConnection-overloaded-operations-params-expected.txt:
        * fast/mediastream/RTCPeerConnection-overloaded-operations-params.html:
        Test various combinations of good and bad arguments and verify that no errors are thrown.
        * fast/mediastream/RTCPeerConnection-overloaded-operations.html:
        Test that all overloaded versions return a promise.
        * fast/mediastream/resources/promise-utils.js: Added.
        Shared utils to make it easier to test async promise APIs.
        (ensurePromise):
        (promiseShouldReject):
        (promiseShouldNotRejectWithTypeError.):

2016-05-27  Antoine Quint  <graouts@apple.com>

        Video play glyph not visible if initially invisible when contained in a "-webkit-overflow-scrolling: touch" container
        https://bugs.webkit.org/show_bug.cgi?id=158146
        <rdar://problem/25816307>

        Reviewed by Dean Jackson.

        Testing that on iOS the play glyph for <video> controls when play button would be initially invisible when contained
        in a scrollable container is indeed composited.

        * platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container-expected.txt: Added.
        * platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: Added.

2016-05-26  Yoav Weiss  <yoav@yoav.ws>

        Preload single download tests.
        https://bugs.webkit.org/show_bug.cgi?id=157988

        Reviewed by Alex Christensen.

        Make sure preload is only downloading a single resource, which is properly reused.

        * http/tests/preload/resources/single_download_preload.html: Added.
        * http/tests/preload/single_download_preload_runner-expected.txt: Added.
        * http/tests/preload/single_download_preload_runner.html: Added.

2016-05-26  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening.
        Release some passing tests which have been marked to Crash, Failure.

        * platform/efl/TestExpectations:

2016-05-26  Nan Wang  <n_wang@apple.com>

        AX: Wrong CharacterOffset from VisiblePosition with composed characters
        https://bugs.webkit.org/show_bug.cgi?id=158138

        Reviewed by Chris Fleizach.

        * accessibility/mac/character-offset-visible-position-conversion-with-emoji-expected.txt: Added.
        * accessibility/mac/character-offset-visible-position-conversion-with-emoji.html: Added.

2016-05-26  Brent Fulgham  <bfulgham@apple.com>

        DOM mutation methods fail to re-check validity of node insertion after removing nodes from old parent
        https://bugs.webkit.org/show_bug.cgi?id=81991
        <rdar://problem/11120506>

        Reviewed by Chris Dumez.

        Add a test case for an old DOM mutation bug that was fixed long ago.

        * fast/dom/circular-dom-tree-crash-expected.txt: Added.
        * fast/dom/circular-dom-tree-crash.html: Added.

2016-05-26  Ryan Haddad  <ryanhaddad@apple.com>

        Marking js/function-apply.html as a flaky timeout on mac debug wk2
        https://bugs.webkit.org/show_bug.cgi?id=158133

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-05-25  Geoffrey Garen  <ggaren@apple.com>

        replaceable own properties seem to ignore replacement after property caching
        https://bugs.webkit.org/show_bug.cgi?id=158091

        Reviewed by Darin Adler.

        * js/cached-window-properties.html: Augmneted this test to enter cacheable
        dictionary mode in order to demonstrate a bug that is not visible otherwise.

        Factored out a helper test function.

2016-05-26  Pranjal Jumde  <pjumde@apple.com>

        Sites served over insecure connections should not be allowed to use geolocation.
        https://bugs.webkit.org/show_bug.cgi?id=157423
        <rdar://problem/23751632>

        Reviewed by Brent Fulgham.

        Add missing test content from r201423.

        * http/tests/security/resources/geolocation-over-insecure-content.html: Added.
        * http/tests/security/resources/geolocation-over-mixed-content-block.html: Added.
        * http/tests/security/resources/geolocation-over-mixed-content.html: Added.

2016-05-26  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update test expectation for imported blink test.
        https://bugs.webkit.org/show_bug.cgi?id=158122

        Reviewed by Alex Christensen.

        The crash on imported/blink/compositing/perspective-origin-overflow-hidden.html
        was fixed in https://trac.webkit.org/changeset/192166.

        * platform/win/TestExpectations:

2016-05-26  Brady Eidson  <beidson@apple.com>

        Release JSC test test-observegc.js.layout failing.
        https://bugs.webkit.org/show_bug.cgi?id=158126

        Unreviewed.

        Move this test to a directory that is less... "special"
        
        * fast/misc/resources/test-observegc.js: Renamed from LayoutTests/js/script-tests/test-observegc.js.
        * fast/misc/test-observegc-expected.txt: Renamed from LayoutTests/js/test-observegc-expected.txt.
        * fast/misc/test-observegc.html: Added.
        * js/test-observegc.html: Removed.

2016-05-26  Pranjal Jumde  <pjumde@apple.com>

        Sites served over insecure connections should not be allowed to use geolocation.
        https://bugs.webkit.org/show_bug.cgi?id=157423
        <rdar://problem/23751632>

        Reviewed by Brent Fulgham.

        * http/tests/security/geolocation-over-insecure-content.html: Added.
        * http/tests/security/geolocation-over-mixed-content-block.html: Added.
        * http/tests/security/geolocation-over-mixed-content.html: Added.
        * http/tests/security/insecure-geolocation-expected.txt: Added.
        * http/tests/security/insecure-geolocation.html: Added.
        * http/tests/security/mixedcontent-geolocation-block-insecure-content-expected.txt: Added.
        * http/tests/security/mixedcontent-geolocation-block-insecure-content.html: Added.
        * http/tests/security/mixedcontent-geolocation-expected.txt: Added.
        * http/tests/security/mixedcontent-geolocation.html: Added.
        * http/tests/security/sandboxed-iframe-geolocation-watchPosition.html:
          iframe is loaded over secure connection to avoid geolocation failures
        * http/tests/security/sandboxed-iframe-geolocation-getCurrentPosition.html: 
          iframe is loaded over secure connection to avoid geolocation failures

2016-05-26  Brady Eidson  <beidson@apple.com>

        Implement internals.observeGC to get called back when a Javascript object is GC'ed.
        https://bugs.webkit.org/show_bug.cgi?id=158093

        Reviewed by Geoffrey Garen.

        * js/script-tests/test-observegc.js: Added.
        * js/test-observegc-expected.txt: Added.
        * js/test-observegc.html: Added.

2016-05-26  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] Allow empty strings in FontFace constructor
        https://bugs.webkit.org/show_bug.cgi?id=158112

        Reviewed by Darin Adler.

        * fast/text/font-face-empty-string-expected.txt: Added.
        * fast/text/font-face-empty-string.html: Added.

2016-05-26  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: RTCSessionDescription: Make attributes readonly (and remove custom binding)
        https://bugs.webkit.org/show_bug.cgi?id=157858

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCSessionDescription-expected.txt:
        * fast/mediastream/RTCSessionDescription.html:
        Add tests for mandatory constructor dictionary argument and required 'type' member (also
        check its value). Verify that attributes are read-only.

2016-05-25  Yoav Weiss  <yoav@yoav.ws>

        Fix ResourceTiming multiple entries per resource and test initiator
        https://bugs.webkit.org/show_bug.cgi?id=158094

        Reviewed by Alex Christensen.

        Make sure that CachedResource that was needed by two different elements only adds one entry, with the right (first) initiatorType.

        * http/tests/performance/performance-resource-timing-initiator-css.html: Added. Makes sure css has the right initiator type.
        * http/tests/performance/performance-resource-timing-initiator-css-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-initiator-no-override.html: Added. Makes sure that only one entry is added and
        that its initiator info doesn't get overriden.
        * http/tests/performance/performance-resource-timing-initiator-no-override-expected.txt: Added.

2016-05-25  Yoav Weiss  <yoav@yoav.ws>

        Fix ResourceTiming XHR flakiness
        https://bugs.webkit.org/show_bug.cgi?id=158019

        Reviewed by Alex Christensen.

        Test fixes and additions that make sure XHR tests are not run as part of XHR's onload event, as ResourceTiming entries are added
        after it.

        * TestExpectations:
        * http/tests/performance/performance-resource-timing-cached-entries.html: Avoid running the tests as part of the XHR's load event.
        * http/tests/performance/performance-resource-timing-xhr-single-entry-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-xhr-single-entry.html: Test that XHR fetch adds a single entry with correct initiatorType.

2016-05-25  Benjamin Poulain  <benjamin@webkit.org>

        [JSC] RegExp with deeply nested subexpressions overflow the stack in Yarr
        https://bugs.webkit.org/show_bug.cgi?id=158011
        rdar://problem/25946592

        Reviewed by Saam Barati.

        * js/script-tests/stack-overflow-arrity-catch.js:
        With the new failure, this test can fail on allocating
        the RegExp for a valid reason.

        The new expression should not have this issue.
        * js/script-tests/stack-overflow-regexp.js: Added.
        (shouldThrow.recursiveCall):
        (shouldThrow):
        (recursiveCall):
        * js/stack-overflow-regexp-expected.txt: Added.
        * js/stack-overflow-regexp.html: Added.

2016-05-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/blink/http/tests/plugins/get-url-notify-on-removal.html as a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=158101

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-05-25  Zalan Bujtas  <zalan@apple.com>

        Setting overflow:hidden does not always repaint clipped content.
        https://bugs.webkit.org/show_bug.cgi?id=116994
        rdar://problem/26476697

        Issue repaint for both layout and visual overflow rects when the container starts
        clipping overflow content.

        Reviewed by David Hyatt.

        * fast/repaint/overflow-hidden-repaint-expected.html: Added.
        * fast/repaint/overflow-hidden-repaint.html: Added.

2016-05-25  Daniel Bates  <dabates@apple.com> and Brent Fulgham  <bfulgham@apple.com>

        [WebSockets] No infrastructure for testing secure web sockets (wss)
        https://bugs.webkit.org/show_bug.cgi?id=157884
        <rdar://problem/26477197>

        Reviewed by Andy Estes.

        * http/tests/websocket/tests/hybi/simple-wss-expected.txt: Added.
        * http/tests/websocket/tests/hybi/simple-wss.html: Added.

2016-05-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/css/shared-stylesheet-mutation.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=158085

        Unreviewed test gardening.

        * TestExpectations:

2016-05-25  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Update <fixed-size> syntax
        https://bugs.webkit.org/show_bug.cgi?id=158063

        Reviewed by Darin Adler.

        Updated test to check the new expected behavior.

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

2016-05-25  Zalan Bujtas  <zalan@apple.com>

        Swap search field's cancel and result button for RTL content.
        https://bugs.webkit.org/show_bug.cgi?id=158007

        Reviewed by Dean Jackson.

        * fast/forms/resources/common.js:
        (searchCancelButtonPositionRTL):
        (searchCancelButtonPosition):
        * fast/forms/search-input-rtl.html: Added.
        * fast/forms/search-rtl.html:
        * platform/ios-simulator-wk2/fast/forms/search-rtl-expected.txt:
        * platform/ios-simulator/fast/css/text-overflow-input-expected.txt:
        * platform/ios-simulator/fast/forms/search-input-rtl-expected.txt: Added.
        * platform/mac/fast/css/text-overflow-input-expected.txt:
        * platform/mac/fast/forms/placeholder-position-expected.txt:
        * platform/mac/fast/forms/search-input-rtl-expected.png: Added.
        * platform/mac/fast/forms/search-input-rtl-expected.txt: Added.
        * platform/mac/fast/forms/search-rtl-expected.txt:

2016-05-25  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] ASSERT if calling FontFace.loaded twice with a garbage collection between them
        https://bugs.webkit.org/show_bug.cgi?id=158015

        Reviewed by Darin Adler.

        * fast/text/font-face-crash-2-expected.txt: Added.
        * fast/text/font-face-crash-2.html: Added.

2016-05-25  Antti Koivisto  <antti@apple.com>

        Shadow DOM: RenderTreePosition should determine if element has display:contents from new style
        https://bugs.webkit.org/show_bug.cgi?id=158072

        Reviewed by Darin Adler.

        * fast/shadow-dom/slot-crash.html: Added.

2016-05-25  Chris Dumez  <cdumez@apple.com>

        Update dom/Window/messageevent-source-postmessage-reified.html after r201315
        https://bugs.webkit.org/show_bug.cgi?id=158048

        Reviewed by Darin Adler.

        We need to delete a property that is part of the Window's static table
        now in order to force the reification.

        * fast/dom/Window/messageevent-source-postmessage-reified.html:

2016-05-25  Antoine Quint  <graouts@apple.com>

        Elements with backdrop-filter cannot be clipped with clip-path or mask
        https://bugs.webkit.org/show_bug.cgi?id=142662
        <rdar://problem/20150192>

        Reviewed by Dean Jackson.

        New test that checks that applying a backdrop-filter and a clip-path on a single
        element has the same effect as applying a clip-path on a parent of a child with
        a backdrop-filter.

        * css3/filters/backdrop/backdrop-filter-with-clip-path-expected.txt: Added.
        * css3/filters/backdrop/backdrop-filter-with-clip-path.html: Added.
        * platform/ios-simulator/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.html: Added.
        * platform/mac/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.png: Added.

2016-05-24  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] Crash during font download failure after garbage collection
        https://bugs.webkit.org/show_bug.cgi?id=158013
        <rdar://problem/25148032>

        Reviewed by Darin Adler.

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

201-05-24  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r201349.

        This change caused compositing tests to assert on iOS
        simulator

        Reverted changeset:

        "Elements with backdrop-filter cannot be clipped with clip-
        path or mask"
        https://bugs.webkit.org/show_bug.cgi?id=142662
        http://trac.webkit.org/changeset/201349

2016-05-24  Ada Chan  <adachan@apple.com>

        Only set overflow:hidden on -webkit-media-controls when the placeholder is showing.
        https://bugs.webkit.org/show_bug.cgi?id=157975

        Reviewed by Eric Carlson.

        This is a Mac only test. The media controls panel should still be visible
        even if the media element's height is very short.

        * TestExpectations:
        * media/mac/controls-panel-not-clipped-out-expected.html: Added.
        * media/mac/controls-panel-not-clipped-out.html: Added.
        * platform/mac/TestExpectations:

        * platform/mac/media/media-document-audio-repaint-expected.txt:
        * platform/mac/media/video-zoom-controls-expected.txt:
        Rebaseline tests.

2016-05-24  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: RTCIceCandidate: Make attributes readonly (and update constructor arg)
        https://bugs.webkit.org/show_bug.cgi?id=157859

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCIceCandidate-expected.txt:
        Small unrelated fix: s/a argument/an argument/ (test was previously broken).
        * fast/mediastream/RTCIceCandidate.html:
        Test without constructor arguments and writing to the read-only attributes.

2016-05-24  Antoine Quint  <graouts@apple.com>

        Elements with backdrop-filter cannot be clipped with clip-path or mask
        https://bugs.webkit.org/show_bug.cgi?id=142662
        <rdar://problem/20150192>

        Reviewed by Dean Jackson.

        New test that checks that applying a backdrop-filter and a clip-path on a single
        element has the same effect as applying a clip-path on a parent of a child with
        a backdrop-filter.

        * css3/filters/backdrop/backdrop-filter-with-clip-path-expected.txt: Added.
        * css3/filters/backdrop/backdrop-filter-with-clip-path.html: Added.
        * platform/ios-simulator/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.html: Added.
        * platform/mac/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.png: Added.

2016-05-24  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Update failing RTCPeerConnection and RTCRtpSender tests
        https://bugs.webkit.org/show_bug.cgi?id=158023

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt:
        Update results with more specific TypeError.
        * fast/mediastream/RTCRtpSender-replaceTrack-expected.txt:
        Update test to match Promise rejections introduce in r201080.

2016-05-24  Zalan Bujtas  <zalan@apple.com>

        fast/table/neighboring-cells-when-collapsed-border-changes.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=158009

        Reviewed by David Hyatt.

        RenderTable::invalidateCollapsedBorders() early returns on m_collapsedEmptyBorderIsPresent
        which prevents us from marking neighboring cells dirty when style changes.
        Decouple the "invalidate the collapsed borders" and the "mark the neighboring cells dirty" logic.

        * fast/table/border-collapsing/cached-change-cell-border-width-expected.txt: Progression. FF agrees.
        * fast/table/neighboring-cells-when-collapsed-border-changes.html:
        * platform/ios-simulator-wk1/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:
        * platform/mac-wk1/TestExpectations:
        * platform/mac/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:

2016-05-24  Ryan Haddad  <ryanhaddad@apple.com>

        Marking mathml/wbr-in-mroot-crash.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=157990

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-05-24  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r201323.

        One of the LayoutTests added with this change fails on all
        platforms. Rolling out until ResourceTiming flakiness fix is
        landed

        Reverted changeset:

        "Add a few initiator tests to resource timing."
        https://bugs.webkit.org/show_bug.cgi?id=157986
        http://trac.webkit.org/changeset/201323

2016-05-24  Alex Christensen  <achristensen@webkit.org>

        Unskip passing test after r201336
        https://bugs.webkit.org/show_bug.cgi?id=156812

        * platform/ios-simulator/TestExpectations:
        compositing/webgl/webgl-reflection.html passes now.

2016-05-24  Filip Pizlo  <fpizlo@apple.com>

        LLInt64 should have typed array fast paths for get_by_val
        https://bugs.webkit.org/show_bug.cgi?id=157931

        Reviewed by Keith Miller.

        * js/regress/get_by_val-Int32Array-expected.txt: Added.
        * js/regress/get_by_val-Int32Array.html: Added.
        * js/regress/script-tests/get_by_val-Int32Array.js: Added.

2016-05-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline several tests after r200116.

        We are now correctly positioning RTL scrollbars.

        * platform/gtk/fast/block/float/026-expected.png:
        * platform/gtk/fast/block/float/026-expected.txt:
        * platform/gtk/fast/block/float/028-expected.png:
        * platform/gtk/fast/block/float/028-expected.txt:
        * platform/gtk/fast/overflow/unreachable-overflow-rtl-bug-expected.png:
        * platform/gtk/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:

2016-05-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Fix wrong expectations of fast/harness/sample-fail-mismatch-reftest.html.

        The test is flaky, but in this case  Pass means it failed and ImageOnlyFailure that it passed.

        * platform/gtk/TestExpectations:

2016-05-24  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix behavior of flexible track breadths
        https://bugs.webkit.org/show_bug.cgi?id=157834

        Reviewed by Sergio Villar Senin.

        This patch is fixing 2 issues that are interrelated:
        1) Flex sizes are invalid as min track sizing function.
        2) Flex sizes outside minmax() behave as auto minimum.

        The patch includes new test cases checking specifically these 2 issues.
        In addition several tests results have been updated to reflect
        the new behavior. Also, some cases that are now invalid and
        were not testing anything new have been removed.

        * fast/css-grid-layout/flex-and-content-sized-resolution-columns-expected.txt:
        * fast/css-grid-layout/flex-and-content-sized-resolution-columns.html:
        * fast/css-grid-layout/flex-content-resolution-columns-expected.txt:
        * fast/css-grid-layout/flex-content-resolution-columns.html:
        * fast/css-grid-layout/flex-content-resolution-rows-expected.txt:
        * fast/css-grid-layout/flex-content-resolution-rows.html:
        * fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-gutters-and-flex-content-expected.txt:
        * fast/css-grid-layout/grid-gutters-and-flex-content.html:
        * fast/css-grid-layout/grid-preferred-logical-widths.html:
        * fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
        * fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:

2016-05-24  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Implement Fetch redirect mode
        https://bugs.webkit.org/show_bug.cgi?id=157837

        Reviewed by Alex Christensen.

        * http/tests/fetch/caching-with-different-options-expected.txt: Added.
        * http/tests/fetch/caching-with-different-options.html: Added.
        * http/tests/fetch/resources/redirect-with-cache.php: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:

2016-05-23  Yoav Weiss  <yoav@yoav.ws>

        Add a few initiator tests to resource timing.
        https://bugs.webkit.org/show_bug.cgi?id=157986

        Reviewed by Darin Adler.

        Adds tests that make sure that when a resource is requested multiple times by different
        elements, its initiator type remain the first one that triggered the fetch.

        * http/tests/performance/performance-resource-timing-initiator-css-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-initiator-css.html: Added.
        * http/tests/performance/performance-resource-timing-initiator-no-override-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-initiator-no-override.html: Added.

2016-05-23  Zalan Bujtas  <zalan@apple.com>

        Skip fast/table/neighboring-cells-when-collapsed-border-changes on WK1 for now.

        Unreviewed.

        * platform/mac-wk1/TestExpectations:

2016-05-23  Zalan Bujtas  <zalan@apple.com>

        Changing border color and size simultaneously fails to repaint.
        https://bugs.webkit.org/show_bug.cgi?id=157967
        <rdar://problem/26423918>

        Reviewed by David Hyatt.

        This patch ensures that the neighboring tables cells are dirtied when collapsed border change requires layout.

        * fast/table/neighboring-cells-when-collapsed-border-changes-expected.html: Added.
        * fast/table/neighboring-cells-when-collapsed-border-changes.html: Added.

2016-05-23  Jiewen Tan  <jiewen_tan@apple.com>

        Null popstate event fired when navigating back to a cached page with a stateless history entry
        https://bugs.webkit.org/show_bug.cgi?id=157963
        <rdar://problem/23414840>

        Reviewed by Brent Fulgham.

        * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-expected.txt: Added.
        * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache-expected.txt: Added.
        * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: Added.
        * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry.html: Added.
        * fast/loader/stateobjects/resources/no-popstate-when-back-to-stateless-entry-1.html: Added.
        * fast/loader/stateobjects/resources/no-popstate-when-back-to-stateless-entry-2.html: Added.

2016-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/console/console-time.html as a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=158006

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Marking mathml/wbr-in-mroot-crash.html as a timeout on mac release
        https://bugs.webkit.org/show_bug.cgi?id=157990

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-05-23  Commit Queue  <commit-queue@webkit.org>

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

        The LayoutTest added with this change is failing on mac-wk1
        (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "Changing border color and size simultaneously fails to
        repaint."
        https://bugs.webkit.org/show_bug.cgi?id=157967
        http://trac.webkit.org/changeset/201296

2016-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/unit-tests/heap-snapshot-collection-event.html as a flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=157999

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-05-23  Zalan Bujtas  <zalan@apple.com>

        Changing border color and size simultaneously fails to repaint.
        https://bugs.webkit.org/show_bug.cgi?id=157967
        <rdar://problem/26423918>

        Reviewed by David Hyatt.

        This patch ensures that the neighboring tables cells are dirtied when collapsed border change requires layout.

        * fast/table/neighboring-cells-when-collapsed-border-changes-expected.html: Added.
        * fast/table/neighboring-cells-when-collapsed-border-changes.html: Added.

2016-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r200414.

        This change appears to have broken the 'write a reply' field
        on Nextdoor.com

        Reverted changeset:

        "Clicks inside button elements are sometimes discarded when
        the mouse moves"
        https://bugs.webkit.org/show_bug.cgi?id=39620
        http://trac.webkit.org/changeset/200414

2016-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/text-autosizing/ios/text-autosizing-after-back.html as a flaky timeout on Mac and iOS
        https://bugs.webkit.org/show_bug.cgi?id=157589

        Unreviewed test gardening.

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

2016-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/frames/crash-during-iframe-load-stop.html as a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=157849

        Unreviewed test gardening.

        * TestExpectations:

2016-05-22  Saam barati  <sbarati@apple.com>

        REGRESSION(r199075): String.prototype.replace fails after being used many times with different replace values
        https://bugs.webkit.org/show_bug.cgi?id=157968
        <rdar://problem/26404735>

        Reviewed by Ryosuke Niwa and Filip Pizlo.

        * TestExpectations:

2016-05-20  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed test gardening after r201237 exposed an issue.

        * TestExpectations:

2016-05-20  Joseph Pecoraro  <pecoraro@apple.com>

        Remove LegacyProfiler
        https://bugs.webkit.org/show_bug.cgi?id=153565

        Reviewed by Saam Barati.

        * fast/profiler/anonymous-event-handler-expected.txt: Removed.
        * fast/profiler/anonymous-event-handler.html: Removed.
        * fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Removed.
        * fast/profiler/anonymous-function-called-from-different-contexts.html: Removed.
        * fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Removed.
        * fast/profiler/anonymous-function-calls-built-in-functions.html: Removed.
        * fast/profiler/anonymous-function-calls-eval-expected.txt: Removed.
        * fast/profiler/anonymous-function-calls-eval.html: Removed.
        * fast/profiler/anonymous-functions-with-display-names-expected.txt: Removed.
        * fast/profiler/anonymous-functions-with-display-names.html: Removed.
        * fast/profiler/apply-expected.txt: Removed.
        * fast/profiler/apply.html: Removed.
        * fast/profiler/built-in-function-calls-anonymous-expected.txt: Removed.
        * fast/profiler/built-in-function-calls-anonymous.html: Removed.
        * fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Removed.
        * fast/profiler/built-in-function-calls-user-defined-function.html: Removed.
        * fast/profiler/call-expected.txt: Removed.
        * fast/profiler/call-register-leak-expected.txt: Removed.
        * fast/profiler/call-register-leak.html: Removed.
        * fast/profiler/call.html: Removed.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Removed.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
        * fast/profiler/compare-multiple-profiles-expected.txt: Removed.
        * fast/profiler/compare-multiple-profiles.html: Removed.
        * fast/profiler/constructor-expected.txt: Removed.
        * fast/profiler/constructor.html: Removed.
        * fast/profiler/dead-time-expected.txt: Removed.
        * fast/profiler/dead-time.html: Removed.
        * fast/profiler/document-dot-write-expected.txt: Removed.
        * fast/profiler/document-dot-write.html: Removed.
        * fast/profiler/event-handler-expected.txt: Removed.
        * fast/profiler/event-handler.html: Removed.
        * fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Removed.
        * fast/profiler/execution-context-and-eval-on-same-line.html: Removed.
        * fast/profiler/inline-event-handler-expected.txt: Removed.
        * fast/profiler/inline-event-handler.html: Removed.
        * fast/profiler/many-calls-in-the-same-scope-expected.txt: Removed.
        * fast/profiler/many-calls-in-the-same-scope.html: Removed.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Removed.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Removed.
        * fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Removed.
        * fast/profiler/multiple-and-different-scoped-function-calls.html: Removed.
        * fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt: Removed.
        * fast/profiler/multiple-anonymous-functions-called-from-the-same-function.html: Removed.
        * fast/profiler/multiple-frames-expected.txt: Removed.
        * fast/profiler/multiple-frames.html: Removed.
        * fast/profiler/named-functions-with-display-names-expected.txt: Removed.
        * fast/profiler/named-functions-with-display-names.html: Removed.
        * fast/profiler/nested-anonymous-functon-expected.txt: Removed.
        * fast/profiler/nested-anonymous-functon.html: Removed.
        * fast/profiler/nested-start-and-stop-profiler-expected.txt: Removed.
        * fast/profiler/nested-start-and-stop-profiler.html: Removed.
        * fast/profiler/no-execution-context-expected.txt: Removed.
        * fast/profiler/no-execution-context.html: Removed.
        * fast/profiler/one-execution-context-expected.txt: Removed.
        * fast/profiler/one-execution-context.html: Removed.
        * fast/profiler/profile-calls-in-included-file-expected.txt: Removed.
        * fast/profiler/profile-calls-in-included-file.html: Removed.
        * fast/profiler/profile-with-no-title-expected.txt: Removed.
        * fast/profiler/profile-with-no-title.html: Removed.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Removed.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
        * fast/profiler/profiling-from-a-nested-location-expected.txt: Removed.
        * fast/profiler/profiling-from-a-nested-location.html: Removed.
        * fast/profiler/resources/other-frame.html: Removed.
        * fast/profiler/resources/other-window.html: Removed.
        * fast/profiler/resources/profiler-test-JS-resources.js: Removed.
        * fast/profiler/simple-event-call-expected.txt: Removed.
        * fast/profiler/simple-event-call.html: Removed.
        * fast/profiler/simple-no-level-change-expected.txt: Removed.
        * fast/profiler/simple-no-level-change.html: Removed.
        * fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Removed.
        * fast/profiler/start-and-stop-profiler-multiple-times.html: Removed.
        * fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Removed.
        * fast/profiler/start-and-stop-profiling-in-the-same-function.html: Removed.
        * fast/profiler/start-but-dont-stop-profiling-expected.txt: Removed.
        * fast/profiler/start-but-dont-stop-profiling.html: Removed.
        * fast/profiler/stop-profiling-after-setTimeout-expected.txt: Removed.
        * fast/profiler/stop-profiling-after-setTimeout.html: Removed.
        * fast/profiler/stop-then-function-call-expected.txt: Removed.
        * fast/profiler/stop-then-function-call.html: Removed.
        * fast/profiler/throw-exception-from-eval-expected.txt: Removed.
        * fast/profiler/throw-exception-from-eval.html-disabled: Removed.
        * fast/profiler/two-execution-contexts-expected.txt: Removed.
        * fast/profiler/two-execution-contexts.html: Removed.
        * fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Removed.
        * fast/profiler/user-defined-function-calls-built-in-functions.html: Removed.
        * fast/profiler/window-dot-eval-expected.txt: Removed.
        * fast/profiler/window-dot-eval.html: Removed.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:

2016-05-20  Zalan Bujtas  <zalan@apple.com>

        `width: 1%` on nested table cell causes its table to hog horizontal space
        https://bugs.webkit.org/show_bug.cgi?id=144696
        <rdar://problem/20839572>

        Reviewed by David Hyatt and Tim Horton.
        
        This patch is based on https://chromium.googlesource.com/chromium/src/+/9428cfb16993a2329e87c65da096ca295132ef0f

        * fast/table/inner-percent-width-affects-outer-floated-div-expected.html: Added.
        * fast/table/inner-percent-width-affects-outer-floated-div.html: Added.
        * fast/table/inner-percent-width-doesnt-affect-ancestor-columns-expected.html: Added.
        * fast/table/inner-percent-width-doesnt-affect-ancestor-columns.html: Added.
        * platform/mac/fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt:
        * platform/mac/fast/table/max-width-integer-overflow-expected.txt:

2016-05-20  Brady Eidson  <beidson@apple.com>

        Modern IDB: Properly handle blobs in Workers.
        https://bugs.webkit.org/show_bug.cgi?id=157947

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/blob-simple-workers-expected.txt: Added.
        * storage/indexeddb/modern/blob-simple-workers.html: Added.
        * storage/indexeddb/modern/resources/blob-simple-workers.js: Added.
        
2016-05-20  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] REGRESSION(r184899): Ascent adjustments are applied to web fonts
        https://bugs.webkit.org/show_bug.cgi?id=157954
        <rdar://problem/24204349>

        Reviewed by Dean Jackson.

        * fast/text/ascent-adjustment-webfont-expected-mismatch.html: Added.
        * fast/text/ascent-adjustment-webfont.html: Added.
        * fast/text/resources/Helvetica-light.svg: Added.

2016-05-20  Enrica Casucci  <enrica@apple.com>

        Drag cannot start if no drag data or custom data is available in the Pasteboard.
        https://bugs.webkit.org/show_bug.cgi?id=157911
        rdar://problem/24577706

        Reviewed by Tim Horton.

        * fast/events/draggable-div-customdata-expected.txt: Added.
        * fast/events/draggable-div-customdata.html: Added.
        * platform/ios-simulator/TestExpectations
        * platform/mac-wk2/TestExpectations

2016-05-20  Alex Christensen  <achristensen@webkit.org>

        Fix null dereferencing in CSSAnimationTriggerScrollValue::equals
        https://bugs.webkit.org/show_bug.cgi?id=157930

        Reviewed by Dean Jackson.

        * fast/css/compare-animation-trigger-expected.txt: Added.
        * fast/css/compare-animation-trigger.html: Added.

2016-05-20  Dave Hyatt  <hyatt@apple.com>

        Scrolling broken in iTunes connect pages
        https://bugs.webkit.org/show_bug.cgi?id=157678

        Reviewed by Zalan Bujtas.

        * fast/flexbox/nested-column-intrinsic-min-disabled-expected.html: Added.
        * fast/flexbox/nested-column-intrinsic-min-disabled.html: Added.

2016-05-20  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Layout tests related to text alternative computation need to be done differently
        https://bugs.webkit.org/show_bug.cgi?id=157187

        Create several utility methods to facilitate retrieval of platform-independent
        attribute values from platform-specific attributes:

        - platformValueForW3CName() and platformValueForW3CDescription() to retrieve a
          specific piece of text alternative information, stripping off the platform
          attribute name by default. These methods should make it possible to share tests
          and expectations files because the text alternative calculation defined by the
          W3C accessibility specifications should be the same for all platforms. (The
          differences are the result of the unique platform mappings.)

        - platformTextAlternatives() to dump out all the text alternative attributes and
          values, preserving the platform-specific attribute name. This, along with the
          use of the platformValue* methods with attribute name enabled, should make it
          possible to have shared tests with platform-specific expectations without the
          need to check the platform in the test itself.

        - platformRoleForComboBox() and platformRoleForStaticText() to eliminate the
          need for platform-specific expectations files simply because such an element
          happens to be included in the test file and verifying that element's role is
          desired.

        Begin using these methods in the tests related to text alternative computation
        which had platform-specific checks, update the expectations files when needed,
        and remove now-obsolete platform-specific expectations files.

        Reviewed by Chris Fleizach.

        * accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Updated.
        * accessibility/alt-tag-on-image-with-nonimage-role.html: Updated.
        * accessibility/aria-help-expected.txt: Added.
        * accessibility/aria-help.html: Updated.
        * accessibility/aria-label-expected.txt: Updated.
        * accessibility/aria-label.html: Updated.
        * accessibility/aria-labeled-with-hidden-node-expected.txt: Updated.
        * accessibility/aria-labeled-with-hidden-node.html: Updated.
        * accessibility/aria-labelledby-on-input-expected.txt: Updated.
        * accessibility/aria-labelledby-on-input.html: Updated.
        * accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Updated.
        * accessibility/aria-labelledby-overrides-aria-labeledby.html: Updated.
        * accessibility/aria-labelledby-overrides-label-expected.txt: Updated.
        * accessibility/aria-labelledby-overrides-label.html: Updated.
        * accessibility/aria-labelledby-stay-within-expected.txt: Updated.
        * accessibility/aria-labelledby-stay-within.html: Updated.
        * accessibility/aria-labelledby-with-descendants-expected.txt: Updated.
        * accessibility/aria-labelledby-with-descendants.html: Updated.
        * accessibility/aria-namefrom-author-expected.txt: Updated.
        * accessibility/aria-namefrom-author.html: Updated.
        * accessibility/aria-text-role-expected.txt: Updated.
        * accessibility/aria-text-role.html: Updated.
        * accessibility/canvas-description-and-role-expected.txt: Updated.
        * accessibility/canvas-description-and-role.html: Updated.
        * accessibility/canvas-fallback-content.html: Updated.
        * accessibility/empty-image-with-title-expected.txt: Updated.
        * accessibility/empty-image-with-title.html: Updated.
        * accessibility/fieldset-element-expected.txt: Updated.
        * accessibility/fieldset-element.html: Updated.
        * accessibility/focusable-div-expected.txt: Updated.
        * accessibility/focusable-div.html: Updated.
        * accessibility/help-text.html: Updated.
        * accessibility/img-alt-tag-only-whitespace-expected.txt: Updated.
        * accessibility/img-alt-tag-only-whitespace.html: Updated.
        * accessibility/img-aria-button-alt-tag-expected.txt: Updated.
        * accessibility/img-aria-button-alt-tag.html: Updated.
        * accessibility/img-fallsback-to-title.html: Updated.
        * accessibility/input-image-alt-expected.txt: Updated.
        * accessibility/input-image-alt.html: Updated.
        * accessibility/loading-iframe-sends-notification.html: Updated.
        * accessibility/self-referencing-aria-labelledby-expected.txt: Updated.
        * accessibility/self-referencing-aria-labelledby.html: Updated.
        * accessibility/svg-bounds.html: Updated.
        * accessibility/svg-group-element-with-title-expected.txt: Updated.
        * accessibility/svg-group-element-with-title.html: Updated.
        * accessibility/svg-image-expected.txt: Updated.
        * accessibility/svg-image.html: Updated.
        * accessibility/svg-labelledby-expected.txt: Updated.
        * accessibility/svg-labelledby.html: Updated.
        * accessibility/svg-remote-element.html: Updated.
        * accessibility/w3c-svg-description-calculation.html: Updated.
        * accessibility/w3c-svg-name-calculation.html: Updated.
        * platform/gtk/accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Removed.
        * platform/gtk/accessibility/aria-labeled-with-hidden-node-expected.txt: Removed.
        * platform/gtk/accessibility/aria-labelledby-on-input-expected.txt: Removed.
        * platform/gtk/accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Removed.
        * platform/gtk/accessibility/aria-labelledby-overrides-label-expected.txt: Updated.
        * platform/gtk/accessibility/aria-labelledby-with-descendants-expected.txt: Removed.
        * platform/gtk/accessibility/aria-namefrom-author-expected.txt: Removed.
        * platform/gtk/accessibility/aria-text-role-expected.txt: Removed.
        * platform/gtk/accessibility/canvas-description-and-role-expected.txt: Updated.
        * platform/gtk/accessibility/empty-image-with-title-expected.txt: Updated.
        * platform/gtk/accessibility/fieldset-element-expected.txt: Removed.
        * platform/gtk/accessibility/focusable-div-expected.txt: Removed.
        * platform/gtk/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed.
        * platform/gtk/accessibility/img-aria-button-alt-tag-expected.txt: Removed.
        * platform/gtk/accessibility/img-fallsback-to-title-expected.txt: Updated.
        * platform/gtk/accessibility/input-image-alt-expected.txt: Removed.
        * platform/gtk/accessibility/self-referencing-aria-labelledby-expected.txt: Removed.
        * platform/gtk/accessibility/svg-group-element-with-title-expected.txt: Removed.
        * platform/gtk/accessibility/svg-image-expected.txt: Removed.
        * platform/gtk/accessibility/svg-labelledby-expected.txt: Removed.
        * platform/mac/accessibility/aria-help-expected.txt: Removed.
        * platform/mac/accessibility/aria-labelledby-overrides-label-expected.txt: Removed.
        * platform/mac/accessibility/canvas-description-and-role-expected.txt: Updated.
        * platform/mac/accessibility/fieldset-element-expected.txt: Removed.
        * platform/mac/accessibility/img-fallsback-to-title-expected.txt: Updated.
        * platform/win/accessibility/canvas-description-and-role-expected.txt: Updated.
        * resources/accessibility-helper.js:
        (platformValueForW3CName): Added.
        (platformValueForW3CDescription): Added.
        (platformTextAlternatives): Added.
        (platformRoleForComboBox): Added.
        (platformRoleForStaticText): Added.

2016-05-19  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening after r201203

        Unreviewed.

        * platform/ios-simulator/TestExpectations:

2016-05-19  Myles C. Maxfield  <mmaxfield@apple.com>

        Add John Daggett's font variant synthesis test
        https://bugs.webkit.org/show_bug.cgi?id=157935
        <rdar://problem/24133521>

        Reviewed by Dean Jackson.

        Make sure that we continue to synthesize correctly.

        * css3/font-variant-synthesis-jdaggett-expected.html: Added.
        * css3/font-variant-synthesis-jdaggett.html: Added.
        * css3/resources/gsubtest-lookup3.otf: Added.
        * platform/mac/TestExpectations:

2016-05-19  Brady Eidson  <beidson@apple.com>

        Finishing off: Modern IDB: Website data store management.
        https://bugs.webkit.org/show_bug.cgi?id=157626

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/new-database-after-user-delete-expected.txt: Added.
        * storage/indexeddb/modern/new-database-after-user-delete.html: Added.
        * storage/indexeddb/modern/resources/new-database-after-user-delete.js: Added.
        
2016-05-19  Enrica Casucci  <enrica@apple.com>

        Drag cannot start if no drag data is available in the Pasteboard.
        https://bugs.webkit.org/show_bug.cgi?id=157911
        rdar://problem/24577706

        Reviewed by Tim Horton.

        * fast/events/draggable-div-nodata-expected.txt: Added.
        * fast/events/draggable-div-nodata.html: Added.
        * platform/ios-simulator/TestExpectations
        * platform/mac-wk2/TestExpectations

2016-05-19  Jer Noble  <jer.noble@apple.com>

        [IOS] Add setting to allow playback to continue inline after exiting fullscreen.
        https://bugs.webkit.org/show_bug.cgi?id=157912

        Reviewed by Eric Carlson.

        * media/media-fullscreen-return-to-inline-expected.txt: Added.
        * media/media-fullscreen-return-to-inline.html: Added.
        * media/video-test.js:
        (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk):
        (runWithKeyDown):

2016-05-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: HeapSnapshot Instances view should remove dead objects
        https://bugs.webkit.org/show_bug.cgi?id=157920
        <rdar://problem/26375866>

        Reviewed by Timothy Hatcher.

        * inspector/unit-tests/heap-snapshot-collection-event-expected.txt: Added.
        * inspector/unit-tests/heap-snapshot-collection-event.html: Added.

2016-05-18  Filip Pizlo  <fpizlo@apple.com>

        DFG::LICMPhase shouldn't hoist type checks unless it knows that the check will succeed at the loop pre-header
        https://bugs.webkit.org/show_bug.cgi?id=144527

        Reviewed by Saam Barati.
        
        Add tests for LICM hoisting things that would only exit if hoisted.

        * js/regress/licm-dragons-expected.txt: Added.
        * js/regress/licm-dragons-out-of-bounds-expected.txt: Added.
        * js/regress/licm-dragons-out-of-bounds.html: Added.
        * js/regress/licm-dragons-overflow-expected.txt: Added.
        * js/regress/licm-dragons-overflow.html: Added.
        * js/regress/licm-dragons.html: Added.
        * js/regress/script-tests/licm-dragons-out-of-bounds.js: Added.
        (foo):
        * js/regress/script-tests/licm-dragons-overflow.js: Added.
        (foo):
        * js/regress/script-tests/licm-dragons.js: Added.
        (foo):

2016-05-19  Brian Burg  <bburg@apple.com>

        Web Inspector: use a consistent prefix for injected scripts
        https://bugs.webkit.org/show_bug.cgi?id=157715
        <rdar://problem/26287188>

        Reviewed by Alexey Proskuryakov.

        Follow-up fix to an affected test.

        * inspector/debugger/scriptParsed.html:
        Check whether the script is for CommandLineAPIModuleSource before
        checking whether it is an InjectedScript. With the new naming scheme,
        the latter is a subset of the former, so do the more specific check first.

2016-05-19  Brian Burg  <bburg@apple.com>

        Web Inspector: use a consistent prefix for injected scripts
        https://bugs.webkit.org/show_bug.cgi?id=157715
        <rdar://problem/26287188>

        Reviewed by Timothy Hatcher.

        Update how inspector tests check sourceURLs for internal scripts.

        * inspector/debugger/scriptParsed.html:
        * inspector/debugger/sourceURLs.html:

2016-05-18  Antti Koivisto  <antti@apple.com>

        Style resolution for explicitly inherited properties is inefficient
        https://bugs.webkit.org/show_bug.cgi?id=157860

        Reviewed by Andreas Kling.

        * platform/ios-simulator/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
        * platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:

        This is a progression.

2016-05-19  Yoav Weiss  <yoav@yoav.ws>

        REGRESSION (r200887): LayoutTest http/tests/performance/performance-resource-timing-cached-entries.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=157816

        Reviewed by Alexey Proskuryakov.

        Mark the test as flaky, and add console logs to try to figure out the cause for flakiness.

        * TestExpectations: Mark the test as flaky.
        * http/tests/performance/performance-resource-timing-cached-entries.html: Add prints to better identify the flakiness root cause.

2016-05-18  Jer Noble  <jer.noble@apple.com>

        webkitEnterFullscreen() does not require a user gesture when RequireUserGestureForAudioRateChange is set.
        https://bugs.webkit.org/show_bug.cgi?id=157803

        Reviewed by Eric Carlson.

        * media/video-play-audio-require-user-gesture-expected.txt: Added.
        * media/video-play-audio-require-user-gesture.html: Added.

2016-05-18  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r186569): media/restore-from-page-cache.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=147254

        Unreviewed. Removing the flaky test expectation since the test is almost always passing now.

        * platform/mac/TestExpectations:

2016-05-18  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add support for server side closing of open database connections.
        https://bugs.webkit.org/show_bug.cgi?id=157843

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/handle-user-delete-expected.txt: Added.
        * storage/indexeddb/modern/handle-user-delete.html: Added.
        * storage/indexeddb/modern/resources/handle-user-delete.js: Added.

2016-05-18  Myles C. Maxfield  <mmaxfield@apple.com>

        [OS X] Update platform/mac/fast/text/sticky-typesetting-features.html
        https://bugs.webkit.org/show_bug.cgi?id=157851

        Reviewed by Simon Fraser.

        Kerning and ligatures are enabled by default now.

        * platform/mac/fast/text/sticky-typesetting-features-expected.png:
        * platform/mac/fast/text/sticky-typesetting-features-expected.txt:
        * platform/mac/fast/text/sticky-typesetting-features.html:

2016-05-18  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r200534) Command-+ no longer zooms pages 
        https://bugs.webkit.org/show_bug.cgi?id=157826
        rdar://problem/26334636

        Reviewed by Dean Jackson.

        Need to call internals.settings.setTextAutosizingEnabled(true) earlier in some tests.

        * fast/text-autosizing/ios/line-height-text-autosizing.html:
        * fast/text-autosizing/ios/percent-adjust-length-line-height.html:
        * fast/text-autosizing/ios/percent-adjust-number-line-height.html:
        * fast/text-autosizing/ios/percent-adjust-percent-line-height.html:
        * fast/text-autosizing/mac/text-size-adjust-text-zoom-expected.html: Added.
        * fast/text-autosizing/mac/text-size-adjust-text-zoom.html: Added.
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2016-05-18  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] accessibility/meter-element.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=115633

        Reviewed by Chris Fleizach.

        Seven new test cases were added to meter-element.html for additional
        coverage. Also updated the ATK expectations for spinbutton-value.html
        to reflect that we are now exposing the value of aria-valuetext.

        * accessibility/meter-element.html: New test cases added.
        * platform/gtk/TestExpectations: Unskip the previously-failing test.
        * platform/gtk/accessibility/meter-element-expected.txt: Updated.
        * platform/gtk/accessibility/spinbutton-value-expected.txt: Updated.
        * platform/mac/accessibility/meter-element-expected.txt: Updated.

2016-05-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline inspector/debugger/command-line-api-exception.html after r201080

        Unreviewed test gardening.

        * inspector/debugger/command-line-api-exception-expected.txt:

2016-05-18  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Sync DOM exception types with WebIDL and update promise rejections
        https://bugs.webkit.org/show_bug.cgi?id=157792

        Reviewed by Eric Carlson.

        * fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
        * fast/inspector-support/uncaught-dom1-exception-expected.txt:
        * fast/inspector-support/uncaught-dom3-exception-expected.txt:
        * fast/inspector-support/uncaught-dom8-exception-expected.txt:
        * fast/mediastream/MediaDevices-getUserMedia-expected.txt:
        * fast/mediastream/MediaDevices-getUserMedia.html:
        * fast/mediastream/delayed-permission-denied-expected.txt:
        * fast/mediastream/delayed-permission-denied.html:
        * fast/mediastream/error-expected.txt:
        * fast/mediastream/error.html:
        * fast/mediastream/getusermedia-expected.txt:
        * fast/mediastream/mock-media-source-expected.txt:
        * fast/regions/selection/crash-deselect-expected.txt:
        * http/tests/media/media-stream/disconnected-frame-permission-denied-expected.txt:
        * http/tests/media/media-stream/disconnected-frame-permission-denied.html:
        * inspector/debugger/regress-133182-expected.txt:
        * inspector/debugger/setPauseOnExceptions-all-expected.txt:
        * inspector/debugger/setPauseOnExceptions-none-expected.txt:
        * inspector/debugger/setPauseOnExceptions-uncaught-expected.txt:
        * platform/efl/fast/dynamic/015-expected.txt:
        * platform/gtk/fast/dynamic/015-expected.txt:
        * platform/ios-simulator/fast/dynamic/015-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-ltr-2-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-ltr-2-left-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-ltr-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-ltr-right-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-rtl-2-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-rtl-2-left-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-rtl-expected.txt:
        * platform/ios-simulator-wk2/editing/selection/caret-rtl-right-expected.txt:
        * platform/mac/fast/dynamic/015-expected.txt:
        * platform/win/fast/dynamic/015-expected.txt:

2016-05-18  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Use WebCore Accessibility's AccessibilityText for AtkObject name and description
        https://bugs.webkit.org/show_bug.cgi?id=157822

        Reviewed by Chris Fleizach.

        Now that the exposure is correct, the Layout Tests needed to be adjusted accordingly because asking
        for the "AXDescription" gives you the AXDescription on the Mac and the AtkObject description in
        GNU/Linux. But what the Mac calls a "description" is what ATK calls a "name." What ATK calls a
        "description" is what the Mac calls "help."

        Ultimately our Layout Tests and/or our platform TestRunner API should be modified to deal with
        with these differences more gracefully. (Bug https://bugs.webkit.org/show_bug.cgi?id=157187 has
        been opened for that task.) In the meantime, the existing tests have been given platform checks
        to ask for the right property on each platform. This was done in such a way as to not require
        other (non-ATK) platforms change their current expectations files.

        In addition to the above, three previously-failing tests were corrected and are now passing.

        * accessibility/alt-tag-on-image-with-nonimage-role.html:
        * accessibility/aria-help.html:
        * accessibility/aria-label.html:
        * accessibility/aria-labeled-with-hidden-node.html:
        * accessibility/aria-labelledby-on-input.html:
        * accessibility/aria-labelledby-overrides-aria-labeledby.html:
        * accessibility/aria-labelledby-overrides-label.html:
        * accessibility/aria-labelledby-stay-within.html:
        * accessibility/aria-labelledby-with-descendants.html:
        * accessibility/aria-namefrom-author.html:
        * accessibility/aria-option-role.html:
        * accessibility/canvas-description-and-role.html:
        * accessibility/empty-image-with-title.html:
        * accessibility/fieldset-element.html:
        * accessibility/focusable-div.html:
        * accessibility/gtk/no-notification-for-unrendered-iframe-children-expected.txt:
        * accessibility/gtk/no-notification-for-unrendered-iframe-children.html:
        * accessibility/gtk/title-and-alt-expected.txt:
        * accessibility/gtk/title-and-alt.html:
        * accessibility/help-text.html:
        * accessibility/img-alt-tag-only-whitespace-expected.txt:
        * accessibility/img-alt-tag-only-whitespace.html:
        * accessibility/img-aria-button-alt-tag.html:
        * accessibility/img-fallsback-to-title.html:
        * accessibility/input-image-alt.html:
        * accessibility/loading-iframe-sends-notification.html:
        * accessibility/media-element.html:
        * accessibility/radio-button-title-label.html:
        * accessibility/self-referencing-aria-labelledby.html:
        * accessibility/svg-bounds.html:
        * platform/gtk/TestExpectations:
        * platform/gtk/accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Added.
        * platform/gtk/accessibility/aria-help-expected.txt:
        * platform/gtk/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added.
        * platform/gtk/accessibility/aria-labeled-with-hidden-node-expected.txt: Added.
        * platform/gtk/accessibility/aria-labelledby-on-input-expected.txt: Added.
        * platform/gtk/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added.
        * platform/gtk/accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Added.
        * platform/gtk/accessibility/aria-labelledby-overrides-label-expected.txt: Added.
        * platform/gtk/accessibility/aria-labelledby-with-descendants-expected.txt: Added.
        * platform/gtk/accessibility/aria-namefrom-author-expected.txt: Added.
        * platform/gtk/accessibility/aria-option-role-expected.txt: Added.
        * platform/gtk/accessibility/aria-switch-text-expected.txt:
        * platform/gtk/accessibility/canvas-description-and-role-expected.txt: Added.
        * platform/gtk/accessibility/empty-image-with-title-expected.txt: Added.
        * platform/gtk/accessibility/fieldset-element-expected.txt: Added.
        * platform/gtk/accessibility/focusable-div-expected.txt: Added.
        * platform/gtk/accessibility/help-text-expected.txt: Added.
        * platform/gtk/accessibility/image-link-expected.txt:
        * platform/gtk/accessibility/image-map1-expected.txt:
        * platform/gtk/accessibility/image-map2-expected.txt:
        * platform/gtk/accessibility/image-with-alt-and-map-expected.txt:
        * platform/gtk/accessibility/img-alt-tag-only-whitespace-expected.txt: Added.
        * platform/gtk/accessibility/img-aria-button-alt-tag-expected.txt: Added.
        * platform/gtk/accessibility/img-fallsback-to-title-expected.txt:
        * platform/gtk/accessibility/input-image-alt-expected.txt: Added.
        * platform/gtk/accessibility/media-element-expected.txt:
        * platform/gtk/accessibility/radio-button-title-label-expected.txt:
        * platform/gtk/accessibility/self-referencing-aria-labelledby-expected.txt: Added.
        * platform/gtk/accessibility/svg-bounds-expected.txt: Added.

2016-05-17  Saam barati  <sbarati@apple.com>

        LayoutTest inspector/debugger/tail-recursion.html failing on WK2 debug
        https://bugs.webkit.org/show_bug.cgi?id=157801

        Rubber-stamped by Joseph Pecoraro.

        * inspector/debugger/tail-recursion.html:

2016-05-17  Nan Wang  <n_wang@apple.com>

        AX: Adding children incorrectly when there are nested inline continuations
        https://bugs.webkit.org/show_bug.cgi?id=157818

        Reviewed by Chris Fleizach.

        * accessibility/mac/nested-inline-elements-children-expected.txt: Added.
        * accessibility/mac/nested-inline-elements-children.html: Added.

2016-05-17  Dean Jackson  <dino@apple.com>

        Add media query support for wide gamut displays on Mac
        https://bugs.webkit.org/show_bug.cgi?id=157824
        <rdar://problem/26333137>

        Reviewed by Simon Fraser.

        Remove the check for sRGB, since it is confusingly false
        on browsers that don't implement this query, and is likely
        to be dropped from the specification.

        Also, make the text readable.

        * fast/media/mq-color-gamut-expected.html:
        * fast/media/mq-color-gamut.html:

2016-05-17  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION(r192855): Math.random() always produces the same first 7 decimal points the first two invocations
        https://bugs.webkit.org/show_bug.cgi?id=157805
        <rdar://problem/26327851>

        Reviewed by Geoffrey Garen.

        * js/dom/math-random-initial-values-expected.txt: Added.
        * js/dom/math-random-initial-values.html: Added.
        * js/resources/math-random-initial-values-iframe.html: Added.
        Test that less then 5% of the time, early Math.random invocations
        produce very similiar values. Before this change we were failing
        100%, but after we see similiar values mostly around 0-3%.

2016-05-17  Keith Miller  <keith_miller@apple.com>

        Rollout r200426 since it causes PLT regressions.
        https://bugs.webkit.org/show_bug.cgi?id=157812

        Unreviewed rollout of r200426 since the bots see a ~.6% PLT regression from the patch.

2016-05-17  Brian Burg  <bburg@apple.com>

        Web Inspector: Filtering huge data grids should yield occasionally so the UI remains responsive
        https://bugs.webkit.org/show_bug.cgi?id=157702
        <rdar://problem/26282898>

        Based on a patch by Matt Baker <mattbaker@apple.com> on 2016-05-16
        Reviewed by Timothy Hatcher.

        Add tests for new Inspector utility class YieldableTask.

        * inspector/unit-tests/yieldable-task-expected.txt: Added.
        * inspector/unit-tests/yieldable-task.html: Added.

2016-05-17  Joseph Pecoraro  <pecoraro@apple.com>

        console namespace breaks putting properties on console.__proto__
        https://bugs.webkit.org/show_bug.cgi?id=157782
        <rdar://problem/26250526>

        Reviewed by Geoffrey Garen.

        * js/console-expected.txt:
        * js/console.html:

2016-05-17  Commit Queue  <commit-queue@webkit.org>

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

        Rebaselining the test was not the right solution. (Requested
        by ryanhaddad on #webkit).

        Reverted changeset:

        "Rebaseline inspector/debugger/tail-recursion.html"
        http://trac.webkit.org/changeset/201017

2016-05-17  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline inspector/debugger/tail-recursion.html

        Unreviewed test gardening.

        * inspector/debugger/tail-recursion-expected.txt:

2016-05-17  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r54729): Line breaking in complex mixed-direction text is inconsistent across page refreshes
        https://bugs.webkit.org/show_bug.cgi?id=157783
        <rdar://problem/22908924>

        Reviewed by Zalan Bujtas.

        * fast/text/complex-mixed-direction-line-breaking-expected.html: Added.
        * fast/text/complex-mixed-direction-line-breaking.html: Added.
        * fast/text/resources/Gulf-regular.ttf: Added.

2016-05-16  Saam barati  <sbarati@apple.com>

        ShadowChicken crashes when reading a scope from the frame during a stack overflow exception
        https://bugs.webkit.org/show_bug.cgi?id=157770

        Reviewed by Filip Pizlo.

        * inspector/debugger/debugger-stack-overflow-expected.txt: Added.
        * inspector/debugger/debugger-stack-overflow.html: Added.
        * inspector/debugger/resources/stack-overflow.js: Added.
        (foo):
        (start):

2016-05-16  Brent Fulgham  <bfulgham@apple.com>

        heap use-after-free at WebCore::TimerBase::heapPopMin()
        https://bugs.webkit.org/show_bug.cgi?id=157742
        <rdar://problem/26236778>

        Reviewed by Simon Fraser.

        * fast/frames/crash-during-iframe-load-stop-expected.txt: Added.
        * fast/frames/crash-during-iframe-load-stop.html: Added.
        * fast/frames/resources/crash-during-iframe-load-stop-inner.html: Added.
        * fast/frames/resources/crash-during-iframe-load-stop.html: Added.

2016-05-16  Saam barati  <sbarati@apple.com>

        Hook up ShadowChicken to the debugger to show tail deleted frames
        https://bugs.webkit.org/show_bug.cgi?id=156685
        <rdar://problem/25770521>

        Reviewed by Filip Pizlo and Mark Lam and Joseph Pecoraro.

        * inspector/debugger/resources/tail-deleted-frames-this-value.js: Added.
        (a):
        (b):
        * inspector/debugger/resources/tail-deleted-frames.js: Added.
        (a):
        (b):
        (c):
        (startABC):
        * inspector/debugger/resources/tail-recursion.js: Added.
        (recurse):
        (startRecurse):
        * inspector/debugger/tail-deleted-frames-expected.txt: Added.
        * inspector/debugger/tail-deleted-frames-this-value-expected.txt: Added.
        * inspector/debugger/tail-deleted-frames-this-value.html: Added.
        * inspector/debugger/tail-deleted-frames.html: Added.
        * inspector/debugger/tail-recursion-expected.txt: Added.
        * inspector/debugger/tail-recursion.html: Added.

2016-05-16  Aaron Chu  <aaron_chu@apple.com>

        REGRESSION (r200441): Yahoo sports, finance and news pages automatically scroll
        https://bugs.webkit.org/show_bug.cgi?id=157692
        <rdar://problem/26231897>

        Reviewed by Eric Carlson.

        Added Layout test to make sure that the page does not scroll automatically because
        of the focus() on showControlsButton in the video shadow DOM.

        * media/video-controls-to-not-scroll-page-on-load-expected.txt: Added.
        * media/video-controls-to-not-scroll-page-on-load.html: Added.

2016-05-16  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed rollout r200924. Caused js/regress/string-replace-generic.html to fail.

        * fast/profiler/anonymous-event-handler-expected.txt: Added.
        * fast/profiler/anonymous-event-handler.html: Added.
        * fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Added.
        * fast/profiler/anonymous-function-called-from-different-contexts.html: Added.
        * fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Added.
        * fast/profiler/anonymous-function-calls-built-in-functions.html: Added.
        * fast/profiler/anonymous-function-calls-eval-expected.txt: Added.
        * fast/profiler/anonymous-function-calls-eval.html: Added.
        * fast/profiler/anonymous-functions-with-display-names-expected.txt: Added.
        * fast/profiler/anonymous-functions-with-display-names.html: Added.
        * fast/profiler/apply-expected.txt: Added.
        * fast/profiler/apply.html: Added.
        * fast/profiler/built-in-function-calls-anonymous-expected.txt: Added.
        * fast/profiler/built-in-function-calls-anonymous.html: Added.
        * fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Added.
        * fast/profiler/built-in-function-calls-user-defined-function.html: Added.
        * fast/profiler/call-expected.txt: Added.
        * fast/profiler/call-register-leak-expected.txt: Added.
        * fast/profiler/call-register-leak.html: Added.
        * fast/profiler/call.html: Added.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Added.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Added.
        * fast/profiler/compare-multiple-profiles-expected.txt: Added.
        * fast/profiler/compare-multiple-profiles.html: Added.
        * fast/profiler/constructor-expected.txt: Added.
        * fast/profiler/constructor.html: Added.
        * fast/profiler/dead-time-expected.txt: Added.
        * fast/profiler/dead-time.html: Added.
        * fast/profiler/document-dot-write-expected.txt: Added.
        * fast/profiler/document-dot-write.html: Added.
        * fast/profiler/event-handler-expected.txt: Added.
        * fast/profiler/event-handler.html: Added.
        * fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Added.
        * fast/profiler/execution-context-and-eval-on-same-line.html: Added.
        * fast/profiler/inline-event-handler-expected.txt: Added.
        * fast/profiler/inline-event-handler.html: Added.
        * fast/profiler/many-calls-in-the-same-scope-expected.txt: Added.
        * fast/profiler/many-calls-in-the-same-scope.html: Added.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Added.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Added.
        * fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Added.
        * fast/profiler/multiple-and-different-scoped-function-calls.html: Added.
        * fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt: Added.
        * fast/profiler/multiple-anonymous-functions-called-from-the-same-function.html: Added.
        * fast/profiler/multiple-frames-expected.txt: Added.
        * fast/profiler/multiple-frames.html: Added.
        * fast/profiler/named-functions-with-display-names-expected.txt: Added.
        * fast/profiler/named-functions-with-display-names.html: Added.
        * fast/profiler/nested-anonymous-functon-expected.txt: Added.
        * fast/profiler/nested-anonymous-functon.html: Added.
        * fast/profiler/nested-start-and-stop-profiler-expected.txt: Added.
        * fast/profiler/nested-start-and-stop-profiler.html: Added.
        * fast/profiler/no-execution-context-expected.txt: Added.
        * fast/profiler/no-execution-context.html: Added.
        * fast/profiler/one-execution-context-expected.txt: Added.
        * fast/profiler/one-execution-context.html: Added.
        * fast/profiler/profile-calls-in-included-file-expected.txt: Added.
        * fast/profiler/profile-calls-in-included-file.html: Added.
        * fast/profiler/profile-with-no-title-expected.txt: Added.
        * fast/profiler/profile-with-no-title.html: Added.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Added.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added.
        * fast/profiler/profiling-from-a-nested-location-expected.txt: Added.
        * fast/profiler/profiling-from-a-nested-location.html: Added.
        * fast/profiler/resources/other-frame.html: Added.
        * fast/profiler/resources/other-window.html: Added.
        * fast/profiler/resources/profiler-test-JS-resources.js: Added.
        (endTest):
        (insertGivenText):
        (insertNewText):
        (arrayOperatorFunction):
        (anonymousFunction):
        (anotherAnonymousFunction):
        (intermediaryFunction):
        (isEqualToFive):
        (startProfile):
        (printHeavyProfilesDataWithoutTime):
        (printProfilesDataWithoutTime):
        (printProfileNodeWithoutTime):
        * fast/profiler/simple-event-call-expected.txt: Added.
        * fast/profiler/simple-event-call.html: Added.
        * fast/profiler/simple-no-level-change-expected.txt: Added.
        * fast/profiler/simple-no-level-change.html: Added.
        * fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Added.
        * fast/profiler/start-and-stop-profiler-multiple-times.html: Added.
        * fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Added.
        * fast/profiler/start-and-stop-profiling-in-the-same-function.html: Added.
        * fast/profiler/start-but-dont-stop-profiling-expected.txt: Added.
        * fast/profiler/start-but-dont-stop-profiling.html: Added.
        * fast/profiler/stop-profiling-after-setTimeout-expected.txt: Added.
        * fast/profiler/stop-profiling-after-setTimeout.html: Added.
        * fast/profiler/stop-then-function-call-expected.txt: Added.
        * fast/profiler/stop-then-function-call.html: Added.
        * fast/profiler/throw-exception-from-eval-expected.txt: Added.
        * fast/profiler/throw-exception-from-eval.html-disabled: Added.
        * fast/profiler/two-execution-contexts-expected.txt: Added.
        * fast/profiler/two-execution-contexts.html: Added.
        * fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Added.
        * fast/profiler/user-defined-function-calls-built-in-functions.html: Added.
        * fast/profiler/window-dot-eval-expected.txt: Added.
        * fast/profiler/window-dot-eval.html: Added.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:

2016-05-16  Ryosuke Niwa  <rniwa@webkit.org>

        Focus ordering should respect slot elements
        https://bugs.webkit.org/show_bug.cgi?id=151379

        Reviewed by Antti Koivisto.

        Added regression tests for moving focus by tab and shift+tab across
        user-defined shadow trees with slots and details element.

        * fast/shadow-dom/focus-across-details-element-expected.txt: Added.
        * fast/shadow-dom/focus-across-details-element.html: Added.
        * fast/shadow-dom/focus-navigation-across-slots-expected.txt: Added.
        * fast/shadow-dom/focus-navigation-across-slots.html: Added.

2016-05-16  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for ios-simulator

        Unreviewed test gardening.

        * fast/events/touch/document-create-touch-list-ios-expected.txt:
        * platform/ios-simulator/ios/touch/construct-TouchList-expected.txt:

2016-05-16  Filip Pizlo  <fpizlo@apple.com>

        FixupPhase should be more eager to demote bit math to untyped
        https://bugs.webkit.org/show_bug.cgi?id=157746

        Reviewed by Mark Lam.

        * js/regress/object-and-expected.txt: Added.
        * js/regress/object-and.html: Added.
        * js/regress/object-int-and-array-expected.txt: Added.
        * js/regress/object-int-and-array.html: Added.
        * js/regress/object-lshift-expected.txt: Added.
        * js/regress/object-lshift.html: Added.
        * js/regress/object-or-expected.txt: Added.
        * js/regress/object-or.html: Added.
        * js/regress/object-rshift-expected.txt: Added.
        * js/regress/object-rshift.html: Added.
        * js/regress/object-urshift-expected.txt: Added.
        * js/regress/object-urshift.html: Added.
        * js/regress/object-xor-expected.txt: Added.
        * js/regress/object-xor.html: Added.
        * js/regress/script-tests/object-and.js: Added.
        (o.valueOf):
        * js/regress/script-tests/object-int-and-array.js: Added.
        (i.o.valueOf):
        * js/regress/script-tests/object-lshift.js: Added.
        (o.valueOf):
        * js/regress/script-tests/object-or.js: Added.
        (o.valueOf):
        * js/regress/script-tests/object-rshift.js: Added.
        (o.valueOf):
        * js/regress/script-tests/object-urshift.js: Added.
        (o.valueOf):
        * js/regress/script-tests/object-xor.js: Added.
        (o.valueOf):

2016-05-16  Michael Saboff  <msaboff@apple.com>

        RegExp /y flag incorrect handling of mixed-length alternation
        https://bugs.webkit.org/show_bug.cgi?id=157723

        Reviewed by Filip Pizlo.

        Added tests for alternatives with shorter to longer lengths.

        * js/regexp-sticky-expected.txt:
        * js/script-tests/regexp-sticky.js:

2016-05-16  Brent Fulgham  <bfulgham@apple.com>

        REGRESSION (r192098): Content missing after copy and paste to Notes App on retina displays
        https://bugs.webkit.org/show_bug.cgi?id=157630
        <rdar://problem/25277577>

        Reviewed by Simon Fraser.

        * http/tests/images/hidpi-srcset-copy-expected.txt: Added.
        * http/tests/images/hidpi-srcset-copy.html: Added.
        * http/tests/resources/img-srcset: Added.
        * http/tests/resources/img-srcset/image1-620x442.jpg: Added.
        * http/tests/resources/img-srcset/image2-1024x731.jpg: Added.
        * http/tests/resources/img-srcset/image2-1400x1000.jpg: Added.
        * http/tests/resources/img-srcset/image2-300x214.jpg: Added.
        * http/tests/resources/img-srcset/image2-620x442.jpg: Added.
        * http/tests/resources/img-srcset/image2-840x600.jpg: Added.
        * http/tests/resources/img-srcset/image3-250x178.jpg: Added.
        * http/tests/resources/img-srcset/image3-615x438.jpg: Added.
        * http/tests/resources/img-srcset/image3-620x440.jpg: Added.
        * http/tests/resources/img-srcset/image3-700x498.jpg: Added.
        * http/tests/resources/img-srcset/image3-840x598.jpg: Added.
        * http/tests/resources/img-srcset/image3.jpg: Added.
        * http/tests/resources/img-srcset/image4-1024x612.jpg: Added.
        * http/tests/resources/img-srcset/image4-300x179.jpg: Added.
        * http/tests/resources/img-srcset/image4-620x370.jpg: Added.
        * http/tests/resources/img-srcset/image4-768x459.jpg: Added.
        * http/tests/resources/img-srcset/image4-840x502.jpg: Added.
        * http/tests/resources/img-srcset/image4-940x560.jpg: Added.
        * platform/efl/TestExpectations: No pasteboard implementation. Skip.
        * platform/gtk/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2016-05-16  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] Unreviewed gardening

        Re-mark a failing test as failing. Update the expectations file so
        that it fails rather than passes unexpectedly.

        * accessibility/gtk/title-and-alt-expected.txt:
        * platform/gtk/TestExpectations:

2016-05-16  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION (r199821): Large animated GIFs with slow network do not animate till the last frame
        https://bugs.webkit.org/show_bug.cgi?id=157500
        
        Reviewed by Darin Adler.

        Ensure the large animated gif will get the correct frameCount even if it
        is loaded through a slow network.

        * http/tests/misc/resources/large-animated.gif: Added.
        This is a large animated GIF with 48 frames. The frameCount keeps changing
        every time a new data block is decoded. Each frame except the last one lasts
        for 20 ms. The last one lasts for 10 seconds which is similar to setting no-
        loop to true. I created all the images myself. All the images except the last
        one are rectangles filled with gradient color so their sizes can be large and
        get the bug to repro.
        
        * http/tests/misc/resources/slow-image-load.pl: Added.
        * http/tests/misc/resources/slow-png-load.pl: Removed.
        I wanted to use the slow-png-load.pl but only changing the image mimetype.
        So I changed its name and I added a new query paramater called 'mimetype'.
        
        * http/tests/misc/slow-loading-animated-image-expected.html: Added.
        * http/tests/misc/slow-loading-animated-image.html: Added.
        This test loads the animated image in 1 second. It waits for another 1 second
        to ensure that all the frames are displayed. All we need is to capture the
        last frame which is distinctly filled with solid green color.
        
        * http/tests/misc/slow-loading-image-in-pattern.html:
        * http/tests/misc/slow-loading-mask.html:
        Use slow-image-load.pl and pass the image mime type.

2016-05-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Fix some bogus expectations broken by the previous commit

        * platform/gtk/TestExpectations:

2016-05-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] More unreviewed test expectations gardening

        * platform/gtk/TestExpectations:

2016-05-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] More Unreviewed test expectations gardening

        * platform/gtk/TestExpectations:

2016-05-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed test expectations gardening

        * TestExpectations:
        * platform/gtk/TestExpectations:

2016-05-14  Joseph Pecoraro  <pecoraro@apple.com>

        Remove LegacyProfiler
        https://bugs.webkit.org/show_bug.cgi?id=153565

        Reviewed by Mark Lam.

        * fast/profiler/anonymous-event-handler-expected.txt: Removed.
        * fast/profiler/anonymous-event-handler.html: Removed.
        * fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Removed.
        * fast/profiler/anonymous-function-called-from-different-contexts.html: Removed.
        * fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Removed.
        * fast/profiler/anonymous-function-calls-built-in-functions.html: Removed.
        * fast/profiler/anonymous-function-calls-eval-expected.txt: Removed.
        * fast/profiler/anonymous-function-calls-eval.html: Removed.
        * fast/profiler/anonymous-functions-with-display-names-expected.txt: Removed.
        * fast/profiler/anonymous-functions-with-display-names.html: Removed.
        * fast/profiler/apply-expected.txt: Removed.
        * fast/profiler/apply.html: Removed.
        * fast/profiler/built-in-function-calls-anonymous-expected.txt: Removed.
        * fast/profiler/built-in-function-calls-anonymous.html: Removed.
        * fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Removed.
        * fast/profiler/built-in-function-calls-user-defined-function.html: Removed.
        * fast/profiler/call-expected.txt: Removed.
        * fast/profiler/call-register-leak-expected.txt: Removed.
        * fast/profiler/call-register-leak.html: Removed.
        * fast/profiler/call.html: Removed.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Removed.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
        * fast/profiler/compare-multiple-profiles-expected.txt: Removed.
        * fast/profiler/compare-multiple-profiles.html: Removed.
        * fast/profiler/constructor-expected.txt: Removed.
        * fast/profiler/constructor.html: Removed.
        * fast/profiler/dead-time-expected.txt: Removed.
        * fast/profiler/dead-time.html: Removed.
        * fast/profiler/document-dot-write-expected.txt: Removed.
        * fast/profiler/document-dot-write.html: Removed.
        * fast/profiler/event-handler-expected.txt: Removed.
        * fast/profiler/event-handler.html: Removed.
        * fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Removed.
        * fast/profiler/execution-context-and-eval-on-same-line.html: Removed.
        * fast/profiler/inline-event-handler-expected.txt: Removed.
        * fast/profiler/inline-event-handler.html: Removed.
        * fast/profiler/many-calls-in-the-same-scope-expected.txt: Removed.
        * fast/profiler/many-calls-in-the-same-scope.html: Removed.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Removed.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Removed.
        * fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Removed.
        * fast/profiler/multiple-and-different-scoped-function-calls.html: Removed.
        * fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt: Removed.
        * fast/profiler/multiple-anonymous-functions-called-from-the-same-function.html: Removed.
        * fast/profiler/multiple-frames-expected.txt: Removed.
        * fast/profiler/multiple-frames.html: Removed.
        * fast/profiler/named-functions-with-display-names-expected.txt: Removed.
        * fast/profiler/named-functions-with-display-names.html: Removed.
        * fast/profiler/nested-anonymous-functon-expected.txt: Removed.
        * fast/profiler/nested-anonymous-functon.html: Removed.
        * fast/profiler/nested-start-and-stop-profiler-expected.txt: Removed.
        * fast/profiler/nested-start-and-stop-profiler.html: Removed.
        * fast/profiler/no-execution-context-expected.txt: Removed.
        * fast/profiler/no-execution-context.html: Removed.
        * fast/profiler/one-execution-context-expected.txt: Removed.
        * fast/profiler/one-execution-context.html: Removed.
        * fast/profiler/profile-calls-in-included-file-expected.txt: Removed.
        * fast/profiler/profile-calls-in-included-file.html: Removed.
        * fast/profiler/profile-with-no-title-expected.txt: Removed.
        * fast/profiler/profile-with-no-title.html: Removed.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Removed.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
        * fast/profiler/profiling-from-a-nested-location-expected.txt: Removed.
        * fast/profiler/profiling-from-a-nested-location.html: Removed.
        * fast/profiler/resources/other-frame.html: Removed.
        * fast/profiler/resources/other-window.html: Removed.
        * fast/profiler/resources/profiler-test-JS-resources.js: Removed.
        * fast/profiler/simple-event-call-expected.txt: Removed.
        * fast/profiler/simple-event-call.html: Removed.
        * fast/profiler/simple-no-level-change-expected.txt: Removed.
        * fast/profiler/simple-no-level-change.html: Removed.
        * fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Removed.
        * fast/profiler/start-and-stop-profiler-multiple-times.html: Removed.
        * fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Removed.
        * fast/profiler/start-and-stop-profiling-in-the-same-function.html: Removed.
        * fast/profiler/start-but-dont-stop-profiling-expected.txt: Removed.
        * fast/profiler/start-but-dont-stop-profiling.html: Removed.
        * fast/profiler/stop-profiling-after-setTimeout-expected.txt: Removed.
        * fast/profiler/stop-profiling-after-setTimeout.html: Removed.
        * fast/profiler/stop-then-function-call-expected.txt: Removed.
        * fast/profiler/stop-then-function-call.html: Removed.
        * fast/profiler/throw-exception-from-eval-expected.txt: Removed.
        * fast/profiler/throw-exception-from-eval.html-disabled: Removed.
        * fast/profiler/two-execution-contexts-expected.txt: Removed.
        * fast/profiler/two-execution-contexts.html: Removed.
        * fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Removed.
        * fast/profiler/user-defined-function-calls-built-in-functions.html: Removed.
        * fast/profiler/window-dot-eval-expected.txt: Removed.
        * fast/profiler/window-dot-eval.html: Removed.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:

2016-05-13  Ryosuke Niwa  <rniwa@webkit.org>

        ToT WebKit doesn't show tooltip on perf dashboard's summary page
        https://bugs.webkit.org/show_bug.cgi?id=157705

        Reviewed by Darin Adler.

        Added a regression test for finding a tooltip across shadow boundaries.

        * fast/shadow-dom/tooltip-on-composed-tree-expected.txt: Added.
        * fast/shadow-dom/tooltip-on-composed-tree.html: Added.

2016-05-14  Myles C. Maxfield  <mmaxfield@apple.com>

        Support ArrayBufferViews in the CSS Font Loading API
        https://bugs.webkit.org/show_bug.cgi?id=157694
        <rdar://problem/25554267>

        Reviewed by Darin Adler.

        * fast/text/css-font-loading-arraybuffer-expected.txt: Added.
        * fast/text/css-font-loading-arraybuffer.html: Added.

2016-05-13  Zalan Bujtas  <zalan@apple.com>

        All scrolling height/width values should be integral rounded.
        https://bugs.webkit.org/show_bug.cgi?id=157687

        Reviewed by Simon Fraser.

        Both clientHeight(Width) and scrollHeight(width) need to be explicitly integral
        rounded in order to ensure that scrollable content is computed properly.
        This will evolve into subpixel snapping once we apply subpixel arithmetics on scrolling.

        * platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
        * platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
        * platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
        * platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
        * platform/mac/fast/css/text-overflow-input-expected.txt:
        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:

2016-05-13  Sam Weinig  <sam@webkit.org>

        ScriptController::processingUserGesture should propagate across postMessage boundaries
        <rdar://problem/26273173>
        https://bugs.webkit.org/show_bug.cgi?id=157686

        Reviewed by Anders Carlsson.

        * fast/dom/Window/post-message-user-action-expected.txt: Added.
        * fast/dom/Window/post-message-user-action.html: Added.

2016-05-13  Chris Dumez  <cdumez@apple.com>

        Align window.scroll() / scrollTo() / scrollBy() with the CSSOM specification
        https://bugs.webkit.org/show_bug.cgi?id=157666

        Reviewed by Darin Adler.

        Update / improve testing coverage for the API.

        * fast/dom/Window/window-scroll-arguments-expected.txt:
        * fast/dom/Window/window-scroll-arguments.html:
        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

2016-05-13  Simon Fraser  <simon.fraser@apple.com>

        cross-fade() rendering doesn't match expectation
        https://bugs.webkit.org/show_bug.cgi?id=157665
        rdar://problem/17917708

        Reviewed by Dean Jackson.

        Make css3/images/cross-fade-blending.html a ref test.

        * css3/images/cross-fade-blending-expected.html: Added.
        * css3/images/cross-fade-blending-expected.png: Removed.
        * css3/images/cross-fade-blending-expected.txt: Removed.
        * css3/images/cross-fade-blending.html:
        * platform/mac/css3/images/cross-fade-blending-expected.png: Removed.

2016-05-13  Simon Fraser  <simon.fraser@apple.com>

        Unprefix -webkit-cross-fade()
        https://bugs.webkit.org/show_bug.cgi?id=157632

        Reviewed by Darin Adler.
        
        * animations/cross-fade-background-image-expected.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/cross-fade-webkit-mask-image.html:
        * animations/resources/animation-test-helpers.js:
        (parseCSSImage):
        (parseCrossFade):
        (compareCSSImages):
        * fast/css/getComputedStyle/computed-style-cross-fade-expected.txt:
        * fast/css/getComputedStyle/computed-style-cross-fade.html:
        * transitions/resources/transition-test-helpers.js:
        (parseCrossFade):

2016-05-13  Yoav Weiss  <yoav@yoav.ws>

        ResourceTiming entries for cached resources and XHR
        https://bugs.webkit.org/show_bug.cgi?id=157669

        Reviewed by Alex Christensen.

        These tests make sure that cacheable resources as well as XHR based resources
        have ResourceTiming entries.

        * http/tests/performance/performance-resource-timing-cached-entries-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-cached-entries.html: Added.

2016-05-13  Mark Lam  <mark.lam@apple.com>

        We should have one calleeSaveRegistersBuffer per VMEntryFrame, not one per VM.
        https://bugs.webkit.org/show_bug.cgi?id=157537
        <rdar://problem/24794845>

        Reviewed by Michael Saboff.

        * inspector/debugger/regress-133182-expected.txt:
        - Rebased test results to update line numbers.
        * platform/mac/TestExpectations:
        - Unskip the test.

2016-05-13  Doug Russell  <d_russell@apple.com>

        AX: Regressions in undo/redo accessibility from Bug 153361
        https://bugs.webkit.org/show_bug.cgi?id=157652

        Reviewed by Darin Adler.
        
        Use indexForVisiblePosition & visiblePositionForIndex to store selection data
        so that AccessibilityUndoReplacedText can build valid selection ranges and
        retrieve strings for AT notifications.

        * accessibility/mac/value-change/value-change-user-info-contenteditable-expected.txt:
        * accessibility/mac/value-change/value-change-user-info-contenteditable.html:
        * accessibility/mac/value-change/value-change-user-info-textarea-expected.txt:
        * accessibility/mac/value-change/value-change-user-info-textarea.html:
        * accessibility/mac/value-change/value-change-user-info-textfield-expected.txt:
        * accessibility/mac/value-change/value-change-user-info-textfield.html:

2016-05-13  Nan Wang  <n_wang@apple.com>

        AX: Wrong CharacterOffset from an upstream VisiblePosition
        https://bugs.webkit.org/show_bug.cgi?id=157644

        Reviewed by Chris Fleizach.

        * accessibility/mac/character-offset-from-upstream-position-expected.txt: Added.
        * accessibility/mac/character-offset-from-upstream-position.html: Added.

2016-05-13  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/text-autosizing/ios/text-autosizing-after-back.html as a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=157589

        Unreviewed test gardening.

        * TestExpectations:

2016-05-13  Skachkov Oleksandr  <gskachkov@gmail.com>

        Assertion failure for super() call in arrow function default parameters
        https://bugs.webkit.org/show_bug.cgi?id=157079

        Reviewed by Saam Barati.

        * js/arrowfunction-lexical-bind-arguments-non-strict-expected.txt:
        * js/arrowfunction-lexical-bind-this-expected.txt:
        * js/arrowfunction-supercall-expected.txt:
        * js/arrowfunction-superproperty-expected.txt:
        * js/script-tests/arrowfunction-lexical-bind-arguments-non-strict.js:
        * js/script-tests/arrowfunction-lexical-bind-this.js:
        * js/script-tests/arrowfunction-supercall.js:
        * js/script-tests/arrowfunction-superproperty.js:

2016-05-12  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Show auto-repeat line names in ComputedStyle
        https://bugs.webkit.org/show_bug.cgi?id=157622

        Reviewed by Darin Adler.

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

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

        Text shadow sometimes clipped unexpectedly
        https://bugs.webkit.org/show_bug.cgi?id=108929

        Reviewed by Dean Jackson.

        Add a font which draws dramatically far outside of its layout rect.

        * fast/text/multiple-text-shadow-overflow-layout-rect-expected.html: Added.
        * fast/text/multiple-text-shadow-overflow-layout-rect.html: Added.
        * fast/text/resources/font-overflow-layout-rect.svg: Added.

2016-05-12  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/debugger/command-line-api-exception-nested-catch.html as a flaky timeout on mac
        https://bugs.webkit.org/show_bug.cgi?id=152487

        Unreviewed test gardening.

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

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

        REGRESSION(r200601): Crash when using local() and unicode-range in @font-face blocks
        https://bugs.webkit.org/show_bug.cgi?id=157646

        Reviewed by Geoffrey Garen.

        * fast/text/isLoading-crash-failed-font-expected.txt: Added.
        * fast/text/isLoading-crash-failed-font.html: Added.

2016-05-12  Jiewen Tan  <jiewen_tan@apple.com>

        REGRESSION (r199313): ICBC app: text field In the webview is not tappable
        https://bugs.webkit.org/show_bug.cgi?id=157396
        <rdar://problem/25931513>

        Reviewed by David Kilzer.

        The previous test is actually bogus, and therefore modify it to do the
        real task.

        * fast/loader/iframe-src-invalid-url-expected.txt:
        * fast/loader/iframe-src-invalid-url.html:
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:

2016-05-12  Ryosuke Niwa  <rniwa@webkit.org>

        indexForVisiblePosition should use the root editable element as the scope
        https://bugs.webkit.org/show_bug.cgi?id=157611

        Reviewed by Darin Adler.

        Rebaselined tests with progressions.

        * editing/execCommand/crash-indenting-list-item-expected.txt: Now preseves the selection at the beginning of
        the editable region instead of moving it to the end.
        * editing/execCommand/format-block-multiple-paragraphs-in-pre-expected.txt: Now preserves selection in more test
        cases. This test is the one that required the workaround in ApplyBlockElementCommand::doApply. One of the test
        cases would regress and clear the selection without it.
        * editing/execCommand/indent-pre-list-expected.txt: Now preserves the selection instead of clearing it.

2016-05-12  Eric Carlson  <eric.carlson@apple.com>

        Adjust "main content" video heuristic
        https://bugs.webkit.org/show_bug.cgi?id=157532

        Reviewed by Darin Adler.

        * media/video-main-content-allow.html:
        * media/video-main-content-autoplay-expected.txt: Added.
        * media/video-main-content-autoplay.html: Added.
        * media/video-main-content-deny-too-small.html:

2016-05-12  Antoine Quint  <graouts@apple.com>

        Correctly handle prefixed and unprefixed variants in CSSStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=157569
        <rdar://problem/26223115>

        Reviewed by Dean Jackson.

        * animations/fill-mode-forwards-zero-duration.html:
        * animations/play-state-start-paused.html:
        These two tests incorrectly expected a shorthand property not to reset
        longhand properties that it covers to their initial values even if left
        out of the shorthand.

        * animations/unprefixed-properties-expected.txt:
        * animations/unprefixed-properties.html:
        This test incorrectly expected that setting an unprefixed property only would
        lead to reading the prefixed property through the CSSOM return the empty string,
        rather than the value set on the unprefixed property.

        * fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt: Added.
        * fast/css/prefixed-unprefixed-variant-style-declaration.html: Added.
        New test checking that setting one of two of a property's unprefixed and prefixed
        variants correctly allows to read the style through the CSS OM for both variants,
        while only serializing the property that was set through cssText.

        * fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt: Added.
        * fast/css/shorthand-omitted-initial-value-overrides-shorthand.html: Added.
        New test checking that setting a longhand property and then the shorthand for that
        longhand correctly resets the initial values, even if they were omitted in the shorthand.

2016-05-12  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Incorrect parsing when using just 'span" as grid-line value
        https://bugs.webkit.org/show_bug.cgi?id=157615

        Reviewed by Sergio Villar Senin.

        Add new test case in grid-item-column-row-get-set.html.

        Updated other tests that were using "span" alone, with 2 approaches:
        - In some of them changing "span" by "span 1" making it valid.
        - In other changing the expected result to "auto", as it's invalid now.

        * fast/css-grid-layout/grid-item-area-get-set.html:
        * fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
        * fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-column-row-get-set.html:
        * fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-end-after-get-set.html:
        * fast/css-grid-layout/grid-item-negative-position-resolution.html:
        * fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-start-before-get-set.html:

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

        Web Inspector: CRASH getting internal properties of function with no bound arguments causes
        https://bugs.webkit.org/show_bug.cgi?id=157613
        <rdar://problem/26238754>

        Reviewed by Timothy Hatcher.

        * inspector/runtime/getProperties-expected.txt:
        * inspector/runtime/getProperties.html:
        Include coverage for a bound function with no bound arguments.

2016-05-11  Zalan Bujtas  <zalan@apple.com>

        Absolute positioned element is not placed properly when parent becomes the containing block.
        https://bugs.webkit.org/show_bug.cgi?id=157455
        <rdar://problem/26212568>

        Reviewed by Simon Fraser.

        When a container becomes a containing block, we need to check if there are any positioned boxes in its subtree
        in order to "re-parent" them. It basically means that we remove them from RenderBlock::positionedDescendants map
        and they'll get re-inserted during the next layout correctly.
        This patch fixes the case when a container becomes the containing block by setting the transform property and its positioned
        child gets misplaced.  

        * fast/block/containing-block-changes-expected.html: Added.
        * fast/block/containing-block-changes.html: Added.

2016-05-11  Ryosuke Niwa  <rniwa@webkit.org>

        Add a failing expectation on iOS for the test added in r200712
        since there is no support for eventSender on iOS.

        * platform/ios-simulator/TestExpectations:

2016-05-11  Ryosuke Niwa  <rniwa@webkit.org>

        Moving focus by tab could erroneously focus a non-focusable shadow host
        https://bugs.webkit.org/show_bug.cgi?id=157585

        Reviewed by Antti Koivisto.

        Added a regression test for moving focus across iframes.

        Also expanded negative-tabindex-on-shadow-host.html to cover reverse traversal.

        * fast/shadow-dom/focus-on-iframe-expected.txt: Added.
        * fast/shadow-dom/focus-on-iframe.html: Added.
        * fast/shadow-dom/negative-tabindex-on-shadow-host-expected.txt:
        * fast/shadow-dom/negative-tabindex-on-shadow-host.html:

2016-05-11  Darin Adler  <darin@apple.com>

        Change IDBObjectStore.createIndex to take an IDL dictionary
        https://bugs.webkit.org/show_bug.cgi?id=157520

        Reviewed by Chris Dumez.

        * storage/indexeddb/deleteIndex-bug110792-expected.txt: Updated result.
        Test is still marked as flaky, but this is the proper expectation now.
        Discovered this when I accidentally reset results for the whole directory.
        * storage/indexeddb/deleteIndex-bug110792-private-expected.txt: Ditto.

        * storage/indexeddb/index-basics-expected.txt: Updated to expect the simpler
        type error that is generated by the bindings code as opposed to the hand written
        binding. If we want to make this fancier like this for all bindings we can do
        that the future in the bindings script.
        * storage/indexeddb/index-basics-private-expected.txt: Ditto.
        * storage/indexeddb/index-basics-workers-expected.txt: Ditto.

        * storage/indexeddb/keypath-basics-expected.txt: Updated for the change that
        expects null and undefined the be legal key paths. See below.
        * storage/indexeddb/keypath-basics-private-expected.txt: Ditto.

        * storage/indexeddb/modern/create-index-failures-expected.txt: Removed
        expected results that require that we forbid null for the name and key path.
        See below.
        * storage/indexeddb/modern/create-index-failures-private-expected.txt: Ditto.

        * storage/indexeddb/modern/resources/create-index-failures.js: Removed the test
        that expects failure when null is passed for the name and key path. In both
        cases, the Web IDL and IDB specifications call for the null value to be converted
        to the string "null", not an exception.

        * storage/indexeddb/resources/keypath-basics.js:
        (prepareDatabase): Added tests for both undefined and null. Both are legal values for
        the key path argument to createIndex. The Web IDL and IDB specifications call for
        them to be converted to the strings "undefined" and "null", not to trigger exceptions.
        (testInvalidKeyPaths): Removed tests that expect exceptions when calling createIndex
        with undefined and null.

2016-05-11  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline inspector/dom/getAccessibilityPropertiesForNode.html after r200677

        Unreviewed test gardening.

        * inspector/dom/getAccessibilityPropertiesForNode-expected.txt:

2016-05-11  Chris Dumez  <cdumez@apple.com>

        Update Node::appendChild() / replaceChild() / removeChild() / insertBefore() to take references instead of pointers
        https://bugs.webkit.org/show_bug.cgi?id=157556

        Reviewed by Darin Adler.

        Rebaseline several tests now that the Node API provides more useful
        exception messages.

        * fast/dom/Document/replaceChild-null-oldChild-expected.txt:
        * fast/dom/Document/script-tests/replaceChild-null-oldChild.js:
        * fast/dom/incompatible-operations-expected.txt:
        * fast/dom/incompatible-operations.html:
        * fast/dom/processing-instruction-appendChild-exceptions-expected.txt:
        * fast/dom/processing-instruction-appendChild-exceptions.xhtml:
        * fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt:
        * js/dom/dot-node-base-exception-expected.txt:
        * js/dom/script-tests/dot-node-base-exception.js:

2016-05-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: IDBOpenDBRequests that are stop()'ed don't notify the IDBServer of that fact.
        https://bugs.webkit.org/show_bug.cgi?id=157448

        Reviewed by Alex Christensen.

        * TestExpectations:
        * storage/indexeddb/pending-version-change-stuck-private-expected.txt:
        * storage/indexeddb/pending-version-change-stuck-works-with-terminate-expected.txt:
        * storage/indexeddb/pending-version-change-stuck-works-with-terminate-private-expected.txt:

2016-05-11  Joseph Pecoraro  <pecoraro@apple.com>

        Improve error messages for accessing arguments.callee and similar getters in strict mode
        https://bugs.webkit.org/show_bug.cgi?id=157545

        Reviewed by Mark Lam.

        * js/basic-strict-mode-expected.txt:
        * js/caller-property-expected.txt:
        * js/script-tests/caller-property.js:

2016-05-11  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r200686.

        Caused a lot of layout test failures

        Reverted changeset:

        "Sites served over insecure connections should not be allowed
        to use geolocation."
        https://bugs.webkit.org/show_bug.cgi?id=157423
        http://trac.webkit.org/changeset/200686

2016-05-11  Jer Noble  <jer.noble@apple.com>

        Videos allowed to play through the Main Content restriction should not pause when scrolled off-screen.
        https://bugs.webkit.org/show_bug.cgi?id=157555

        Reviewed by Eric Carlson.

        * media/video-main-content-allow-then-scroll-expected.txt: Added.
        * media/video-main-content-allow-then-scroll.html: Added.

2016-05-11  Pranjal Jumde  <pjumde@apple.com>

        Sites served over insecure connections should not be allowed to use geolocation.
        https://bugs.webkit.org/show_bug.cgi?id=157423
        <rdar://problem/23751632>

        Reviewed by Brent Fulgham.

        * http/tests/security/geolocation-over-insecure-content.html: Added.
        * http/tests/security/geolocation-over-mixed-content-block.html: Added.
        * http/tests/security/geolocation-over-mixed-content.html: Added.
        * http/tests/security/insecure-geolocation-expected.txt: Added.
        * http/tests/security/insecure-geolocation.html: Added.
        * http/tests/security/mixedcontent-geolocation-block-insecure-content-expected.txt: Added.
        * http/tests/security/mixedcontent-geolocation-block-insecure-content.html: Added.
        * http/tests/security/mixedcontent-geolocation-expected.txt: Added.
        * http/tests/security/mixedcontent-geolocation.html: Added.

2016-05-11  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Ensure DOM iterators remain done
        https://bugs.webkit.org/show_bug.cgi?id=157453

        Reviewed by Darin Adler.

        * fast/dom/nodeListIterator-expected.txt:
        * fast/text/font-face-set-javascript-expected.txt:

2016-05-11  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] accessibility/aria-readonly.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=98357

        Reviewed by Chris Fleizach.

        As part of this change, a new AtkObject attribute and state are being exposed.
        Update two tests accordingly. Also unskip the previously-failing test. Lastly,
        move the Mac form-control-value-settable.html test to the shared test set,
        with a minor tweak to check the platform for several elements' expectations.

        * accessibility/form-control-value-settable.html: Moved to shared tests.
        * accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
        * platform/gtk/TestExpectations: Unskipped previously-failing test.
        * platform/gtk/accessibility/form-control-value-settable-expected.txt: Added.
        * platform/gtk/accessibility/table-detection-expected.txt: Updated.
        * platform/mac/accessibility/form-control-value-settable-expected.txt: Moved.

2016-05-10  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening after r200646

        Unreviewed.

        * TestExpectations:
        * fast/text/unicode-range-download.html:

2016-05-10  Simon Fraser  <simon.fraser@apple.com>

        Horizontally-scrollable items with a 3d transform are rendered incorrectly in RTL when container has -webkit-overflow-scroll: touch
        https://bugs.webkit.org/show_bug.cgi?id=157482
        rdar://problem/26204794

        Reviewed by Zalan Bujtas.
        
        This can't be a ref test because on iOS ref test snapshots are doing by drawing, not by snapshotting layers.

        * compositing/rtl/rtl-with-transformed-descendants-expected.txt: Added.
        * compositing/rtl/rtl-with-transformed-descendants.html: Added.

2016-05-10  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed EFL Gardening on 10th May.

        Rebaseline missing results.

        * platform/efl/TestExpectations: Removed non existing tests.
        * platform/efl/accessibility/content-editable-as-textarea-expected.txt: Added.
        * platform/efl/accessibility/generated-content-with-display-table-crash-expected.txt: Added.
        * platform/efl/accessibility/w3c-svg-content-language-attribute-expected.txt: Added.
        * platform/efl/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Added.
        * platform/efl/mathml/presentation/menclose-notation-values-expected.txt: Added.

2016-05-10  Ryosuke Niwa  <rniwa@webkit.org>

        iOS rebaseline after r200464.

        * fast/shadow-dom/touch-event-ios-expected.txt:

2016-05-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Backend should initiate timeline recordings on page navigations to ensure nothing is missed
        https://bugs.webkit.org/show_bug.cgi?id=157504
        <rdar://problem/26188642>

        Reviewed by Brian Burg.

        * inspector/timeline/setAutoCaptureInstruments-errors-expected.txt: Added.
        * inspector/timeline/setAutoCaptureInstruments-errors.html: Added.

2016-05-10  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/text/unicode-range-download.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=42154

        Unreviewed test gardening.

        * TestExpectations:

2016-05-05  Jer Noble  <jer.noble@apple.com>

        Return a Promise from HTMLMediaElement.play()
        https://bugs.webkit.org/show_bug.cgi?id=157400

        Reviewed by Eric Carlson.

        * media/media-play-promise-reject-error-notsupported-expected.txt: Added.
        * media/media-play-promise-reject-error-notsupported.html: Added.
        * media/media-play-promise-reject-load-abort-expected.txt: Added.
        * media/media-play-promise-reject-load-abort.html: Added.
        * media/media-play-promise-reject-pause-abort-expected.txt: Added.
        * media/media-play-promise-reject-pause-abort.html: Added.
        * media/media-play-promise-reject-play-notallowed-expected.txt: Added.
        * media/media-play-promise-reject-play-notallowed.html: Added.
        * media/media-play-promise-reject-play-notsupported-expected.txt: Added.
        * media/media-play-promise-reject-play-notsupported.html: Added.
        * media/media-play-promise-resolve-expected.txt: Added.
        * media/media-play-promise-resolve-when-playing-expected.txt: Added.
        * media/media-play-promise-resolve-when-playing.html: Added.
        * media/media-play-promise-resolve.html: Added.

2016-05-10  Commit Queue  <commit-queue@webkit.org>

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

        This change has caused crashes in existing LayoutTests
        (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "Return a Promise from HTMLMediaElement.play()"
        https://bugs.webkit.org/show_bug.cgi?id=157400
        http://trac.webkit.org/changeset/200627

2016-05-10  Simon Fraser  <simon.fraser@apple.com>

        Fix scrolling tree dumping
        https://bugs.webkit.org/show_bug.cgi?id=157529

        Reviewed by Tim Horton.

        * fast/scrolling/ios/remove-scrolling-role-expected.txt: Renamed from LayoutTests/platform/ios-simulator-wk2/scrolling/remove-scrolling-role-expected.txt.
        * fast/scrolling/ios/remove-scrolling-role.html: Renamed from LayoutTests/platform/ios-simulator-wk2/scrolling/remove-scrolling-role.html.
        * platform/ios-simulator-wk2/TestExpectations:

2016-05-10  Simon Fraser  <simon.fraser@apple.com>

        Mark fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html as flakey.

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

2016-05-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Eliminate the crazy code for evaluateOnCallFrame
        https://bugs.webkit.org/show_bug.cgi?id=157510
        <rdar://problem/26191332>

        Reviewed by Timothy Hatcher.

        * inspector/debugger/evaluateOnCallFrame-CommandLineAPI-expected.txt: Added.
        * inspector/debugger/evaluateOnCallFrame-CommandLineAPI.html: Added.

2016-05-05  Jer Noble  <jer.noble@apple.com>

        Return a Promise from HTMLMediaElement.play()
        https://bugs.webkit.org/show_bug.cgi?id=157400

        Reviewed by Eric Carlson.

        * media/media-play-promise-reject-error-notsupported-expected.txt: Added.
        * media/media-play-promise-reject-error-notsupported.html: Added.
        * media/media-play-promise-reject-load-abort-expected.txt: Added.
        * media/media-play-promise-reject-load-abort.html: Added.
        * media/media-play-promise-reject-pause-abort-expected.txt: Added.
        * media/media-play-promise-reject-pause-abort.html: Added.
        * media/media-play-promise-reject-play-notallowed-expected.txt: Added.
        * media/media-play-promise-reject-play-notallowed.html: Added.
        * media/media-play-promise-reject-play-notsupported-expected.txt: Added.
        * media/media-play-promise-reject-play-notsupported.html: Added.
        * media/media-play-promise-resolve-expected.txt: Added.
        * media/media-play-promise-resolve-when-playing-expected.txt: Added.
        * media/media-play-promise-resolve-when-playing.html: Added.
        * media/media-play-promise-resolve.html: Added.

2016-05-10  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r193610): Drop down menu doesn’t expand at allofbach.com
        https://bugs.webkit.org/show_bug.cgi?id=157445

        Reviewed by Simon Fraser.

        When we don't run transitions (becasuse of to/from 'auto' values) we should also not
        report the 'from' value and behave as if we finished the transition already.

        * fast/animation/height-auto-transition-computed-value-expected.html: Added.
        * fast/animation/height-auto-transition-computed-value.html: Added.
        * imported/blink/transitions/transition-not-interpolable-expected.txt:

2016-05-09  Dean Jackson  <dino@apple.com>

        [iOS] <select> elements should render right-aligned when in RTL mode
        https://bugs.webkit.org/show_bug.cgi?id=157501
        <rdar://problem/26187870>

        Reviewed by Antoine Quint.

        Rebaseline now that iOS is doing the right thing.

        * platform/ios-simulator/fast/forms/select-non-native-rendering-direction-expected.txt:
        * platform/ios-simulator/fast/forms/listbox-bidi-align-expected.txt:
        * platform/ios-simulator/fast/forms/select-writing-direction-natural-expected.txt:
        * platform/ios-simulator/fast/text/international/bidi-listbox-atsui-expected.txt:
        * platform/ios-simulator/fast/text/international/bidi-listbox-expected.txt:
        * platform/ios-simulator/fast/text/international/bidi-menulist-expected.txt:
        * platform/ios-simulator/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:

2016-05-10  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        NodeList should be iterable
        https://bugs.webkit.org/show_bug.cgi?id=131443
        <rdar://problem/25731519>

        Reviewed by Darin Adler.

        * fast/dom/domListEnumeration-expected.txt:
        * fast/dom/nodeListIterator-expected.txt: Added.
        * fast/dom/nodeListIterator.html: Added.
        * fast/dom/script-tests/domListEnumeration.js:
        * fast/text/font-face-set-javascript-expected.txt:
        * fast/text/font-face-set-javascript.html:

2016-05-09  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Implement auto-repeat computation
        https://bugs.webkit.org/show_bug.cgi?id=157473

        Reviewed by Darin Adler.

        Apart from some home made tests I'm importing 5 patches from Mozilla's test suite as they
        perfectly test the behavior of auto-repeat with positioned items. I've commented auto-fit
        tests as that feature isn't implemented yet.

        * fast/css-grid-layout/grid-auto-fill-columns-expected.txt: Added.
        * fast/css-grid-layout/grid-auto-fill-columns.html: Added.
        * fast/css-grid-layout/grid-auto-fill-rows-expected.txt: Added.
        * fast/css-grid-layout/grid-auto-fill-rows.html: Added.
        * fast/css-grid-layout/grid-change-auto-repeat-tracks-expected.txt: Added.
        * fast/css-grid-layout/grid-change-auto-repeat-tracks.html: Added.
        * fast/css-grid-layout/grid-element-auto-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-auto-repeat-get-set.html:
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-001-expected.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-001.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-002-expected.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-002.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-003-expected.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-003.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-004-expected.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-004.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-expected.html: Added.
        * fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005.html: Added.

2016-05-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: CRASH under JSC::DebuggerCallFrame::thisValue when hitting breakpoint
        https://bugs.webkit.org/show_bug.cgi?id=157442
        <rdar://problem/24172015>

        Reviewed by Saam Barati.

        * inspector/debugger/break-in-constructor-before-super-expected.txt: Added.
        * inspector/debugger/break-in-constructor-before-super.html: Added.

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

        iOS-scrolling test cleanup.
        
        Move iOS scrolling tests from platform/ios-simulator/fast/scrolling/ios to fast/scrolling/ios/.
        Rebaseline those that need it. Enable some in iOS WK1 if they pass.
        
        Try to make fast/scrolling/ios/touch-scroll-visibility-hidden.html not flakey

        * fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt: Copied from LayoutTests/platform/ios-simulator/ios/scrolling/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt.
        * fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/clipping-ancestor-with-accelerated-scrolling-ancestor.html.
        * fast/scrolling/ios/iframe-inside-overflow-clipping-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/iframe-inside-overflow-clipping-expected.txt.
        * fast/scrolling/ios/iframe-inside-overflow-clipping.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/iframe-inside-overflow-clipping.html.
        * fast/scrolling/ios/overflow-clip-with-accelerated-scrolling-ancestor-expected.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-clip-with-accelerated-scrolling-ancestor-expected.html.
        * fast/scrolling/ios/overflow-clip-with-accelerated-scrolling-ancestor.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-clip-with-accelerated-scrolling-ancestor.html.
        * fast/scrolling/ios/overflow-div-scrolling-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-div-scrolling-expected.txt.
        * fast/scrolling/ios/overflow-div-scrolling.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-div-scrolling.html.
        * fast/scrolling/ios/overflow-scroll-inherited-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scroll-inherited-expected.txt.
        * fast/scrolling/ios/overflow-scroll-inherited.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scroll-inherited.html.
        * fast/scrolling/ios/overflow-scroll-touch-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scroll-touch-expected.txt.
        * fast/scrolling/ios/overflow-scroll-touch.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scroll-touch.html.
        * fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt: Copied from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scrolling-ancestor-clip-expected.txt.
        * fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt: Copied from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scrolling-ancestor-clip-size-expected.txt.
        * fast/scrolling/ios/overflow-scrolling-ancestor-clip-size.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scrolling-ancestor-clip-size.html.
        * fast/scrolling/ios/overflow-scrolling-ancestor-clip.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scrolling-ancestor-clip.html.
        * fast/scrolling/ios/remove-overflow-crash-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/remove-overflow-crash-expected.txt.
        * fast/scrolling/ios/remove-overflow-crash.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/remove-overflow-crash.html.
        * fast/scrolling/ios/resources/jump-back.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/resources/jump-back.html.
        * fast/scrolling/ios/script-tests/TEMPLATE.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/script-tests/TEMPLATE.html.
        * fast/scrolling/ios/script-tests/overflow-div-scrolling.js: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/script-tests/overflow-div-scrolling.js.
        (verifyScrollOffset):
        * fast/scrolling/ios/scroll-event-from-scrollTo-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scroll-event-from-scrollTo-expected.txt.
        * fast/scrolling/ios/scroll-event-from-scrollTo.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scroll-event-from-scrollTo.html.
        * fast/scrolling/ios/scroll-events-back-forward-after-pageshow-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scroll-events-back-forward-after-pageshow-expected.txt.
        * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scroll-events-back-forward-after-pageshow.html.
        * fast/scrolling/ios/scroll-events-back-forward-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scroll-events-back-forward-expected.txt.
        * fast/scrolling/ios/scroll-events-back-forward.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scroll-events-back-forward.html.
        * fast/scrolling/ios/scrollTo-at-page-load-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scrollTo-at-page-load-expected.txt.
        * fast/scrolling/ios/scrollTo-at-page-load.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scrollTo-at-page-load.html.
        * fast/scrolling/ios/scrollbar-hiding-expected.txt: Copied from LayoutTests/platform/ios-simulator/ios/scrolling/scrollbar-hiding-expected.txt.
        * fast/scrolling/ios/scrollbar-hiding.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scrollbar-hiding.html.
        * fast/scrolling/ios/scrolling-content-clip-to-viewport-expected.txt: Copied from LayoutTests/platform/ios-simulator/ios/scrolling/scrolling-content-clip-to-viewport-expected.txt.
        * fast/scrolling/ios/scrolling-content-clip-to-viewport.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scrolling-content-clip-to-viewport.html.
        * fast/scrolling/ios/table-cell-touch-scrolling-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/table-cell-touch-scrolling-expected.txt.
        * fast/scrolling/ios/table-cell-touch-scrolling.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/table-cell-touch-scrolling.html.
        * fast/scrolling/ios/textarea-scroll-touch-expected.txt: Copied from LayoutTests/platform/ios-simulator/ios/scrolling/textarea-scroll-touch-expected.txt.
        * fast/scrolling/ios/textarea-scroll-touch.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/textarea-scroll-touch.html.
        * fast/scrolling/ios/touch-scroll-back-forward-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/touch-scroll-back-forward-expected.txt.
        * fast/scrolling/ios/touch-scroll-back-forward.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/touch-scroll-back-forward.html.
        * fast/scrolling/ios/touch-scroll-visibility-hidden-expected.txt:
        * fast/scrolling/ios/touch-scroll-visibility-hidden.html:
        * fast/scrolling/ios/touch-stacking-expected.txt: Copied from LayoutTests/platform/ios-simulator/ios/scrolling/touch-stacking-expected.txt.
        * fast/scrolling/ios/touch-stacking.html: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/touch-stacking.html.
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.png: Added.
        * platform/ios-simulator/fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt.
        * platform/ios-simulator/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scrolling-ancestor-clip-expected.txt.
        * platform/ios-simulator/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/overflow-scrolling-ancestor-clip-size-expected.txt.
        * platform/ios-simulator/fast/scrolling/ios/scrollbar-hiding-expected.png: Added.
        * platform/ios-simulator/fast/scrolling/ios/scrollbar-hiding-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scrollbar-hiding-expected.txt.
        * platform/ios-simulator/fast/scrolling/ios/scrolling-content-clip-to-viewport-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/scrolling-content-clip-to-viewport-expected.txt.
        * platform/ios-simulator/fast/scrolling/ios/textarea-scroll-touch-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/textarea-scroll-touch-expected.txt.
        * platform/ios-simulator/fast/scrolling/ios/touch-stacking-expected.png: Added.
        * platform/ios-simulator/fast/scrolling/ios/touch-stacking-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/scrolling/touch-stacking-expected.txt.

2016-05-09  Filip Pizlo  <fpizlo@apple.com>

        Polymorphic operands in operators coerces downstream values to double.
        https://bugs.webkit.org/show_bug.cgi?id=151793

        Reviewed by Mark Lam.

        * js/regress/object-int-add-array-expected.txt: Added.
        * js/regress/object-int-add-array.html: Added.
        * js/regress/object-int-add-expected.txt: Added.
        * js/regress/object-int-add.html: Added.
        * js/regress/object-int-mul-array-expected.txt: Added.
        * js/regress/object-int-mul-array.html: Added.
        * js/regress/object-int-sub-array-expected.txt: Added.
        * js/regress/object-int-sub-array.html: Added.
        * js/regress/object-int-sub-expected.txt: Added.
        * js/regress/object-int-sub.html: Added.
        * js/regress/script-tests/object-int-add-array.js: Added.
        (i.o.valueOf):
        * js/regress/script-tests/object-int-add.js: Added.
        (i.o.valueOf):
        * js/regress/script-tests/object-int-mul-array.js: Added.
        (i.o.valueOf):
        * js/regress/script-tests/object-int-sub-array.js: Added.
        (i.o.valueOf):
        * js/regress/script-tests/object-int-sub.js: Added.
        (i.o.valueOf):

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

        Land correct result for a recently added test.

        * fast/scrolling/ios/touch-scroll-visibility-hidden-expected.txt:

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

        [iOS] visibility:hidden -webkit-overflow-scrolling: touch divs can interfere with page scrolling
        https://bugs.webkit.org/show_bug.cgi?id=157496
        rdar://problem/22963278

        Reviewed by Tim Horton.
        
        Add a fast/scrolling/ios directory, disable it everywhere except on iOS.

        * TestExpectations:
        * fast/scrolling/ios/touch-scroll-visibility-hidden-expected.txt: Added.
        * fast/scrolling/ios/touch-scroll-visibility-hidden.html: Added.
        * platform/ios-simulator-wk2/TestExpectations:

2016-05-09  Myles C. Maxfield  <mmaxfield@apple.com>

        Web Font is downloaded even when all the characters in the document are outside its unicode-range
        https://bugs.webkit.org/show_bug.cgi?id=42154
        <rdar://problem/17779042>

        Reviewed by Darin Adler.

        * fast/text/unicode-range-download-expected.txt: Added.
        * fast/text/unicode-range-download.html: Added.
        * fast/text/resources/unicode-range-download-Ahem.otf: Added.
        * fast/text/resources/unicode-range-download-Ahem.ttf: Added.
        * fast/text/resources/unicode-range-download-Ahem.woff: Added.
        * imported/blink/svg/custom/resources/graffiti.svg: Added.
        imported/blink/svg/custom/svg-fonts-unloaded-segment.html requires this font.

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

        Remove testRunner.setTextAutosizingEnabled and migrate the one test that uses it
        https://bugs.webkit.org/show_bug.cgi?id=157480

        Reviewed by Zalan Bujtas.

        Migrate the one test that used testRunner.setTextAutosizingEnabled() to window.internals.settings.setTextAutosizingEnabled()
        and move it next to the other iOS text autosizing tests.

        * fast/text-autosizing/ios/textarea-auto-sizing-disable-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/html/textarea-auto-sizing-disable-expected.txt.
        * fast/text-autosizing/ios/textarea-auto-sizing-disable.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/html/textarea-auto-sizing-disable.html.
        * platform/ios-simulator/TestExpectations:

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

        Upstream some iOS text autosizing tests.

        * fast/text-autosizing/ios/anonymous-block.html: Added.
        * fast/text-autosizing/ios/contenteditable.html: Added.
        * fast/text-autosizing/ios/first-letter.html: Added.
        * fast/text-autosizing/ios/font-family-case-insensitive-expected.txt: Added.
        * fast/text-autosizing/ios/font-family-case-insensitive.html: Added.
        * fast/text-autosizing/ios/lists.html: Added.
        * fast/text-autosizing/ios/overflow.html: Added.
        * fast/text-autosizing/ios/percent-adjust-length-line-height-expected.txt: Added.
        * fast/text-autosizing/ios/percent-adjust-length-line-height.html: Added.
        * fast/text-autosizing/ios/percent-adjust-number-line-height-expected.txt: Added.
        * fast/text-autosizing/ios/percent-adjust-number-line-height.html: Added.
        * fast/text-autosizing/ios/percent-adjust-percent-line-height-expected.txt: Added.
        * fast/text-autosizing/ios/percent-adjust-percent-line-height.html: Added.
        * platform/ios-simulator/fast/text-autosizing/ios/anonymous-block-expected.txt: Added.
        * platform/ios-simulator/fast/text-autosizing/ios/contenteditable-expected.txt: Added.
        * platform/ios-simulator/fast/text-autosizing/ios/first-letter-expected.txt: Added.
        * platform/ios-simulator/fast/text-autosizing/ios/lists-expected.txt: Added.
        * platform/ios-simulator/fast/text-autosizing/ios/overflow-expected.txt: Added.
        * platform/mac/fast/text-autosizing/ios/anonymous-block-expected.txt: Added.
        * platform/mac/fast/text-autosizing/ios/contenteditable-expected.txt: Added.
        * platform/mac/fast/text-autosizing/ios/first-letter-expected.txt: Added.
        * platform/mac/fast/text-autosizing/ios/lists-expected.txt: Added.
        * platform/mac/fast/text-autosizing/ios/overflow-expected.txt: Added.

2016-05-06  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Font size increases on some pages after navigating then going back
        https://bugs.webkit.org/show_bug.cgi?id=157441
        rdar://problem/22873240

        Reviewed by Darin Adler.

        * fast/text-autosizing/ios/text-autosizing-after-back-expected.html: Added.
        * fast/text-autosizing/ios/text-autosizing-after-back.html: Added.

2016-05-09  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline failing LayoutTests after r200580

        Unreviewed test gardening.

        * fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
        * http/tests/workers/worker-importScriptsOnError-expected.txt:
        * inspector/model/remote-object-get-properties-expected.txt:

2016-05-09  Chris Dumez  <cdumez@apple.com>

        Optimize [StrictTypeChecking] on IDL operations
        https://bugs.webkit.org/show_bug.cgi?id=157467

        Reviewed by Darin Adler.

        Rebaseline existing tests now that we provide a more useful exception
        message when passing null for a non-nullable parameter and assigning
        null to a non-nullable attribute.

        * editing/selection/extend-expected.txt:
        * fast/dom/Document/adoptNode-null-expected.txt:
        * fast/dom/Document/adoptNode-null.html:
        * fast/dom/Document/importNode-null-expected.txt:
        * fast/dom/Document/importNode-null.html:
        * fast/dom/Element/attr-param-typechecking-expected.txt:
        * fast/dom/MutationObserver/observe-exceptions-expected.txt:
        * fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
        * fast/dom/Range/range-intersectsNode-expected.txt:
        * fast/dom/createNodeIterator-parameters-expected.txt:
        * fast/dom/createNodeIterator-parameters.html:
        * fast/dom/createTreeWalker-parameters-expected.txt:
        * fast/dom/createTreeWalker-parameters.html:
        * fast/dom/xmlserializer-serialize-to-string-exception-expected.txt:
        * fast/dynamic/insertAdjacentElement-expected.txt:
        * fast/mediastream/MediaStream-add-remove-null-undefined-tracks-expected.txt:
        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt:
        * fast/text/font-face-set-javascript-expected.txt:
        * fast/text/text-combine-crash-expected.txt:
        * media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
        * media/encrypted-media/encrypted-media-v2-syntax.html:
        * webaudio/createMediaStreamSource-null-expected.txt:
        * webaudio/createMediaStreamSource-null.html:
        * webaudio/decode-audio-data-basic-expected.txt:
        * webaudio/decode-audio-data-basic.html:
        * webaudio/mediaelementaudiosourcenode-expected.txt:
        * webaudio/mediaelementaudiosourcenode.html:

2016-05-09  Ryosuke Niwa  <rniwa@webkit.org>

        Focusing a shadow host places the slot content after the shadow DOM content
        https://bugs.webkit.org/show_bug.cgi?id=154770
        <rdar://problem/24873102>

        Reviewed by Antti Koivisto.

        Add a regression test now that the bug has been fixed.

        * fast/shadow-dom/shadow-layout-after-focus-expected.html: Added.
        * fast/shadow-dom/shadow-layout-after-focus.html: Added.

2016-05-09  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (198056): Unable to use edit buttons on WordPress
        https://bugs.webkit.org/show_bug.cgi?id=157475

        Reviewed by Antti Koivisto.

        Updated the tests.

        * fast/shadow-dom/Extensions-to-Event-Interface-expected.txt:
        * fast/shadow-dom/Extensions-to-Event-Interface.html:
        * fast/shadow-dom/resources/event-path-test-helpers.js:
        (dispatchEventWithLog):

2016-05-09  Ryan Haddad  <ryanhaddad@apple.com>

        Removing timeout and adding failure expectation for storage/indexeddb/intversion-open-in-upgradeneeded.html
        https://bugs.webkit.org/show_bug.cgi?id=155050

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

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

        [css-grid] Fix static position for positioned grid items
        https://bugs.webkit.org/show_bug.cgi?id=157417

        Reviewed by Darin Adler.

        Updated several tests to follow the new expected behavior.

        * fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html:
        * fast/css-grid-layout/absolute-positioning-grid-container-parent.html:
        * fast/css-grid-layout/grid-positioned-items-gaps-rtl.html:
        * fast/css-grid-layout/grid-positioned-items-gaps.html:
        * fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html:
        * fast/css-grid-layout/grid-positioned-items-implicit-grid.html:
        * fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html:
        * fast/css-grid-layout/grid-sizing-positioned-items.html:

2016-05-09  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Fix wrong gardening in r200570

        Unreviewed EFL gardening.

        * TestExpectations: Move selection gap tests to EFL's one.
        * platform/efl/TestExpectations:

2016-05-09  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Skip tests of selection gap because EFL port disabled to paint the selection gap

        Unreviewed EFL gardening.

        * TestExpectations:

2016-05-08  Zalan Bujtas  <zalan@apple.com>

        iOS selection: Use inflow containing block for positioned <br>.
        https://bugs.webkit.org/show_bug.cgi?id=157115
        <rdar://problem/25969295>

        Reviewed by Ryosuke Niwa.

        Similarly to RenderText, we should just use the inflow containing block for
        selected <br> even when it is positioned out of flow. This visually matches Mac OS X
        behaviour (selection painting does not get extended to the positioned <br>).

        * fast/text/fixed-positioned-br-crash-expected.txt: Added.
        * fast/text/fixed-positioned-br-crash.html: Added.

2016-05-08  Darin Adler  <darin@apple.com>

        Correct dictionary bindings handling of optional, null, and undefined
        https://bugs.webkit.org/show_bug.cgi?id=157463

        Reviewed by Chris Dumez.

        * fast/dom/MutationObserver/observe-exceptions-expected.txt: Reverted that
        change to expect a more specific TypeError just as it was a day ago before
        my last patch. The TypeError is back to being a problem with the specifics
        of the arguments passed rather than a problem with null and undefined
        themselves being invalid.

2016-05-07  Darin Adler  <darin@apple.com>

        Change MutationObserver::observe to take an IDL dictionary, rather than WebCore::Dictionary
        https://bugs.webkit.org/show_bug.cgi?id=157456

        Reviewed by Chris Dumez.

        * fast/dom/MutationObserver/observe-exceptions-expected.txt: Updated to expect
        the specific TypeError generated by the bindings code rather than the generic
        TypeError we got before generated inside the C++ DOM.

2016-05-07  Joanmarie Diggs  <jdiggs@igalia.com>

        REGRESSION(r196222): [AX][GTK] accessibility/gtk/caret-offsets.html failing
        https://bugs.webkit.org/show_bug.cgi?id=153956

        Reviewed by Chris Fleizach.

        Change the test to run asynchronously and update the expectations.

        * accessibility/gtk/caret-offsets-expected.txt: Updated.
        * accessibility/gtk/caret-offsets.html: Updated.
        * platform/gtk/TestExpectations: Unskipped the previously-failing test.

2016-05-06  Per Arne Vollan  <peavo@outlook.com>

        [Win] Skip failing INTL test.
        https://bugs.webkit.org/show_bug.cgi?id=157418

        Reviewed by Alex Christensen.

        Temporarily skip string-localeCompare.js, because AppleWin currently does not have INTL enabled.

        * js/script-tests/string-localeCompare.js:
        * platform/win/TestExpectations:

2016-05-06  Ryosuke Niwa  <rniwa@webkit.org>

        MouseEvent's offsetX and offsetY should be based on relative target
        https://bugs.webkit.org/show_bug.cgi?id=157444
        <rdar://problem/24396408>

        Reviewed by Darin Adler.

        Add a W3C style testharness.js test for adjusting offsetX and offsetY to the adjusted target
        since our existing behavior matches the spec as well as Chrome's behavior:
        http://w3c.github.io/webcomponents/spec/shadow/#event-dispatch

        * fast/shadow-dom/MouseEvent-prototype-offsetX-offsetY-expected.txt: Added.
        * fast/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html: Added.

2016-05-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve console.count()
        https://bugs.webkit.org/show_bug.cgi?id=157439
        <rdar://problem/26152654>

        Reviewed by Timothy Hatcher.

        * inspector/console/console-api-expected.txt:
        * inspector/console/console-count-expected.txt: Added.
        * inspector/console/console-count.html: Added.
        * inspector/console/console-time.html:

2016-05-06  Simon Fraser  <simon.fraser@apple.com>

        Enable IOS_TEXT_AUTOSIZING on Mac and make it testable
        https://bugs.webkit.org/show_bug.cgi?id=157432
        rdar://problem/16406720

        Reviewed by Dean Jackson.

        Enable fast/text-autosizing/ios/ on Mac and iOS

        * fast/text-autosizing/ios/autosize-width-expected.html: Added.
        * fast/text-autosizing/ios/autosize-width.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2016-05-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Console: Variables defined with let/const aren't accessible outside of console's scope
        https://bugs.webkit.org/show_bug.cgi?id=150752
        <rdar://problem/23343385>

        Reviewed by Mark Lam.

        * inspector/runtime/evaluate-CommandLineAPI-expected.txt: Added.
        * inspector/runtime/evaluate-CommandLineAPI.html: Added.
        New test covering the different cases of global evaluation with the
        CommandLineAPI as a scope extension.

        * http/tests/inspector/console/cross-domain-inspected-node-access-expected.txt:
        * inspector/console/command-line-api-expected.txt:
        * inspector/debugger/js-stacktrace-expected.txt:
        * inspector/debugger/js-stacktrace.html:
        * inspector/model/stack-trace-expected.txt:
        * platform/mac/inspector/model/remote-object-expected.txt:
        Update expectations now that global evaluations are treated as
        program's [global code] and not evals [eval code]. Also some
        line number changes.

2016-05-06  Tim Horton  <timothy_horton@apple.com>

        <attachment> element should understand UTIs
        https://bugs.webkit.org/show_bug.cgi?id=157425
        <rdar://problem/25585401>

        Reviewed by Anders Carlsson.

        * fast/attachment/attachment-uti-expected.html: Added.
        * fast/attachment/attachment-uti.html: Added.
        Add a test that UTIs render the same as their corresponding MIME types.

2016-05-06  Chris Dumez  <cdumez@apple.com>

        Clean up converting from JSValue to float / double in the bindings generator
        https://bugs.webkit.org/show_bug.cgi?id=157407

        Reviewed by Darin Adler.

        Rebaseline the tests now that we provide a more useful exception message.

        * fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
        * fast/canvas/canvas-getImageData-invalid-expected.txt:
        * fast/canvas/canvas-putImageData-expected.txt:
        * fast/canvas/canvas-putImageData.js:
        * fast/canvas/linearGradient-infinite-values-expected.txt:
        * fast/canvas/radialGradient-infinite-values-expected.txt:
        * fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:
        * fast/canvas/script-tests/canvas-getImageData-invalid.js:
        * fast/canvas/script-tests/linearGradient-infinite-values.js:
        * fast/canvas/script-tests/radialGradient-infinite-values.js:

2016-05-06  Brady Eidson  <beidson@apple.com>

        Unreviewed IDB test gardening.

        * TestExpectations:
        * storage/indexeddb/pending-activity-workers-expected.txt: Updated expectations.

2016-05-06  Brady Eidson  <beidson@apple.com>

        Unreviewed IDB test gardening.

        Fix a failing test, and add better classification/comments to a different failing test.

        * TestExpectations:
        * storage/indexeddb/dont-commit-on-blocked-expected.txt:
        * storage/indexeddb/dont-commit-on-blocked.html:

2016-05-06  Brady Eidson  <beidson@apple.com>

        Unreviewed IDB test gardening.

        Update the workers variant of "deletedatabase-delayed-by-open-and-versionchange" to the modern expected results.

        * TestExpectations:
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt:

2016-05-06  Dean Jackson  <dino@apple.com>

        Regions, Shapes and Tracks don't need runtime features
        https://bugs.webkit.org/show_bug.cgi?id=157426
        <rdar://problem/26146262>

        Reviewed by Simon Fraser.

        Remove these tests since their runtime flags no longer exist.

        * fast/regions/css-regions-disabled-expected.txt: Removed.
        * fast/regions/css-regions-disabled.html: Removed.
        * fast/shapes/css-shapes-disabled-expected.txt: Removed.
        * fast/shapes/css-shapes-disabled.html: Removed.

2016-05-06  Brady Eidson  <beidson@apple.com>

        Unreviewed IDB test gardening.

        Finish removing unsupported lines from the "unprefix" test.

        * storage/indexeddb/unprefix-private-expected.txt:

2016-05-06  Brady Eidson  <beidson@apple.com>

        Unreviewed IDB test gardening.

        Remove unsupported lines from the "unprefix" test.
        
        * TestExpectations:
        * storage/indexeddb/resources/unprefix.js:
        * storage/indexeddb/unprefix-expected.txt:
        * storage/indexeddb/unprefix-workers-expected.txt:

2016-05-06  Brady Eidson  <beidson@apple.com>

        Unreviewed IDB test gardening.

        Remove the Workers variant of a test that had been removed for being irrelevant.

        * TestExpectations:
        * storage/indexeddb/factory-basics-workers-expected.txt: Removed.
        * storage/indexeddb/factory-basics-workers.html: Removed.

2016-05-06  Brady Eidson  <beidson@apple.com>

        Modern IDB (Workers): Start running a lot of the workers tests.
        https://bugs.webkit.org/show_bug.cgi?id=157424

        Reviewed by Sam Weinig.

        Many tests that obviously pass need updated expectations for the details of error messages.

        Others just work right out of the box.

        * TestExpectations: Enable some tests, and categorize remaining failures.
        
        * http/tests/security/cross-origin-worker-indexeddb-allowed-expected.txt:
        * http/tests/security/cross-origin-worker-indexeddb-allowed.html:
        * http/tests/security/cross-origin-worker-indexeddb-expected.txt:
        * http/tests/security/cross-origin-worker-indexeddb.html:
        * http/tests/security/resources/cross-origin-iframe-for-worker-indexeddb.html:
        * http/tests/security/resources/document-for-cross-origin-worker-indexeddb.html:
        * http/tests/security/resources/worker-for-indexeddb.js:
        * storage/indexeddb/basics-workers.html:
        * storage/indexeddb/cursor-advance-workers-expected.txt:
        * storage/indexeddb/cursor-advance-workers.html:
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
        * storage/indexeddb/dont-commit-on-blocked-private.html:
        * storage/indexeddb/dont-commit-on-blocked.html:
        * storage/indexeddb/factory-basics-workers.html:
        * storage/indexeddb/index-basics-workers-expected.txt:
        * storage/indexeddb/index-basics-workers.html:
        * storage/indexeddb/modern/workers-disabled.html:
        * storage/indexeddb/objectstore-basics-workers-expected.txt:
        * storage/indexeddb/objectstore-basics-workers.html:
        * storage/indexeddb/open-twice-workers.html:
        * storage/indexeddb/pending-activity-workers.html:
        * storage/indexeddb/pending-version-change-on-exit-private.html:
        * storage/indexeddb/pending-version-change-on-exit.html:
        * storage/indexeddb/pending-version-change-stuck-private.html:
        * storage/indexeddb/pending-version-change-stuck-works-with-terminate-private.html:
        * storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
        * storage/indexeddb/pending-version-change-stuck.html:
        * storage/indexeddb/transaction-complete-workers-expected.txt:
        * storage/indexeddb/transaction-complete-workers-private-expected.txt:
        * storage/indexeddb/transaction-complete-workers-private.html:
        * storage/indexeddb/transaction-complete-workers.html:
        * storage/indexeddb/unprefix-workers.html:

2016-05-06  Ryosuke Niwa  <rniwa@webkit.org>

        FKA: No way to get focus from DOM to shadow DOM components (Was: HTML5 media controls not keyboard accessible)
        https://bugs.webkit.org/show_bug.cgi?id=117857

        Reviewed by Jer Noble.

        Added a regression test for moving focus into media elements by pressing tab key.

        * media/tab-focus-inside-media-elements-expected.txt: Added.
        * media/tab-focus-inside-media-elements.html: Added.

2016-05-06  Filip Pizlo  <fpizlo@apple.com>

        JS Function removed after parsing
        https://bugs.webkit.org/show_bug.cgi?id=149175

        Reviewed by Mark Lam.
        
        This bug doesn't happen anymore, but the test case is still useful. This test will fail 1/5 of
        the time if we regress.

        * js/dom/function-removed-after-parsing-expected.txt: Added.
        * js/dom/function-removed-after-parsing.html: Added.

2016-05-06  Jer Noble  <jer.noble@apple.com>

        Muted media elements should be allowed to autoplay, even if RequireUserGestureForAudioRateChange is set.
        https://bugs.webkit.org/show_bug.cgi?id=157404
        <rdar://problem/26016802>

        Reviewed by Eric Carlson.

        * media/audio-playback-restriction-play-muted-expected.txt: Added.
        * media/audio-playback-restriction-play-muted.html: Added.

2016-05-06  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Unprefix CSS Grid Layout properties
        https://bugs.webkit.org/show_bug.cgi?id=157137

        Reviewed by Simon Fraser.

        Remove "-webkit" prefix from all the grid layout properties,
        including the display value.
        Update the source code to remove the prefix where it was used too.

        * css3/parse-align-content.html:
        * css3/parse-align-items.html:
        * css3/parse-align-self.html:
        * css3/parse-justify-content.html:
        * fast/css-grid-layout/absolute-positioning-definite-sizes.html:
        * fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html:
        * fast/css-grid-layout/absolute-positioning-grid-container-parent.html:
        * fast/css-grid-layout/anonymous-grid-items-expected.html:
        * fast/css-grid-layout/anonymous-grid-items.html:
        * fast/css-grid-layout/auto-content-resolution-columns.html:
        * fast/css-grid-layout/auto-content-resolution-rows.html:
        * fast/css-grid-layout/breadth-size-resolution-grid.html:
        * fast/css-grid-layout/calc-resolution-grid-item.html:
        * fast/css-grid-layout/compute-intrinsic-widths-scrollbar.html:
        * fast/css-grid-layout/display-grid-set-get-expected.txt:
        * fast/css-grid-layout/explicit-grid-size.html:
        * fast/css-grid-layout/flex-and-content-sized-resolution-columns-expected.txt:
        * fast/css-grid-layout/flex-and-content-sized-resolution-columns.html:
        * fast/css-grid-layout/flex-and-intrinsic-sizes.html:
        * fast/css-grid-layout/flex-and-minmax-content-resolution-columns.html:
        * fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
        * fast/css-grid-layout/flex-content-distribution.html:
        * fast/css-grid-layout/flex-content-resolution-columns.html:
        * fast/css-grid-layout/flex-content-resolution-rows.html:
        * fast/css-grid-layout/flex-content-sized-column-use-available-width.html:
        * fast/css-grid-layout/flex-content-sized-columns-resize.html:
        * fast/css-grid-layout/flex-factor-sum-less-than-1.html:
        * fast/css-grid-layout/float-not-protruding-into-next-grid-item.html:
        * fast/css-grid-layout/floating-empty-grids.html:
        * fast/css-grid-layout/grid-align-content-distribution-vertical-lr.html:
        * fast/css-grid-layout/grid-align-content-distribution-vertical-rl.html:
        * fast/css-grid-layout/grid-align-content-distribution.html:
        * fast/css-grid-layout/grid-align-content-vertical-lr.html:
        * fast/css-grid-layout/grid-align-content-vertical-rl.html:
        * fast/css-grid-layout/grid-align-content.html:
        * fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html:
        * fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html:
        * fast/css-grid-layout/grid-align-justify-margin-border-padding.html:
        * fast/css-grid-layout/grid-align-justify-overflow.html:
        * fast/css-grid-layout/grid-align-justify-stretch.html:
        * fast/css-grid-layout/grid-align-stretching-replaced-items.html:
        * fast/css-grid-layout/grid-align.html:
        * fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-auto-columns-rows-resolution.html:
        * fast/css-grid-layout/grid-auto-columns-rows-update.html:
        * fast/css-grid-layout/grid-auto-flow-get-set-expected.txt:
        * fast/css-grid-layout/grid-auto-flow-get-set.html:
        * fast/css-grid-layout/grid-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-flow-sparse.html:
        * fast/css-grid-layout/grid-auto-flow-update.html:
        * fast/css-grid-layout/grid-automatic-minimum-for-auto-columns-expected.txt:
        * fast/css-grid-layout/grid-automatic-minimum-for-auto-columns.html:
        * fast/css-grid-layout/grid-automatic-minimum-for-auto-rows-expected.txt:
        * fast/css-grid-layout/grid-automatic-minimum-for-auto-rows.html:
        * fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
        * fast/css-grid-layout/grid-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
        * fast/css-grid-layout/grid-container-ignore-first-letter.html:
        * fast/css-grid-layout/grid-content-alignment-and-self-alignment-spanning.html:
        * fast/css-grid-layout/grid-content-alignment-and-self-alignment.html:
        * fast/css-grid-layout/grid-content-alignment-overflow.html:
        * fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks.html:
        * fast/css-grid-layout/grid-content-alignment-stretch-with-different-sized-tracks.html:
        * fast/css-grid-layout/grid-content-alignment-with-span-vertical-lr.html:
        * fast/css-grid-layout/grid-content-alignment-with-span-vertical-rl.html:
        * fast/css-grid-layout/grid-content-alignment-with-span.html:
        * fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
        * fast/css-grid-layout/grid-content-sized-columns-resolution.html:
        * fast/css-grid-layout/grid-disable.html:
        * fast/css-grid-layout/grid-dynamic-updates-relayout.html:
        * fast/css-grid-layout/grid-element-auto-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-auto-repeat-get-set.html:
        * fast/css-grid-layout/grid-element-border-grid-item.html:
        * fast/css-grid-layout/grid-element-border-padding-grid-item.html:
        * fast/css-grid-layout/grid-element-change-columns-repaint.html:
        * fast/css-grid-layout/grid-element-change-rows-repaint.html:
        * fast/css-grid-layout/grid-element-empty-row-column.html:
        * fast/css-grid-layout/grid-element-min-max-height.html:
        * fast/css-grid-layout/grid-element-min-max-width.html:
        * fast/css-grid-layout/grid-element-padding-grid-item.html:
        * fast/css-grid-layout/grid-element-padding-margin.html:
        * fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-repeat-get-set.html:
        * fast/css-grid-layout/grid-element-shrink-to-fit.html:
        * fast/css-grid-layout/grid-grow-tracks-to-their-max-expected.txt:
        * fast/css-grid-layout/grid-grow-tracks-to-their-max.html:
        * fast/css-grid-layout/grid-gutters-and-alignment.html:
        * fast/css-grid-layout/grid-gutters-and-flex-content.html:
        * fast/css-grid-layout/grid-gutters-and-tracks.html:
        * fast/css-grid-layout/grid-gutters-get-set-expected.txt:
        * fast/css-grid-layout/grid-gutters-get-set.html:
        * fast/css-grid-layout/grid-indefinite-calculated-height-crash-expected.txt:
        * fast/css-grid-layout/grid-indefinite-calculated-height-crash.html:
        * fast/css-grid-layout/grid-initialize-span-one-items-expected.txt:
        * fast/css-grid-layout/grid-initialize-span-one-items.html:
        * fast/css-grid-layout/grid-item-addition-auto-placement-update.html:
        * fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
        * fast/css-grid-layout/grid-item-area-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-area-get-set.html:
        * fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr.html:
        * fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl.html:
        * fast/css-grid-layout/grid-item-auto-margins-alignment.html:
        * fast/css-grid-layout/grid-item-auto-margins-and-stretch.html:
        * fast/css-grid-layout/grid-item-auto-margins-must-respect-specified-margins.html:
        * fast/css-grid-layout/grid-item-auto-placement-automatic-span.html:
        * fast/css-grid-layout/grid-item-auto-placement-definite-span.html:
        * fast/css-grid-layout/grid-item-auto-placement-fixed-row-column.html:
        * fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding.html:
        * fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
        * fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
        * fast/css-grid-layout/grid-item-change-column-repaint.html:
        * fast/css-grid-layout/grid-item-change-row-repaint.html:
        * fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-column-row-get-set.html:
        * fast/css-grid-layout/grid-item-display.html:
        * fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-end-after-get-set.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html:
        * fast/css-grid-layout/grid-item-margin-resolution.html:
        * fast/css-grid-layout/grid-item-margins-not-collapse.html:
        * fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
        * fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
        * fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
        * fast/css-grid-layout/grid-item-negative-indexes.html:
        * fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html:
        * fast/css-grid-layout/grid-item-negative-position-resolution.html:
        * fast/css-grid-layout/grid-item-order-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html:
        * fast/css-grid-layout/grid-item-order-paint-order.html:
        * fast/css-grid-layout/grid-item-position-changed-dynamic.html:
        * fast/css-grid-layout/grid-item-removal-auto-placement-update.html:
        * fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
        * fast/css-grid-layout/grid-item-spanning-resolution.html:
        * fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-start-before-get-set.html:
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-vertical-lr.html:
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-vertical-rl.html:
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding.html:
        * fast/css-grid-layout/grid-item-text-background-not-interleaved.html:
        * fast/css-grid-layout/grid-item-unknown-named-grid-line-resolution.html:
        * fast/css-grid-layout/grid-item-with-border-in-fr.html:
        * fast/css-grid-layout/grid-item-with-border-in-intrinsic.html:
        * fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html:
        * fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html:
        * fast/css-grid-layout/grid-item-z-index-change-repaint-expected.html:
        * fast/css-grid-layout/grid-item-z-index-change-repaint.html:
        * fast/css-grid-layout/grid-item-z-index-stacking-context-expected.html:
        * fast/css-grid-layout/grid-item-z-index-stacking-context.html:
        * fast/css-grid-layout/grid-item-z-index-support.html:
        * fast/css-grid-layout/grid-items-should-not-be-stretched-when-height-or-width-or-margin-change.html:
        * fast/css-grid-layout/grid-justify-content-distribution-vertical-lr.html:
        * fast/css-grid-layout/grid-justify-content-distribution-vertical-rl.html:
        * fast/css-grid-layout/grid-justify-content-distribution.html:
        * fast/css-grid-layout/grid-justify-content-vertical-lr.html:
        * fast/css-grid-layout/grid-justify-content-vertical-rl.html:
        * fast/css-grid-layout/grid-justify-content.html:
        * fast/css-grid-layout/grid-percent-track-margin-border-padding.html:
        * fast/css-grid-layout/grid-percent-track-scrollbar.html:
        * fast/css-grid-layout/grid-positioned-children-writing-modes.html:
        * fast/css-grid-layout/grid-positioned-items-background-rtl.html:
        * fast/css-grid-layout/grid-positioned-items-background.html:
        * fast/css-grid-layout/grid-positioned-items-content-alignment-rtl.html:
        * fast/css-grid-layout/grid-positioned-items-content-alignment.html:
        * fast/css-grid-layout/grid-positioned-items-gaps-rtl.html:
        * fast/css-grid-layout/grid-positioned-items-gaps.html:
        * fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html:
        * fast/css-grid-layout/grid-positioned-items-implicit-grid.html:
        * fast/css-grid-layout/grid-positioned-items-padding.html:
        * fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html:
        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html:
        * fast/css-grid-layout/grid-preferred-logical-widths.html:
        * fast/css-grid-layout/grid-repeat-calc-expected.txt:
        * fast/css-grid-layout/grid-repeat-calc.html:
        * fast/css-grid-layout/grid-shorthand-computed-style-crash.html:
        * fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
        * fast/css-grid-layout/grid-shorthand-get-set.html:
        * fast/css-grid-layout/grid-sizing-positioned-items.html:
        * fast/css-grid-layout/grid-strict-ordering-crash.html:
        * fast/css-grid-layout/grid-template-areas-empty-string-crash.html:
        * fast/css-grid-layout/grid-template-areas-get-set-expected.txt:
        * fast/css-grid-layout/grid-template-areas-get-set.html:
        * fast/css-grid-layout/grid-template-areas-infinite-loop.html:
        * fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment-expected.txt:
        * fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment.html:
        * fast/css-grid-layout/grid-template-shorthand-computed-style-crash.html:
        * fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt:
        * fast/css-grid-layout/grid-template-shorthand-get-set.html:
        * fast/css-grid-layout/grid-update-sizes-after-distributing-all-expected.txt:
        * fast/css-grid-layout/grid-update-sizes-after-distributing-all.html:
        * fast/css-grid-layout/grid-was-populated-assert.html:
        * fast/css-grid-layout/grid-with-relative-font-length-crash.html:
        * fast/css-grid-layout/implicit-columns-auto-resolution.html:
        * fast/css-grid-layout/implicit-position-dynamic-change-expected.txt:
        * fast/css-grid-layout/implicit-position-dynamic-change.html:
        * fast/css-grid-layout/implicit-rows-auto-resolution.html:
        * fast/css-grid-layout/implicit-tracks-before-explicit.html:
        * fast/css-grid-layout/justify-self-cell.html:
        * fast/css-grid-layout/mark-as-infinitely-growable-expected.txt:
        * fast/css-grid-layout/mark-as-infinitely-growable.html:
        * fast/css-grid-layout/maximize-tracks-definite-indefinite-height.html:
        * fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html:
        * fast/css-grid-layout/min-height-border-box.html:
        * fast/css-grid-layout/min-width-height-auto-and-margins.html:
        * fast/css-grid-layout/min-width-height-auto-overflow.html:
        * fast/css-grid-layout/min-width-height-auto.html:
        * fast/css-grid-layout/min-width-margin-box.html:
        * fast/css-grid-layout/minmax-fixed-logical-height-only.html:
        * fast/css-grid-layout/minmax-fixed-logical-width-only.html:
        * fast/css-grid-layout/minmax-max-content-resolution-columns.html:
        * fast/css-grid-layout/minmax-max-content-resolution-rows.html:
        * fast/css-grid-layout/minmax-min-content-column-resolution-columns.html:
        * fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
        * fast/css-grid-layout/minmax-spanning-resolution-columns.html:
        * fast/css-grid-layout/minmax-spanning-resolution-rows.html:
        * fast/css-grid-layout/named-grid-line-get-set-expected.txt:
        * fast/css-grid-layout/named-grid-line-get-set.html:
        * fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks-expected.txt:
        * fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set-expected.txt:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
        * fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
        * fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
        * fast/css-grid-layout/non-grid-columns-rows-get-set.html:
        * fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt:
        * fast/css-grid-layout/non-grid-element-repeat-get-set.html:
        * fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
        * fast/css-grid-layout/non-named-grid-line-get-set.html:
        * fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html:
        * fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html:
        * fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html:
        * fast/css-grid-layout/percent-intrinsic-track-breadth.html:
        * fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
        * fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash.html:
        * fast/css-grid-layout/percent-of-indefinite-track-size.html:
        * fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html:
        * fast/css-grid-layout/percent-padding-margin-resolution-grid-item.html:
        * fast/css-grid-layout/percent-resolution-grid-item.html:
        * fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
        * fast/css-grid-layout/place-cell-by-index.html:
        * fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html:
        * fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html:
        * fast/css-grid-layout/relayout-align-items-changed.html:
        * fast/css-grid-layout/relayout-align-self-changed.html:
        * fast/css-grid-layout/relayout-indefinite-heights.html:
        * fast/css-grid-layout/relayout-justify-items-changed.html:
        * fast/css-grid-layout/relayout-justify-self-changed.html:
        * fast/css-grid-layout/resources/display-grid-set-get.js:
        * fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
        (testInherit):
        (testInitial):
        * fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
        (testInherit):
        (testInitial):
        * fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:
        (testGridTemplatesValues):
        (checkGridTemplatesSetJSValues):
        (testGridTemplatesSetBadJSValues):
        (checkGridAutoFlowSetCSSValue):
        (checkGridAutoFlowSetJSValue):
        (testGridAutoDefinitionsValues):
        (testGridGapDefinitionsValues):
        * fast/css-grid-layout/resources/grid-item-column-row-parsing-utils.js:
        (checkColumnRowValues):
        (window.testColumnRowJSParsing):
        (window.testColumnRowInvalidJSParsing):
        (window.testColumnStartRowStartJSParsing):
        (window.testColumnEndRowEndJSParsing):
        (setupInheritTest):
        (setupInitialTest):
        (window.testColumnRowInheritJSParsing):
        (window.testStartBeforeInheritJSParsing):
        (window.testEndAfterInheritJSParsing):
        (window.testColumnRowInitialJSParsing):
        (window.testStartBeforeInitialJSParsing):
        (window.testEndAfterInitialJSParsing):
        * fast/css-grid-layout/resources/grid-shorthand-parsing-utils.js:
        (testGridDefinitionsValues):
        (checkGridDefinitionsSetJSValues):
        (testGridDefinitionsSetBadJSValues):
        * fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js:
        (testGridDefinitionsValues):
        (checkGridDefinitionsSetJSValues):
        (testGridDefinitionsSetBadJSValues):
        * fast/css-grid-layout/resources/grid.css:
        (.grid):
        (.inline-grid):
        (.firstRowFirstColumn):
        (.onlyFirstRowOnlyFirstColumn):
        (.firstRowSecondColumn):
        (.onlyFirstRowOnlySecondColumn):
        (.firstRowThirdColumn):
        (.firstRowFourthColumn):
        (.secondRowFirstColumn):
        (.onlySecondRowOnlyFirstColumn):
        (.secondRowSecondColumn):
        (.onlySecondRowOnlySecondColumn):
        (.endSecondRowEndSecondColumn):
        (.secondRowThirdColumn):
        (.secondRowFourthColumn):
        (.thirdRowFirstColumn):
        (.thirdRowSecondColumn):
        (.thirdRowThirdColumn):
        (.fourthRowFirstColumn):
        (.fourthRowSecondColumn):
        (.firstAutoRowSecondAutoColumn):
        (.autoLastRowAutoLastColumn):
        (.autoSecondRowAutoFirstColumn):
        (.firstRowBothColumn):
        (.secondRowBothColumn):
        (.bothRowFirstColumn):
        (.bothRowSecondColumn):
        (.bothRowBothColumn):
        (.autoRowAutoColumn):
        (.firstRowAutoColumn):
        (.secondRowAutoColumn):
        (.thirdRowAutoColumn):
        (.autoRowFirstColumn):
        (.autoRowSecondColumn):
        (.autoRowThirdColumn):
        (.autoRowAutoColumnSpanning2):
        (.autoRowSpanning2AutoColumn):
        (.autoRowSpanning2AutoColumnSpanning3):
        (.autoRowSpanning3AutoColumnSpanning2):
        (.autoRowFirstColumnSpanning2):
        (.autoRowSecondColumnSpanning2):
        (.firstRowSpanning2AutoColumn):
        (.secondRowSpanning2AutoColumn):
        (.gridAutoFlowColumnSparse):
        (.gridAutoFlowColumnDense):
        (.gridAutoFlowRowSparse):
        (.gridAutoFlowRowDense):
        * fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
        (testInherit):
        (testInitial):
        * fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
        (testInherit):
        (testInitial):
        * fast/css-grid-layout/should-not-collapse-anonymous-blocks.html:
        * fast/css-grid-layout/swap-lines-if-start-is-further-endward-than-end-line-expected.html:
        * fast/css-grid-layout/swap-lines-if-start-is-further-endward-than-end-line.html:
        * fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html:
        * fast/css/auto-min-size.html:
        * fast/css/first-letter-ignores-display-property.html:
        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * fast/css/getComputedStyle/resources/property-names.js:
        * fast/css/parse-justify-items.html:
        * fast/events/key-events-in-editable-gridbox.html:
        * fast/repaint/align-items-overflow-change.html:
        * fast/repaint/align-self-change.html:
        * fast/repaint/align-self-overflow-change.html:
        * fast/repaint/justify-items-change.html:
        * fast/repaint/justify-items-legacy-change.html:
        * fast/repaint/justify-items-overflow-change.html:
        * fast/repaint/justify-self-change.html:
        * fast/repaint/justify-self-overflow-change.html:
        * fast/text-autosizing/cluster-inline-grid-flex-box-expected.html:
        * fast/text-autosizing/cluster-inline-grid-flex-box.html:
        * ietestcenter/css3/grid/display-grid-001-expected.htm:
        * ietestcenter/css3/grid/display-grid-001.htm:
        * ietestcenter/css3/grid/display-grid-002-expected.htm:
        * ietestcenter/css3/grid/display-grid-002.htm:
        * ietestcenter/css3/grid/grid-column-001-expected.htm:
        * ietestcenter/css3/grid/grid-column-001.htm:
        * ietestcenter/css3/grid/grid-column-002-expected.htm:
        * ietestcenter/css3/grid/grid-column-002.htm:
        * ietestcenter/css3/grid/grid-column-003-expected.htm:
        * ietestcenter/css3/grid/grid-column-003.htm:
        * ietestcenter/css3/grid/grid-columns-001-expected.htm:
        * ietestcenter/css3/grid/grid-columns-001.htm:
        * ietestcenter/css3/grid/grid-items-001-expected.htm:
        * ietestcenter/css3/grid/grid-items-001.htm:
        * ietestcenter/css3/grid/grid-items-002-expected.htm:
        * ietestcenter/css3/grid/grid-items-002.htm:
        * ietestcenter/css3/grid/grid-items-003-expected.htm:
        * ietestcenter/css3/grid/grid-items-003.htm:
        * ietestcenter/css3/grid/grid-items-004-expected.htm:
        * ietestcenter/css3/grid/grid-items-004.htm:
        * ietestcenter/css3/grid/grid-items-005-expected.htm:
        * ietestcenter/css3/grid/grid-items-005.htm:
        * svg/css/getComputedStyle-basic-expected.txt:

2016-05-06  Nan Wang  <n_wang@apple.com>

        AX: <attachment> element should have a replacement character
        https://bugs.webkit.org/show_bug.cgi?id=157406

        Reviewed by Chris Fleizach.

        * accessibility/attachment-element-expected.txt:
        * accessibility/mac/attachment-element-replacement-character-expected.txt: Added.
        * accessibility/mac/attachment-element-replacement-character.html: Added.
        * editing/pasteboard/drag-and-drop-attachment-contenteditable-expected.txt:

2016-05-06  Nan Wang  <n_wang@apple.com>

        AX: String for document range is empty if end visible position anchors to a ignored replaced node
        https://bugs.webkit.org/show_bug.cgi?id=157403

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-string-for-document-end-replaced-node-expected.txt: Added.
        * accessibility/mac/text-marker-string-for-document-end-replaced-node.html: Added.

2016-05-05  Dean Jackson  <dino@apple.com>

        4 and 8 digit color attributes should use the crazypants algorithm, not the CSS one.
        https://bugs.webkit.org/show_bug.cgi?id=157402
        <rdar://problem/26131142>

        Reviewed by Simon Fraser.

        Restore the version that was there before I added support for
        4 and 8 digit hex colors in CSS.

        * fast/dom/attribute-legacy-colors-expected.txt:
        * fast/dom/script-tests/attribute-legacy-colors.js:

2016-05-05  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION(r200422): Web Inspector: Make new Array Iterator objects play nice with Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=157361
        <rdar://problem/26099793>

        Reviewed by Timothy Hatcher.

        * platform/mac/inspector/model/remote-object-expected.txt:

2016-05-05  Commit Queue  <commit-queue@webkit.org>

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

        A LayoutTest added with this change is crashing on Mac WK1
        test runs. (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "For keyboard users, activating a fragment URL should transfer
        focus and caret to the destination"
        https://bugs.webkit.org/show_bug.cgi?id=116046
        http://trac.webkit.org/changeset/200479

2016-05-05  Chris Dumez  <cdumez@apple.com>

        CORS check is sometimes incorrectly failing for media loads
        https://bugs.webkit.org/show_bug.cgi?id=157370
        <rdar://problem/26071607>

        Reviewed by Alex Christensen.

        Add a regression test for <rdar://problem/26071607>.

        * http/tests/media/resources/reference.mov: Added.
        * http/tests/security/resources/reference-movie-cross-origin-allow.php: Added.
        * http/tests/security/video-cross-origin-caching-expected.txt: Added.
        * http/tests/security/video-cross-origin-caching.html: Added.

2016-05-05  Zalan Bujtas  <zalan@apple.com>

        Stop traversing at the container block when computing RTL inline static distance.
        https://bugs.webkit.org/show_bug.cgi?id=157349
        <rdar://problem/25994087>

        Reviewed by David Hyatt.

        When computing the inline static distance for a child renderer, we start at its enclosing box
        and traverse up all the way to the container block.
        However when the enclosing box is the ancestor of the container block, we
        should just bail out right away since there's no container to use to adjust the position.

        * fast/multicol/positioned-rtl-column-crash-expected.txt: Added.
        * fast/multicol/positioned-rtl-column-crash.html: Added.

2016-05-05  Ryan Haddad  <ryanhaddad@apple.com>

        Unskip 9 compositing tests on ios-simulator, mark 2 as failures on ios-simulator-wk1

        Unreviewed test gardening.

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

2016-05-05  Ryan Haddad  <ryanhaddad@apple.com>

        TestExpectations gardening for ios-simulator

        Unreviewed test gardening.

        Remove failure expectation for passing tests, move some to more specific ports, and remove expectations
        for tests that are no longer in the tree.

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

2016-05-05  Zalan Bujtas  <zalan@apple.com>

        Do not attempt to compute min/max width.
        https://bugs.webkit.org/show_bug.cgi?id=157320

        Reviewed by David Hyatt.

        Replaced elements with no intrinsic size (only with ratio) should not call the containing
        block to compute the min/max width when the containing block's min/max width
        depends on the children's intrinsic size. It could lead to infinite recursion.

        * fast/replaced/before-content-intrinsic-crash-expected.txt: Added.
        * fast/replaced/before-content-intrinsic-crash.html: Added.

2016-05-05  Nan Wang  <n_wang@apple.com>

        For keyboard users, activating a fragment URL should transfer focus and caret to the destination
        https://bugs.webkit.org/show_bug.cgi?id=116046

        Reviewed by Ryosuke Niwa.

        Updated fast/dom/fragment-activation-focuses-target.html, now that navigating to a unfocusable
        fragment will unset the focused element.

        * fast/dom/fragment-activation-focuses-target-expected.txt:
        * fast/dom/fragment-activation-focuses-target.html:
        * fast/events/sequential-focus-navigation-starting-point-expected.txt: Added.
        * fast/events/sequential-focus-navigation-starting-point.html: Added.
        * platform/ios-simulator/TestExpectations:

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

        [GTK] Unreviewed gardening.

        * platform/gtk/TestExpectations: Add more HiDPI tests failing.

2016-05-05  Joseph Pecoraro  <pecoraro@apple.com>

        Crash if you type "debugger" in the console and continue
        https://bugs.webkit.org/show_bug.cgi?id=156924
        <rdar://problem/25884189>

        Reviewed by Mark Lam.

        * inspector/debugger/evaluateOnCallFrame-errors-expected.txt: Added.
        * inspector/debugger/evaluateOnCallFrame-errors.html: Added.
        * inspector/protocol/backend-dispatcher-argument-errors-expected.txt:

2016-05-04  Simon Fraser  <simon.fraser@apple.com>

        Comments on wired.com are blurry
        https://bugs.webkit.org/show_bug.cgi?id=148630

        Reviewed by Tim Horton.

        This testcase does not fail without the patch because of how WTR does snapshotting,
        but some future improvement may fix that.

        * compositing/contents-scale/rasterization-scale-expected.html: Added.
        * compositing/contents-scale/rasterization-scale.html: Added.

2016-05-05  Ryosuke Niwa  <rniwa@webkit.org>

        event.target shouldn't be retargeted as the event bubbles into a slot
        https://bugs.webkit.org/show_bug.cgi?id=157369

        Reviewed by Antti Koivisto.

        Updated test cases to expect the target to be not adjusted to a slot element when the event path
        enters one as this didn't match the spec or the behavior of Google Chrome Canary. Both WebKit and
        Chrome passes the test with this change.

        * fast/shadow-dom/event-inside-slotted-node.html:

2016-05-04  Alex Christensen  <achristensen@webkit.org>

        Blocked redirected main resource requests need descriptive errors
        https://bugs.webkit.org/show_bug.cgi?id=156828
        rdar://problem/25711316

        Reviewed by Daniel Bates.

        * http/tests/contentextensions/block-everything-if-domain-expected.txt:
        Updated because the page no longer loads because the main resource was blocked.
        * http/tests/contentextensions/block-everything-unless-domain-expected.txt:
        * http/tests/contentextensions/block-everything-unless-domain.html:
        Updated test because about:blank is no longer loaded when the main resource fails to load.
        * http/tests/contentextensions/main-resource-expected.txt:
        Update to reflect new behavior of calling didFailProvisionalLoadWithError instead of just didFailLoadingWithError.
        * http/tests/contentextensions/main-resource-redirect-error-expected.txt: Added.
        * http/tests/contentextensions/main-resource-redirect-error.html: Added.
        * http/tests/contentextensions/main-resource-redirect-error.html.json: Added.
        * http/tests/contentextensions/main-resource.html:

2016-05-04  Daniel Bates  <dabates@apple.com>

        CSP: Perform case sensitive match against path portion of source expression URL that ends in '/'
        https://bugs.webkit.org/show_bug.cgi?id=157275

        Reviewed by Darin Adler.

        Add test to ensure that the path portion of a request URL is case-sensitively
        matched against the path portion of a source expression that ends in '/'.

        * http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01-expected.txt:
        * http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html:

2016-05-04  Aaron Chu  <aaron_chu@apple.com>

        AX: Nonfunctional controls appear before every HTML5 video when using VoiceOver
        https://bugs.webkit.org/show_bug.cgi?id=153089
        <rdar://problem/24050668>

        Reviewed by Dean Jackson.

        * media/video-controls-show-on-kb-or-ax-event-expected.txt:
        * media/video-controls-show-on-kb-or-ax-event.html:

        A Layout Test to make sure showControls Button in media player is hidden by default.

2016-05-04  Dean Jackson  <dino@apple.com>

        Disabling WebGL2 should mean no context is created
        https://bugs.webkit.org/show_bug.cgi?id=157352
        <rdar://problem/26096346>

        Reviewed by Eric Carlson.

        Check that toggling the runtime flag enables/disables WebGL 2.0.

        * fast/canvas/webgl/webgl2-runtime-flag-expected.txt: Added.
        * fast/canvas/webgl/webgl2-runtime-flag.html: Added.

2016-05-04  Chris Dumez  <cdumez@apple.com>

        Media elements should not be paused right away when removed from the document
        https://bugs.webkit.org/show_bug.cgi?id=157347
        <rdar://problem/25888758>

        Reviewed by Alex Christensen.

        * media/remove-from-document-expected.txt:
        * media/remove-from-document.html:
        Check asynchronously if the video has been paused after removing it from
        the document instead of synchronously as we no longer pause the video
        synchronously in this case.

        * media/replaceChild-should-not-pause-video-expected.txt: Added.
        * media/replaceChild-should-not-pause-video.html: Added.
        Add test case to make sure that calling replaceChild() on with a video
        element as newChild does not pause the video if it is already playing.
        This is a regression test for <rdar://problem/25888758>.

        * webaudio/audiocontext-state-interrupted-expected.txt:
        * webaudio/audiocontext-state-interrupted.html:
        Add a missing call to
        internals.setMediaSessionRestrictions("WebAudio", "InterruptedPlaybackNotPermitted")
        before the fourth test. The fourth test was previously passing by
        chance, due to a bug in GenericEventQueue sometimes firing events
        synchronously after they are scheduled.

2016-05-04  Filip Pizlo  <fpizlo@apple.com>

        Speed up JSGlobalObject initialization by making some properties lazy
        https://bugs.webkit.org/show_bug.cgi?id=157045

        Reviewed by Mark Lam.

        * js/dom/cross-window-put-math-expected.txt: Added.
        * js/dom/cross-window-put-math.html: Added.

2016-05-04  Joseph Pecoraro  <pecoraro@apple.com>

        Improve the grammar of some error messages 'a argument list' => 'an argument list'
        https://bugs.webkit.org/show_bug.cgi?id=157350
        <rdar://problem/26082108>

        Reviewed by Mark Lam.

        * fast/css/css-selector-text-expected.txt:
        * inspector/runtime/parse-expected.txt:
        * js/object-literal-computed-methods-expected.txt:
        * js/object-literal-methods-expected.txt:
        * sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.12-expected.txt:
        * sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A6_T1-expected.txt:
        * sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A6_T2-expected.txt:

2016-05-04  Keith Miller  <keith_miller@apple.com>

        Corrections to r200422
        https://bugs.webkit.org/show_bug.cgi?id=157351

        Reviewed by Joseph Pecoraro.

        Test case had some code changed that was not intended.

        * js/regress/script-tests/deltablue-for-of.js:
        (deltaBlue):

2016-05-04  Keith Miller  <keith_miller@apple.com>

        Unreviewed, reland r200149 since the rollout had inconclusive PLT AB testing results.

2016-05-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: GC Root Path sometimes does not go up to Window
        https://bugs.webkit.org/show_bug.cgi?id=156768
        <rdar://problem/25816131>

        Reviewed by Geoffrey Garen.

        * inspector/unit-tests/heap-snapshot-expected.txt:
        * inspector/unit-tests/heap-snapshot.html:

2016-05-04  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline inspector/model/remote-object.html after r200422

        Unreviewed test gardening.

        * platform/mac/inspector/model/remote-object-expected.txt:

2016-05-04  Mark Lam  <mark.lam@apple.com>

        ES6 Function.name inferred from property names of literal objects can break some websites.
        https://bugs.webkit.org/show_bug.cgi?id=157246

        Reviewed by Geoffrey Garen.

        * js/dom/regress-157246-expected.txt: Added.
        * js/dom/regress-157246.html: Added.
        * js/dom/script-tests/regress-157246.js: Added.

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        - Skip js/dom/regress-157246.html for wk1 because it relies on a WKTR feature to
          enable the needsSiteSpecificQuirks settings before running the test.

2016-05-04  Keith Miller  <keith_miller@apple.com>

        Speedup array iterators
        https://bugs.webkit.org/show_bug.cgi?id=157315

        Reviewed by Michael Saboff.

        Add a new regression test for for-of iterators in ES6. The test is a
        modification of the deltablue benchmark that converts all the
        loops on Arrays into for-of loops.

        * js/regress/deltablue-for-of-expected.txt: Added.
        * js/regress/deltablue-for-of.html: Added.
        * js/regress/script-tests/deltablue-for-of.js: Added.
        (Object.prototype.inheritsFrom):
        (OrderedCollection):
        (OrderedCollection.prototype.add):
        (OrderedCollection.prototype.at):
        (OrderedCollection.prototype.size):
        (OrderedCollection.prototype.removeFirst):
        (OrderedCollection.prototype.remove):
        (Strength):
        (Strength.stronger):
        (Strength.weaker):
        (Strength.weakestOf):
        (Strength.strongest):
        (Strength.prototype.nextWeaker):
        (Constraint):
        (Constraint.prototype.addConstraint):
        (Constraint.prototype.satisfy):
        (Constraint.prototype.destroyConstraint):
        (Constraint.prototype.isInput):
        (UnaryConstraint):
        (UnaryConstraint.prototype.addToGraph):
        (UnaryConstraint.prototype.chooseMethod):
        (UnaryConstraint.prototype.isSatisfied):
        (UnaryConstraint.prototype.markInputs):
        (UnaryConstraint.prototype.output):
        (UnaryConstraint.prototype.recalculate):
        (UnaryConstraint.prototype.markUnsatisfied):
        (UnaryConstraint.prototype.inputsKnown):
        (UnaryConstraint.prototype.removeFromGraph):
        (StayConstraint):
        (StayConstraint.prototype.execute):
        (EditConstraint.prototype.isInput):
        (EditConstraint.prototype.execute):
        (BinaryConstraint):
        (BinaryConstraint.prototype.chooseMethod):
        (BinaryConstraint.prototype.addToGraph):
        (BinaryConstraint.prototype.isSatisfied):
        (BinaryConstraint.prototype.markInputs):
        (BinaryConstraint.prototype.input):
        (BinaryConstraint.prototype.output):
        (BinaryConstraint.prototype.recalculate):
        (BinaryConstraint.prototype.markUnsatisfied):
        (BinaryConstraint.prototype.inputsKnown):
        (BinaryConstraint.prototype.removeFromGraph):
        (ScaleConstraint):
        (ScaleConstraint.prototype.addToGraph):
        (ScaleConstraint.prototype.removeFromGraph):
        (ScaleConstraint.prototype.markInputs):
        (ScaleConstraint.prototype.execute):
        (ScaleConstraint.prototype.recalculate):
        (EqualityConstraint):
        (EqualityConstraint.prototype.execute):
        (Variable):
        (Variable.prototype.addConstraint):
        (Variable.prototype.removeConstraint):
        (Planner):
        (Planner.prototype.incrementalAdd):
        (Planner.prototype.incrementalRemove):
        (Planner.prototype.newMark):
        (Planner.prototype.makePlan):
        (Planner.prototype.extractPlanFromConstraints):
        (Planner.prototype.addPropagate):
        (Planner.prototype.removePropagateFrom):
        (Planner.prototype.addConstraintsConsumingTo):
        (Plan):
        (Plan.prototype.addConstraint):
        (Plan.prototype.size):
        (Plan.prototype.constraintAt):
        (Plan.prototype.execute):
        (chainTest):
        (projectionTest):
        (change):
        (deltaBlue):

2016-05-04  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/html/dom/interfaces.html as failing on ios-simulator release builds
        https://bugs.webkit.org/show_bug.cgi?id=157344

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-05-04  Ryan Haddad  <ryanhaddad@apple.com>

        Remove failure expectation for imported/w3c/web-platform-tests/html/dom/interfaces.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=157344

        Unreviewed test gardening.

        This failure expectation was overriding the global skip on debug builds.

        * platform/ios-simulator/TestExpectations:

2016-05-04  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r200383 and r200406.

        Seems to have caused crashes on iOS / ARMv7s

        Reverted changesets:

        "Speed up JSGlobalObject initialization by making some
        properties lazy"
        https://bugs.webkit.org/show_bug.cgi?id=157045
        http://trac.webkit.org/changeset/200383

        "REGRESSION(r200383): Setting lazily initialized properties
        across frame boundaries crashes"
        https://bugs.webkit.org/show_bug.cgi?id=157333
        http://trac.webkit.org/changeset/200406

2016-05-04  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: ARIA 'region' role is now a landmark; HTML 'section' element should be a landmark only if named
        https://bugs.webkit.org/show_bug.cgi?id=157331

        Reviewed by Chris Fleizach.

        Our existing test coverage for exposure of the 'region' role and the 'section'
        element is sufficient. These tests were updated to reflect the new behavior.
        Several new test cases were added to cover both sections with accessible names
        and those without.

        * accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
        * accessibility/mac/aria-grouping-roles-expected.txt: Updated.
        * accessibility/mac/aria-grouping-roles.html: Updated.
        * accessibility/mac/html-section-elements-expected.txt: Updated.
        * accessibility/mac/html-section-elements.html: Updated.
        * accessibility/mac/landmark-not-ignored-expected.txt: Updated.
        * accessibility/mac/landmark-not-ignored.html: Updated.
        * accessibility/roles-computedRoleString-expected.txt: Updated.
        * accessibility/roles-computedRoleString.html: New test cases added.
        * accessibility/roles-exposed.html: New test cases added.
        * platform/efl/accessibility/roles-exposed-expected.txt: Updated.
        * platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated.
        * platform/gtk/accessibility/roles-exposed-expected.txt: Updated.
        * platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated.
        * platform/mac/accessibility/roles-exposed-expected.txt: Updated.
        * platform/win/accessibility/roles-exposed-expected.txt: Updated.

2016-05-04  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Clicks inside button elements are sometimes discarded when the mouse moves
        https://bugs.webkit.org/show_bug.cgi?id=39620

        Reviewed by Darin Adler.

        Test coming from http://src.chromium.org/viewvc/blink?view=revision&revision=162081.
        Modified to ensure click events do not end up being considered as double click events.

        * fast/events/click-over-descendant-elements-expected.txt: Added.
        * fast/events/click-over-descendant-elements.html: Added.
        * platform/ios-simulator/TestExpectations: Marked new test as failing.

2016-05-03  Filip Pizlo  <fpizlo@apple.com>

        REGRESSION(r200383): Setting lazily initialized properties across frame boundaries crashes
        https://bugs.webkit.org/show_bug.cgi?id=157333

        Reviewed by Benjamin Poulain.
        
        This is JoePeck's original test case. It used to crash and now it doesn't crash anymore.

        * js/dom/cross-window-put-math-expected.txt: Added.
        * js/dom/cross-window-put-math.html: Added.

2016-05-03  Yusuke Suzuki  <utatane.tea@gmail.com>

        Improve Symbol() to string coercion error message
        https://bugs.webkit.org/show_bug.cgi?id=157317

        Reviewed by Geoffrey Garen.

        * js/math-clz32-expected.txt:
        * js/script-tests/symbol-abstract-relational-comparison.js:
        (relationalOperators.forEach):
        * js/script-tests/symbol-object.js:
        * js/script-tests/symbol-prototype-is-ordinary-object.js:
        * js/script-tests/symbol-tostring.js:
        * js/string-code-point-at-expected.txt:
        * js/symbol-abstract-relational-comparison-expected.txt:
        * js/symbol-object-expected.txt:
        * js/symbol-prototype-is-ordinary-object-expected.txt:
        * js/symbol-tostring-expected.txt:

2016-05-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Give console.time/timeEnd a default label and warnings
        https://bugs.webkit.org/show_bug.cgi?id=157325
        <rdar://problem/26073290>

        Reviewed by Timothy Hatcher.

        * inspector/console/console-time-expected.txt: Added.
        * inspector/console/console-time.html: Added.

2016-05-03  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] accessibility/document-attributes.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=125348

        Reviewed by Chris Fleizach.

        * platform/efl/TestExpectations: Unskipped failing test.
        * platform/gtk/TestExpectations: Unskipped failing test.

2016-05-03  Ryan Haddad  <ryanhaddad@apple.com>

        Un-skipping storage/indexeddb/intversion-open-in-upgradeneeded.html, but leaving it as flaky
        https://bugs.webkit.org/show_bug.cgi?id=155050

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-05-02  Antti Koivisto  <antti@apple.com>

        REGRESSION (r198943): Transitions don't work if they animate display property
        https://bugs.webkit.org/show_bug.cgi?id=157244
        <rdar://problem/26042189>

        Reviewed by Simon Fraser.

        * transitions/transition-display-property-expected.html: Added.
        * transitions/transition-display-property.html: Added.

2016-05-03  Chris Dumez  <cdumez@apple.com>

        Unreviewed, drop outdated layout test after r200375.

        * fast/workers/resources/worker-replace-self.js: Removed.
        * fast/workers/worker-replace-self-expected.txt: Removed.
        * fast/workers/worker-replace-self.html: Removed.

2016-05-03  Joanmarie Diggs  <jdiggs@igalia.com>

        Unreviewed GTK+ gardening.

        Adding a platform-specific expectations file for aria-text-role.html.

        * platform/gtk/accessibility/aria-text-role-expected.txt: Added.

2016-05-03  Pranjal Jumde  <pjumde@apple.com>

        WorkerGlobalScope's self, location and navigator attributes should not be replaceable
        https://bugs.webkit.org/show_bug.cgi?id=157296
        <rdar://problem/25962738>

        Reviewed by Chris Dumez.

        * http/tests/workers/location-readonly-expected.txt: Added.
        * http/tests/workers/location-readonly.html: Added.
        * http/tests/workers/navigator-readonly-expected.txt: Added.
        * http/tests/workers/navigator-readonly.html: Added.
        * http/tests/workers/self-readonly-expected.txt: Added.
        * http/tests/workers/self-readonly.html: Added.
        * http/tests/workers/worker-location.js: Added.
        * http/tests/workers/worker-navigator.js: Added.
        * http/tests/workers/worker-self.js: Added.

2016-05-03  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] accessibility/content-editable-as-textarea.html fails
        https://bugs.webkit.org/show_bug.cgi?id=155353

        Reviewed by Darin Adler.

        Updated the test identified in the bug to listen for the appropriate
        notification for ATK and created platform-specific expectations.

        In addition, set-selected-text-range-contenteditable.html was timing out
        due to the use of shouldBecomeEqual() with an assertion that is wrong for
        ATK. Modifying the test so that it verifies the result appropriate for
        each platform eliminates the timeout.

        * accessibility/content-editable-as-textarea.html: Updated.
        * accessibility/set-selected-text-range-contenteditable.html: Updated.
        * platform/gtk/TestExpectations: Unskipped the failing tests.
        * platform/gtk/accessibility/content-editable-as-textarea-expected.txt: Added.
        * platform/gtk/accessibility/set-selected-text-range-contenteditable-expected.txt: Added.

2016-05-03  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed follow-up testapi fix after r200355.

        * js/console-expected.txt:
        * js/console.html:
        Make window.console non-enumerable.

2016-05-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update drag and drop tests bug reference.

        We were using a fixed bug, because drag and drop was already implemented in WebKit2. However, some tests still
        fail because some drag and drop events are not emitted when using synthetic events like even sender does. So,
        update the bug reference to https://bugs.webkit.org/show_bug.cgi?id=157179 and add two more tests that are
        timing out in the bots for the same reason.

        * platform/gtk/TestExpectations:

2016-05-02  Simon Fraser  <simon.fraser@apple.com>

        Don't run transitions to/from 'auto' values
        https://bugs.webkit.org/show_bug.cgi?id=38243
        rdar://problem/20904225

        Reviewed by Dean Jackson.

        * platform/mac-wk2/transitions/default-timing-function-expected.txt: New baseline.
        * transitions/default-timing-function.html: Set explicit start value.
        * transitions/interrupted-all-transition.html: Set explicit start value.
        * transitions/lengthsize-transition-to-from-auto-expected.txt: Added.
        * transitions/lengthsize-transition-to-from-auto.html: Added.
        * transitions/transition-to-from-auto-expected.txt: Added.
        * transitions/transition-to-from-auto.html: Added.
        * transitions/zero-duration-in-list.html: Set explicit start value.

2016-05-02  Chris Dumez  <cdumez@apple.com>

        Indexing CSSStyleDeclaration object with out-of-range index should return undefined
        https://bugs.webkit.org/show_bug.cgi?id=157283

        Reviewed by Darin Adler.

        Rebaseline a couple of existing tests due to the slight behavior change.
        Also add a new layout test for more extensive testing.

        * fast/dom/CSSStyleDeclaration/css-computed-style-item-expected.txt:
        * fast/dom/CSSStyleDeclaration/css-style-item-expected.txt:
        * fast/dom/CSSStyleDeclaration/script-tests/css-computed-style-item.js:
        * fast/dom/CSSStyleDeclaration/script-tests/css-style-item.js:
        * fast/dom/indexed-getters-returning-string-expected.txt: Added.
        * fast/dom/indexed-getters-returning-string.html: Added.

2016-05-02  Antoine Quint  <graouts@apple.com>

        Specifying a longhand property should not serialize to a shorthand property
        https://bugs.webkit.org/show_bug.cgi?id=157180

        Reviewed by Dean Jackson.

        A fair few tests relied on reading from a shorthand value when it was incorrect
        to produce one, so we fix those incorrect assertions. We also add a new test that
        goes through all the longhand properties for a given shorthand property and checks
        that none of the longhand properties will yield a shorthand value.

        * cssom/cssvalue-comparison-expected.txt:
        * cssom/cssvalue-comparison.html:
        * fast/css/background-position-serialize-expected.txt:
        * fast/css/background-position-serialize.html:
        * fast/css/no-shorthand-with-incomplete-longhands-expected.txt: Added.
        * fast/css/no-shorthand-with-incomplete-longhands.html: Added.
        * fast/css/remove-shorthand-expected.txt:
        * fast/css/script-tests/image-set-setting.js:
        (testComputedStyle):
        * fast/css/uri-token-parsing-expected.txt:
        * fast/css/uri-token-parsing.html:
        * fast/css/webkit-mask-crash-implicit-expected.txt:
        * fast/css/webkit-mask-crash-implicit.html:
        * fast/dom/Element/setAttributeNode-for-existing-attribute.html:
        * fast/dom/background-shorthand-csstext-expected.txt:
        * fast/dom/background-shorthand-csstext.html:
        * http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt:
        * http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:

2016-05-02  Joseph Pecoraro  <pecoraro@apple.com>

        Make console a namespace object (like Math/JSON), allowing functions to be called unbound
        https://bugs.webkit.org/show_bug.cgi?id=157286
        <rdar://problem/26052830>

        Reviewed by Timothy Hatcher.

        * js/console-expected.txt: Added.
        * js/console.html: Added.

2016-05-02  Antti Koivisto  <antti@apple.com>

        REGRESSION(r199964): Animation on pseudo elements doesn't trigger if first frame matches the current style
        https://bugs.webkit.org/show_bug.cgi?id=157284

        Reviewed by Simon Fraser.

        * fast/css/animation-pseudo-style-change-expected.html: Added.
        * fast/css/animation-pseudo-style-change.html: Added.

2016-05-02  Brady Eidson  <beidson@apple.com>

        Add the ability to accumulate logs for specific logging channels to help diagnose test timeouts.
        https://bugs.webkit.org/show_bug.cgi?id=157274

        Reviewed by Alex Christensen.
        
        For the tests that are known flakes that are not imported, add the "accumulate IndexedDB logs" command.

        * storage/indexeddb/modern/resources/256-open-databases.js:
        * storage/indexeddb/modern/resources/abort-requests-cancelled.js:
        * storage/indexeddb/modern/resources/autoincrement-abort.js:
        * storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
        * storage/indexeddb/resources/odd-strings.js:

2016-05-02  Per Arne Vollan  <peavo@outlook.com>

        [Win] Enable IndexedDB.
        https://bugs.webkit.org/show_bug.cgi?id=157192

        Reviewed by Brent Fulgham.

        * platform/win/TestExpectations: Update IndexedDB test expectations.

2016-05-01  Ryosuke Niwa  <rniwa@webkit.org>

        document.currentScript must be null when we're executing a script inside a shadow tree
        https://bugs.webkit.org/show_bug.cgi?id=157245

        Reviewed by Darin Adler.

        Add a W3C style testharness.js test.

        * fast/shadow-dom/Document-prototype-currentScript-expected.txt: Added.
        * fast/shadow-dom/Document-prototype-currentScript.html: Added.
        * fast/shadow-dom/resources/Document-prototype-currentScript-helper.js: Added.

2016-04-29  Alex Christensen  <achristensen@webkit.org>

        Do not reuse cache entries with conditional headers
        https://bugs.webkit.org/show_bug.cgi?id=157205
        rdar://problem/25856933

        Reviewed by Chris Dumez.

        * http/tests/xmlhttprequest/if-modified-since-0-expected.txt: Added.
        * http/tests/xmlhttprequest/if-modified-since-0.html: Added.

2016-05-01  Skachkov Oleksandr  <gskachkov@gmail.com>

        Class contructor and methods shouldn't have "arguments" and "caller"
        https://bugs.webkit.org/show_bug.cgi?id=144238

        Reviewed by Ryosuke Niwa.

        * js/class-method-and-constructor-properties-expected.txt: Added.
        * js/class-method-and-constructor-properties.html: Added.
        * js/script-tests/class-method-and-constructor-properties.js: Added.

2016-05-02  Yoav Weiss  <yoav@yoav.ws>

        Move ResourceTiming behind a runtime flag
        https://bugs.webkit.org/show_bug.cgi?id=157133

        Reviewed by Alex Christensen.

        Added tests that make sure ResourceTiming APIs are exposed and that resources
        show up as entries in the performance timeline.

        * fast/dom/Window/window-properties-performance-resource-timing-expected.txt: Added.
        * fast/dom/Window/window-properties-performance-resource-timing.html: Added.
        * fast/dom/Window/window-properties-performance.html: Removed "//;".
        * http/tests/performance/performance-resource-timing-entries-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-entries.html: Added.

2016-05-01  Nan Wang  <n_wang@apple.com>

        AX: Crash at  WebCore::AccessibilityObject::getAttribute const + 9
        https://bugs.webkit.org/show_bug.cgi?id=157256

        Reviewed by Chris Fleizach.

        * accessibility/mac/aria-label-on-label-element-expected.txt:
        * accessibility/mac/aria-label-on-label-element.html:

2016-05-01  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r200264 and r200266.
        https://bugs.webkit.org/show_bug.cgi?id=157251

        This change caused existing LayoutTest media/media-source
        /media-source-stalled-holds-sleep-assertion.html to time out
        on Mac on every run. (Requested by ryanhaddad on #webkit).

        Reverted changesets:

        "[Mac] AirPlay fails if target is set before AVPlayer has been
        created"
        https://bugs.webkit.org/show_bug.cgi?id=157147
        http://trac.webkit.org/changeset/200264

        "[Mac] AirPlay fails if target is set before AVPlayer has been
        created"
        https://bugs.webkit.org/show_bug.cgi?id=157147
        http://trac.webkit.org/changeset/200266

2016-05-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Sync web-platform-tests up to revision 4af8373
        https://bugs.webkit.org/show_bug.cgi?id=157170

        Reviewed by Chris Dumez.

        * platform/ios-simulator/TestExpectations: Marking some tests as failing.
        * platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:

2016-04-30  Antti Koivisto  <antti@apple.com>

        REGRESSION (r199640): position:absolute generated content inherits text-decoration from its element
        https://bugs.webkit.org/show_bug.cgi?id=157199
        <rdar://problem/26013111>

        Reviewed by Zalan Bujtas.

        * fast/css/text-decoration-inheritance-pseudo-expected.html: Added.
        * fast/css/text-decoration-inheritance-pseudo.html: Added.

2016-04-30  Zalan Bujtas  <zalan@apple.com>

        Some content causes deep recursion.
        https://bugs.webkit.org/show_bug.cgi?id=157230
        <rdar://problem/7694756>

        Reviewed by Antti Koivisto.

        This patch sets a limit(512) on content nesting for the render tree. Elements injected over the limit
        are still accessible through DOM APIs but
        1. we stop generating renderers for them -they behave like display: none. 
        2. their layout related computed style values are set to default (e.g. window.computedStyle(document.elementById("over512").width -> auto) 

        * fast/block/nested-renderers-expected.html: Added.
        * fast/block/nested-renderers.html: Added.

2016-04-30  Chris Dumez  <cdumez@apple.com>

        [Web IDL] Pass even more types by reference
        https://bugs.webkit.org/show_bug.cgi?id=157231

        Reviewed by Darin Adler.

        Update test now that slightly different exceptions are thrown.

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

2016-04-30  Ryosuke Niwa  <rniwa@webkit.org>

        Node.prototype.rootNode is not Web compatible
        https://bugs.webkit.org/show_bug.cgi?id=157233

        Reviewed by Chris Dumez.

        Removed tests for Node.prototype.rootNode.

        * fast/dom/Node/rootNode-expected.txt: Removed.
        * fast/dom/Node/rootNode.html: Removed.
        * fast/shadow-dom/Node-interface-rootNode-expected.txt: Removed.
        * fast/shadow-dom/Node-interface-rootNode.html: Removed.
        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2016-04-30  Nan Wang  <n_wang@apple.com>

        AX: @aria-label attribute should work on <label> element
        https://bugs.webkit.org/show_bug.cgi?id=157219

        Reviewed by Chris Fleizach.

        * accessibility/mac/aria-label-on-label-element-expected.txt: Added.
        * accessibility/mac/aria-label-on-label-element.html: Added.

2016-04-29  Ryosuke Niwa  <rniwa@webkit.org>

        Rename getAssignedNodes to assignedNodes and support flattened option
        https://bugs.webkit.org/show_bug.cgi?id=157225

        Reviewed by Antti Koivisto.

        * fast/shadow-dom/HTMLSlotElement-interface-expected.txt:
        * fast/shadow-dom/HTMLSlotElement-interface.html:

2016-04-29  Simon Fraser  <simon.fraser@apple.com>

        Blur filter escapes an enclosing overflow:hidden
        https://bugs.webkit.org/show_bug.cgi?id=155029

        Reviewed by Zalan Bujtas.

        * css3/filters/blur-clipped-by-ancestor-expected.html: Added.
        * css3/filters/blur-clipped-by-ancestor.html: Added.
        * css3/filters/blur-clipped-with-overflow-expected.html: Added.
        * css3/filters/blur-clipped-with-overflow.html: Added.
        * css3/filters/drop-shadow-expected.html: Added.
        * css3/filters/drop-shadow-with-overflow-hidden-expected.html: Added.
        * css3/filters/drop-shadow-with-overflow-hidden.html: Added.
        * css3/filters/drop-shadow.html: Added.

2016-04-29  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(194502): overflow: scroll; direction: rtl; divs jump horizontally when scrolled vertically
        https://bugs.webkit.org/show_bug.cgi?id=157201

        Reviewed by Simon Fraser.

        * fast/scrolling/rtl-drag-vertical-scroller-expected.txt: Added.
        * fast/scrolling/rtl-drag-vertical-scroller.html: Added.

2016-04-29  Mark Lam  <mark.lam@apple.com>

        Make RegExp.prototype.test spec compliant.
        https://bugs.webkit.org/show_bug.cgi?id=155862

        Reviewed by Saam Barati.

        * js/regress/regexp-prototype-test-observable-side-effects-expected.txt: Added.
        * js/regress/regexp-prototype-test-observable-side-effects.html: Added.
        * js/regress/regexp-prototype-test-observable-side-effects2-expected.txt: Added.
        * js/regress/regexp-prototype-test-observable-side-effects2.html: Added.
        * js/regress/script-tests/regexp-prototype-test-observable-side-effects.js: Added.
        * js/regress/script-tests/simple-regexp-test-folding-fail-with-hoisted-regexp.js: Added.
        * js/regress/script-tests/simple-regexp-test-folding-with-hoisted-regexp.js: Added.
        * js/regress/simple-regexp-test-folding-fail-with-hoisted-regexp-expected.txt: Added.
        * js/regress/simple-regexp-test-folding-fail-with-hoisted-regexp.html: Added.
        * js/regress/simple-regexp-test-folding-with-hoisted-regexp-expected.txt: Added.
        * js/regress/simple-regexp-test-folding-with-hoisted-regexp.html: Added.

2016-04-29  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r200150 and r200256.
        https://bugs.webkit.org/show_bug.cgi?id=157216

        This change introduced flakiness in existing CJK LayoutTests.
        Also reverting the change that marked the tests as flaky.
        (Requested by ryanhaddad on #webkit).

        Reverted changesets:

        "Clean up Font::removeFromSystemFallbackCache()"
        https://bugs.webkit.org/show_bug.cgi?id=157093
        http://trac.webkit.org/changeset/200150

        "Marking fast/ruby/ruby-expansion-cjk.html and fast/ruby/ruby-
        expansion-cjk-4.html as flaky on Mac"
        https://bugs.webkit.org/show_bug.cgi?id=157197
        http://trac.webkit.org/changeset/200256

2016-04-29  Ryan Haddad  <ryanhaddad@apple.com>

        Change ios-simulator expectation for tests added with r200265 from ImageOnlyFailure to Failure

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-04-29  Eric Carlson  <eric.carlson@apple.com>

        [Mac] AirPlay fails if target is set before AVPlayer has been created
        https://bugs.webkit.org/show_bug.cgi?id=157147
        <rdar://problem/24197592>

        Unreviewed, update test so the results are consistent on different machines.

        * media/media-source/media-source-airplay-expected.txt:
        * media/media-source/media-source-airplay.html:

2016-04-29  Antonio Gomes  <tonikitoo@webkit.org>

        <select multiple> padding should react when scrolling
        https://bugs.webkit.org/show_bug.cgi?id=156590
        https://bugs.webkit.org/show_bug.cgi?id=156591

        Reviewed by Reviewed by Darin Adler.

        * fast/forms/listbox-respects-padding-bottom-expected.txt: Added.
        * fast/forms/listbox-respects-padding-bottom.html: Added.
        * fast/forms/listbox-top-padding-do-not-clip-items-expected.txt: Added.
        * fast/forms/listbox-top-padding-do-not-clip-items.html: Added.

2016-04-29  Eric Carlson  <eric.carlson@apple.com>

        [Mac] AirPlay fails if target is set before AVPlayer has been created
        https://bugs.webkit.org/show_bug.cgi?id=157147
        <rdar://problem/24197592>

        Reviewed by Jer Noble.

        * media/media-source/media-source-airplay-expected.txt: Added.
        * media/media-source/media-source-airplay.html: Added.
        * platform/efl/TestExpectations: Skip Mac-only test.
        * platform/gtk/TestExpectations: Ditto.
        * platform/ios-simulator/TestExpectations: Ditto.
        * platform/mac/TestExpectations: Skipped new tests on older versions of OS X.
        * platform/win/TestExpectations: Skip Mac-only test.

2016-04-29  Myles C. Maxfield  <mmaxfield@apple.com>

        [RTL Scrollbars] REGRESSION(r200116): Positioned contents can overlap RTL scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=157164
        <rdar://problem/25993610>

        Reviewed by Darin Adler.

        * TestExpectations:
        * fast/scrolling/rtl-scrollbars-positioned-intersect-scrollbars-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-positioned-intersect-scrollbars.html: Added.

2016-04-29  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] r65681 broke a couple GTK+ a11y tests
        https://bugs.webkit.org/show_bug.cgi?id=44316

        Reviewed by Martin Robinson.

        The original regression has apparently been fixed, possibly quite some time
        ago. Updating both tests and associated expectations to reflect what has
        changed over the years. Leaving title-and-alt.html as skipped, but marked
        as failing due to a different bug (157187).

        * accessibility/gtk/object-attributes-expected.txt:
        * accessibility/gtk/object-attributes.html:
        * accessibility/gtk/title-and-alt-expected.txt:
        * accessibility/gtk/title-and-alt.html:
        * platform/gtk/TestExpectations:

2016-04-29  Ryosuke Niwa  <rniwa@webkit.org>

        Fix a typo in r200255.

        * resources/testharnessreport.js:
        (self.testRunner.add_completion_callback):

2016-04-29  Nan Wang  <n_wang@apple.com>

        AX: CharacterOffset not working correctly with composed characters and collapsed white spaces
        https://bugs.webkit.org/show_bug.cgi?id=157190

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-word-nav.html:
        * accessibility/text-marker/text-marker-previous-next-expected.txt:
        * accessibility/text-marker/text-marker-previous-next.html:

2016-04-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/ruby/ruby-expansion-cjk.html and fast/ruby/ruby-expansion-cjk-4.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=157197

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-04-29  Ryosuke Niwa  <rniwa@webkit.org>

        test harness tests complain about testRunner not being declared inside a browser
        https://bugs.webkit.org/show_bug.cgi?id=157056

        Reviewed by Alex Christensen.

        Don't run the code meant to re-format results for DRT/WTR when testRunner is not defined (i.e. inside a browser).
        Also fixed various styling issues with this JavaScript file and removed useless comments.

        * resources/testharnessreport.js:

2016-04-29  Commit Queue  <commit-queue@webkit.org>

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

        This change broke the Mac CMake build and its LayoutTest is
        failing and/or flaky on all platforms (Requested by ryanhaddad
        on #webkit).

        Reverted changeset:

        "Move ResourceTiming behind a runtime flag"
        https://bugs.webkit.org/show_bug.cgi?id=157133
        http://trac.webkit.org/changeset/200232

2016-04-29  Miguel Gomez  <magomez@igalia.com>

        [GTK] Unreviewed gardening: update expectations after r200234
        https://bugs.webkit.org/show_bug.cgi?id=157181

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-04-29  Simon Fraser  <simon.fraser@apple.com>

        Wheel Event Not Fired For `body,html { height:100% }`
        https://bugs.webkit.org/show_bug.cgi?id=148450

        Reviewed by Brent Fulgham.
        
        Testcase, skipped on iOS which doesn't support wheel events.

        * fast/events/wheel-event-outside-body-expected.txt: Added.
        * fast/events/wheel-event-outside-body.html: Added.
        * platform/ios-simulator/TestExpectations:

2016-04-29  Chris Dumez  <cdumez@apple.com>

        [Web IDL] Specify default values for optional parameters of wrapper types
        https://bugs.webkit.org/show_bug.cgi?id=157161

        Reviewed by Darin Adler.

        Rebaseline as a different exception message is now given when calling
        Selection.extend() without enough parameters.

        * editing/selection/extend-expected.txt:

2016-04-29  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Expose the value of aria-roledescription via an AtkObject attribute
        https://bugs.webkit.org/show_bug.cgi?id=146719

        Reviewed by Chris Fleizach.

        Platform-specific expectations are needed because falling back on the default
        role description is done by assistive technologies. That this fall back is needed
        is identified by the lack of an author-provided value. Thus we do not wish to
        expose the default role description in our implementation.

        * platform/gtk/TestExpectations: Unskipped the failing test.
        * platform/gtk/accessibility/aria-roledescription-expected.txt: Added.

2016-04-29  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] accessibility/aria-current-global-attribute.html has been failed since r198303
        https://bugs.webkit.org/show_bug.cgi?id=155935

        Reviewed by Chris Fleizach.

        * platform/efl/TestExpectations: Unskipped the failing test.

2016-04-29  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] accessibility/double-nested-inline-element-missing-from-tree.html has been failed since r198219
        https://bugs.webkit.org/show_bug.cgi?id=155939

        Reviewed by Darin Adler.

        Platform-specific expectations were needed because the ATK accessibility tree folds
        certain elements, including spans, into the parent element.

        * platform/efl/TestExpectations: Unskipped the failing test.
        * platform/efl/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added.
        * platform/gtk/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added.

2016-04-29  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Expose elements with ARIA's "text" role
        https://bugs.webkit.org/show_bug.cgi?id=157160

        Reviewed by Chris Fleizach.

        * accessibility/aria-text-role.html: Modified to do platform-specific role checks.
        * platform/gtk/TestExpectations: Unskipped three previously-failing tests.
        * platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated for new behavior.

2016-04-29  Ryosuke Niwa  <rniwa@webkit.org>

        Import W3C CSS WG tests for shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=157063

        Reviewed by Antti Koivisto.

        Remove tests that have been upstreamed and imported under imported/w3c/csswg-test/css-scoping-1.

        * fast/shadow-dom/css-scoping-shadow-assigned-node-with-before-after-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-assigned-node-with-before-after.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-assigned-node-with-rules-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-assigned-node-with-rules.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-host-functional-rule-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-host-functional-rule.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-host-rule-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-host-rule.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-host-with-before-after-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-host-with-before-after.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-invisible-slot-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-invisible-slot.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-root-hides-children-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-root-hides-children.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slot-display-override-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slot-display-override.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slot-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slot-fallback-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slot-fallback.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slot.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slotted-nested-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slotted-nested.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slotted-rule-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-slotted-rule.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-with-outside-rules-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-with-outside-rules.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-with-rules-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-with-rules-no-style-leak-expected.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-with-rules-no-style-leak.html: Removed.
        * fast/shadow-dom/css-scoping-shadow-with-rules.html: Removed.

2016-04-29  Yoav Weiss  <yoav@yoav.ws>

        Move ResourceTiming behind a runtime flag
        https://bugs.webkit.org/show_bug.cgi?id=157133

        Reviewed by Alex Christensen.

        Added tests that make sure ResourceTiming APIs are exposed and that resources
        show up as entries in the performance timeline.

        * fast/dom/Window/window-properties-performance-resource-timing-expected.txt: Added.
        * fast/dom/Window/window-properties-performance-resource-timing.html: Added.
        * fast/dom/Window/window-properties-performance.html: Removed "//;".
        * http/tests/performance/performance-resource-timing-entries-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-entries.html: Added.

2016-04-29  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Drop [UsePointersEvenForNonNullableObjectArguments] from MediaStream interfaces
        https://bugs.webkit.org/show_bug.cgi?id=156905

        Reviewed by Darin Adler.

        * fast/mediastream/MediaStream-add-remove-null-undefined-tracks-expected.txt: Added.
        * fast/mediastream/MediaStream-add-remove-null-undefined-tracks.html: Added.
        * fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt: Rebasing.
        * fast/mediastream/RTCPeerConnection-add-removeTrack.html: Adding null/undefined tests for addTrack/removeTrack.
        * fast/mediastream/RTCPeerConnection-datachannel.html: Adding test for send() method.
        Test expectation is not rebased as test is timing out and marked as skip.

2016-04-28  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Expose subscript and superscript format style groups using ATK_ROLE_SUBSCRIPT and ATK_ROLE_SUPERSCRIPT
        https://bugs.webkit.org/show_bug.cgi?id=157158

        Reviewed by Chris Fleizach.

        * platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated for new behavior.
        * platform/gtk/accessibility/roles-exposed-expected.txt: Updated for new behavior.

2016-04-28  Zalan Bujtas  <zalan@apple.com>

        Content disappears on mouse over.
        https://bugs.webkit.org/show_bug.cgi?id=157073
        <rdar://problem/24389168>

        Reviewed by Simon Fraser.

        When a redundant inlinebox is found after constructing the line, we remove it from the tree.
        The remove operation marks the ancestor tree dirty (and this newly constructed line is supposed to be clean).
        This patch resets this dirty flag on the boxes all the way up to the rootlinebox.
        Previously we only cleared the rootinlinebox and we ended up with dirty inlineflowboxes.

        * fast/text/text-node-remains-dirty-after-calling-surroundContents-expected.html: Added.
        * fast/text/text-node-remains-dirty-after-calling-surroundContents.html: Added.

2016-04-27  Brent Fulgham  <bfulgham@apple.com>

        Make sure we don't mishandle HTMLFrameOwnerElement lifecycle
        https://bugs.webkit.org/show_bug.cgi?id=157040

        Reviewed by Chris Dumez.

        * fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe-crash-expected.txt: Added.
        * fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe-crash.html: Added.
        * fast/dom/HTMLAnchorElement/resources/iframe-with-anchor-crash.html: Added.

2016-04-28  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Add CSS Grid Layout runtime flag
        https://bugs.webkit.org/show_bug.cgi?id=157134

        Reviewed by Simon Fraser.

        Add test to verify that CSS Grid Layout is disabled if the flag is off.

        * fast/css-grid-layout/grid-disable-expected.txt: Added.
        * fast/css-grid-layout/grid-disable.html: Added.

2016-04-28  Chris Fleizach  <cfleizach@apple.com>

        AX: superscript content exposed as plain text; VoiceOver does not speak or pause to make this understandable     
        https://bugs.webkit.org/show_bug.cgi?id=157122
        <rdar://problem/21231487>

        Reviewed by Daniel Bates.

        * accessibility/mac/subroles-for-formatted-groups-expected.txt:
        * accessibility/mac/subroles-for-formatted-groups.html:
        * platform/mac/accessibility/accessibility/roles-exposed-expected.txt:
        * accessibility/roles-computedRoleString-expected.txt:

2016-04-28  Simon Fraser  <simon.fraser@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=157140

        Attempted to reduce the flakiness of this test by making the animation longer, to give
        enough time for the iteration event to fire.

        * animations/animation-events-not-cancelable.html:

2016-04-28  Brady Eidson  <beidson@apple.com>

        inspector/indexeddb/requestDatabaseNames.html is flaky on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=157141

        Reviewed by Alex Christensen.

        * inspector/indexeddb/deleteDatabaseNamesWithSpace-expected.txt: Added.
        * inspector/indexeddb/deleteDatabaseNamesWithSpace.html: Added.

2016-04-28  Ryan Haddad  <ryanhaddad@apple.com>

        Add ios-simulator baseline for fast/forms/select-non-native-rendering-direction.html
        https://bugs.webkit.org/show_bug.cgi?id=157112

        Unreviewed test gardening.

        * platform/ios-simulator/fast/forms/select-non-native-rendering-direction-expected.txt: Added.

2016-04-28  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        imported/w3c/web-platform-tests/fetch/nosniff/stylesheet.html is failing on some bots
        https://bugs.webkit.org/show_bug.cgi?id=157145

        Unreviewed.

        * TestExpectations: Marking imported/w3c/web-platform-tests/fetch/nosniff/stylesheet.html as failing and passing.

2016-04-28  Brady Eidson  <beidson@apple.com>

        REGRESSION(r200163): inspector/indexeddb/requestDatabaseNames.html is flaky on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=157141

        Unreviewed.

        Add one more chunk of logging here to add even more supporting evidence to our theory.
        
        * inspector/indexeddb/requestDatabaseNames-expected.txt:
        * inspector/indexeddb/requestDatabaseNames.html:

2016-04-28  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
        https://bugs.webkit.org/show_bug.cgi?id=155196

        Unreviewed test gardening.

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

2016-04-28  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Drop [UsePointersEvenForNonNullableObjectArguments] from MediaSource interfaces
        https://bugs.webkit.org/show_bug.cgi?id=156904

        Reviewed by Darin Adler.

        * http/tests/media/media-source/mediasource-addsourcebuffer.html: Changing expected exception to TypeError.
        * http/tests/media/media-source/mediasource-append-buffer-expected.txt:
        * http/tests/media/media-source/mediasource-append-buffer.html: Checking passing null or undefined to
        appendBuffer, addSourceBuffer and removeSourceBuffer.
        * media/media-source/media-source-addsourcebuffer-expected.txt:
        * media/media-source/media-source-addsourcebuffer.html: Removing redundant test.


2016-04-27  Ada Chan  <adachan@apple.com>

        Set overflow: hidden on ::-webkit-media-controls in mediaControlsApple.css
        https://bugs.webkit.org/show_bug.cgi?id=157110

        Reviewed by Eric Carlson.

        The style change caused an image only failure for fast/regions/inline-block-inside-anonymous-overflow.html.
        Mark that test as image-failure-only and add a new test that's basically a copy of inline-block-inside-anonymous-overflow.html
        with the default controls covered so we can still catch layout regressions related to flowing content from region to region.

        * fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls-expected.html: Added.
        * fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls.html: Added.
        * platform/ios-simulator/TestExpectations:
        fast/regions/inline-block-inside-anonymous-overflow.html is already marked as image-failure-only
        so this new test needs to be marked too.
        * platform/mac/TestExpectations:
        * platform/mac/media/media-document-audio-repaint-expected.txt:
        * platform/mac/media/video-zoom-controls-expected.txt:
        Rebaseline test due to style change in mediaControlsApple.css.

2016-04-28  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Import remaining fetch tests
        https://bugs.webkit.org/show_bug.cgi?id=156914

        Reviewed by Darin Adler.

        * TestExpectations: Skipping new fetch worker tests as they are
        causing other tests to crash (see bug 156737 and bug 157068).
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/nosniff/stylesheet-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Added.

2016-04-28  Chris Dumez  <cdumez@apple.com>

        [Web IDL] Specify default values for optional parameters of type 'DOMString'
        https://bugs.webkit.org/show_bug.cgi?id=157116

        Reviewed by Darin Adler.

        * media/track/w3c/interfaces/HTMLMediaElement/addTextTrack.html:
        Resync test from upstream so that it expects a TypeError to be thrown if a
        wrong 'kind' parameter is passed, and so that it expects the label / language
        parameter to have the empty string as default value.

2016-04-28  Skachkov Oleksandr  <gskachkov@gmail.com>

        Crash for non-static super property call in derived class constructor
        https://bugs.webkit.org/show_bug.cgi?id=157089

        Reviewed by Darin Adler.

        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-super.js:

2016-04-28  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix typo in CSS class for layout tests
        https://bugs.webkit.org/show_bug.cgi?id=157129

        Reviewed by Sergio Villar Senin.

        CSS class "secondRowFourthColumn" was not actually setting
        the second row due to a typo.

        The change doesn't affect any test just by chance,
        as the auto-placement algorithm is already positioning
        those items on the second row.

        * fast/css-grid-layout/resources/grid.css:
        (.secondRowFourthColumn):

2016-04-28  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] We need to be smarter about flattening and the accessible text implementation
        https://bugs.webkit.org/show_bug.cgi?id=144639

        Reviewed by Chris Fleizach.

        Added two new tests and updated three existing tests to reflect the new behavior
        regarding inclusion of elements in the accessibility tree and the text value of
        included elements.

        * accessibility/gtk/nested-block-element-children-expected.txt: Added.
        * accessibility/gtk/nested-block-element-children.html: Added.
        * accessibility/gtk/spans-paragraphs-and-divs-expected.txt: Updated for new behavior.
        * accessibility/gtk/spans-paragraphs-and-divs-tree-expected.txt: Added.
        * accessibility/gtk/spans-paragraphs-and-divs-tree.html: Added.
        * accessibility/gtk/spans-paragraphs-and-divs.html: Updated for new behavior.
        * platform/gtk/accessibility/generated-content-with-display-table-crash-expected.txt: Updated for new behavior.
        * platform/gtk/accessibility/gtk/replaced-objects-in-anonymous-blocks-expected.txt: Updated for new behavior.

2016-04-28  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix alignment with content distribution
        https://bugs.webkit.org/show_bug.cgi?id=156623

        Reviewed by Sergio Villar Senin.

        Created new test and renamed the old one as it was only testing
        items spanning several cells.

        * fast/css-grid-layout/grid-content-alignment-and-self-alignment-expected.txt:
        * fast/css-grid-layout/grid-content-alignment-and-self-alignment-spanning-expected.txt:
        Renamed from fast/css-grid-layout/grid-content-alignment-and-self-alignment-expected.txt.
        * fast/css-grid-layout/grid-content-alignment-and-self-alignment-spanning.html:
        Renamed from fast/css-grid-layout/grid-content-alignment-and-self-alignment.html.
        * fast/css-grid-layout/grid-content-alignment-and-self-alignment.html:

2016-04-28  Daniel Bates  <dabates@apple.com>

        Skip test LayoutTests/media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
        as it is flaky on the WebKit1 bots.

        For completeness, the test video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
        was added in r200155 (<https://bugs.webkit.org/show_bug.cgi?id=157100>). We will look to fix this test in <https://bugs.webkit.org/show_bug.cgi?id=155196>.

        * platform/mac-wk1/TestExpectations:

2016-04-27  Dean Jackson  <dino@apple.com>

        RTL non-native <select> buttons should have arrows on the left
        https://bugs.webkit.org/show_bug.cgi?id=157112
        <rdar://problem/25894441>

        Reviewed by Simon Fraser.

        New test that checks the layout of WebCore-drawn <select>
        elements in right-to-left mode.

        * fast/forms/select-non-native-rendering-direction.html: Added.
        * platform/mac/fast/forms/select-non-native-rendering-direction-expected.png: Added.
        * platform/mac/fast/forms/select-non-native-rendering-direction-expected.txt: Added.

2016-04-27  Brady Eidson  <beidson@apple.com>

        Modern IDB: Implement native IDBFactory.getAllDatabaseNames for WebInspector.
        https://bugs.webkit.org/show_bug.cgi?id=157072

        Reviewed by Alex Christensen.

        Add more to this test and re-enable it.

        * TestExpectations:
        * inspector/indexeddb/requestDatabaseNames-expected.txt:
        * inspector/indexeddb/requestDatabaseNames.html:

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

        Test gardening; update results of tests that are marked as flakey.

        * TestExpectations:
        * platform/mac/transitions/cross-fade-background-image-expected.png:
        * platform/mac/transitions/cross-fade-background-image-expected.txt: Added.
        * platform/mac/transitions/cross-fade-border-image-expected.png:
        * platform/mac/transitions/cross-fade-border-image-expected.txt:
        * platform/mac/transitions/move-after-transition-expected.png:
        * platform/mac/transitions/move-after-transition-expected.txt:

2016-04-27  Daniel Bates  <dabates@apple.com>

        CSP: Add tests for setting allowContentSecurityPolicySourceStarToMatchAnyProtocol
        https://bugs.webkit.org/show_bug.cgi?id=157100

        Reviewed by Brent Fulgham.

        Add tests to ensure that we do not regress the behavior of setting allowContentSecurityPolicySourceStarToMatchAnyProtocol.
        For completeness, this setting was added in r200130 (https://bugs.webkit.org/show_bug.cgi?id=157005) to enable or disable
        whether source * can match any protocol as part of a workaround for the iOS apps Ecobee and Quora.

        * fast/dom/HTMLImageElement/image-with-blob-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
        * fast/dom/HTMLImageElement/image-with-blob-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
        * fast/dom/HTMLImageElement/image-with-file-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
        * fast/dom/HTMLImageElement/image-with-file-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
        * fast/dom/HTMLLinkElement/link-with-blob-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
        * fast/dom/HTMLLinkElement/link-with-blob-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
        * fast/dom/HTMLLinkElement/link-with-data-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
        * fast/dom/HTMLLinkElement/link-with-data-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
        * fast/dom/HTMLLinkElement/link-with-file-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
        * fast/dom/HTMLLinkElement/link-with-file-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
        * fast/dom/HTMLLinkElement/resources/green-background-color.css: Added.
        (#test):
        * media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Copied from LayoutTests/media/video-with-file-url-blocked-by-csp-media-src-star.html.
        * media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Copied from LayoutTests/media/video-with-file-url-blocked-by-csp-media-src-star.html.
        * media/video-with-file-url-blocked-by-csp-media-src-star-expected.html: Substitute "blocked" for "allowed" since the purpose of the corresponding
        test is to ensure that we block loading a file URL video.
        * media/video-with-file-url-blocked-by-csp-media-src-star.html: Substitute "blocked" for "allowed" since the purpose of this test is to ensure
        that we block loading a file URL video. Additionally, register an oncanplaythrough handler instead of an onloadedmetadata handler and call testFinished()
        to signal test completion on a zero timer as a means to help ensure that the first frame of the video is drawn should we regress the blocking of a video file URL.
        * platform/wk2/TestExpectations: Skip test LayoutTests/fast/dom/HTMLImageElement/image-with-blob-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
        when using WebKitTestRunner because WebKitTestRunner does not support eventSender.beginDragWithFiles(). See need to fix
        <https://bugs.webkit.org/show_bug.cgi?id=64285>.

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

        Marking compositing/contents-scale/incremental-change.html as a flaky failure on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=157105

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-04-27  Keith Miller  <keith_miller@apple.com>

        Unreviewed, Revert r199397 due to PLT regressions

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/array-prototype-properties-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

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

        Remove failure expectation for tests that now pass on ios-simulator.

        Unreviewed test gardening.

        I evaluated all of the unexpected passes from ios-simulator-wk2 and removed failure
        expectations where appropriate. Some of the tests only pass on wk2, so some expectations
        were moved to the ios-simulator-wk1 file.

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

2016-04-27  John Wilander  <wilander@apple.com>

        Add layout tests for legacy HTTP headers in WebSockets
        https://bugs.webkit.org/show_bug.cgi?id=157095

        Reviewed by Alexey Proskuryakov.

        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html: Added.
        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            Test for legacy response headers 'Sec-WebSocket-Location' and 'Sec-WebSocket-Origin'.
        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html: Added.
        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            Test for legacy response headers 'WebSocket-Location' and 'WebSocket-Origin'.

2016-04-27  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: RTCIceCandidate don't need a custom bindings
        https://bugs.webkit.org/show_bug.cgi?id=157074

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCIceCandidate-expected.txt:
        Updated with error messages from generated constructor binding.

2016-04-27  Eric Carlson  <eric.carlson@apple.com>

        media/video-fullscreen-restriction-removed.html is flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=156983

        Reviewed by Darin Adler.

        * media/video-fullscreen-restriction-removed-expected.txt:
        * media/video-fullscreen-restriction-removed.html: Start the test on 'canplaythrough' instead
          of 'loadedmetadata' so playback can begin immediately.

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

        Add ios-simulator baseline for LayoutTest fast/text/hyphenate-avoid-orphaned-word.html

        Unreviewed test gardening.

        * platform/ios-simulator/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Added.

2016-04-27  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL][GTK] Volume slider only changes volume when thumb is released, not while dragging
        https://bugs.webkit.org/show_bug.cgi?id=156970

        Reviewed by Xabier Rodriguez-Calvar.

        Removed the passed test.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:

2016-04-26  Dean Jackson  <dino@apple.com>

        RTL native <select> buttons should have arrows on left
        https://bugs.webkit.org/show_bug.cgi?id=157055

        Reviewed by Myles Maxfield.

        * fast/forms/select-writing-direction-natural.html: Removed some incorrect
        text in the test.
        * platform/ios-simulator/fast/forms/select-writing-direction-natural-expected.txt:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.png:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.txt:
        * platform/mac/fast/text/international/bidi-menulist-expected.png:
        * platform/mac/fast/text/international/bidi-menulist-expected.txt:
        * platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
        * platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:

2016-04-26  Michael Saboff  <msaboff@apple.com>

        [ES] Implement RegExp.prototype.@@replace and use it for String.prototype.replace
        https://bugs.webkit.org/show_bug.cgi?id=156562

        Reviewed by Filip Pizlo.

        Updated tests.  Needed to update js/regress-141098.js test, because builtins are
        only compilied when called.  This test checks behavior at or near running out of
        stack space.  It turns out that String.replace is used by the -pre.js test harness
        and I was running out of stack space when compiling the String.prototype.replace
        builting.  Therefore, I added a call to testPassed() to precompile String.replace.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/regress-141098-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/regress-141098.js:
        (probeAndRecurse):
        * fast/profiler/nested-start-and-stop-profiler-expected.txt:
        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/string-prototype-properties-expected.txt:
        * js/regress-141098-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/regress-141098.js:
        (probeAndRecurse):
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T3-expected.txt:

2016-04-26  Myles C. Maxfield  <mmaxfield@apple.com>

        [WK2] [OS X] Create API for switching RTL scrollbar policy
        https://bugs.webkit.org/show_bug.cgi?id=156948
        <rdar://problem/25707757>

        Reviewed by Darin Adler.

        Update tests to use new RTL scrollbar mechanism.

        * fast/scrolling/rtl-scrollbars-animation-property.html:
        * fast/scrolling/rtl-scrollbars-elementFromPoint-static.html:
        * fast/scrolling/rtl-scrollbars-elementFromPoint.html:
        * fast/scrolling/rtl-scrollbars-expected.html:
        * fast/scrolling/rtl-scrollbars-iframe-offset-expected.html:
        * fast/scrolling/rtl-scrollbars-iframe-offset.html:
        * fast/scrolling/rtl-scrollbars-iframe-position-absolute.html:
        * fast/scrolling/rtl-scrollbars-iframe-scrolled-expected.html:
        * fast/scrolling/rtl-scrollbars-iframe-scrolled.html:
        * fast/scrolling/rtl-scrollbars-iframe.html:
        * fast/scrolling/rtl-scrollbars-listbox-expected.html:
        * fast/scrolling/rtl-scrollbars-listbox-scroll-expected.html:
        * fast/scrolling/rtl-scrollbars-listbox-scroll.html:
        * fast/scrolling/rtl-scrollbars-listbox-select-left-expected.html:
        * fast/scrolling/rtl-scrollbars-listbox-select-left.html:
        * fast/scrolling/rtl-scrollbars-listbox-select-right-expected.html:
        * fast/scrolling/rtl-scrollbars-listbox-select-right.html:
        * fast/scrolling/rtl-scrollbars-listbox-simple-expected-mismatch.html:
        * fast/scrolling/rtl-scrollbars-listbox-simple.html:
        * fast/scrolling/rtl-scrollbars-listbox.html:
        * fast/scrolling/rtl-scrollbars-overflow-contents-expected.html:
        * fast/scrolling/rtl-scrollbars-overflow-contents.html:
        * fast/scrolling/rtl-scrollbars-overflow-dir-rtl-expected.html:
        * fast/scrolling/rtl-scrollbars-overflow-dir-rtl.html:
        * fast/scrolling/rtl-scrollbars-overflow-elementFromPoint.html:
        * fast/scrolling/rtl-scrollbars-overflow-expected.html:
        * fast/scrolling/rtl-scrollbars-overflow-padding-expected.html:
        * fast/scrolling/rtl-scrollbars-overflow-padding.html:
        * fast/scrolling/rtl-scrollbars-overflow-position-absolute-expected.html:
        * fast/scrolling/rtl-scrollbars-overflow-position-absolute.html:
        * fast/scrolling/rtl-scrollbars-overflow-simple-expected-mismatch.html:
        * fast/scrolling/rtl-scrollbars-overflow-simple.html:
        * fast/scrolling/rtl-scrollbars-overflow-text-selection-scrolled-expected.html:
        * fast/scrolling/rtl-scrollbars-overflow-text-selection-scrolled.html:
        * fast/scrolling/rtl-scrollbars-overflow.html:
        * fast/scrolling/rtl-scrollbars-overlay-no-push-contents-expected.html:
        * fast/scrolling/rtl-scrollbars-overlay-no-push-contents.html:
        * fast/scrolling/rtl-scrollbars-position-absolute-expected.html:
        * fast/scrolling/rtl-scrollbars-position-absolute.html:
        * fast/scrolling/rtl-scrollbars-position-fixed-expected.html:
        * fast/scrolling/rtl-scrollbars-position-fixed.html:
        * fast/scrolling/rtl-scrollbars-positioning-expected.html:
        * fast/scrolling/rtl-scrollbars-positioning.html:
        * fast/scrolling/rtl-scrollbars-simple-expected-mismatch.html:
        * fast/scrolling/rtl-scrollbars-simple.html:
        * fast/scrolling/rtl-scrollbars-sticky-document-2-expected.html:
        * fast/scrolling/rtl-scrollbars-sticky-document-2.html:
        * fast/scrolling/rtl-scrollbars-sticky-document-expected.html:
        * fast/scrolling/rtl-scrollbars-sticky-document.html:
        * fast/scrolling/rtl-scrollbars-sticky-iframe-2-expected.html:
        * fast/scrolling/rtl-scrollbars-sticky-iframe-2.html:
        * fast/scrolling/rtl-scrollbars-sticky-iframe-expected.html:
        * fast/scrolling/rtl-scrollbars-sticky-iframe.html:
        * fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2-expected.html:
        * fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2.html:
        * fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-expected.html:
        * fast/scrolling/rtl-scrollbars-sticky-overflow-scroll.html:
        * fast/scrolling/rtl-scrollbars-text-selection-expected.html:
        * fast/scrolling/rtl-scrollbars-text-selection-scrolled-expected.html:
        * fast/scrolling/rtl-scrollbars-text-selection-scrolled.html:
        * fast/scrolling/rtl-scrollbars-text-selection.html:
        * fast/scrolling/rtl-scrollbars.html:
        * platform/mac/fast/scrolling/rtl-scrollbars-animation-property-expected.png: Added.

2016-04-26  Ryosuke Niwa  <rniwa@webkit.org>

        ASSERTION FAILED: m_templateInsertionModes.isEmpty() in WebCore::HTMLTreeBuilder::finished
        https://bugs.webkit.org/show_bug.cgi?id=143519

        Reviewed by Darin Adler.

        Rebaselined the html5lib tests (now passes all the test cases!) and added a regression test for an assertion.

        * fast/dom/HTMLTemplateElement/parsing-template-with-frameset-expected.txt: Added.
        * fast/dom/HTMLTemplateElement/parsing-template-with-frameset.html: Added.
        * html5lib/generated/run-template-data-expected.txt:
        * html5lib/generated/run-template-write-expected.txt:

2016-04-26  Skachkov Oleksandr  <gskachkov@gmail.com>

        calling super() a second time in a constructor should throw
        https://bugs.webkit.org/show_bug.cgi?id=151113

        Reviewed by Saam Barati and Keith Miller.

        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-super.js:

2016-04-26  Commit Queue  <commit-queue@webkit.org>

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

         It brokes the debug build (Requested by gskachkov on
        #webkit).

        Reverted changeset:

        "calling super() a second time in a constructor should throw"
        https://bugs.webkit.org/show_bug.cgi?id=151113
        http://trac.webkit.org/changeset/200083

2016-04-26  Skachkov Oleksandr  <gskachkov@gmail.com>

        calling super() a second time in a constructor should throw
        https://bugs.webkit.org/show_bug.cgi?id=151113

        Reviewed by Saam Barati and Keith Miller.

        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-super.js:

2016-04-26  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Drop [UsePointersEvenForNonNullableObjectArguments] from SpeechSynthesis
        https://bugs.webkit.org/show_bug.cgi?id=156901

        Reviewed by Darin Adler.

        Updated test to handle speak throwing behavior in case of bad parameters.

        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt:
        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html:

2016-04-26  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Drop [UsePointersEvenForNonNullableObjectArguments] from EventTarget
        https://bugs.webkit.org/show_bug.cgi?id=156977

        Reviewed by Chris Dumez.

        * fast/events/dispatchEvent-crash-expected.txt:
        * fast/events/dispatchEvent-crash.html: Ensuring exceptions are logged.

2016-04-25  Ryosuke Niwa  <rniwa@webkit.org>

        Update template element tests
        https://bugs.webkit.org/show_bug.cgi?id=154996

        Reviewed by Daniel Bates.

        * platform/mac/TestExpectations:

2016-04-25  Myles C. Maxfield  <mmaxfield@apple.com>

        Cloning a textarea does not clone the textarea's value
        https://bugs.webkit.org/show_bug.cgi?id=156637

        Reviewed by Chris Dumez.

        https://dom.spec.whatwg.org/#concept-node-clone describes that the value
        of a node shouldn't be copied when cloning the node.

        * fast/forms/checkValidity-cloneNode-crash-expected.txt:
        * fast/forms/checkValidity-cloneNode-crash.html:

2016-04-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: React.js JSXTransformer produces bogus error locations
        https://bugs.webkit.org/show_bug.cgi?id=150010
        <rdar://problem/23062233>

        Reviewed by Timothy Hatcher.

        * inspector/model/frame-extra-scripts-expected.txt: Added.
        * inspector/model/frame-extra-scripts.html: Added.
        Add a test for a WebInspector.Frame's extraScripts list.

        * inspector/model/stack-trace-expected.txt:
        Update output that we correctly get the sourceURL of the inner script.

        * inspector/model/script-resource-relationship-expected.txt
        * inspector/model/script-resource-relationship.html
        Add a test for a dynamicallyAddedScriptElement.
        Remove debug logging.

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

        Skip fast/layers/no-clipping-overflow-hidden-added-after-transform.html on mac-wk1 debug

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

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

        Add port 4190 (managesieve) to port blacklist
        https://bugs.webkit.org/show_bug.cgi?id=156986
        <rdar://problem/9119470>

        Reviewed by Daniel Bates.

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

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

        Rebaseline editing tests for ios-simulator-wk1

        Unreviewed test gardening

        * platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
        * +71 more

2016-04-25  Nan Wang  <n_wang@apple.com>

        AX: Crash at -[WebAccessibilityObjectWrapper accessibilityAttributeValue:] + 4391
        https://bugs.webkit.org/show_bug.cgi?id=156987

        Reviewed by Chris Fleizach.

        * accessibility/mac/slider-thumb-value-crash-expected.txt: Added.
        * accessibility/mac/slider-thumb-value-crash.html: Added.

2016-04-25  Brady Eidson  <beidson@apple.com>

        Attempt to fix a flaky test after r200032
        https://bugs.webkit.org/show_bug.cgi?id=156994

        * http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js: Missed renaming this along with all the others.

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

        Toggling animation-play-state can re-start a finished animation
        https://bugs.webkit.org/show_bug.cgi?id=156731

        Reviewed by Dean Jackson.

        * animations/animation-direction-reverse-expected.txt:
        * animations/animation-direction-reverse.html: This is a progression. The test was detecting a
        restarted animation.
        * animations/change-completed-animation-expected.txt: Added.
        * animations/change-completed-animation-transform-expected.html: Added.
        * animations/change-completed-animation-transform.html: Added. Ref test that ensures that the final
        state for normal and accelerated animations is correct.
        * animations/change-completed-animation.html: Added. Tests that changing a property doesn't trigger
        another animation, by detecting a second animationstart event.

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

        play-state not parsed as part of animation shorthand
        https://bugs.webkit.org/show_bug.cgi?id=156959

        Reviewed by Darin Adler.

        * animations/animation-shorthand-expected.txt:
        * animations/animation-shorthand.html:
        * animations/play-state-in-shorthand-expected.txt: Added.
        * animations/play-state-in-shorthand.html: Added.
        * animations/resources/animation-test-helpers.js:
        (getPropertyValue):
        (comparePropertyValue):

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

        Negative animation-delay is treated as 0s
        https://bugs.webkit.org/show_bug.cgi?id=141008

        Reviewed by Daniel Bates.
        
        Ref test that has an initially-paused animation on 'left' and with a
        3d transform.

        * animations/play-state-start-paused-expected.html: Added.
        * animations/play-state-start-paused.html: Added.

2016-04-25  Brady Eidson  <beidson@apple.com>

        Implement latest File object spec (including its constructor).
        https://bugs.webkit.org/show_bug.cgi?id=156511

        Reviewed by Darin Adler.

        * fast/files/file-constructor-expected.txt: Added.
        * fast/files/file-constructor.html: Added.
        
        * http/tests/local/fileapi/file-last-modified-after-delete-expected.txt:
        * http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js:

        * http/tests/local/fileapi/file-last-modified-expected.txt:
        * http/tests/local/fileapi/script-tests/file-last-modified.js:

        * imported/blink/storage/indexeddb/blob-basics-metadata-expected.txt:

2016-04-25  Daniel Bates  <dabates@apple.com>

        REGRESSION (r196012): Subresource may be blocked by Content Security Policy if it only matches 'self'
        https://bugs.webkit.org/show_bug.cgi?id=156935
        <rdar://problem/25351286>

        Reviewed by Darin Adler.

        Add tests to ensure that we match 'self' correctly in an iframe with an about:blank document.

        * http/tests/security/contentSecurityPolicy/iframe-blank-url-programmatically-add-external-script-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/iframe-blank-url-programmatically-add-external-script.html: Added.
        * http/tests/security/contentSecurityPolicy/iframe-srcdoc-external-script-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/iframe-srcdoc-external-script.html: Added.

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

        Marking media/video-fullscreen-restriction-removed.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=156983

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-04-25  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Drop [UsePointersEvenForNonNullableObjectArguments] from File API interfaces
        https://bugs.webkit.org/show_bug.cgi?id=156898

        Reviewed by Chris Dumez.

        Checking FileReaderSync send method in case of null or undefined blob parameter.
        worker-read-blob-sync.html and worker-read-file-sync check the case of badly typed parameters.
        In all cases, TypeError is thrown.

        * fast/files/workers/resources/worker-file-reader-sync-bad-parameter.js: Added.
        (test):
        * fast/files/workers/worker-file-reader-sync-bad-parameter-expected.txt: Added.
        * fast/files/workers/worker-file-reader-sync-bad-parameter.html: Added.
        * fast/files/workers/worker-read-blob-sync-expected.txt: Rebasing expectation.
        * fast/files/workers/worker-read-file-sync-expected.txt: Ditto.

2016-04-25  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix grid-template-columns|rows computed style with content alignment
        https://bugs.webkit.org/show_bug.cgi?id=156793

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment-expected.txt: Added.
        * fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment.html: Added.

2016-04-25  Frederic Wang  <fwang@igalia.com>

        Refactor RenderMathMLMenclose.
        https://bugs.webkit.org/show_bug.cgi?id=155019

        Reviewed by Sergio Villar Senin.

        * mathml/presentation/menclose-notation-attribute-set1.html: Removed.
        This is replaced with menclose-notation-values.
        * mathml/presentation/menclose-notation-attribute-set1-expected.txt: Removed.
        This is replaced with menclose-notation-values.
        * mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html: Removed.
        This is replaced with menclose-notation-values.
        * mathml/presentation/menclose-notation-attribute-set2.html: Removed.
        This is replaced with menclose-notation-values.
        * mathml/presentation/menclose-notation-values.html: Added.
        This test verifies the rendering of various menclose notations.
        * mathml/presentation/menclose-notation-equivalence.html: Added.
        This test verifies some equivalence for the notation attribute value.
        * mathml/presentation/menclose-notation-equivalence-expected.html: Added.
        * mathml/presentation/menclose-notation-radical.html: Update the test now that support for
        the radical notation is removed.
        * mathml/presentation/menclose-notation-radical-expected.html: ditto.
        * platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.png: Update
        reference due to small changes in longdiv implementation.
        * platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.txt: ditto.
        * platform/mac/mathml/presentation/menclose-notation-default-longdiv-expected.png: ditto.
        * platform/mac/mathml/presentation/menclose-notation-default-longdiv-expected.txt: ditto.
        * platform/ios-simulator/mathml/presentation/menclose-notation-default-longdiv-expected.txt: ditto
        * platform/gtk/mathml/presentation/menclose-notation-values-expected.png: Added.
        * platform/gtk/mathml/presentation/menclose-notation-values-expected.txt: Added.
        * platform/mac/mathml/presentation/menclose-notation-values-expected.png: Added.
        * platform/mac/mathml/presentation/menclose-notation-values-expected.txt: Added.
        * platform/ios-simulator/mathml/presentation/menclose-notation-values-expected.txt: Added.

2016-04-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Some media tests have been failed after bumping gstreamer ver.

        Unreviewed EFL gardening. Mark failing tests to timeout or failure.

        * platform/efl/TestExpectations:

2016-04-24  Chris Dumez  <cdumez@apple.com>

        Autogenerated IDBFactory.open() does the wrong thing if you pass an explicit 'undefined' as the second argument
        https://bugs.webkit.org/show_bug.cgi?id=156939

        Reviewed by Darin Adler.

        Update / rebaseline existing test now that passing undefined as second parameter to
        IDBFactory.open() no longer throws.

        * storage/indexeddb/intversion-bad-parameters-expected.txt:
        * storage/indexeddb/intversion-bad-parameters-private-expected.txt:
        * storage/indexeddb/resources/intversion-bad-parameters.js:
        (deleteSuccess):

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

        [WebIDL] Drop [Default] WebKit-IDL extended attribute
        https://bugs.webkit.org/show_bug.cgi?id=156955

        Reviewed by Darin Adler.

        Rebaseline some tests now that a different exception type is thrown
        for some of our APIs when passing null.

        * editing/selection/extend-expected.txt:
        * fast/dom/Element/attr-param-typechecking-expected.txt:
        * fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
        * fast/dynamic/insertAdjacentElement-expected.txt:

2016-04-24  Filip Pizlo <fpizlo@apple.com> and Andy VanWagoner <thetalecrafter@gmail.com>

        [INTL] Implement String.prototype.localeCompare in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147607

        Reviewed by Darin Adler.

        * js/dom/script-tests/string-prototype-properties.js:
        * js/dom/string-prototype-properties-expected.txt:
        * js/regress/locale-compare.html: Added.
        * js/regress/locale-compare-expected.txt: Added.
        * js/regress/scripts-tests/locale-compare.js: Added.
        * js/script-tests/string-localeCompare.js:
        * js/string-localeCompare-expected.txt:
        * js/string-localeCompare.html:

2016-04-22  Filip Pizlo  <fpizlo@apple.com>

        Speed up bound functions a bit
        https://bugs.webkit.org/show_bug.cgi?id=156889

        Reviewed by Saam Barati.

        This microbenchmark speeds up by >4x with this change.

        * js/regress/bound-function-call-expected.txt: Added.
        * js/regress/bound-function-call.html: Added.
        * js/regress/script-tests/bound-function-call.js: Added.
        (foo):

2016-04-22  Chris Dumez  <cdumez@apple.com>

        Cannot access the SQLTransaction.constructor.prototype
        https://bugs.webkit.org/show_bug.cgi?id=156613

        Reviewed by Darin Adler.

        Rebaseline existing test now that more SQL constructors are exposed on the
        global Window object. Also add a test to confirm that it is possible to
        access SQLTransaction.constructor.prototype and that it seems correct.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * storage/websql/transaction-prototype-expected.txt: Added.
        * storage/websql/transaction-prototype.html: Added.

2016-04-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Source directives lost when using Function constructor repeatedly
        https://bugs.webkit.org/show_bug.cgi?id=156863
        <rdar://problem/25861064>

        Reviewed by Geoffrey Garen.

        * inspector/debugger/sourceURL-repeated-identical-executions-expected.txt: Added.
        * inspector/debugger/sourceURL-repeated-identical-executions.html: Added.

2016-04-22  Mark Lam  <mark.lam@apple.com>

        javascript jit bug affecting Google Maps.
        https://bugs.webkit.org/show_bug.cgi?id=153431

        Reviewed by Filip Pizlo.

        * js/regress/bug-153431-expected.txt: Added.
        * js/regress/bug-153431.html: Added.
        * js/regress/script-tests/bug-153431.js: Added.

2016-04-22  Geoffrey Garen  <ggaren@apple.com>

        super should be available in object literals
        https://bugs.webkit.org/show_bug.cgi?id=156933

        Reviewed by Saam Barati.

        Updated expected results and added a few new tests.

        * js/arrowfunction-syntax-errors-expected.txt:
        * js/class-syntax-super-expected.txt:
        * js/object-literal-methods-expected.txt:
        * js/script-tests/arrowfunction-syntax-errors.js:
        * js/script-tests/class-syntax-super.js:
        * js/script-tests/object-literal-methods.js:

2016-04-22  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining inspector/model/stack-trace.html after r199897

        Unreviewed test gardening.

        * inspector/model/stack-trace-expected.txt:

2016-04-22  Dave Hyatt  <hyatt@apple.com>

        REGRESSION (r189567): The top of Facebook's messenger.com looks visually broken
        https://bugs.webkit.org/show_bug.cgi?id=156869
        <rdar://problem/23204668>

        Reviewed by Zalan Bujtas.

        * fast/block/min-content-box-sizing-expected.html: Added.
        * fast/block/min-content-box-sizing.html: Added.

2016-04-22  Chris Dumez  <cdumez@apple.com>

        Support disabling at runtime IndexedDB constructors exposed to workers
        https://bugs.webkit.org/show_bug.cgi?id=156883

        Reviewed by Darin Adler.

        Add layout test coverage.

        * storage/indexeddb/modern/resources/workers-disabled.js:
        * storage/indexeddb/modern/resources/workers-enable.js:
        * storage/indexeddb/modern/workers-disabled-expected.txt:
        * storage/indexeddb/modern/workers-enable-expected.txt:

2016-04-22  Dave Hyatt  <hyatt@apple.com>

        -webkit-image-set doesn't work inside CSS variables
        https://bugs.webkit.org/show_bug.cgi?id=156915
        <rdar://problem/25473972>

        Reviewed by Zalan Bujtas.

        * fast/hidpi/image-srcset-simple-in-variable-1x-expected.txt: Added.
        * fast/hidpi/image-srcset-simple-in-variable-1x.html: Added.
        * fast/hidpi/image-srcset-simple-in-variable-2x-expected.txt: Added.
        * fast/hidpi/image-srcset-simple-in-variable-2x.html: Added.

2016-04-22  Commit Queue  <commit-queue@webkit.org>

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

        The LayoutTest added with this change is failing on all
        platforms. (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "REGRESSION (r189567): The top of Facebook's messenger.com
        looks visually broken"
        https://bugs.webkit.org/show_bug.cgi?id=156869
        http://trac.webkit.org/changeset/199877

2016-04-22  Antti Koivisto  <antti@apple.com>

        REGRESSION (r194898): Multi download of external SVG defs file by <use> xlinks:href (caching)
        https://bugs.webkit.org/show_bug.cgi?id=156368
        <rdar://problem/25611746>

        Reviewed by Simon Fraser.

        * http/tests/svg/resources/symbol-defs.svg: Added.
        * http/tests/svg/svg-use-external-expected.txt: Added.
        * http/tests/svg/svg-use-external.html: Added.

2016-04-22  Chris Dumez  <cdumez@apple.com>

        Drop [UsePointersEvenForNonNullableObjectArguments] from MutationObserver
        https://bugs.webkit.org/show_bug.cgi?id=156890

        Reviewed by Darin Adler.

        Rebaseline now that MutationObserver.observe() throws a TypeError instead
        of a NOT_FOUND_ERR when passed a null Node.

        * fast/dom/MutationObserver/observe-exceptions-expected.txt:

2016-04-22  Dave Hyatt  <hyatt@apple.com>

        REGRESSION (r189567): The top of Facebook's messenger.com looks visually broken
        https://bugs.webkit.org/show_bug.cgi?id=156869
        <rdar://problem/23204668>

        Reviewed by Zalan Bujtas.

        * fast/block/min-content-with-box-sizing-expected.html: Added.
        * fast/block/min-content-with-box-sizing.html: Added.

2016-04-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Enable the download attribute support
        https://bugs.webkit.org/show_bug.cgi?id=99025

        Reviewed by Žan Doberšek.

        Unskip tests that should pass now.

        * platform/gtk/TestExpectations:

2016-04-22  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix bug with positioned items in vertical writing mode
        https://bugs.webkit.org/show_bug.cgi?id=156870

        Reviewed by Darin Adler.

        Add new test to check positioned items in different writing modes
        and direction combinations.

        * fast/css-grid-layout/grid-positioned-children-writing-modes-expected.html: Added.
        * fast/css-grid-layout/grid-positioned-children-writing-modes.html: Added.

2016-04-21  Chris Dumez  <cdumez@apple.com>

        Drop [UsePointersEvenForNonNullableObjectArguments] from Document
        https://bugs.webkit.org/show_bug.cgi?id=156881

        Reviewed by Darin Adler.

        Add test cases for cases where the type of the exception being thrown
        has changed.

        * fast/dom/Document/adoptNode-null-expected.txt: Added.
        * fast/dom/Document/adoptNode-null.html: Added.
        * fast/dom/Document/importNode-null-expected.txt: Added.
        * fast/dom/Document/importNode-null.html: Added.
        * fast/dom/importNode-null-expected.txt: Removed.
        * fast/dom/importNode-null.html: Removed.

2016-04-21  Dean Jackson  <dino@apple.com>

        Backdrop Filter should not be visible if element has visibility:hidden
        https://bugs.webkit.org/show_bug.cgi?id=149318
        <rdar://problem/22749780>

        Reviewed by Simon Fraser.

        Three tests that check if a backdrop filter should be visible when
        its owning element is visibility hidden.

        * css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt: Added.
        * css3/filters/backdrop/backdrop-with-visibility-hidden-changing.html: Added.
        * css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt: Added.
        * css3/filters/backdrop/backdrop-with-visibility-hidden.html: Added.
        * css3/filters/backdrop/backdrop-with-visibility-hidden-2.html: Added.
        * css3/filters/backdrop/backdrop-with-visibility-hidden-2-expected.html: Added.

2016-04-21  Brady Eidson  <beidson@apple.com>

        Modern IDB (Workers): Get the IDBConnectionProxy from the Document to the WorkerGlobalScope.
        https://bugs.webkit.org/show_bug.cgi?id=156877

        Reviewed by Tim Horton.

        * storage/indexeddb/modern/workers-enable-expected.txt:

2016-04-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: sourceMappingURL not loaded in generated script
        https://bugs.webkit.org/show_bug.cgi?id=156022
        <rdar://problem/25438595>

        Reviewed by Geoffrey Garen.

        * inspector/console/messageAdded-from-named-evaluations-expected.txt: Added.
        * inspector/console/messageAdded-from-named-evaluations.html: Added.
        * inspector/debugger/js-stacktrace-expected.txt:
        * inspector/model/stack-trace-expected.txt:

2016-04-21  Simon Fraser  <simon.fraser@apple.com>

        ASSERTION FAILED: accumulation == TransformState::FlattenTransform in WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect
        https://bugs.webkit.org/show_bug.cgi?id=155362

        Reviewed by Zalan Bujtas.

        Test cases that should not assert in debug builds.

        * compositing/clipping/preserve3d-flatten-assertion-nested.html: Added.
        * compositing/clipping/preserve3d-flatten-assertion.html: Added.

2016-04-21  Jiewen Tan  <jiewen_tan@apple.com>

        [iOS] DumpRenderTree crashed in com.apple.WebCore: WebCore::ResourceLoadNotifier::didFailToLoad
        https://bugs.webkit.org/show_bug.cgi?id=156829
        <rdar://problem/23348217>

        Reviewed by Daniel Bates.

        Unmark imported/blink/http/tests/css/remove-placeholder-styles.html as flaky because of bug fix.

        * platform/ios-simulator-wk1/TestExpectations:

2016-04-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Debugger statement gets a space after it when pretty printed
        https://bugs.webkit.org/show_bug.cgi?id=156867
        <rdar://problem/25862308>

        Reviewed by Geoffrey Garen.

        * inspector/formatting/formatting-javascript-expected.txt:
        * inspector/formatting/formatting-javascript.html:
        * inspector/formatting/resources/javascript-tests/other-statements-expected.js: Renamed from LayoutTests/inspector/formatting/resources/javascript-tests/throw-statement-expected.js.
        * inspector/formatting/resources/javascript-tests/other-statements.js: Renamed from LayoutTests/inspector/formatting/resources/javascript-tests/throw-statement.js.

2016-04-21  Brady Eidson  <beidson@apple.com>

        Modern IDB (Workers): More IDBConnectionProxy refactoring.
        https://bugs.webkit.org/show_bug.cgi?id=156855

        Reviewed by Darin Adler.

        * storage/indexeddb/modern/workers-enable-expected.txt: Revert some of the PASS expectations to FAIL, just for now.

2016-04-21  Ryan Haddad  <ryanhaddad@apple.com>

        Skip <area ping> tests on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=156857

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-04-21  Eric Carlson  <eric.carlson@apple.com>

        LayoutTest http/tests/media/hls/video-controls-live-stream.html is sometimes flaky
        https://bugs.webkit.org/show_bug.cgi?id=156851
        <rdar://problem/25792102>

        Reviewed by Daniel Bates.

        * http/tests/media/hls/video-controls-live-stream.html: Only listen for events once because
          we don't care if they fire more often.

2016-04-21  Daniel Bates  <dabates@apple.com>

        Add tests for <area ping>
        https://bugs.webkit.org/show_bug.cgi?id=79438
        <rdar://problem/22586699>

        Reviewed by Alexey Proskuryakov.

        * http/tests/navigation/ping-attribute/anchor-cookie.html: Extracted out code into functions setCookie(),
        clearLastPingResultAndRunTest() and clickElement() (defined in utilities.js) so that they can be
        used by this test and others. Also added HTML5 doctype declaration since it is unnecessary to run
        this test in quirks mode.
        * http/tests/navigation/ping-attribute/area-cookie-expected.txt: Added.
        * http/tests/navigation/ping-attribute/area-cookie.html: Added.
        * http/tests/navigation/ping-attribute/area-cross-origin-expected.txt: Added.
        * http/tests/navigation/ping-attribute/area-cross-origin-from-https-expected.txt: Added.
        * http/tests/navigation/ping-attribute/area-cross-origin-from-https.html: Added.
        * http/tests/navigation/ping-attribute/area-cross-origin.html: Added.
        * http/tests/navigation/ping-attribute/area-same-origin-expected.txt: Added.
        * http/tests/navigation/ping-attribute/area-same-origin.html: Added.
        * http/tests/navigation/ping-attribute/resources/utilities.js: Added.
        (setCookie):
        (clearLastPingResultAndRunTest.done):
        (clearLastPingResultAndRunTest):
        (clickElement):

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

        Creating a large number of WebGL contexts should recycle older contexts
        https://bugs.webkit.org/show_bug.cgi?id=156689
        <rdar://problem/19535330>

        Reviewed by Dean Jackson.

        * webgl/many-contexts-expected.txt:
        * webgl/many-contexts.html:

        New output for this existing test since a lot of warnings are now logged to
        indicate that we've reached the active contexts limit. We also removed the
        check that the last context created was null since it no longer is due to this
        source change (older contexts are lost instead).

        * webgl/max-active-contexts-console-warning-expected.txt: Added.
        * webgl/max-active-contexts-console-warning.html: Added.

        This new test checks that we log a warning when we've created one context more
        than the active contexts limit.

        * webgl/max-active-contexts-gc-expected.txt: Added.
        * webgl/max-active-contexts-gc.html: Added.

        This new test checks that contexts that are garbage collected do not count
        agaist the active contexts limit.

        * webgl/max-active-contexts-oldest-context-lost-expected.txt: Added.
        * webgl/max-active-contexts-oldest-context-lost.html: Added.

        This new test checks that older contexts are lost when we reach the active
        contexts limit and we create a new context.

        * webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt: Added.
        * webgl/max-active-contexts-webglcontextlost-prevent-default.html: Added.

        This new test checks that calling `event.preventDefault()` in a `webglcontextlost`
        event handler does not prevent a context from being lost when the active contexts
        limit is reached.

2016-04-21  Dave Hyatt  <hyatt@apple.com>

        Don't hyphenate the last word in a paragraph of text.
        https://bugs.webkit.org/show_bug.cgi?id=156803

        Reviewed by Simon Fraser.

        * fast/text/hyphenate-avoid-orphaned-word.html: Added.
        * platform/mac/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Added.
        * platform/mac/fast/text/hyphenate-limit-before-after-expected.txt:

2016-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations for some editing tests that are slow on Debug.

        All these pass for me locally when run with --no-timeout.

        * platform/gtk/TestExpectations:

2016-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r180867.

        * platform/gtk/editing/execCommand/5142012-1-expected.txt:
        * platform/gtk/editing/inserting/insert-at-end-02-expected.txt:
        * platform/gtk/editing/pasteboard/4989774-expected.txt:

2016-04-21  Nan Wang  <n_wang@apple.com>

        AX: stringForTextMarkerRange returning empty string for document range
        https://bugs.webkit.org/show_bug.cgi?id=156819

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-string-for-document-range-expected.txt: Added.
        * accessibility/mac/text-marker-string-for-document-range.html: Added.

2016-04-20  Ryan Haddad  <ryanhaddad@apple.com>

        Adding ios-simulator-wk1 specific baselines for compositing and css3 LayoutTests due to contentsOpaque difference

        Unreviewed test gardening.

        * Truncating changelog due to large number of added files

2016-04-20  Brady Eidson  <beidson@apple.com>

        Modern IDB (Workers): Introduce "IDBConnectionProxy" for future threading abstraction, and adopt it in IDBFactory.
        https://bugs.webkit.org/show_bug.cgi?id=156810

        Reviewed by Alex Christensen.

        * storage/indexeddb/intversion-bad-parameters-expected.txt:
        * storage/indexeddb/intversion-bad-parameters-private-expected.txt:
        * storage/indexeddb/modern/opendatabase-request-event-expected.txt:
        * storage/indexeddb/modern/opendatabase-request-event-private-expected.txt:
        * storage/indexeddb/modern/opendatabase-request-expected.txt:
        * storage/indexeddb/modern/opendatabase-request-private-expected.txt:
        * storage/indexeddb/modern/workers-enable-expected.txt:
        * storage/indexeddb/version-change-event-basic-expected.txt:
        * storage/indexeddb/version-change-event-basic-private-expected.txt:

2016-04-20  Ryan Haddad  <ryanhaddad@apple.com>

        Marking compositing/webgl/webgl-reflection.html as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=156812

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-04-20  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.table(navigator) throws exception about `rowPreview.propertyPreviews.length`
        https://bugs.webkit.org/show_bug.cgi?id=156698
        <rdar://problem/25778244>

        Reviewed by Timothy Hatcher.

        * inspector/console/console-table-expected.txt:
        * inspector/console/console-table.html:

2016-04-20  Ryan Haddad  <ryanhaddad@apple.com>

        Remove flaky expectation for imported/mozilla/svg/image/image-filter-01.svg on ios-simulator-wk2

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-04-19  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make debounce use an ES6 Proxy

        https://bugs.webkit.org/show_bug.cgi?id=156756
        rdar://problem/25809771

        Reviewed by Joseph Pecoraro.

        * inspector/unit-tests/debounce-expected.txt: Added.
        * inspector/unit-tests/debounce.html: Added.

2016-04-20  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for iOS simulator.

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/css2.1/t0905-c5525-flthw-00-c-g-expected.txt:
        * platform/ios-simulator-wk2/css2.1/t0905-c5526-flthw-00-c-g-expected.txt:
        * platform/ios-simulator/fast/canvas/set-colors-expected.txt: Added.
        * platform/ios-simulator/fast/text/emoji-expected.txt:

2016-04-20  Yoav Weiss  <yoav@yoav.ws>

        Speculative unflake of dynamic_remove_preload_href layout test
        https://bugs.webkit.org/show_bug.cgi?id=156773

        Reviewed by Alexey Proskuryakov.

        * http/tests/preload/dynamic_remove_preload_href.html: Avoid using a blocking script based timeout.

2016-04-20  Brady Eidson  <beidson@apple.com>

        Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures.
        https://bugs.webkit.org/show_bug.cgi?id=156782

        Reviewed by Alex Christensen.

        Note: One test has some "FAIL" lines in the expected results, which is intentional.
        As work on this progresses, those FAILs will become PASSes and the expectations will be updated.
        
        * storage/indexeddb/modern/resources/workers-disabled.js: Added.
        * storage/indexeddb/modern/resources/workers-enable.js: Added.
        * storage/indexeddb/modern/workers-disabled-expected.txt: Added.
        * storage/indexeddb/modern/workers-disabled.html: Added.
        * storage/indexeddb/modern/workers-enable-expected.txt: Added.
        * storage/indexeddb/modern/workers-enable.html: Added.

2016-04-20  Brent Fulgham  <bfulgham@apple.com>

        [WK2][Mac][iOS] WebContent crash when using special file:// URI scheme @ WebKit::resolveSymlinksInPath(WTF::CString const&) + 159
        https://bugs.webkit.org/show_bug.cgi?id=156747
        <rdar://problem/24648176>

        Reviewed by Alexey Proskuryakov.

        * fast/url/file-uri-with-embedded-null-no-crash-expected.txt: Added.
        * fast/url/file-uri-with-embedded-null-no-crash.html: Added.

2016-04-20  Dave Hyatt  <hyatt@apple.com>

        Hangable punctuation measurement using the wrong indices.
        https://bugs.webkit.org/show_bug.cgi?id=155899

        Reviewed by Simon Fraser.

        * fast/text/hanging-punctuation-variable-font-size-expected.html: Added.
        * fast/text/hanging-punctuation-variable-font-size.html: Added.

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

        Drop [UsePointersEvenForNonNullableObjectArguments] from several Canvas interfaces
        https://bugs.webkit.org/show_bug.cgi?id=156781

        Reviewed by Darin Adler.

        Update outdated test which expected a legacy TYPE_MISMATCH_ERR exception
        to be thrown when passing null instead of the newer TypeError.

        * canvas/philip/tests/2d.drawImage.null.html:

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

        Drop [UsePointersEvenForNonNullableObjectArguments] from WebAudio
        https://bugs.webkit.org/show_bug.cgi?id=156777

        Reviewed by Darin Adler.

        Added test coverage for the type of the exception being thrown when
        pasing null to various WebAudio API.

        * webaudio/audiobuffer-expected.txt:
        * webaudio/audiobuffer.html:
        * webaudio/createMediaStreamSource-null-expected.txt: Added.
        * webaudio/createMediaStreamSource-null.html: Added.
        * webaudio/decode-audio-data-basic-expected.txt:
        * webaudio/decode-audio-data-basic.html:
        * webaudio/mediaelementaudiosourcenode-expected.txt:
        * webaudio/mediaelementaudiosourcenode.html:

2016-04-20  Brady Eidson  <beidson@apple.com>

        Addressing additional review feedback for:
        Modern IDB: Lots of IDB bindings cleanup (including making IDBVersionChangeEvent constructible).
        https://bugs.webkit.org/show_bug.cgi?id=156760

        * storage/indexeddb/modern/idbversionchangeevent-constructor-expected.txt:
        * storage/indexeddb/modern/idbversionchangeevent-constructor.html:

2016-04-20  Frederic Wang  <fwang@igalia.com>

        Refactor RenderMathMLSpace to avoid using flexbox
        https://bugs.webkit.org/show_bug.cgi?id=155168

        Reviewed by Martin Robinson.

        * mathml/presentation/mspace-prefered-width-expected.html: Update the expectation so that the logical width and preferred width are both equal to the one specified by the width attribute.

2016-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Mark HLS tests release expectations as release only.

        * platform/gtk/TestExpectations:

2016-04-20  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening. Follow up gardening for media test.

        * platform/efl/TestExpectations: Unskip 3 media tests.

2016-04-19  Michael Saboff  <msaboff@apple.com>

        iTunes crashing JavaScriptCore.dll
        https://bugs.webkit.org/show_bug.cgi?id=156647

        Reviewed by Filip Pizlo.

        Disabled fast/workers/dedicated-worker-lifecycle.html as it creates
        more workers that we have ThreadSpecific keys.  We need at least one
        key per JSC VM we create.  I didn't want to weaken the test for other
        platforms.

        * platform/win/TestExpectations:

2016-04-19  Brent Fulgham  <bfulgham@apple.com>

        Remove remaining bits of dynamic <link> rel='icon' loading
        https://bugs.webkit.org/show_bug.cgi?id=156727

        Reviewed by Darin Adler.

        Rename 'test-link-rel-icon-beforeload.html' to 'test-link-rel-subresource-beforeload.html'.

        * fast/dom/icon-url-property-expected.txt: Removed.
        * fast/dom/icon-url-property.html: Removed.
        * platform/gtk/TestExpectations: Remove references to deleted tests.
        * platform/ios-simulator/TestExpectations: Ditto. 
        * platform/wk2/TestExpectations: Ditto.
        * webarchive/test-link-rel-icon-beforeload-expected.webarchive: Removed.
        * webarchive/test-link-rel-icon-beforeload.html: Removed.
        * webarchive/test-link-rel-subresource-beforeload-expected.webarchive: Copied from LayoutTests/webarchive/test-link-rel-icon-beforeload-expected.webarchive.
        * webarchive/test-link-rel-subresource-beforeload.html: Copied from LayoutTests/webarchive/test-link-rel-icon-beforeload.html.

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

        AudioBufferSourceNode.buffer should be nullable
        https://bugs.webkit.org/show_bug.cgi?id=156769

        Reviewed by Darin Adler.

        Update existing layout test to check that:
        - AudioBufferSourceNode.buffer is initially null
        - AudioBufferSourceNode.buffer can be set to null
        - We cannot create an AudioBuffer that has too many channels

        * webaudio/audiobuffersource-channels-expected.txt:
        * webaudio/audiobuffersource-channels.html:

2016-04-19  Brady Eidson  <beidson@apple.com>

        Modern IDB: Lots of IDB bindings cleanup (including making IDBVersionChangeEvent constructible).
        https://bugs.webkit.org/show_bug.cgi?id=156760

        Reviewed by Darin Adler (and looked over by Chris Dumez and Alex Christensen).

        * js/dom/global-constructors-attributes-idb-expected.txt: Updated for removed attributes.
        * storage/indexeddb/modern/idbversionchangeevent-constructor-expected.txt: Added.
        * storage/indexeddb/modern/idbversionchangeevent-constructor.html: Added.

2016-04-19  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Unskip media tests since r199649

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations: r199649 fixed media test crash as well.

2016-04-19  Mark Lam  <mark.lam@apple.com>

        Re-landing: ES6: Implement RegExp.prototype[@@search].
        https://bugs.webkit.org/show_bug.cgi?id=156331

        Reviewed by Keith Miller.

        * js/regress/regexp-prototype-search-observable-side-effects-expected.txt: Added.
        * js/regress/regexp-prototype-search-observable-side-effects.html: Added.
        * js/regress/regexp-prototype-search-observable-side-effects2-expected.txt: Added.
        * js/regress/regexp-prototype-search-observable-side-effects2.html: Added.

        * js/regress/script-tests/regexp-prototype-search-observable-side-effects.js: Added.
        * js/regress/script-tests/regexp-prototype-search-observable-side-effects2.js: Added.

        * js/regress/script-tests/string-prototype-search-observable-side-effects.js: Added.
        * js/regress/script-tests/string-prototype-search-observable-side-effects2.js: Added.
        * js/regress/script-tests/string-prototype-search-observable-side-effects3.js: Added.
        * js/regress/script-tests/string-prototype-search-observable-side-effects4.js: Added.

        * js/regress/string-prototype-search-observable-side-effects-expected.txt: Added.
        * js/regress/string-prototype-search-observable-side-effects.html: Added.
        * js/regress/string-prototype-search-observable-side-effects2-expected.txt: Added.
        * js/regress/string-prototype-search-observable-side-effects2.html: Added.
        * js/regress/string-prototype-search-observable-side-effects3-expected.txt: Added.
        * js/regress/string-prototype-search-observable-side-effects3.html: Added.
        * js/regress/string-prototype-search-observable-side-effects4-expected.txt: Added.
        * js/regress/string-prototype-search-observable-side-effects4.html: Added.

2016-04-19  Alex Christensen  <achristensen@webkit.org>

        Rebase test after r199738

        * fast/canvas/webgl/fragment-shader-assertion-expected.txt:
        ANGLE gives us a more descriptive error now.  No big deal.  
        This test was added to make sure it didn't crash in http://trac.webkit.org/changeset/199340
        and it still does not crash.

2016-04-19  Keith Miller  <keith_miller@apple.com>

        ObjcInstance::stringValue should not call NSObject's description method
        https://bugs.webkit.org/show_bug.cgi?id=156758

        Reviewed by Geoffrey Garen.

        Test that we don't use the NSObject's description method when stringifying a WebScriptObject.

        * platform/mac/fast/objc/webScriptObject-does-not-call-description-on-nsobject-expected.txt: Added.
        * platform/mac/fast/objc/webScriptObject-does-not-call-description-on-nsobject.html: Added.
        * platform/wk2/TestExpectations:

2016-04-19  Alex Christensen  <achristensen@webkit.org>

        Update ANGLE
        https://bugs.webkit.org/show_bug.cgi?id=156755

        Reviewed by Dean Jackson.

        * webgl/1.0.2/conformance/glsl/reserved/webgl_preprocessor_reserved-expected.txt: Removed.
        * webgl/1.0.2/conformance/glsl/reserved/webgl_preprocessor_reserved.html: Removed.
        Removed invalid test based on https://github.com/KhronosGroup/WebGL/pull/1230

2016-04-19  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        imported/w3c/web-platform-tests/streams/readable-streams/general.https.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=155760

        Reviewed by Alexey Proskuryakov.

        * TestExpectations: removed flaky expectation.

2016-04-19  Mark Lam  <mark.lam@apple.com>

        Re-landing: ES6: Implement String.prototype.split and RegExp.prototype[@@split].
        https://bugs.webkit.org/show_bug.cgi?id=156013

        Reviewed by Keith Miller.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/string-prototype-properties-expected.txt:

        * js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects2.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-global.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects4.html: Added.

        * js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Added.

        * js/regress/script-tests/string-prototype-split-observable-side-effects.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Added.

        * js/regress/string-prototype-split-observable-side-effects-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects.html: Added.
        * js/regress/string-prototype-split-observable-side-effects2-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects2.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-flags.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-global.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-multiline.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-sticky.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-unicode.html: Added.
        * js/regress/string-prototype-split-observable-side-effects4-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects4.html: Added.

        * js/script-tests/Object-getOwnPropertyNames.js:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:

2016-04-19  Brady Eidson  <beidson@apple.com>

        Modern IDB: ObjectStore Blob Support.
        https://bugs.webkit.org/show_bug.cgi?id=143193

        Reviewed by Alex Christensen.

        Note: The blob-basics-metadata.html test has some failure lines in it because we don't support the 
        File constructor.
        
        Once support is added, that test will start failing with the correct results, at which point we
        can update expectations.

        * imported/blink/storage/indexeddb/blob-basics-metadata-expected.txt: Added.
        * imported/blink/storage/indexeddb/blob-basics-metadata.html: Added.
        * imported/blink/storage/indexeddb/blob-delete-objectstore-db-expected.txt: Added.
        * imported/blink/storage/indexeddb/blob-delete-objectstore-db.html: Added.
        * imported/blink/storage/indexeddb/blob-valid-after-deletion-expected.txt: Added.
        * imported/blink/storage/indexeddb/blob-valid-after-deletion.html: Added.
        * imported/blink/storage/indexeddb/blob-valid-before-commit-expected.txt: Added.
        * imported/blink/storage/indexeddb/blob-valid-before-commit.html: Added.
        * imported/blink/storage/indexeddb/empty-blob-file-expected.txt: Added.
        * imported/blink/storage/indexeddb/empty-blob-file.html: Added.
        * imported/blink/storage/indexeddb/resources/empty.txt: Added.
        * imported/blink/storage/indexeddb/resources/shared.js: Added.
        * imported/blink/storage/indexeddb/resources/test-data.html: Added.
        * imported/blink/storage/indexeddb/resources/test-data.txt: Added.

        * platform/wk2/TestExpectations:
        
        * storage/indexeddb/modern/blob-simple-expected.txt: Added.
        * storage/indexeddb/modern/blob-simple.html: Added.
        * storage/indexeddb/modern/resources/blob-simple.js: Added.
        
        * storage/indexeddb/noblobs-expected.txt: Removed.
        * storage/indexeddb/noblobs-private-expected.txt: Removed.
        * storage/indexeddb/noblobs-private.html: Removed.
        * storage/indexeddb/noblobs.html: Removed.
        * storage/indexeddb/resources/noblobs.js: Removed.

2016-04-19  Commit Queue  <commit-queue@webkit.org>

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

        WebKit tests crash on Windows 32 (Requested by msaboff on
        #webkit).

        Reverted changeset:

        "iTunes crashing JavaScriptCore.dll"
        https://bugs.webkit.org/show_bug.cgi?id=156647
        http://trac.webkit.org/changeset/199726

2016-04-19  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Use the margin box for non-auto minimum sizes
        https://bugs.webkit.org/show_bug.cgi?id=156711

        Reviewed by Darin Adler.

        * fast/css-grid-layout/min-height-border-box.html:
        * fast/css-grid-layout/min-width-margin-box-expected.txt: Added.
        * fast/css-grid-layout/min-width-margin-box.html: Added.

2016-04-19  Michael Saboff  <msaboff@apple.com>

        iTunes crashing JavaScriptCore.dll
        https://bugs.webkit.org/show_bug.cgi?id=156647

        Reviewed by Saam Barati.

        Disabled fast/workers/dedicated-worker-lifecycle.html as it creates
        more workers that we have ThreadSpecific keys.  We need at least one
        key per JSC VM we create.  I didn't want to weaken the test for other
        platforms.

        * platform/win/TestExpectations:

2016-04-19  Yusuke Suzuki  <utatane.tea@gmail.com>

        [INTL] Use @thisNumberValue instead of `instanceof @Number`
        https://bugs.webkit.org/show_bug.cgi?id=156680

        Reviewed by Saam Barati.

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

2016-04-19  Commit Queue  <commit-queue@webkit.org>

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

        It caused a serious regression on 32 bit platform (Requested
        by gskachkov on #webkit).

        Reverted changeset:

        "calling super() a second time in a constructor should throw"
        https://bugs.webkit.org/show_bug.cgi?id=151113
        http://trac.webkit.org/changeset/199712

2016-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update CSP tests.

        Rebaseline http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html after r197118 and
        remove specific expectations of http/tests/security/contentSecurityPolicy/source-list-parsing-10.html.

        * platform/gtk/http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics-expected.txt:
        * platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-10-expected.txt: Removed.

2016-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline fast/events/updateLayoutForHitTest.html after r195263.

        * platform/gtk/fast/events/updateLayoutForHitTest-expected.txt:

2016-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline fast/transforms/bounding-rect-zoom.html after r197450.

        * platform/gtk/fast/transforms/bounding-rect-zoom-expected.txt:

2016-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r199659.

        We are now using the theme colors for the menu lists text.

        * platform/gtk/fast/forms/basic-selects-expected.txt:
        * platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
        * platform/gtk/fast/forms/menulist-style-color-expected.txt:
        * platform/gtk/fast/forms/select-baseline-expected.txt:
        * platform/gtk/fast/forms/select-disabled-appearance-expected.txt:

2016-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r199034.

        * platform/gtk/fast/block/float/016-expected.txt:
        * platform/gtk/fast/css/bidi-override-in-anonymous-block-expected.txt:
        * platform/gtk/media/video-zoom-controls-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:

2016-04-19  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] accessibility/gtk/entry-and-password.html is failing since r194847
        https://bugs.webkit.org/show_bug.cgi?id=153062

        Reviewed by Carlos Garcia Campos.

        The auto-fill-crash.html test has expectations which include the children
        count for the text input. These expectations were incorrect for ATK where
        accessible text inputs lack accessible text children.

        * accessibility/auto-fill-crash.html: Modified to take platform into account.
        * platform/gtk/TestExpectations: Unskipped entry-and-password.html.
        * platform/gtk/accessibility/auto-fill-crash-expected.txt: Added.

2016-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r190840.

        * platform/gtk/fast/html/details-remove-summary-1-and-click-expected.txt:
        * platform/gtk/fast/html/details-remove-summary-4-and-click-expected.txt:

2016-04-09  Skachkov Oleksandr  <gskachkov@gmail.com>

        calling super() a second time in a constructor should throw
        https://bugs.webkit.org/show_bug.cgi?id=151113

        Reviewed by Saam Barati and Keith Miller.

        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-super.js:

2016-04-18  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Possible off-by-one in hyphenation code
        https://bugs.webkit.org/show_bug.cgi?id=156661

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Unskip a test that is now passing.
        * platform/gtk/fast/text/hyphenate-character-expected.png:
        * platform/gtk/fast/text/hyphenate-character-expected.txt:
        * platform/gtk/fast/text/hyphenate-first-word-expected.png:
        * platform/gtk/fast/text/hyphenate-first-word-expected.txt:
        * platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
        * platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
        * platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
        * platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
        * platform/gtk/fast/text/hyphenate-locale-expected.png:
        * platform/gtk/fast/text/hyphenate-locale-expected.txt:

2016-04-18  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test fix after r199696.

        * inspector/console/x-frame-options-message-expected.txt: Rebaseline.):

2016-04-18  Gavin Barraclough  <barraclough@apple.com>

        WebKit should adopt journal_mode=wal for all SQLite databases.
        https://bugs.webkit.org/show_bug.cgi?id=133496

        Reviewed by Brady Eidson.

        Enabling sqlite3 WAL mode on iOS causes a test failure, but appears just be something that should fail still failing, only in a different way.
        Enabling & marking test as failing for now. Tracking test failure here:
            https://bugs.webkit.org/show_bug.cgi?id=156718

        * platform/ios-simulator/TestExpectations:
            - storage/websql/alter-to-info-table.html [ Failure ]

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

        Crash in ElementDescendantIterator::operator--() when calling m_ancestorSiblingStack.last()
        https://bugs.webkit.org/show_bug.cgi?id=156715
        <rdar://problem/25750864>

        Reviewed by Antti Koivisto.

        Add regression test that reproduced the crash.

        * fast/dom/collection-backward-traversal-crash-expected.txt: Added.
        * fast/dom/collection-backward-traversal-crash.html: Added.

2016-04-18  Brent Fulgham  <bfulgham@apple.com>

        Remove support for X-Frame-Options in `<meta>`
        https://bugs.webkit.org/show_bug.cgi?id=156625
        <rdar://problem/25748714>

        Rubberstamped by Darin Adler.

        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
        * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored-expected.txt:

2016-04-18  Brent Fulgham  <bfulgham@apple.com>

        CSP: Remove stubs for dynamically-added favicons (via link rel="icon")
        https://bugs.webkit.org/show_bug.cgi?id=153151
        <rdar://problem/24383176>

        Reviewed by Darin Adler.

        Remove the unused dynamic favicon code and tests.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/icon-allowed-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/icon-allowed.html: Removed.
        * http/tests/security/contentSecurityPolicy/icon-blocked-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/icon-blocked.html: Removed.

2016-04-18  Eric Carlson  <eric.carlson@apple.com>

        Media element "user gesture for fullscreen" restriction is never lifted
        https://bugs.webkit.org/show_bug.cgi?id=156547
        <rdar://problem/25707814>

        Reviewed by Jer Noble.

        * media/video-fullscreen-restriction-removed-expected.txt: Added.
        * media/video-fullscreen-restriction-removed.html: Added.

2016-04-18  Frederic Wang  <fred.wang@free.fr>

        Mark script-height reftest as ImageOnlyFailure on iOS
        https://bugs.webkit.org/show_bug.cgi?id=153918

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-04-18  Frederic Wang  <fwang@igalia.com>

        Refactor RenderMathMLScripts layout to avoid using flexbox
        https://bugs.webkit.org/show_bug.cgi?id=153917

        Reviewed by Martin Robinson.

        We import tests from the MathML in HTML5 test suite to verify various OpenType MATH parameters.
        We also add a test for the italic correction of large operators (bug 130325).
        Finally, we adjust some tests and expectations to take into account the new rendering.

        * imported/mathml-in-html5/LICENSE: Added.
        * imported/mathml-in-html5/README.md: Added.
        * imported/mathml-in-html5/fonts/math/scripts-spaceafterscript3000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-spaceafterscript3000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-subscriptbaselinedropmin9000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscriptbaselinedropmin9000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-subscriptshiftdown6000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscriptshiftdown6000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-subscripttopmax4000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscripttopmax4000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subsuperscriptgapmin11000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-superscriptbaselinedropmax10000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptbaselinedropmax10000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-superscriptbottommin8000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptbottommin8000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-superscriptshiftup7000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptshiftup7000.woff.
        * imported/mathml-in-html5/fonts/math/scripts-superscriptshiftupcramped5000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptshiftupcramped5000.woff.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1-expected.txt: Renamed from LayoutTests/mathml/mathml-in-html5/subsup-parameters-1-expected.txt.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1.html: Renamed from LayoutTests/mathml/mathml-in-html5/subsup-parameters-1.html.
        * mathml/msubsup-fuzz-expected.txt: Test adjustment: Update the reference now that nothing
        is displayed for invalid markup.
        * accessibility/mac/mathml-multiscript-expected.txt: ditto.
        * mathml/opentype/large-operators-italic-correction.html: Added. This test verifies that the
        italic correction from the MATH table is used for positioning subscripts of large operators.
        * mathml/opentype/large-operators-italic-correction-expected.txt: Added.
        * mathml/presentation/bug95015.html: Test adjustment: move down a bit the covering red
        rectangle, since the script is slightly lower.
        * mathml/presentation/bug95015-expected.html: ditto
        * mathml/presentation/multiscripts-positions.html: Test adjustment: Modify the expected
        vertical positions of scripts now that we follow Gecko's behavior.
        * mathml/presentation/multiscripts-positions-expected.html: ditto.
        * mathml/presentation/multiscripts-noscripts-expected.html: There seem to be small errors in
        the ascent of mmultiscripts, probably due to the conversions between firstLineBaseline (int)
        and LayoutUnit (fractional pixel). For now, let's tweak the tests.
        * mathml/presentation/multiscripts-noscripts.html: ditto.
        * mathml/presentation/scripts-height-expected.html: ditto
        * mathml/presentation/scripts-height.html: ditto
        * mathml/presentation/scripts-horizontal-alignment.html: Modify the test to make it work
        with the new layout rules.
        * mathml/presentation/scripts-horizontal-alignment-expected.html: ditto.
        * platform/gtk/accessibility/math-multiscript-attributes-expected.txt: Test adjustment:
        Update reference to take into account a small shift.
        * platform/mac/accessibility/math-multiscript-attributes-expected.txt: ditto.
        * platform/gtk/mathml/presentation/roots-expected.png: Test adjustment: Update reference to
        take into account small rendering changes.
        * platform/gtk/mathml/presentation/roots-expected.txt: ditto.
        * platform/ios-simulator/mathml/presentation/roots-expected.txt: ditto.
        * platform/mac/TestExpectations: Mark some tests for scripts as failing on mac. MATH fonts
        are really needed to make them reliable.
        * platform/ios-simulator/TestExpectations: Ditto

2016-04-18  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Use grid-template-areas to determine the explicit grid
        https://bugs.webkit.org/show_bug.cgi?id=156575

        Reviewed by Darin Adler.

        Created new test to check the right behavior.

        * fast/css-grid-layout/explicit-grid-size-expected.txt: Added.
        * fast/css-grid-layout/explicit-grid-size.html: Added.
        * fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt:
        Small modification as now the columns defined by
        grid-tempalte-areas are in the explicit grid.
        * fast/css-grid-layout/grid-template-shorthand-get-set.html:
        Ditto.

2016-04-18  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix positioned items with content alignment
        https://bugs.webkit.org/show_bug.cgi?id=156597

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-positioned-items-content-alignment-expected.txt: Added.
        * fast/css-grid-layout/grid-positioned-items-content-alignment-rtl-expected.txt: Added.
        * fast/css-grid-layout/grid-positioned-items-content-alignment-rtl.html: Added.
        * fast/css-grid-layout/grid-positioned-items-content-alignment.html: Added.

2016-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>

        [Fetch] Use @isArray instead of `instanceof @Array`
        https://bugs.webkit.org/show_bug.cgi?id=156682

        Reviewed by Alex Christensen.

        * fetch/header-constructor-is-array-expected.txt: Added.
        * fetch/header-constructor-is-array.html: Added.

2016-04-17  Yoav Weiss  <yoav@yoav.ws>

        Initial Link preload support
        https://bugs.webkit.org/show_bug.cgi?id=156334

        Added tests that make sure that `<link rel=preload>` performs its basic
        tasks and preloads resources.

        Reviewed by Darin Adler.

        * http/tests/preload/download_resources-expected.txt: Added.
        * http/tests/preload/download_resources.html: Added.
        * http/tests/preload/dynamic_adding_preload-expected.txt: Added.
        * http/tests/preload/dynamic_adding_preload.html: Added.
        * http/tests/preload/dynamic_remove_preload_href-expected.txt: Added.
        * http/tests/preload/dynamic_remove_preload_href.html: Added.
        * http/tests/preload/dynamic_removing_preload-expected.txt: Added.
        * http/tests/preload/dynamic_removing_preload.html: Added.
        * imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Adjusted expected results to progressions.
        * imported/w3c/web-platform-tests/html/dom/reflection-metadata-expected.txt: Adjusted expected results to progressions.
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Adjusted expected results to progressions.

2016-04-17  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Streams] Consume HTTP data as a ReadableStream
        https://bugs.webkit.org/show_bug.cgi?id=138968

        Reviewed by Alex Christensen.

        * fast/xmlhttprequest/xmlhttprequest-responsetype-stream-expected.txt: Added.
        * fast/xmlhttprequest/xmlhttprequest-responsetype-stream.html: Added.
        * http/tests/xmlhttprequest/streams/streams-read-api-cancelled-expected.txt: Added.
        * http/tests/xmlhttprequest/streams/streams-read-api-cancelled.html: Added.
        * http/tests/xmlhttprequest/streams/streams-read-api-closed-expected.txt: Added.
        * http/tests/xmlhttprequest/streams/streams-read-api-closed.html: Added.
        * http/tests/xmlhttprequest/streams/streams-read-api-expected.txt: Added.
        * http/tests/xmlhttprequest/streams/streams-read-api.html: Added.
        * http/tests/xmlhttprequest/streams/streams-read-expected.txt: Added.
        * http/tests/xmlhttprequest/streams/streams-read.html: Added.

2016-04-16  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Adopt Number.prototype.toLocaleString For All Sizes and Times
        https://bugs.webkit.org/show_bug.cgi?id=152033
        <rdar://problem/23815589>

        Reviewed by Timothy Hatcher.

        Add test coverage for string formatters, and additional test cases for
        Number.percentageString and Number.secondsToString.

        * inspector/unit-tests/number-utilities-expected.txt:
        * inspector/unit-tests/number-utilities.html:
        * inspector/unit-tests/string-utilities-expected.txt: Added.
        * inspector/unit-tests/string-utilities.html: Added.

2016-04-15  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] Test promise gets rejected when unknown format used
        https://bugs.webkit.org/show_bug.cgi?id=156643

        Reviewed by Simon Fraser.

        When all the sources have an unknown format, the promise should be rejected.

        * fast/text/font-face-javascript-expected.txt:
        * fast/text/font-face-javascript.html:

2016-04-15  Daniel Bates  <dabates@apple.com>

        CSP: Ignore paths in CSP matching after redirects
        https://bugs.webkit.org/show_bug.cgi?id=153154
        <rdar://problem/24383215>

        Reviewed by Brent Fulgham.

        Add tests to ensure that we ignore the path component of a source expression when matching
        a sub-resource URL that is the result of a redirect.

        * TestExpectations: Unskip test http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths.html as it now passes.
        * http/tests/security/contentSecurityPolicy/audio-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-blocked2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-blocked2.html: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-blocked3-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-redirect-blocked3.html: Added.
        * http/tests/security/contentSecurityPolicy/font-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/font-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src.html: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src2.html: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src.html: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src2.html: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-child-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-child-src.html: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-frame-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-frame-src.html: Added.
        * http/tests/security/contentSecurityPolicy/image-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/image-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-blocked2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-blocked2.html: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-blocked3-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-redirect-blocked3.html: Added.
        * http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths-expected.txt: Update expected result now that we pass this test.
        * http/tests/security/contentSecurityPolicy/resources/alert-pass.html:
        * http/tests/security/contentSecurityPolicy/resources/redirect.pl: For resourceType == "image", load image http://127.0.0.1:8000/security/resources/abe.png
        instead of http://127.0.0.1:8000/resources/square20.jpg as the latter does not exist.
        * http/tests/security/contentSecurityPolicy/resources/xsl-redirect-allowed.php:
        * http/tests/security/contentSecurityPolicy/script-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/script-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/stylesheet-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/stylesheet-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/svg-font-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/svg-font-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/svg-image-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/svg-image-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/track-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/track-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/video-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/video-redirect-allowed2.html: Added.
        * http/tests/security/contentSecurityPolicy/xsl-redirect-allowed.html:
        * http/tests/security/contentSecurityPolicy/xsl-redirect-allowed2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/xsl-redirect-allowed2.html: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/xsl-redirect-allowed.html.
        * platform/ios-simulator/TestExpectations: Skip tests {embed, object}-redirect-blocked{2, 3}.html as they make
        use of a plug-in and plug-ins are not supported on iOS.
        * platform/wk2/TestExpectations: Skip tests {embed, object}-redirect-blocked3.html on WebKit2 as they fail
        because of <https://bugs.webkit.org/show_bug.cgi?id=156612>.

2016-04-15  Myles C. Maxfield  <mmaxfield@apple.com>

        [CSS Font Loading] FontFace's promise may never be resolved/rejected if Content Security Policy blocks all the URLs
        https://bugs.webkit.org/show_bug.cgi?id=156605

        Reviewed by Daniel Bates.

        * fast/text/font-loading-csp-block-all-expected.txt: Added.
        * fast/text/font-loading-csp-block-all.html: Added.

2016-04-15  Myles C. Maxfield  <mmaxfield@apple.com>

        ASSERT when loading github.com
        https://bugs.webkit.org/show_bug.cgi?id=156604
        <rdar://problem/19890634>

        Reviewed by Darin Adler.

        * fast/forms/checkValidity-cloneNode-crash-expected.txt: Added.
        * fast/forms/checkValidity-cloneNode-crash.html: Added.

2016-04-15  Brent Fulgham  <bfulgham@apple.com>

        Remove support for X-Frame-Options in `<meta>`
        https://bugs.webkit.org/show_bug.cgi?id=156625
        <rdar://problem/25748714>

        Reviewed by Darin Adler.

        Revise tests to match our desired behavior based on RFC 7034 (Section 4).

        * http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-in-body.html:
        * http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-parent-same-origin-deny.html:
        * http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe.html:
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Removed.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Removed.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html: Removed.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Removed.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html: Removed.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Removed.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html: Removed.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html: Removed.
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html.
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html.
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html.
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html.
        * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-expected.txt: Removed.
        * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored-expected.txt: Added.
        * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: Copied from LayoutTests/http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options.html.
        * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options.html: Removed.
        * inspector/console/x-frame-options-message-expected.txt: Rebaselined.
        * platform/win/TestExpectations:

2016-04-15  Jiewen Tan  <jiewen_tan@apple.com>

        Mark inspector/formatting/formatting-javascript.html as flaky on mac
        https://bugs.webkit.org/show_bug.cgi?id=156634

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-04-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: sourceMappingURL not used when sourceURL is set
        https://bugs.webkit.org/show_bug.cgi?id=156021
        <rdar://problem/25438417>

        Reviewed by Timothy Hatcher.

        * inspector/debugger/scriptParsed.html:
        * inspector/debugger/search-scripts.html:
        * inspector/debugger/setBreakpointByUrl-sourceURL.html:
        * inspector/debugger/sourceURLs.html:
        Update tests that need to handle sourceURL separately.
        
        * inspector/model/resources/relationship-named.js: Added.
        * inspector/model/resources/relationship-normal.js: Added.
        * inspector/model/script-resource-relationship-expected.txt: Added.
        * inspector/model/script-resource-relationship.html: Added.
        Tests for Script and Resource relationships.

2016-04-15  Jiewen Tan  <jiewen_tan@apple.com>

        Mark fast/text/font-face-javascript.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=156631

        Unreviewed test gardening.

        * TestExpectations:

2016-04-15  Jiewen Tan  <jiewen_tan@apple.com>

        Mark imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html as flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=156629

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-04-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Cleanup inspector/debugger tests
        https://bugs.webkit.org/show_bug.cgi?id=156619

        Reviewed by Brian Burg.

        * inspector/debugger/breakpoint-action-detach.html:
        * inspector/debugger/breakpoint-action-with-exception.html:
        * inspector/debugger/breakpoint-condition-detach.html:
        * inspector/debugger/breakpoint-condition-with-bad-script.html:
        * inspector/debugger/breakpoint-condition-with-exception.html:
        * inspector/debugger/breakpoint-eval-with-exception.html:
        * inspector/debugger/breakpoint-inside-conditons-and-actions.html:
        * inspector/debugger/call-frame-function-name.html:
        * inspector/debugger/call-frame-this-host.html:
        * inspector/debugger/call-frame-this-nonstrict.html:
        * inspector/debugger/call-frame-this-strict.html:
        * inspector/debugger/debugger-statement.html:
        * inspector/debugger/didSampleProbe-multiple-probes.html:
        * inspector/debugger/hit-breakpoint-from-console.html:
        * inspector/debugger/nested-inspectors.html:
        * inspector/debugger/pause-on-assert.html:
        * inspector/debugger/regress-133182.html:
        * inspector/debugger/removeBreakpoint.html:
        * inspector/debugger/setBreakpoint-actions.html:
        * inspector/debugger/setBreakpoint-autoContinue.html:
        * inspector/debugger/setBreakpoint-column.html:
        * inspector/debugger/setBreakpoint-condition.html:
        * inspector/debugger/setBreakpoint-dfg-and-modify-local.html:
        * inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html:
        * inspector/debugger/setBreakpoint-dfg.html:
        * inspector/debugger/setBreakpoint-options-exception.html:
        * inspector/debugger/setBreakpoint.html:
        * inspector/debugger/setBreakpointByUrl-sourceURL.html:
        * inspector/debugger/setPauseOnExceptions-all.html:
        * inspector/debugger/setPauseOnExceptions-none.html:
        * inspector/debugger/setPauseOnExceptions-uncaught.html:
        Activate breakpoints in protocol tests that may set breakpoints and pause.
        Inspector tests automatically enable breakpoints.

        * inspector/debugger/setVariableValue-expected.txt: Removed.
        * inspector/debugger/setVariableValue.html: Removed.
        * platform/gtk/TestExpectations:
        Remove references to bad test. The protocol command no longer exists.

2016-04-15  John Wilander  <wilander@apple.com>

        Refactor WebSockets handshake to use StringView instead of String for header validation.
        https://bugs.webkit.org/show_bug.cgi?id=155602

        Reviewed by Darin Adler.

        * http/tests/websocket/tests/hybi/bad-handshake-crash-expected.txt:
            Fixed so that new error output is expected.
        * http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1-expected.txt:
        * http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1.html:
        * http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1_wsh.py:
            Now tests HTTP versions that are higher than 1.1, are lower than 1.1, have bad characters, and are empty.
        * http/tests/websocket/tests/hybi/long-invalid-header-expected.txt:
            Fixed so that slightly refined error output is expected.

2016-04-15  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Presentational role on SVG elements is trumped by child 'title' and 'desc' elements
        https://bugs.webkit.org/show_bug.cgi?id=156519

        Reviewed by Chris Fleizach.

        Update w3c-svg-presentational-role.html expectations because there are test cases in which
        elements are now being included in the accessibility tree as a result of this change. Also
        add new test cases which lack child 'title' and 'desc' elements.

        * accessibility/w3c-svg-content-language-attribute.html: Added.
        * accessibility/w3c-svg-presentational-role.html: New test cases added.
        * platform/gtk/accessibility/w3c-svg-content-language-attribute-expected.txt: Added.
        * platform/gtk/accessibility/w3c-svg-presentational-role-expected.txt: Updated.
        * platform/mac/accessibility/w3c-svg-content-language-attribute-expected.txt: Added.
        * platform/mac/accessibility/w3c-svg-presentational-role-expected.txt: Updated.

2016-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        Selection.deleteFromDocument should not leave a selection character
        https://bugs.webkit.org/show_bug.cgi?id=151442

        Reviewed by Michael Catanzaro.

        * editing/selection/deleteFromDocument-expected.txt:
        * editing/selection/deleteFromDocument.html:
        * imported/blink/editing/selection/deleteFromDocument-undo-crash-expected.txt: Added.
        * imported/blink/editing/selection/deleteFromDocument-undo-crash.html: Added.
        * TestExpectations: Skip imported/blink/editing/selection/deleteFromDocument-undo-crash.html in Debug.
        * platform/gtk/TestExpectations: Unskip imported/blink/editing/selection/deleteFromDocument-crash.html.
        * platform/win/TestExpectations: Ditto.

2016-04-15  Brady Eidson  <beidson@apple.com>

        Add the message property to DOMError.
        https://bugs.webkit.org/show_bug.cgi?id=139173

        Reviewed by Alex Christensen.

        * storage/indexeddb/createIndex-after-failure-expected.txt:
        * storage/indexeddb/createIndex-after-failure-private-expected.txt:
        * storage/indexeddb/intversion-upgrades-expected.txt:
        * storage/indexeddb/intversion-upgrades-private-expected.txt:

2016-04-15  Jiewen Tan  <jiewen_tan@apple.com>

        Mark perf/array-binary-search.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=153049

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-04-14  Jiewen Tan  <jiewen_tan@apple.com>

        Mark fast/animation/request-animation-frame-iframe2.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=156620

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-04-14  Jiewen Tan  <jiewen_tan@apple.com>

        Mark fast/animation/request-animation-frame-during-modal.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=82762

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-04-14  Jiewen Tan  <jiewen_tan@apple.com>

        Mark inspector/console/addInspectedNode.html as flaky on mac-wk2 for ElCapitan
        https://bugs.webkit.org/show_bug.cgi?id=155138

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-04-14  Jiewen Tan  <jiewen_tan@apple.com>

        Mark http/tests/cache/disk-cache/disk-cache-vary-no-body.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=149087

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-04-14  Jiewen Tan  <jiewen_tan@apple.com>

        Mark http/tests/cache/disk-cache/disk-cache-vary.html as flaky for ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=149087

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-04-14  Daniel Bates  <dabates@apple.com>

        Cleanup: Run all Content Security Policy 1.1 tests by default

        It is now feasible to run all tests in directory LayoutTests/http/tests/security/contentSecurityPolicy/1.1
        by default following r199172, r199525 and r199538. There is still work to be done to make all CSP 1.1 tests
        pass. The number of 1.1 tests that either fail or timeout now represent a minority of all 1.1 tests.

        * TestExpectations: Remove all CSP tests marked PASS, remove the entry to skip all tests in directory
        LayoutTests/http/tests/security/contentSecurityPolicy/1.1, and sort the list of failing tests by
        bug number, filename.

2016-04-14  Mark Lam  <mark.lam@apple.com>

        Add svn:eol-style=LF to LayoutTests/ietestcenter/Javascript/TestCases/ files.
        https://bugs.webkit.org/show_bug.cgi?id=156588

        Rubber-stamped by Geoffrey Garen.

        These files are currently using CRs in their eols.  As a result, the EWS bots
        will always fail to apply a patch if the patch touches one these files.  Adding
        svn:eol-style=LF to them should resolve the issue.

        Specifically, I ran the following command:
        $ svn propset svn:eol-style LF LayoutTests/ietestcenter/Javascript/TestCases/*

        Note: this patch will touch 1306 files (not including this ChangeLog).

        * ietestcenter/Javascript/TestCases/10.4.2-1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.4.2-1-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.4.2-1-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.4.2-1-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.4.2-1-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.4.2-2-c-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.return.inner):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.6-10-c-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.6-10-c-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.6-12-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.6-12-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/10.6-13-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.6-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/10.6-6-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/10.6-6-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/10.6-6-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/10.6-6-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.1.4-0.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.1.5-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.1.5-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-a-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-a-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-b-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-c-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-c-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-d-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-d-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-d-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_4-4-d-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_5-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_6-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_6-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_7-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.1.5_7-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.13.1-1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.13.1-1-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.13.1-1-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.13.1-1-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.13.1-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.4.1-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-2-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-2-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-2-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-3-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.getter):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-4.a-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/11.4.1-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-0-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f.innerf):
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-0-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f.innerf):
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-0-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f.innerf):
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-0-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.with.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-0-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-0-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-0-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f.innerf):
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.10-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f.innerf):
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f.innerf):
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f.innerf):
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.capturedFoo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.o.foo):
        (ES5Harness.registerTest.test.testcase.catch.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.o.foo):
        (ES5Harness.registerTest.test.testcase.catch.foo):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.14-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.f.innerf):
        (ES5Harness.registerTest.test.testcase.f):
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.2.1-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/12.2.1-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.12-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12-0-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12-0-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-0-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g1-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g1-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g1-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g2-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g2-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g6-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g6-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g6-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g6-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g6-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g6-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.1.1-g6-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.2-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.2-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.2-0-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-0-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precodition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-11-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-5-a-i-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-5-b-i-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-6-a-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-6-a-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-6-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-6-b-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-6-b-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-6-b-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-7-a-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-8-a-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-8-a-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-8-a-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-8-a-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3-8-a-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_2-2-b-i-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toJSON):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_2-2-b-i-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toJSON):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_2-2-b-i-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toJSON):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_2-3-a-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_2-3-a-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_2-3-a-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_4-1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_4-1-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.12.3_4-1-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.10-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.10-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.10-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.10-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.11-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-22.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-23.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-26.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-27.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.11-4-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.12-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-22.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-23.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-26.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-27.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.12-3-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.13-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-0-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.13-2-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.14-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-1-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-1-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-1-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-1-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.Array):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-2-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-2-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-2-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-3-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-3-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.testArgs2):
        (ES5Harness.registerTest.test.testcase.testArgs3):
        (ES5Harness.registerTest.test.testcase.testArgs4):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.14-3-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.2-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-0-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.base):
        (ES5Harness.registerTest.test.testcase.derived):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.2-2-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.3-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-100.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-101.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-102.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-103.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-104.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-105.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-106.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-107.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-108.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-109.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-110.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-111.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-112.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-113.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-114.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-115.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-116.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-117.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-118.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-119.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-120.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-121.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-122.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-123.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-124.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-125.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-126.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-127.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-128.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-129.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-130.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-131.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-132.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-133.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-134.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-135.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-136.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-137.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-138.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-139.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-140.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-141.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-142.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-143.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-144.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-145.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-146.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-147.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-148.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-149.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-150.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-151.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-152.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-153.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-154.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-155.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-156.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-157.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-158.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-159.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-160.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-161.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-162.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-163.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-164.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-165.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-166.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-167.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-168.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-169.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-170.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-171.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-172.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-173.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-174.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-175.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-176.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-177.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-178.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-179.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-180.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-182.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-185.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-186.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-187.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-188.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-189.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-190.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-191.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-192.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-193.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-194.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-195.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-196.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-197.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-198.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-199.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-200.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-201.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-202.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-203.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-204.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-205.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-206.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-207.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-208.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-209.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-210.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-211.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-212.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-213.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-214.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-215.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-216.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-217.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-218.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-219.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-22.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-220.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-221.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-222.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-23.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-26.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-27.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-28.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-29.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.getter):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-30.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-31.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-32.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-33.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-34.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-35.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-36.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-37.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-38.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-39.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-40.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-41.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-42.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-43.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-44.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-45.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-46.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-47.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-48.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-49.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-50.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-51.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-52.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-53.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-54.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-55.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-56.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-57.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-58.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-59.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-60.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-61.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-62.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-63.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-64.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-65.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-66.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-67.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-68.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-69.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-70.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-71.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-72.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-73.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-74.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-75.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-76.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-77.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-78.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-79.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-80.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-81.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-82.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-84.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-85.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-86.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-88.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-89.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-90.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-91.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-92.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-93.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-94.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-96.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-97.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-98.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.3-4-99.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.4-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.4-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.4-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.4-4-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.5-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.5-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.5-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.base):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.5-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.base):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.5-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.base):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.6-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.getter):
        (ES5Harness.registerTest.test.testcase.desc.get getter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.set setter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.set setter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.set setter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.set setter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.set setter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.getter):
        (ES5Harness.registerTest.test.testcase.desc.get getter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.setter):
        (ES5Harness.registerTest.test.testcase.desc.set setter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.setter):
        (ES5Harness.registerTest.test.testcase.desc.set setter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.get getter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.get getter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.get getter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.get getter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-3-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.desc.get getter):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.sameDataDescriptorValues):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.6-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.sameAccessorDescriptorValues):
        (ES5Harness.registerTest.test.testcase.desc):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.7-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.7-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.8-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.8-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.8-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.9-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.2.3.9-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.2.3.9-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.2.1-11-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.3.2.1-11-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.3.2.1-11-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.3.3.2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.3.4.5-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-13.b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-13.b-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-13.b-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-13.b-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-13.b-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-15-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-15-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-16-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-2-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-8-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-8-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-9-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.3.4.5-9-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.3.2-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.3.2-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.3.2-0-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.3.2-0-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.3.2-0-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.3.2-0-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.3.2-0-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.14-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-1-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-10-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-10-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.Con):
        (ES5Harness.registerTest.test.testcase.get var):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.Con):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.try.):
        (ES5Harness.registerTest.test.testcase.try.get var):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.set var.Con):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.func):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.Con):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.try.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get Object):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-2-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.length.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.length.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.length.toString):
        (ES5Harness.registerTest.test.testcase.obj.length.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-22.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.length.toString):
        (ES5Harness.registerTest.test.testcase.obj.length.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-23.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.proto.valueOf):
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test.testcase.child.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-28.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-29.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-3-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.i.Array.prototype.indexOf.call.):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.i.Array.prototype.indexOf.call.):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-4-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-22.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-23.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.toString):
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.toString):
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.proto.valueOf):
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test.testcase.child.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-28.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-29.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.fromIndex.valueOf):
        (ES5Harness.registerTest.test.testcase.get var):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-30.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.fromIndex.valueOf):
        (ES5Harness.registerTest.test.testcase.get var):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-31.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-32.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-33.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-5-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-6-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-7-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-7-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-7-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-7-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-7-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-8-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-8-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-8-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-8-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-8-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-8-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-8-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj1.toString):
        (ES5Harness.registerTest.test.testcase.obj2.toString):
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-a-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-a-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get Object):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-a-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get Object):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-a-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.targetObj):
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-a-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.targetObj):
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-a-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-a-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-a-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get try):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.func):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-26.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.func):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-27.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.func):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.try.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.try.):
        (ES5Harness.registerTest.test.testcase.try.get return):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-iii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.14-9-b-iii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get Object):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.15-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-1-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.Con):
        (ES5Harness.registerTest.test.testcase.get var):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.Con):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.try.):
        (ES5Harness.registerTest.test.testcase.try.get var):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.set var.Con):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.targetObj):
        (ES5Harness.registerTest.test.testcase.arguments.2):
        (ES5Harness.registerTest.test.testcase.func):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.Con):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.try.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-2-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.length.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.length.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.length.toString):
        (ES5Harness.registerTest.test.testcase.obj.length.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-22.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.length.toString):
        (ES5Harness.registerTest.test.testcase.obj.length.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-23.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.proto.valueOf):
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test.testcase.child.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-26.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-27.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-28.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-29.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-3-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.i.Array.prototype.lastIndexOf.call.):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.i.Array.prototype.lastIndexOf.call.):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-4-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-15.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-17.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-22.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test.testcase.targetObj):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-23.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.toString):
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.toString):
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.proto.valueOf):
        (ES5Harness.registerTest.test.testcase.Con):
        (ES5Harness.registerTest.test.testcase.child.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-28.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-29.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.fromIndex.valueOf):
        (ES5Harness.registerTest.test.testcase.get var):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-30.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var.fromIndex.valueOf):
        (ES5Harness.registerTest.test.testcase.get var):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-31.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-32.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-33.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-5-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-6-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-6-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-6-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-6-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-6-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-6-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-7-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-7-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-7-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj1.toString):
        (ES5Harness.registerTest.test.testcase.obj2.toString):
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.obj.toString):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-a-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-a-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get Object):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-a-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get Object):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-a-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.targetObj):
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-a-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.targetObj):
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-a-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-a-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-a-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-2.js: Added property svn:eol-style.
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-25.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.func):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-26.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.func):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-27.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.func):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-4.js: Added property svn:eol-style.
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.try.):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-6.js: Added property svn:eol-style.
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-iii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-8-b-iii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get Object):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-9-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.15-9-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.):
        (ES5Harness.registerTest.test.testcase.get var):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.16-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-c-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-c-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-7-c-ii-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.valueOf):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.16-8-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.17-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-4-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-c-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-c-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-7-c-ii-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.valueOf):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.17-8-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.18-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-7-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-7-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-7-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-7-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-7-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-7-c-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-7-c-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.bCalled.false.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.valueOf):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.18-8-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.19-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-5-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-5-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-c-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-c-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.bCalled.false.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-8-c-iii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-9-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-9-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-9-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.19-9-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.20-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-10-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-10-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-10-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-10-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-6-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-6-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-6-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-6-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-6-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-6-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.valueOf):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-6-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-6-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-c-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-c-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.bCalled.false.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.20-9-c-iii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.21-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-10-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-10-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-10-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-10-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-10-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-10-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-10-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-10-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.valueOf):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-5-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-5-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.valueOf):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-7-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-8-c-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-8-c-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-8-c-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-c-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-c-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-c-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-c-ii-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.21-9-c-ii-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.4.22-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-10-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-10-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-10-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-10-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-10-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-10-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-10-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-10-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-4-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-5-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-5-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-5-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-5-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.valueOf):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-5-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-5-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.valueOf):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.o.toString):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-7-9.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.foo):
        (ES5Harness.registerTest.test.testcase.cb):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-8-c-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-8-c-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-8-c-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-b-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-c-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-c-ii-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-c-ii-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-c-ii-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.4.22-9-c-ii-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test.testcase.callbackfn):
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.4.5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.5.1-3.d-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.5.1-3.d-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.5.1-3.d-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.5.1-5-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.4.5.1-5-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.4.20-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.4.20-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-1-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-1-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-1-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-1-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-1-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-1-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-10.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-11.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-12.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-13.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-14.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-16.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-18.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-19.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-20.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-21.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-22.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-24.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-27.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-28.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-29.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-30.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-32.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-34.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-35.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-36.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-37.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-38.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-39.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-40.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-41.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-42.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-43.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-44.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-45.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-46.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-47.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-48.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-49.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-50.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-51.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-52.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-53.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-54.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-55.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-56.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-57.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-58.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-59.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-60.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.4.20-4-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-1-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-3-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-3-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-3-5.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-3-6.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-3-7.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-3-8.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-7-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-7-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-7-3.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.5.5.5.2-7-4.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.7.3-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.7.3-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.7.3.1-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.7.3.1-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.7.4-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.9.4.4-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.9.4.4-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.9.5.43-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.9.5.43-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):
        * ietestcenter/Javascript/TestCases/15.9.5.44-0-1.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.9.5.44-0-2.js: Added property svn:eol-style.
        (ES5Harness.registerTest.test):
        (ES5Harness.registerTest.precondition):

2016-04-14  Dean Jackson  <dino@apple.com>

        CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::CachedResource::addClientToSet + 27
        https://bugs.webkit.org/show_bug.cgi?id=156602
        <rdar://problem/18921091>

        Reviewed by Simon Fraser.

        Tests that an animation between two inherited crossfade elements will not crash.

        * transitions/crossfade-transition-expected.txt: Added.
        * transitions/crossfade-transition.html: Added.

2016-04-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add a JavaScript Formatting test for template strings
        https://bugs.webkit.org/show_bug.cgi?id=156600

        Reviewed by Brian Burg.

        * inspector/formatting/formatting-javascript-expected.txt:
        * inspector/formatting/formatting-javascript.html:
        * inspector/formatting/resources/javascript-tests/template-strings-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/template-strings.js: Added.

2016-04-14  Antonio Gomes  <tonikitoo@webkit.org>

        Allow listbox content and scrollbar to intrude padding area.
        https://bugs.webkit.org/show_bug.cgi?id=128489

        Reviewed by Myles C. Maxfield.

        * fast/forms/listbox-selection-3-expected.txt: Added.
        * fast/forms/listbox-selection-3.html: Added.
        * fast/forms/listbox-padding-clip-selected.html: Added.
        * fast/forms/listbox-padding-clip-selected-expected.html: Added.
        * fast/forms/listbox-padding-clip-expected-mismatch.html: Renamed from listbox-padding-clip-overlay-expected.html.
        * fast/forms/listbox-padding-clip-overlay-expected-mismatch.html: Renamed from listbox-padding-clip-expected.html.

2016-04-14  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Implement CSSGridTemplateAreasValue::equals
        https://bugs.webkit.org/show_bug.cgi?id=156578

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-template-areas-infinite-loop-expected.txt: Added.
        * fast/css-grid-layout/grid-template-areas-infinite-loop.html: Added.

2016-04-14  Mark Lam  <mark.lam@apple.com>

        Update treatment of invoking RegExp.prototype methods on RegExp.prototype.
        https://bugs.webkit.org/show_bug.cgi?id=155922

        Reviewed by Keith Miller.

        * fast/regex/script-tests/toString.js:
        * fast/regex/toString-expected.txt:
        * ietestcenter/Javascript/15.10.7.1-1-expected.txt:
        * ietestcenter/Javascript/TestCases/15.10.7.1-1.js:
        (ES5Harness.registerTest.test):
        * js/kde/RegExp-expected.txt:
        * js/kde/script-tests/RegExp.js:
        * js/pic/cached-named-property-getter.html:
        * js/regexp-flags-expected.txt:
        * js/script-tests/regexp-flags.js:
        - updated test behaviors in some cases, and rebased results as needed.

        * js/regress/regexp-prototype-is-not-instance-expected.txt: Added.
        * js/regress/regexp-prototype-is-not-instance.html: Added.
        * js/regress/script-tests/regexp-prototype-is-not-instance.js: Added.
        - Tests new RegExp.prototype method behaviors.


2016-04-14  Frederic Wang  <fwang@igalia.com>

        Ensure that RenderMathMLOperator::stretchTo functions are called with stretchy operators that have the correct direction
        https://bugs.webkit.org/show_bug.cgi?id=156542

        Reviewed by Darin Adler.

        Add a test to ensure that nonstretchy or horizontal operators in a
        RenderMathMLRow do not stretch. This is similar to the existing test
        for munderover and we improve a bit that one too.
        Besides the verification of the rendering, these two tests will also
        check that the RenderMathMLOperator::stretchTo calls are not done in a
        way that violates the ASSERT at the top of stretchTo.

        * mathml/presentation/row-nonstretchy-or-horizontal.html: Added.
        * mathml/presentation/row-nonstretchy-or-horizontal-expected.html: Added.
        * mathml/presentation/underover-nonstretchy-horizontal.html: Removed.
        * mathml/presentation/underover-nonstretchy-horizontal-expected.html: Removed.
        * mathml/presentation/underover-nonstretchy-or-vertical.html: Renamed from LayoutTests/mathml/presentation/underover-nonstretchy-horizontal.html.
        We now also test the case of vertical operators in munderover.
        * mathml/presentation/underover-nonstretchy-or-vertical-expected.html: Renamed from LayoutTests/mathml/presentation/underover-nonstretchy-horizontal-expected.html.

2016-04-14  Darin Adler  <darin@apple.com>

        Remove UsePointersEvenForNonNullableObjectArguments from Internals
        https://bugs.webkit.org/show_bug.cgi?id=156539

        Reviewed by Alex Christensen.

        * fast/forms/color/input-color-onchange-event-expected.txt: Updated.
        * fast/forms/color/input-color-onchange-event.html: Removed unneeded test of how the
        internals object handles incorrect values passed to the test function. This wasn't testing
        actual WebKit code at all, it was just a test of the internals object implementation.

2016-04-14  Daniel Bates  <dabates@apple.com>

        CSP: Ignore report-only policy delivered via meta element
        https://bugs.webkit.org/show_bug.cgi?id=156565
        <rdar://problem/25718167>

        Reviewed by Brent Fulgham.

        Add new test LayoutTests/http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored2.html
        to ensure that we ignore X-WebKit-CSP-Report-Only when delivered via a meta element.

        Rename test report-multiple-violations-0{1, 2}.html and eval-allowed-in-report-only-mode-and-sends-report.html
        to report-multiple-violations-0{1, 2}.php and eval-allowed-in-report-only-mode-and-sends-report.php, respectively,
        so that we can make use of PHP to deliver the report-only policy via an HTTP header instead of via a meta element
        as the latter is no longer supported. Additionally, fix up code style in some tests to make them more
        consistent with the code style we use for tests.

        * TestExpectations: Update some entries due to renaming and mark tests reportonly-in-meta-ignored.html
        and reportonly-in-meta-ignored2.html as PASS so that we run them.
        * http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored.html:
        * http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored2.html: Added.
        * http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report.html.
        * http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-expected.txt:
        * http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode.html.
        * http/tests/security/contentSecurityPolicy/report-multiple-violations-01.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-multiple-violations-01.html.
        * http/tests/security/contentSecurityPolicy/report-multiple-violations-02.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-multiple-violations-02.html.
        * http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html: Removed.
        * http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.php: Added.

2016-04-14  Antoine Quint  <graouts@apple.com>

        WebGL based canvases composite incorrectly after changing size
        https://bugs.webkit.org/show_bug.cgi?id=152556
        <rdar://problem/24012678>

        Reviewed by Dean Jackson.

        Adding a new test that sets the size of the backing store to a different
        size than the layout size after the layout size of the <canvas> element
        has been applied to ensure that the implementation correctly retains the
        layout size as the canvas backing store is resized.

        * webgl/webgl-backing-store-size-update-expected.html: Added.
        * webgl/webgl-backing-store-size-update.html: Added.

2016-04-13  Joseph Pecoraro  <pecoraro@apple.com>

        JSContext Inspector: Improve Class instances and JSC API Exported Values view in Console / ObjectTree
        https://bugs.webkit.org/show_bug.cgi?id=156566
        <rdar://problem/16392365>

        Reviewed by Timothy Hatcher.

        * inspector/console/console-table-expected.txt:
        * inspector/model/remote-object.html:
        * platform/mac/inspector/model/remote-object-expected.txt:
        More values are treated as not-lossless and therefore expandable.

2016-04-13  Daniel Bates  <dabates@apple.com>

        CSP: Nested browsing context created for <object> or <embed> should respect object-src directive
        https://bugs.webkit.org/show_bug.cgi?id=156563
        <rdar://problem/25715713>

        Reviewed by Darin Adler.

        Add tests to ensure that nested browsing context created for <object> and <embed> respect
        the object-src directive.

        * http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-child-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-child-src.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-frame-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-frame-src.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-child-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-child-src.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-frame-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-frame-src.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-child-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-child-src.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-frame-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-frame-src.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-child-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-child-src.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-frame-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-frame-src.html: Added.

2016-04-13  Daniel Bates  <dabates@apple.com>

        CSP: Remove duplicate test meta-outside-head.html
        https://bugs.webkit.org/show_bug.cgi?id=156556

        Reviewed by Brent Fulgham.

        It is unnecessary to keep the test http/tests/security/contentSecurityPolicy/1.1/meta-outside-head.html as
        the functionality it exercises is covered by test http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head.html.
        The output of the latter test better conveys the purpose of the test and how to interpret its result than
        the former.

        * http/tests/security/contentSecurityPolicy/1.1/meta-outside-head-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/meta-outside-head.html: Removed.

2016-04-13  Daniel Bates  <dabates@apple.com>

        CSP: Remove experimental directive reflected-xss
        https://bugs.webkit.org/show_bug.cgi?id=156554

        Reviewed by Brent Fulgham.

        Remove tests for directive reflected-xss and update the expected results of existing XSS Auditor tests
        to reflect the change made to the wording of the error message emitted when an XSS attack is blocked.

        * fast/frames/xss-auditor-handles-file-urls-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-allow-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-allow.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-unset-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-unset.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-allow-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-allow.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-parsing-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-parsing.html: Removed.
        * http/tests/security/contentSecurityPolicy/resources/reflected-xss-and-xss-protection.js: Removed.
        * http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
        * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
        * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
        * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
        * http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
        * http/tests/security/xssAuditor/base-href-control-char-expected.txt:
        * http/tests/security/xssAuditor/base-href-expected.txt:
        * http/tests/security/xssAuditor/base-href-null-char-expected.txt:
        * http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
        * http/tests/security/xssAuditor/cookie-injection-expected.txt:
        * http/tests/security/xssAuditor/dom-write-URL-expected.txt:
        * http/tests/security/xssAuditor/dom-write-location-expected.txt:
        * http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
        * http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-in-path-unterminated-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
        * http/tests/security/xssAuditor/form-action-expected.txt:
        * http/tests/security/xssAuditor/formaction-on-button-expected.txt:
        * http/tests/security/xssAuditor/formaction-on-input-expected.txt:
        * http/tests/security/xssAuditor/frameset-injection-expected.txt:
        * http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
        * http/tests/security/xssAuditor/get-from-iframe-expected.txt:
        * http/tests/security/xssAuditor/iframe-injection-expected.txt:
        * http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
        * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
        * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
        * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
        * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
        * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
        * http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
        * http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
        * http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
        * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked-expected.txt:
        * http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
        * http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
        * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
        * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
        * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt:
        * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
        * http/tests/security/xssAuditor/img-tag-with-comma-expected.txt:
        * http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-control-char-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-null-char-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt:
        * http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
        * http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
        * http/tests/security/xssAuditor/malformed-HTML-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
        * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt:
        * http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
        * http/tests/security/xssAuditor/object-embed-tag-expected.txt:
        * http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
        * http/tests/security/xssAuditor/object-tag-expected.txt:
        * http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
        * http/tests/security/xssAuditor/open-attribute-body-expected.txt:
        * http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
        * http/tests/security/xssAuditor/open-iframe-src-01-expected.txt:
        * http/tests/security/xssAuditor/open-iframe-src-02-expected.txt:
        * http/tests/security/xssAuditor/open-iframe-src-03-expected.txt:
        * http/tests/security/xssAuditor/open-script-src-01-expected.txt:
        * http/tests/security/xssAuditor/open-script-src-02-expected.txt:
        * http/tests/security/xssAuditor/open-script-src-03-expected.txt:
        * http/tests/security/xssAuditor/open-script-src-04-expected.txt:
        * http/tests/security/xssAuditor/post-from-iframe-expected.txt:
        * http/tests/security/xssAuditor/property-escape-comment-01-expected.txt:
        * http/tests/security/xssAuditor/property-escape-comment-02-expected.txt:
        * http/tests/security/xssAuditor/property-escape-comment-03-expected.txt:
        * http/tests/security/xssAuditor/property-escape-entity-01-expected.txt:
        * http/tests/security/xssAuditor/property-escape-entity-02-expected.txt:
        * http/tests/security/xssAuditor/property-escape-entity-03-expected.txt:
        * http/tests/security/xssAuditor/property-escape-expected.txt:
        * http/tests/security/xssAuditor/property-escape-long-expected.txt:
        * http/tests/security/xssAuditor/property-escape-quote-01-expected.txt:
        * http/tests/security/xssAuditor/property-escape-quote-02-expected.txt:
        * http/tests/security/xssAuditor/property-escape-quote-03-expected.txt:
        * http/tests/security/xssAuditor/reflection-in-path-expected.txt:
        * http/tests/security/xssAuditor/resources/echo-intertag.pl:
        * http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt:
        * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
        * http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
        * http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt:
        * http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt:
        * http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt:
        * http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
        * http/tests/security/xssAuditor/script-tag-entities-expected.txt:
        * http/tests/security/xssAuditor/script-tag-expected.txt:
        * http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt:
        * http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
        * http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
        * http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
        * http/tests/security/xssAuditor/script-tag-near-start-expected.txt:
        * http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-post-expected.txt:
        * http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-injected-comment-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode-expected.txt:
        * http/tests/security/xssAuditor/svg-animate-expected.txt:
        * http/tests/security/xssAuditor/svg-script-tag-expected.txt:
        * http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
        * http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt:
        * http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:

2016-04-13  Michael Saboff  <msaboff@apple.com>

        Some tests fail with ES6 `u` (Unicode) flag for regular expressions
        https://bugs.webkit.org/show_bug.cgi?id=151597

        Reviewed by Geoffrey Garen.

        Updated tests.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:

2016-04-13  Chris Dumez  <cdumez@apple.com>

        We should not speculatively revalidate cached redirects
        https://bugs.webkit.org/show_bug.cgi?id=156548
        <rdar://problem/25583886>

        Reviewed by Darin Adler.

        Add layout test to make sure that speculative loading does not break
        redirects. This replicates the issue seen with fonts.css on stripe.com.

        * http/tests/cache/disk-cache/speculative-validation/cacheable-redirect-expected.txt: Added.
        * http/tests/cache/disk-cache/speculative-validation/cacheable-redirect.html: Added.
        * http/tests/cache/disk-cache/speculative-validation/resources/cacheable-redirect-frame.php: Added.
        * http/tests/cache/disk-cache/speculative-validation/resources/css-to-revalidate.php: Added.
        * http/tests/cache/disk-cache/speculative-validation/resources/redirect-to-css.php: Added.

2016-04-13  Zalan Bujtas  <zalan@apple.com>

        Text on compositing layer with negative letter-spacing is truncated.
        https://bugs.webkit.org/show_bug.cgi?id=156550
        <rdar://problem/24212140>

        Reviewed by Antti Koivisto.

        Negative letter-spacing affects the right edge of content's visual overflow (for both RTL and LTR).
        This is similar to how normal line layout adjusts it at InlineFlowBox::addTextBoxVisualOverflow().

        * fast/text/negative-letter-spacing-visual-overflow-expected.html: Added.
        * fast/text/negative-letter-spacing-visual-overflow.html: Added.

2016-04-13  Eric Carlson  <eric.carlson@apple.com>

        [iOS] remote command should be considered user events
        https://bugs.webkit.org/show_bug.cgi?id=156546
        <rdar://problem/25560877>

        Reviewed by Jer Noble.

        * media/remote-control-command-is-user-gesture-expected.txt: Added.
        * media/remote-control-command-is-user-gesture.html: Added.

2016-04-13  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r199502 and r199511.
        https://bugs.webkit.org/show_bug.cgi?id=156557

        Appears to have in-browser perf regression (Requested by mlam
        on #webkit).

        Reverted changesets:

        "ES6: Implement String.prototype.split and
        RegExp.prototype[@@split]."
        https://bugs.webkit.org/show_bug.cgi?id=156013
        http://trac.webkit.org/changeset/199502

        "ES6: Implement RegExp.prototype[@@search]."
        https://bugs.webkit.org/show_bug.cgi?id=156331
        http://trac.webkit.org/changeset/199511

2016-04-13  Antonio Gomes  <tonikitoo@webkit.org>

        Non-resizable text field looks resizable
        https://bugs.webkit.org/show_bug.cgi?id=152271

        Reviewed by Darin Adler.

        * fast/css/resize-not-inherited-expected.html: Added.
        * fast/css/resize-not-inherited.html: Added.
        * fast/css/resize-single-line-input-no-paint-expected.html: Added.
        * fast/css/resize-single-line-input-no-paint.html: Added.

2016-04-13  Mark Lam  <mark.lam@apple.com>

        ES6: Implement RegExp.prototype[@@search].
        https://bugs.webkit.org/show_bug.cgi?id=156331

        Reviewed by Keith Miller.

        * js/regress/regexp-prototype-search-observable-side-effects-expected.txt: Added.
        * js/regress/regexp-prototype-search-observable-side-effects.html: Added.
        * js/regress/regexp-prototype-search-observable-side-effects2-expected.txt: Added.
        * js/regress/regexp-prototype-search-observable-side-effects2.html: Added.

        * js/regress/script-tests/regexp-prototype-search-observable-side-effects.js: Added.
        * js/regress/script-tests/regexp-prototype-search-observable-side-effects2.js: Added.

        * js/regress/script-tests/string-prototype-search-observable-side-effects.js: Added.
        * js/regress/script-tests/string-prototype-search-observable-side-effects2.js: Added.
        * js/regress/script-tests/string-prototype-search-observable-side-effects3.js: Added.
        * js/regress/script-tests/string-prototype-search-observable-side-effects4.js: Added.

        * js/regress/string-prototype-search-observable-side-effects-expected.txt: Added.
        * js/regress/string-prototype-search-observable-side-effects.html: Added.
        * js/regress/string-prototype-search-observable-side-effects2-expected.txt: Added.
        * js/regress/string-prototype-search-observable-side-effects2.html: Added.
        * js/regress/string-prototype-search-observable-side-effects3-expected.txt: Added.
        * js/regress/string-prototype-search-observable-side-effects3.html: Added.
        * js/regress/string-prototype-search-observable-side-effects4-expected.txt: Added.
        * js/regress/string-prototype-search-observable-side-effects4.html: Added.

2016-04-13  Jiewen Tan  <jiewen_tan@apple.com>

        Mark fast/canvas/webgl/gl-teximage.html as flaky on Macs
        https://bugs.webkit.org/show_bug.cgi?id=58766

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-04-13  Jiewen Tan  <jiewen_tan@apple.com>

        Mark imported/w3c/web-platform-tests/streams/readable-streams/general.https.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=155760

        Unreviewed test gardening.

        * TestExpectations:

2016-04-13  Jiewen Tan  <jiewen_tan@apple.com>

        Mark media/track/track-in-band-duplicate-tracks-when-source-changes.html as flaky on Yosemite
        https://bugs.webkit.org/show_bug.cgi?id=124222

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-04-13  Mark Lam  <mark.lam@apple.com>

        ES6: Implement String.prototype.split and RegExp.prototype[@@split].
        https://bugs.webkit.org/show_bug.cgi?id=156013

        Reviewed by Keith Miller.

        Re-landing r199393 now that the shadow chicken crash has been fixed.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/string-prototype-properties-expected.txt:

        * js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects2.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-global.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects4.html: Added.

        * js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Added.

        * js/regress/script-tests/string-prototype-split-observable-side-effects.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Added.

        * js/regress/string-prototype-split-observable-side-effects-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects.html: Added.
        * js/regress/string-prototype-split-observable-side-effects2-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects2.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-flags.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-global.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-multiline.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-sticky.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-unicode.html: Added.
        * js/regress/string-prototype-split-observable-side-effects4-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects4.html: Added.

        * js/script-tests/Object-getOwnPropertyNames.js:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:

2016-04-12  Antti Koivisto  <antti@apple.com>

        Crash at com.apple.JavaScriptCore: bool WTF::startsWith<WTF::StringImpl, WTF::StringImpl> + 8
        https://bugs.webkit.org/show_bug.cgi?id=156512
        rdar://problem/24220567

        Reviewed by Benjamin Poulain.

        Land a test that verifies that setting attr to null does not crash with attribute selectors.
        This was fixed by http://trac.webkit.org/changeset/199392.

        * fast/css/attribute-selector-null-crash-expected.html: Added.
        * fast/css/attribute-selector-null-crash.html: Added.

2016-04-12  Mark Lam  <mark.lam@apple.com>

        Rollout: ES6: Implement String.prototype.split and RegExp.prototype[@@split].
        https://bugs.webkit.org/show_bug.cgi?id=156013

        Speculative rollout to fix 32-bit shadow-chicken.yaml/tests/v8-v6/v8-regexp.js.shadow-chicken test failure.

        Not reviewed.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/string-prototype-properties-expected.txt:
        * js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects2.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-global.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Removed.
        * js/regress/regexp-prototype-split-observable-side-effects4.html: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Removed.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Removed.
        * js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Removed.
        * js/regress/string-prototype-split-observable-side-effects-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects2-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects2.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-flags.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-global.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-multiline.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-sticky.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects3-unicode.html: Removed.
        * js/regress/string-prototype-split-observable-side-effects4-expected.txt: Removed.
        * js/regress/string-prototype-split-observable-side-effects4.html: Removed.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:

2016-04-12  Keith Miller  <keith_miller@apple.com>

        [ES6] Add support for Symbol.isConcatSpreadable.
        https://bugs.webkit.org/show_bug.cgi?id=155351

        Reviewed by Saam Barati.

        Fix tests for Symbol.isConcatSpreadable on the Symbol object.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/array-prototype-properties-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-04-12  Mark Lam  <mark.lam@apple.com>

        ES6: Implement String.prototype.split and RegExp.prototype[@@split].
        https://bugs.webkit.org/show_bug.cgi?id=156013

        Reviewed by Keith Miller.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/string-prototype-properties-expected.txt:

        * js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects2.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-global.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Added.
        * js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Added.
        * js/regress/regexp-prototype-split-observable-side-effects4.html: Added.

        * js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Added.
        * js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Added.

        * js/regress/script-tests/string-prototype-split-observable-side-effects.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Added.
        * js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Added.

        * js/regress/string-prototype-split-observable-side-effects-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects.html: Added.
        * js/regress/string-prototype-split-observable-side-effects2-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects2.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-flags.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-global.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-multiline.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-sticky.html: Added.
        * js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects3-unicode.html: Added.
        * js/regress/string-prototype-split-observable-side-effects4-expected.txt: Added.
        * js/regress/string-prototype-split-observable-side-effects4.html: Added.

        * js/script-tests/Object-getOwnPropertyNames.js:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:

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

        Attr.value should not be nullable
        https://bugs.webkit.org/show_bug.cgi?id=156515

        Reviewed by Benjamin Poulain.

        Add layout test and rebaseline existing one now that Attr.value is no
        longer nullable.

        * fast/dom/Attr/value-not-nullable-expected.txt: Added.
        * fast/dom/Attr/value-not-nullable.html: Added.
        * fast/dom/coreDOM-element-attribute-js-null-expected.txt:
        * fast/dom/coreDOM-element-attribute-js-null.xhtml:

2016-04-12  David Kilzer  <ddkilzer@apple.com>

        Web Inspector: inspector/heap/getRemoteObject.html is flakey
        <http://webkit.org/b/156077>

        Unreviewed test expectations update.

        * platform/mac-wk2/TestExpectations:
        (inspector/heap/getRemoteObject.html): Update bug number.

2016-04-12  David Kilzer  <ddkilzer@apple.com>

        Web Inspector: inspector/heap/getRemoteObject.html is flakey
        <http://webkit.org/b/156514>

        Unreviewed test expectations update.

        * platform/mac-wk2/TestExpectations:
        (inspector/heap/getRemoteObject.html): Mark as flakey.

2016-04-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Should be able to expand Objects in Heap Allocations View to see exactly what it retains
        https://bugs.webkit.org/show_bug.cgi?id=156419
        <rdar://problem/25633863>

        Reviewed by Timothy Hatcher.

        * inspector/unit-tests/heap-snapshot-expected.txt:
        * inspector/unit-tests/heap-snapshot.html:
        Add a quick test that retainedNodes returns a list of edges.

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

        [RTL Scrollbars] Overlay scrollbars push contents inwards
        https://bugs.webkit.org/show_bug.cgi?id=156225
        <rdar://problem/25137040>

        Reviewed by Darin Adler.

        * fast/scrolling/rtl-scrollbars-overlay-no-push-contents-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-overlay-no-push-contents.html: Added.

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

        [OS X] Flakey crash after ScrollAnimatorMac destruction
        https://bugs.webkit.org/show_bug.cgi?id=156372

        Reviewed by Darin Adler.

        Migrate to the new mechanism for disabling mock scrollbars in tests.

        * fast/scrolling/rtl-scrollbars-animation-property.html:

2016-04-12  Saam barati  <sbarati@apple.com>

        We incorrectly parse arrow function expressions
        https://bugs.webkit.org/show_bug.cgi?id=156373

        Reviewed by Mark Lam.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        (catch):

2016-03-17  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Add parsing support for <auto-repeat> syntax
        https://bugs.webkit.org/show_bug.cgi?id=155583

        Reviewed by Antti Koivisto.

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

2016-04-12  Alex Christensen  <achristensen@webkit.org>

        Remove failing assertion in ANGLE
        https://bugs.webkit.org/show_bug.cgi?id=156485

        Reviewed by Dean Jackson.

        * fast/canvas/webgl/fragment-shader-assertion-expected.txt: Added.
        * fast/canvas/webgl/fragment-shader-assertion.html: Added.

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

        Use WeakPtrs to avoid using deallocated Widgets and ScrollableAreas
        https://bugs.webkit.org/show_bug.cgi?id=156420
        <rdar://problem/25637378>

        Reviewed by Darin Adler.

        * fast/events/wheel-event-destroys-overflow-expected.txt: Added.
        * fast/events/wheel-event-destroys-overflow.html: Added.
        * platform/ios-simulator/TestExpectations: Skip wheel-event test on iOS.

2016-04-11  Dean Jackson  <dino@apple.com>

        putImageData needs to premultiply input
        https://bugs.webkit.org/show_bug.cgi?id=156488
        <rdar://problem/25672675>

        Reviewed by Zalan Bujtas.

        Tests that putImageData is taking unmultiplied data,
        premultiplying it, then copying into the backing store.

        * fast/canvas/putImageData-unmultiplied-expected.html: Added.
        * fast/canvas/putImageData-unmultiplied.html: Added.

2016-04-11  Jiewen Tan  <jiewen_tan@apple.com>

        Unskip imported/w3c/web-platform-tests/IndexedDB/idbindex-multientry-big.htm
        https://bugs.webkit.org/show_bug.cgi?id=156480

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-04-11  Jiewen Tan  <jiewen_tan@apple.com>

        Skip imported/w3c/web-platform-tests/IndexedDB/idbindex-multientry-big.htm on ios-simulators
        https://bugs.webkit.org/show_bug.cgi?id=156480

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-04-11  Jiewen Tan  <jiewen_tan@apple.com>

        fast/loader/opaque-base-url.html crashing during mac and ios debug tests
        https://bugs.webkit.org/show_bug.cgi?id=156179
        <rdar://problem/25507719>

        Reviewed by Ryosuke Niwa.

        * fast/loader/iframe-src-invalid-url-expected.txt: Added.
        * fast/loader/iframe-src-invalid-url.html: Added.

2016-04-11  Said Abou-Hallawa  <sabouhallawa@apple,com>

        Merge CG ImageSource and non CG ImageSource implementation in one file
        https://bugs.webkit.org/show_bug.cgi?id=155456

        Reviewed by Darin Adler.
        
        Add a test for image sub-sampling. The image subsampling is enabled by
        default for iOS platform only. But it can be explicitly enabled through
        the setting ImageSubsamplingEnabled.

        * fast/images/image-subsampling-expected.html: Added.
        * fast/images/image-subsampling.html: Added.

2016-04-11  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r193857): Text selection causes text to disappear.
        https://bugs.webkit.org/show_bug.cgi?id=156448
        rdar://problem/25578952

        Reviewed by Simon Fraser.

        Apparently when the end position of the selection range is smaller than the start position, we need
        to repaint the entire text as it indicates selection clearing.

        * fast/text/text-disappear-on-deselect-expected.html: Added.
        * fast/text/text-disappear-on-deselect.html: Added.

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

        DOMTokenList.contains() should not throw
        https://bugs.webkit.org/show_bug.cgi?id=156453

        Reviewed by Ryosuke Niwa.

        Update existing layout tests now that DOMTokenList.contains() no longer
        throws when called with an invalid token.

        * fast/dom/HTMLElement/class-list-expected.txt:
        * fast/dom/HTMLElement/class-list-quirks-expected.txt:
        * fast/dom/HTMLElement/script-tests/class-list.js:
        (shouldThrowDOMException): Deleted.
        * fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
        * fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js:
        (shouldThrowDOMException): Deleted.
        * fast/dom/rel-list-expected.txt:
        * fast/dom/rel-list.html:

2016-04-11  Frederic Wang  <fwang@igalia.com>

        Refactor RenderMathMLFraction layout to avoid using flexbox
        https://bugs.webkit.org/show_bug.cgi?id=153917

        Reviewed by Sergio Villar Senin.

        * TestExpectations: No longer skip mathml/presentation/fractions-positions.html
        * mathml/opentype/fraction-line-expected.html: Added. New test to verify AxisHeight and
        FractionRuleThickness parameters.
        * mathml/opentype/fraction-line.html: Added. New test to verify axis height and rule
        thickness parameters.
        * mathml/presentation/fractions-linethickness-expected.html: Adjust the test to be sure that
        the default rule thickness is 1px.
        * mathml/presentation/fractions-linethickness.html: Adjust the test to be sure that the
        default rule thickness is 1px.
        * platform/gtk/mathml/presentation/roots-expected.txt: Update reference to take into account
        changes in the render tree.
        * platform/ios-simulator/mathml/presentation/roots-expected.txt: Ditto
        * platform/mac/TestExpectations: Mark fraction-line and fractions-linethickness as
        possibly failing since these tests require Latin Modern Math to work reliably.
        * platform/ios-simulator/TestExpectations: Ditto

2016-04-11  Commit Queue  <commit-queue@webkit.org>

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

        broke 300 tests (Requested by mcatanzaro on #webkit).

        Reverted changeset:

        "Merge CG ImageSource and non CG ImageSource implementation in
        one file"
        https://bugs.webkit.org/show_bug.cgi?id=155456
        http://trac.webkit.org/changeset/199290

2016-04-11  Frederic Wang  <fwang@igalia.com>

        Refactor RenderMathMLUnderOver layout functions to avoid using flexbox
        https://bugs.webkit.org/show_bug.cgi?id=153742

        Reviewed by Sergio Villar Senin.

        Apply some small adjustments to the expectations of MathML tests after
        the refactoring of RenderMathMLUnderOver. We also add a test for
        non-stretchy horizontal operators in underover.

        * platform/gtk/mathml/opentype/horizontal-expected.png:
        * platform/gtk/mathml/opentype/horizontal-expected.txt:
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png:
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.png:
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * mathml/mn-as-list-item-assert.html: Move the test description out of the invalid munderover
        so that it is still displayed.
        * mathml/mn-as-list-item-assert-expected.txt: Update the text expectation.
        * mathml/presentation/underover-nonstretchy-horizontal.html: Ensure that nonstretchy horizontal operators are not stretched in munderover.
        * mathml/presentation/underover-nonstretchy-horizontal-expected.html: Ditto.

2016-04-11  Antti Koivisto  <antti@apple.com>

        Implement functional :host() pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=156397
        <rdar://problem/25621445>

        Reviewed by Darin Adler.

        Enable, fix and expand the test.

        * fast/shadow-dom/css-scoping-shadow-host-functional-rule.html:
        * platform/mac/TestExpectations:

2016-04-11  Said Abou-Hallawa  <sabouhallawa@apple,com>

        Merge CG ImageSource and non CG ImageSource implementation in one file
        https://bugs.webkit.org/show_bug.cgi?id=155456

        Reviewed by Darin Adler.
        
        Add a test for image sub-sampling. The image subsampling is enabled by
        default for iOS platform only. But it can be explicitly enabled through
        the setting ImageSubsamplingEnabled.

        * fast/images/image-subsampling-expected.html: Added.
        * fast/images/image-subsampling.html: Added.

2016-04-09  Commit Queue  <commit-queue@webkit.org>

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

        Broke Windows build (Requested by ap on #webkit).

        Reverted changeset:

        "Implement functional :host() pseudo class"
        https://bugs.webkit.org/show_bug.cgi?id=156397
        http://trac.webkit.org/changeset/199268

2016-04-09  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Update another GStreamer test expectation

        Unreviewed.

        * platform/gtk/TestExpectations:

2016-04-09  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Update some more IndexedDB test expectations.

        Unreviewed.

        * platform/gtk/TestExpectations:

2016-04-09  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Remove failure expectation from storage/indexeddb/connection-leak.html

        It's skipped in the global TestExpectations, see bug #152643.

        * platform/gtk/TestExpectations:

2016-04-09  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Gardening unexpected passes and IndexedDB tests.

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-04-09  Antti Koivisto  <antti@apple.com>

        Implement functional :host() pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=156397
        <rdar://problem/25621445>

        Reviewed by Darin Adler.

        Enable, fix and expand the test.

        * fast/shadow-dom/css-scoping-shadow-host-functional-rule.html:
        * platform/mac/TestExpectations:

2016-04-07  Darin Adler  <darin@apple.com>

        Improve IDL support for object arguments that are neither optional nor nullable
        https://bugs.webkit.org/show_bug.cgi?id=156149

        Reviewed by Chris Dumez.

        * fast/canvas/canvas-path-addPath-expected.txt: Updated expected result to expect
        TypeError rather than TYPE_MISMATCH_ERR. A progression.
        * fast/text/font-face-set-javascript-expected.txt: Ditto.

2016-04-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: XHRs and Web Worker scripts are not searchable
        https://bugs.webkit.org/show_bug.cgi?id=154214
        <rdar://problem/24643587>

        Reviewed by Timothy Hatcher.

        * inspector/page/resources/search-script.js: Added.
        * inspector/page/resources/search-stylesheet.css: Added.
        * inspector/page/resources/search-worker.js: Added.
        * inspector/page/resources/search-xhr.txt: Added.
        * inspector/page/searchInResources-expected.txt: Added.
        * inspector/page/searchInResources.html: Added.
        Test for the Page domain's search commands.

2016-04-08  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: "AXLandmarkApplication" is an inappropriate subrole for ARIA "application" since it's no longer a landmark
        https://bugs.webkit.org/show_bug.cgi?id=155403

        Reviewed by Chris Fleizach.

        The new subrole is AXWebApplication and the new role description is "web application".
        As part of the fix, the WebCore AccessibilityRole for ARIA's "application" role was
        renamed from LandmarkApplicationRole to WebApplicationRole.

        The roles-exposed.html and aria-grouping-roles.html test expectations were also updated.

        * accessibility/mac/aria-grouping-roles-expected.txt:
        * accessibility/mac/aria-grouping-roles.html:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2016-04-08  Zalan Bujtas  <zalan@apple.com>

        Focus ring drawn at incorrect location on image map with CSS transform.
        https://bugs.webkit.org/show_bug.cgi?id=143527
        <rdar://problem/21908735>

        Reviewed by Simon Fraser.

        Implement pathForFocusRing for HTMLAreaElement.

        * fast/images/image-map-outline-in-positioned-container-expected.html: Added.
        * fast/images/image-map-outline-in-positioned-container.html: Added.
        * fast/images/image-map-outline-with-paint-root-offset-expected.html: Added.
        * fast/images/image-map-outline-with-paint-root-offset.html: Added.
        * fast/images/image-map-outline-with-scale-transform-expected.html: Added.
        * fast/images/image-map-outline-with-scale-transform.html: Added.

2016-04-08  Filip Pizlo  <fpizlo@apple.com>

        Add IC support for arguments.length
        https://bugs.webkit.org/show_bug.cgi?id=156389

        Reviewed by Geoffrey Garen.

        * js/regress/direct-arguments-length-expected.txt: Added.
        * js/regress/direct-arguments-length.html: Added.
        * js/regress/direct-arguments-overridden-length-expected.txt: Added.
        * js/regress/direct-arguments-overridden-length.html: Added.
        * js/regress/direct-arguments-possibly-overridden-length-expected.txt: Added.
        * js/regress/direct-arguments-possibly-overridden-length.html: Added.
        * js/regress/scoped-arguments-length-expected.txt: Added.
        * js/regress/scoped-arguments-length.html: Added.
        * js/regress/scoped-arguments-overridden-length-expected.txt: Added.
        * js/regress/scoped-arguments-overridden-length.html: Added.
        * js/regress/scoped-arguments-possibly-overridden-length-expected.txt: Added.
        * js/regress/scoped-arguments-possibly-overridden-length.html: Added.
        * js/regress/script-tests/direct-arguments-length.js: Added.
        (args):
        * js/regress/script-tests/direct-arguments-overridden-length.js: Added.
        (args):
        * js/regress/script-tests/direct-arguments-possibly-overridden-length.js: Added.
        (args1):
        (args2):
        * js/regress/script-tests/scoped-arguments-length.js: Added.
        (args):
        * js/regress/script-tests/scoped-arguments-overridden-length.js: Added.
        (args):
        * js/regress/script-tests/scoped-arguments-possibly-overridden-length.js: Added.
        (args1):
        (args2):

2016-04-08  Joseph Pecoraro  <pecoraro@apple.com>

        Redefining a method of the same name hits an assertion
        https://bugs.webkit.org/show_bug.cgi?id=144258

        Reviewed by Ryosuke Niwa.

        * TestExpectations:
        * js/script-tests/class-syntax-semicolon.js:
        This test no longer asserts.

2016-04-08  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Crash getting text under element in CSS table
        https://bugs.webkit.org/show_bug.cgi?id=156328

        Reviewed by Chris Fleizach.

        While this crash is currently seen only for ATK, there is nothing to
        prevent another port from attempting to get all the text under a CSS
        RenderTable. Hence the shared test.

        * accessibility/generated-content-with-display-table-crash.html: Added.
        * platform/gtk/accessibility/generated-content-with-display-table-crash-expected.txt: Added.
        * platform/mac/accessibility/generated-content-with-display-table-crash-expected.txt: Added.

2016-04-08  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Quick Open fails to match pattern "bB" in file "abBc"
        https://bugs.webkit.org/show_bug.cgi?id=156398

        Reviewed by Timothy Hatcher.

        * inspector/unit-tests/resource-query-controller-expected.txt:
        * inspector/unit-tests/resource-query-controller.html:
        Test that two repeated characters in the search string are correctly
        matched when the first character is lowercase and the second is uppercase.

2016-04-08  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Testharness-based tests that time out should be able to produce a detailled output
        https://bugs.webkit.org/show_bug.cgi?id=145313

        Reviewed by Xabier Rodriguez-Calvar.

        * TestExpectations: Removed TIMEOUT for some tests for which testharness.timeout will be called just before WTR times out.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/request/request-cache-expected.txt: GTK specific baseline.
        * resources/testharnessreport.js:
        (add_completion_callback): Improving error logging message. Dumping of the tests status in error case.

2016-04-08  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix positioned items with grid gaps
        https://bugs.webkit.org/show_bug.cgi?id=156288

        Reviewed by Darin Adler.

        Added new tests checking the right behavior.

        * fast/css-grid-layout/grid-positioned-items-gaps-expected.txt: Added.
        * fast/css-grid-layout/grid-positioned-items-gaps-rtl-expected.txt: Added.
        * fast/css-grid-layout/grid-positioned-items-gaps-rtl.html: Added.
        * fast/css-grid-layout/grid-positioned-items-gaps.html: Added.

2016-04-08  John Wilander  <wilander@apple.com>

        CSP: Block XHR when calling XMLHttpRequest.send() and throw network error.
        https://bugs.webkit.org/show_bug.cgi?id=153598
        <rdar://problem/24391483>

        Reviewed by Darin Adler.

        * fast/workers/resources/worker-inherits-csp-blocks-xhr.js:
        (catch):
        * fast/workers/worker-inherits-csp-blocks-xhr-expected.txt:
            Changed expected error from DOMException.SECURITY_ERR to DOMException.NETWORK_ERR.
        * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html:
            Now tests that XMLHttpRequest.send() is blocked if the URL voilates the connect-src directive in CSP.
        * http/tests/security/contentSecurityPolicy/resources/worker.php:
            Added two additional calls to XMLHttpRequest.send() and switched to receiving an error event to make
            existing tests work with code changes.
        * http/tests/security/contentSecurityPolicy/source-list-parsing-malformed-meta.html:
            Added an additional call to XMLHttpRequest.send() and switched to receiving an error event to make 
            existing test work with code changes.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr-expected.txt:
        * http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html:
            Added an additional call to XMLHttpRequest.send() and switched to receiving an error event to make 
            existing tests work with code changes.
            Refactored test mechnism with additional parameters to cover synchronous/asynchronous as well as 
            same-origin/cross-origin in isolated worlds.

2016-04-07  Darin Adler  <darin@apple.com>

        FontFaceSet binding does not handle null correctly
        https://bugs.webkit.org/show_bug.cgi?id=156141

        Reviewed by Youenn Fablet.

        * fast/text/font-face-set-javascript-expected.txt: Added expected results for new tests.
        * fast/text/font-face-set-javascript.html: Added tests for handling of null, also added tests for
        the has function.

2016-04-07  Filip Pizlo  <fpizlo@apple.com>

        Implementing caching transition puts that need to reallocate with indexing storage
        https://bugs.webkit.org/show_bug.cgi?id=130914

        Reviewed by Saam Barati.

        * js/regress/put-by-id-transition-with-indexing-header-expected.txt: Added.
        * js/regress/put-by-id-transition-with-indexing-header.html: Added.
        * js/regress/script-tests/put-by-id-transition-with-indexing-header.js: Added.
        (allocate):

2016-04-07  Ada Chan  <adachan@apple.com>

        Roll out the css change in mediaControlsApple.css that has been causing assertions in layout for multiple tests
        https://bugs.webkit.org/show_bug.cgi?id=156381

        Rubber-stamped by Alexey Proskuryakov.

        * platform/mac/TestExpectations:
        * platform/mac/media/media-document-audio-repaint-expected.txt:
        * platform/mac/media/video-zoom-controls-expected.txt:

2016-04-07  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rolling out r199199.

        Revision breaks layout tests

        Reverted changeset:

        "fast/loader/opaque-base-url.html crashing during mac and ios
        debug tests"
        https://bugs.webkit.org/show_bug.cgi?id=156179
        http://trac.webkit.org/changeset/199199

2016-04-07  Simon Fraser  <simon.fraser@apple.com>

        Make it possible to test effect of view exposed rect on tiled backing
        https://bugs.webkit.org/show_bug.cgi?id=156365

        Reviewed by Tim Horton.

        Tests for tile size and tile coverage when we have an exposed view rect.

        * tiled-drawing/tile-coverage-view-exposed-rect-expected.txt: Added.
        * tiled-drawing/tile-coverage-view-exposed-rect.html: Added.
        * tiled-drawing/tile-size-view-exposed-rect-expected.txt: Added.
        * tiled-drawing/tile-size-view-exposed-rect.html: Added.

2016-04-07  Jiewen Tan  <jiewen_tan@apple.com>

        fast/loader/opaque-base-url.html crashing during mac and ios debug tests
        https://bugs.webkit.org/show_bug.cgi?id=156179
        <rdar://problem/25507719>

        Reviewed by Andy Estes.

        * TestExpectations:
        * fast/url/data-uri-based-urls-expected.txt: Added.
        * fast/url/data-uri-based-urls.html: Added.
        * fast/url/relative-expected.txt:

2016-04-07  Ada Chan  <adachan@apple.com>

        Skip a couple more tests that are asserting in FrameView::scheduleRelayoutOfSubtree().

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-04-07  Jiewen Tan  <jiewen_tan@apple.com>

        Mark http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy.html as timeout in ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=149087

        Unreviewed, test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-04-07  Alexey Proskuryakov  <ap@apple.com>

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

        http/tests/security/MessagePort/event-listener-context.html is the only culprit,
        so it should be skipped everywhere, and subsequent tests shouldn't be marked.

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

2016-04-07  Brent Fulgham  <bfulgham@apple.com>

        Wheel event callback removing the window causes crash in WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=150871
        <rdar://problem/23418283>

        Reviewed by Simon Fraser.

        * fast/events/wheel-event-destroys-frame-expected.txt: Added.
        * fast/events/wheel-event-destroys-frame.html: Added.
        * platform/ios-simulator/TestExpectations: Skip wheel-event test on iOS.

2016-04-07  Saam barati  <sbarati@apple.com>

        Initial implementation of annex b.3.3 behavior was incorrect
        https://bugs.webkit.org/show_bug.cgi?id=156276

        Reviewed by Keith Miller.

        * js/function-declarations-in-switch-statement-expected.txt:
        * js/script-tests/function-declarations-in-switch-statement.js:

2016-04-06  Ada Chan  <adachan@apple.com>

        Rename TextTrackRepresentationiOS to TextTrackRepresentationCocoa and enable on Mac
        https://bugs.webkit.org/show_bug.cgi?id=156245

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:
        Skip some tests with assertions after changes in MediaControlsApple.css.

        * platform/mac/media/media-document-audio-repaint-expected.txt:
        * platform/mac/media/video-zoom-controls-expected.txt:
        Rebaseline some tests after changes in MediaControlsApple.css.

2016-04-07  Daniel Bates  <dabates@apple.com>

        CSP: Remove tests for unimplemented directive referrer
        https://bugs.webkit.org/show_bug.cgi?id=156353

        Reviewed by Andy Estes.

        The Content Security Policy directive referrer was removed from the Content Security Policy Level 2 spec.,
        <https://w3c.github.io/webappsec-csp/2/> (Editor's Draft, 29 August 2015). It was never implemented.
        The functionality provided by this directive has been incorporated into its own meta tag and is covered
        by the Referrer Policy spec., <https://w3c.github.io/webappsec-referrer-policy/>.

        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-http-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-http.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-https-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-https.html: Removed.
        * http/tests/security/contentSecurityPolicy/resources/referrer-test-endpoint.php: Removed.
        * http/tests/security/contentSecurityPolicy/resources/referrer-test.js: Removed.
        * http/tests/security/contentSecurityPolicy/resources/referrer-test.php: Removed.

2016-04-07  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed follow-up fix to r199168. Add missing newline in expected output.

        * inspector/codemirror/resources/prettyprinting/javascript-tests/single-statement-blocks-expected.js:

2016-04-07  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve JavaScript pretty printing
        https://bugs.webkit.org/show_bug.cgi?id=156178
        <rdar://problem/25535719>

        Reviewed by Timothy Hatcher.

        Expand the JavaScript formatting tests.

        * inspector/codemirror/resources/prettyprinting/javascript-tests/single-statement-blocks-expected.js:
        Update output now that the builder removes extra trailing whitespace automatically.

        * inspector/codemirror/resources/prettyprinting/utilities.js:
        Update due to simplified construction.

        * inspector/formatting/formatting-javascript-expected.txt: Added.
        * inspector/formatting/formatting-javascript.html: Added.
        * inspector/formatting/resources/javascript-tests/arrow-functions-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/arrow-functions.js: Added.
        * inspector/formatting/resources/javascript-tests/classes-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/classes.js: Added.
        * inspector/formatting/resources/javascript-tests/comments-and-preserve-newlines-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/comments-and-preserve-newlines.js: Added.
        * inspector/formatting/resources/javascript-tests/comments-only-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/comments-only.js: Added.
        * inspector/formatting/resources/javascript-tests/do-while-statement-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/do-while-statement.js: Added.
        * inspector/formatting/resources/javascript-tests/for-statements-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/for-statements.js: Added.
        * inspector/formatting/resources/javascript-tests/functions-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/functions.js: Added.
        * inspector/formatting/resources/javascript-tests/generators-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/generators.js: Added.
        * inspector/formatting/resources/javascript-tests/if-statement-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/if-statement.js: Added.
        * inspector/formatting/resources/javascript-tests/label-break-continue-block-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/label-break-continue-block.js: Added.
        * inspector/formatting/resources/javascript-tests/logic-expressions-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/logic-expressions.js: Added.
        * inspector/formatting/resources/javascript-tests/new-expression-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/new-expression.js: Added.
        * inspector/formatting/resources/javascript-tests/object-array-literal-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/object-array-literal.js: Added.
        * inspector/formatting/resources/javascript-tests/return-statement-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/return-statement.js: Added.
        * inspector/formatting/resources/javascript-tests/sample-jquery-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/sample-jquery.js: Added.
        * inspector/formatting/resources/javascript-tests/sample-normal-utilities-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/sample-normal-utilities.js: Added.
        * inspector/formatting/resources/javascript-tests/sample-webinspector-object-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/sample-webinspector-object.js: Added.
        * inspector/formatting/resources/javascript-tests/switch-case-default-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/switch-case-default.js: Added.
        * inspector/formatting/resources/javascript-tests/ternary-expressions-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/ternary-expressions.js: Added.
        * inspector/formatting/resources/javascript-tests/throw-statement-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/throw-statement.js: Added.
        * inspector/formatting/resources/javascript-tests/try-catch-finally-statements-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/try-catch-finally-statements.js: Added.
        * inspector/formatting/resources/javascript-tests/unary-binary-expressions-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/unary-binary-expressions.js: Added.
        * inspector/formatting/resources/javascript-tests/variable-declaration-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/variable-declaration.js: Added.
        * inspector/formatting/resources/javascript-tests/while-statement-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/while-statement.js: Added.
        * inspector/formatting/resources/javascript-tests/with-statement-expected.js: Added.
        * inspector/formatting/resources/javascript-tests/with-statement.js: Added.
        * inspector/formatting/resources/utilities.js: Added.
        Expanded test coverage for the new formatter.

2016-04-07  Jiewen Tan  <jiewen_tan@apple.com>

        Marking storage/indexeddb/modern/autoincrement-abort-private.html as flaky on Macs
        https://bugs.webkit.org/show_bug.cgi?id=156351

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-04-07  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r199128 and r199141.
        https://bugs.webkit.org/show_bug.cgi?id=156348

        Causes crashes on multiple webpages (Requested by keith_mi_ on
        #webkit).

        Reverted changesets:

        "[ES6] Add support for Symbol.isConcatSpreadable."
        https://bugs.webkit.org/show_bug.cgi?id=155351
        http://trac.webkit.org/changeset/199128

        "Unreviewed, uncomment accidentally commented line in test."
        http://trac.webkit.org/changeset/199141

2016-04-07  Daniel Bates  <dabates@apple.com>

        CSP: Should only honor CSP policy delivered in meta tag that is a descendent of <head>
        https://bugs.webkit.org/show_bug.cgi?id=59858
        <rdar://problem/25603538>

        Reviewed by Brent Fulgham.

        Add tests to ensure that we ignore the meta tags for Content-Security-Policy, Content-Security-Policy-Report-Only,
        X-WebKit-CSP, and X-WebKit-CSP-Report-Only if it is not a descendent of <head>.

        * http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head.html: Added.
        * http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head2.html: Added.
        * http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head.html: Added.
        * http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head2.html: Added.

2016-04-06  Sam Weinig  <sam@webkit.org>

        window.Crypto is missing
        <rdar://problem/25584034>
        https://bugs.webkit.org/show_bug.cgi?id=156307

        Reviewed by Joseph Pecoraro.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:
        Update for the new Crypto constructor.

2016-04-07  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (197987): Ingredient lists on smittenkitchen.com are full justified instead of left justified.
        https://bugs.webkit.org/show_bug.cgi?id=156326
        <rdar://problem/25519393>

        Reviewed by Antti Koivisto.

        According to the spec (https://drafts.csswg.org/css-text-3/#text-align-property) 
        unless otherwise specified by text-align-last, the last line before
        a forced break or the end of the block is start-aligned.

        In this patch we check if a forced break is present and we apply text alignment accordingly.

        Test: fast/css3-text/css3-text-justify/text-justify-last-line-simple-line-layout.html

        * fast/css3-text/css3-text-justify/text-justify-last-line-simple-line-layout-expected.html: Added.
        * fast/css3-text/css3-text-justify/text-justify-last-line-simple-line-layout.html: Added.

2016-04-07  Antti Koivisto  <antti@apple.com>

        Shadow DOM: Implement display: contents for slots
        https://bugs.webkit.org/show_bug.cgi?id=149439
        <rdar://problem/22731922>

        Reviewed by Ryosuke Niwa.

        * platform/mac/TestExpectations:

        Enable fast/shadow-dom/css-scoping-shadow-slot-display-override.html, the test for overriding slot display value.

2016-04-07  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Content box incorrectly used as non-auto min-height
        https://bugs.webkit.org/show_bug.cgi?id=155946

        Reviewed by Antti Koivisto.

        * fast/css-grid-layout/min-height-border-box-expected.txt: Added.
        * fast/css-grid-layout/min-height-border-box.html: Added.

2016-04-07  Antti Koivisto  <antti@apple.com>

        Reverting previous due to bad LayoutTest ChangeLog.

        * platform/mac/TestExpectations:

2016-04-06  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION (r188591): thingiverse.com direct messaging UI is not rendered properly
        https://bugs.webkit.org/show_bug.cgi?id=156241
        <rdar://problem/25262213>

        Reviewed by Simon Fraser.

        * fast/text/zero-sized-fonts-expected.txt: Added.
        * fast/text/zero-sized-fonts.html: Added.

2016-04-06  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Improve filtering in OpenResourceDialog
        https://bugs.webkit.org/show_bug.cgi?id=155324
        <rdar://problem/25094504>

        Reviewed by Joseph Pecoraro.

        Add test coverage for ResourceQueryController.

        * inspector/unit-tests/resource-query-controller-expected.txt: Added.
        * inspector/unit-tests/resource-query-controller.html: Added.

2016-04-06  Saam barati  <sbarati@apple.com>

        jsc-layout-tests.yaml/js/script-tests/regress-141098.js failing on Yosemite Debug after r198989
        https://bugs.webkit.org/show_bug.cgi?id=156187

        Reviewed by Keith Miller.

        * js/script-tests/regress-141098.js:

2016-04-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Belatedly rebaseline several test expectations after r196244
        
        Unreviewed

        * platform/gtk/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/gtk/fast/block/positioning/auto/vertical-rl/007-expected.txt:
        * platform/gtk/fast/block/positioning/vertical-rl/fixed-positioning-expected.txt:
        * platform/gtk/fast/borders/border-antialiasing-expected.txt:
        * platform/gtk/fast/clip/001-expected.txt:
        * platform/gtk/fast/clip/013-expected.txt:
        * platform/gtk/fast/clip/014-expected.txt:
        * platform/gtk/fast/clip/016-expected.txt:
        * platform/gtk/fast/clip/outline-overflowClip-expected.txt:
        * platform/gtk/fast/css/clip-zooming-expected.txt:
        * platform/gtk/fast/forms/validation-message-appearance-expected.txt:
        * platform/gtk/fast/line-grid/line-grid-inside-columns-expected.txt:
        * platform/gtk/fast/line-grid/line-grid-into-columns-expected.txt:
        * platform/gtk/fast/lists/scrolled-marker-paint-expected.txt:
        * platform/gtk/fast/multicol/client-rects-expected.txt:
        * platform/gtk/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/gtk/fast/multicol/column-rules-expected.txt:
        * platform/gtk/fast/multicol/column-rules-stacking-expected.txt:
        * platform/gtk/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/gtk/fast/multicol/float-paginate-complex-expected.txt:
        * platform/gtk/fast/multicol/float-paginate-empty-lines-expected.txt:
        * platform/gtk/fast/multicol/float-paginate-expected.txt:
        * platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
        * platform/gtk/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/gtk/fast/multicol/max-height-columns-block-expected.txt:
        * platform/gtk/fast/multicol/nested-columns-expected.txt:
        * platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/gtk/fast/multicol/overflow-across-columns-expected.txt:
        * platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/gtk/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/gtk/fast/multicol/paginate-block-replaced-expected.txt:
        * platform/gtk/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/gtk/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/gtk/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/gtk/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/gtk/fast/multicol/pagination/LeftToRight-bt-expected.txt:
        * platform/gtk/fast/multicol/pagination/LeftToRight-rl-expected.txt:
        * platform/gtk/fast/multicol/pagination/LeftToRight-tb-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/gtk/fast/multicol/pagination/TopToBottom-bt-expected.txt:
        * platform/gtk/fast/multicol/pagination/TopToBottom-lr-expected.txt:
        * platform/gtk/fast/multicol/pagination/TopToBottom-rl-expected.txt:
        * platform/gtk/fast/multicol/positive-leading-expected.txt:
        * platform/gtk/fast/multicol/scrolling-column-rules-expected.txt:
        * platform/gtk/fast/multicol/span/anonymous-style-inheritance-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/gtk/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/gtk/fast/multicol/table-vertical-align-expected.txt:
        * platform/gtk/fast/multicol/tall-image-behavior-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/column-rules-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/float-paginate-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/nested-columns-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/float-paginate-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.txt:
        * platform/gtk/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
        * platform/gtk/fast/overflow/float-in-relpositioned-expected.txt:
        * platform/gtk/fast/overflow/overflow-auto-position-absolute-expected.txt:
        * platform/gtk/fast/overflow/overflow-rtl-expected.txt:
        * platform/gtk/fast/overflow/paged-x-div-expected.txt:
        * platform/gtk/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/gtk/fast/overflow/paged-x-on-root-expected.txt:
        * platform/gtk/fast/overflow/paged-x-with-column-gap-expected.txt:
        * platform/gtk/fast/overflow/paged-y-div-expected.txt:
        * platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
        * platform/gtk/fast/regions/repaint/region-painting-via-layout-expected.txt:
        * platform/gtk/fast/repaint/box-shadow-h-expected.txt:
        * platform/gtk/fast/repaint/box-shadow-v-expected.txt:
        * platform/gtk/fast/repaint/layer-outline-expected.txt:
        * platform/gtk/fast/repaint/layer-outline-horizontal-expected.txt:
        * platform/gtk/fast/table/edge-offsets-expected.txt:
        * platform/gtk/fast/transforms/overflow-with-transform-expected.txt:
        * platform/gtk/fast/transforms/rotated-transform-affects-scrolling-1-expected.txt: Added.
        * platform/gtk/fast/transforms/rotated-transform-affects-scrolling-2-expected.txt: Added.
        * platform/gtk/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
        * platform/gtk/scrollbars/scrollbars-on-positioned-content-expected.txt:
        * platform/gtk/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.txt:
        * platform/gtk/svg/custom/image-rescale-clip-expected.txt:

2016-03-29  Keith Miller  <keith_miller@apple.com>

        [ES6] Add support for Symbol.isConcatSpreadable.
        https://bugs.webkit.org/show_bug.cgi?id=155351

        Reviewed by Saam Barati.

        Fix tests for Symbol.isConcatSpreadable on the Symbol object.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/array-prototype-properties-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-04-06  Sam Weinig  <sam@webkit.org>

        window.CSS should be a constructor with static functions
        <rdar://problem/25580516>
        https://bugs.webkit.org/show_bug.cgi?id=156294

        Reviewed by Chris Dumez.

        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:
        Update for new CSS constructor property.

2016-04-06  Joanmarie Diggs  <jdiggs@igalia.com>

        REGRESSION(r195463): [GTK] accessibility/roles-computedRoleString.html and accessibility/roles-exposed.html failing
        https://bugs.webkit.org/show_bug.cgi?id=153696

        Reviewed by Chris Fleizach.

        Now that RenderInline style format groups are exposed as InlineRole, there is
        no longer a corresponding computed role for ins, samp, and var elements. Updated
        the roles-computedRoleString.html test and expectations accordingly. Also added
        the now-correct results for Gtk for both of the previously-failing tests.

        * accessibility/roles-computedRoleString-expected.txt: Updated.
        * accessibility/roles-computedRoleString.html: Updated.
        * platform/gtk/TestExpectations: Unskip the two tests which are now passing.
        * platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated.
        * platform/gtk/accessibility/roles-exposed-expected.txt: Updated.

2016-04-06  Keith Miller  <keith_miller@apple.com>

        RegExp constructor should use Symbol.match and other properties
        https://bugs.webkit.org/show_bug.cgi?id=155873

        Reviewed by Michael Saboff.

        Fix test for new behavior.

        * fast/regex/constructor-expected.txt:
        * fast/regex/script-tests/constructor.js:

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

        ASSERTION FAILED: !floatingObject->originatingLine() in WebCore::RenderBlockFlow::linkToEndLineIfNeeded
        https://bugs.webkit.org/show_bug.cgi?id=153001

        Reviewed by Dan Bernstein.

        1. Float boxes are always attached to the line where we see them first.
        2. Float box can only be attached to one line.
        3. RenderBlockFlow can perform partial layout on dirty lines only.

        In certain cases, the last dirty line can "pull up" float boxes from the first clean line.
        It simply means that due to some layout changes on previous lines now we see those floats on this last dirty line first.
        If after placing the float we still find it on the same position, the line below is still considered clean.

        Remove the float box from its original line if the line above already placed it.

        * fast/block/float/float-moves-between-lines-expected.txt: Added.
        * fast/block/float/float-moves-between-lines.html: Added.

2016-04-06  Antti Koivisto  <antti@apple.com>

        REGRESSION(r196629): Messages text size only changes for sending text, conversation text size does not change
        https://bugs.webkit.org/show_bug.cgi?id=156287
        <rdar://problem/24264756>

        Reviewed by Andreas Kling.

        * fast/css/style-invalidation-attribute-change-descendants-expected.txt:
        * fast/css/style-invalidation-attribute-change-descendants.html:

2016-04-06  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix positioned children in RTL
        https://bugs.webkit.org/show_bug.cgi?id=156162

        Reviewed by Sergio Villar Senin.

        Added more RTL cases for the positioned tests.

        * fast/css-grid-layout/absolute-positioning-grid-container-containing-block-expected.txt:
        * fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html:
        * fast/css-grid-layout/grid-positioned-items-background-rtl-expected.html: Added.
        * fast/css-grid-layout/grid-positioned-items-background-rtl.html: Added.
        * fast/css-grid-layout/grid-positioned-items-padding-expected.txt:
        * fast/css-grid-layout/grid-positioned-items-padding.html:
        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track-expected.txt:
        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html:
        * fast/css-grid-layout/grid-sizing-positioned-items-expected.txt:
        * fast/css-grid-layout/grid-sizing-positioned-items.html:

2016-04-06  Antti Koivisto  <antti@apple.com>

        ComposedTreeIterator may crash when first child of shadow root is a comment node
        https://bugs.webkit.org/show_bug.cgi?id=156281

        Reviewed by Andreas Kling.

        * fast/shadow-dom/composed-tree-shadow-subtree-expected.txt:
        * fast/shadow-dom/composed-tree-shadow-subtree.html:

2016-04-05  Chris Dumez  <cdumez@apple.com>

        MessageEvent.source window is incorrect once window has been reified
        https://bugs.webkit.org/show_bug.cgi?id=156227
        <rdar://problem/25545831>

        Reviewed by Mark Lam.

        Add tests that cover using MessageEvent.source Window for messaging
        using postMessage(). There are 2 versions of the test, one where the
        main window is reified and one where it is not. The test that has a
        reified main window was failing because this fix.

        * fast/dom/Window/delete-operations-expected.txt: Added.
        * fast/dom/Window/delete-operations.html: Added.
        Make sure that operations on Window are indeed deletable. Previously,
        it would be impossible to delete postMessage, blur, focus and close.

        * fast/dom/Window/messageevent-source-postmessage-expected.txt: Added.
        * fast/dom/Window/messageevent-source-postmessage-reified-expected.txt: Added.
        * fast/dom/Window/messageevent-source-postmessage-reified.html: Added.
        * fast/dom/Window/messageevent-source-postmessage.html: Added.
        * fast/dom/Window/messageevent-source-postmessage2.html: Added.
        * fast/dom/Window/resources/messageevent-source-postmessage-frame.html: Added.
        * fast/dom/Window/post-message-crash2-expected.txt: Added.
        * fast/dom/Window/post-message-crash2.html: Added.

2016-04-05  Myles C. Maxfield  <mmaxfield@apple.com>

        Test listbox clipping to contents rect
        https://bugs.webkit.org/show_bug.cgi?id=156265

        Reviewed by Simon Fraser.

        These tests create some <select><option></option></select>s with padding.
        These list boxes use the zapfino "f" character (because it draws wildly
        far outside of its layout box) to create a case where text inside the list
        box would naturally intersect with the padding. This overflow should be
        clipped so that the padding is undisturbed.

        * fast/forms/listbox-padding-clip-expected.html: Added.
        * fast/forms/listbox-padding-clip-overlay-expected.html: Added.
        * fast/forms/listbox-padding-clip-overlay.html: Added.
        * fast/forms/listbox-padding-clip.html: Added.
        * platform/ios-simulator/TestExpectations: Skip on iOS

2016-03-19  Filip Pizlo  <fpizlo@apple.com>

        DFG and FTL should constant-fold RegExpExec
        https://bugs.webkit.org/show_bug.cgi?id=155270

        Reviewed by Saam Barati.

        * js/regress/script-tests/simple-regexp-exec-folding-fail.js: Added.
        * js/regress/script-tests/simple-regexp-exec-folding.js: Added.
        * js/regress/script-tests/simple-regexp-test-folding-fail.js: Added.
        * js/regress/script-tests/simple-regexp-test-folding.js: Added.
        * js/regress/simple-regexp-exec-folding-expected.txt: Added.
        * js/regress/simple-regexp-exec-folding-fail-expected.txt: Added.
        * js/regress/simple-regexp-exec-folding-fail.html: Added.
        * js/regress/simple-regexp-exec-folding.html: Added.
        * js/regress/simple-regexp-test-folding-expected.txt: Added.
        * js/regress/simple-regexp-test-folding-fail-expected.txt: Added.
        * js/regress/simple-regexp-test-folding-fail.html: Added.
        * js/regress/simple-regexp-test-folding.html: Added.

2016-04-04  Filip Pizlo  <fpizlo@apple.com>

        PolymorphicAccess should have a MegamorphicLoad case
        https://bugs.webkit.org/show_bug.cgi?id=156182

        Reviewed by Geoffrey Garen and Keith Miller.

        * js/regress/megamorphic-load-expected.txt: Added.
        * js/regress/megamorphic-load.html: Added.
        * js/regress/script-tests/megamorphic-load.js: Added.
        * js/regress/string-repeat-not-resolving-no-inline-expected.txt: Added.
        * js/regress/string-repeat-not-resolving-no-inline.html: Added.

2016-04-05  Antti Koivisto  <antti@apple.com>

        Un-marking plugins/focus.html as flaky on mac

        It hasn't flaked after https://trac.webkit.org/r199054

        * platform/mac/TestExpectations:

2016-04-05  Antoine Quint  <graouts@apple.com>

        [WebGL2] Turn the ENABLE_WEBGL2 flag on
        https://bugs.webkit.org/show_bug.cgi?id=156061
        <rdar://problem/25463193>

        Reviewed by Alex Christensen.

        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

        The WebGL2RenderingContext and WebGLVertexArrayObject classes are now defined
        so expectations for this test which lists the configuration of global constructors
        needed to be updated.

        * webgl/webgl-vertex-array-object-defined-expected.txt: Added.
        * webgl/webgl-vertex-array-object-defined.html: Added.

        Test checking that WebGLVertexArrayObject is defined.

        * webgl/webgl2-rendering-context-defined-expected.txt: Added.
        * webgl/webgl2-rendering-context-defined.html: Added.

        Test checking that WebGL2RenderingContext is defined.

        * webgl/webgl2-rendering-context-obtain-expected.txt: Added.
        * webgl/webgl2-rendering-context-obtain.html: Added.

        Test checking that asking for a "webgl2" context returns a WebGL2RenderingContext.

2016-04-05  Chris Dumez  <cdumez@apple.com>

        We sometimes fail to remove outdated entry from the disk cache after revalidation and when the resource is no longer cacheable
        https://bugs.webkit.org/show_bug.cgi?id=156048
        <rdar://problem/25514480>

        Reviewed by Antti Koivisto.

        Add test coverage for the bug.

        * http/tests/cache/disk-cache/disk-cache-remove-several-pending-writes-expected.txt: Added.
        * http/tests/cache/disk-cache/disk-cache-remove-several-pending-writes.html: Added.
        * http/tests/cache/disk-cache/resources/json.php: Added.

2016-04-05  Antti Koivisto  <antti@apple.com>

        Shadow DOM: :host() From The First Shadow Context Should Not Style All Shadow Context
        https://bugs.webkit.org/show_bug.cgi?id=156235
        <rdar://problem/24668206>

        Reviewed by Andreas Kling.

        * fast/shadow-dom/host-style-sharing-expected.html: Added.
        * fast/shadow-dom/host-style-sharing.html: Added.

2016-04-05  Antti Koivisto  <antti@apple.com>

        Use RenderTreeUpdater for text node mutations
        https://bugs.webkit.org/show_bug.cgi?id=156107

        Reviewed by Andreas Kling.

        Mostly just revert non-rendered whitespace related changes from the earlier patches.

        * editing/style/remove-underline-from-stylesheet-expected.txt:
        * editing/style/typing-style-003-expected.txt:
        * platform/ios-simulator/editing/style/typing-style-003-expected.txt: Removed.
        * platform/mac-wk2/editing/mac/spelling/autocorrection-contraction-expected.txt:
        * platform/mac/editing/inserting/editable-html-element-expected.txt:
        * platform/mac/editing/inserting/editing-empty-divs-expected.txt:
        * platform/mac/editing/inserting/insert-at-end-02-expected.txt:
        * platform/mac/editing/pasteboard/4989774-expected.txt:
        * platform/mac/editing/selection/4983858-expected.txt:

2016-04-04  Zalan Bujtas  <zalan@apple.com>

        CSS Triangles Rendering Regression affecting CSS Ribbons.
        https://bugs.webkit.org/show_bug.cgi?id=156121

        Reviewed by Simon Fraser.

        Rebeaseline to match current behaviour.

        * fast/inline/hidpi-inline-text-decoration-with-subpixel-value-expected.html:
        * platform/mac/css1/units/length_units-expected.txt:
        * platform/mac/fast/css/bidi-override-in-anonymous-block-expected.txt:
        * platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt:
        * platform/mac/fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
        * platform/mac/media/video-zoom-expected.txt:
        * platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
        * platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt:
        * platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
        * platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
        * platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:

2016-04-04  Doug Russell  <d_russell@apple.com>

        AX: new lines in content editable elements don't notify accessibility
        https://bugs.webkit.org/show_bug.cgi?id=153361

        Reviewed by Ryosuke Niwa.

        Relocate accessibility edit notification logic into higher level logic.
        Typing notifications relocated into TypingCommand.
        Cut & Paste notifications relocated into Editor.
        Undo relocated into EditCommandComposition.

        * accessibility/mac/selection-value-changes-for-aria-textbox-expected.txt:
        * accessibility/mac/value-change-userinfo-expected.txt: Removed.
        * accessibility/mac/value-change-userinfo.html: Removed.
        * accessibility/mac/value-change/value-change-helpers.js: Added.
        (stringForEditType):
        (bump):
        (shouldBeInsert):
        (shouldBeTyping):
        (shouldBeDelete):
        (shouldBeCut):
        (shouldBePaste):
        (shouldBeReplace):
        (shouldBePasteReplace):
        (shouldBeTypingReplace):
        (shouldBeInsertReplace):
        * accessibility/mac/value-change/value-change-user-info-contenteditable-expected.txt: Added.
        * accessibility/mac/value-change/value-change-user-info-contenteditable.html: Added.
        * accessibility/mac/value-change/value-change-user-info-textarea-expected.txt: Added.
        * accessibility/mac/value-change/value-change-user-info-textarea.html: Added.
        * accessibility/mac/value-change/value-change-user-info-textfield-expected.txt: Added.
        * accessibility/mac/value-change/value-change-user-info-textfield.html: Added.

2016-04-04  Dean Jackson  <dino@apple.com>

        Add color-gamut media query support
        https://bugs.webkit.org/show_bug.cgi?id=155994
        <rdar://problem/23282326>

        Reviewed by Darin Adler.

        New test for color-gamut.

        * fast/media/mq-color-gamut-expected.html: Added.
        * fast/media/mq-color-gamut.html: Added.

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

        Skipping crashing test fast/loader/opaque-base-url.html on Debug
        https://bugs.webkit.org/show_bug.cgi?id=156179

        Unreviewed test gardening.

        * TestExpectations:

2016-04-04  Chris Dumez  <cdumez@apple.com>

        Regression(r196145): Crash in getOwnPropertyDescriptor on http://www.history.com/shows/vikings
        https://bugs.webkit.org/show_bug.cgi?id=156136
        <rdar://problem/25410767>

        Reviewed by Ryosuke Niwa.

        Add a layout test to confirm that calling Object.getOwnPropertyDescriptor(window, "indexedDB")
        does not crash and works as expected.

        * storage/indexeddb/indexeddb-getownpropertyDescriptor-expected.txt: Added.
        * storage/indexeddb/indexeddb-getownpropertyDescriptor.html: Added.

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

        Marking plugins/focus.html as flaky on mac
        https://bugs.webkit.org/show_bug.cgi?id=156174

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

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

        Rebaseline fast/scrolling/rtl-scrollbars-animation-property.html for Windows

        Unreviewed test gardening

        * platform/win/fast/scrolling/rtl-scrollbars-animation-property-expected.txt:

2016-04-04  Frederic Wang  <fwang@igalia.com>

        Refactor RenderMathMLRow layout functions to avoid using flexbox
        https://bugs.webkit.org/show_bug.cgi?id=153208

        Reviewed by Martin Robinson.

        Apply some small adjustments to MathML tests after the refactoring of RenderMathMLRow.

        * TestExpectations: Skip fractions-positions reftest for now. The small difference will be fixed after refactoring completely RenderMathMLFraction.
          We also ignore a test for margin/padding on MathML renderers.
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png: Update reference to take into account small changes in stretch size.
        The intended test behavior (reading variants and construction from the MATH table) is preserved.
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: ditto.
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.png: ditto.
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: ditto.

2016-04-04  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] Unreviewed EFL Gardening on 4th Apr.

        Rebaseline some unexpected failures.

        * platform/efl/editing/execCommand/5481523-expected.txt: Rebaseline after r195740
        * platform/efl/fast/css/layerZOrderCrash-expected.txt: Rebaseline after r195740
        * platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Rebaseline after r187380
        * platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt: Rebaseline after r187380
        * platform/efl/fast/css/word-space-extra-expected.txt: Rebaseline after r192660
        * platform/efl/fast/table/click-near-anonymous-table-expected.txt: Rebaseline after r195740
        * platform/efl/fast/text/svg-font-face-with-kerning-expected.txt: Added. Rebaseline after r182620
        * platform/efl/fast/text/textIteratorNilRenderer-expected.txt: Rebaseline after r195740
        * platform/efl/fast/text/trak-optimizeLegibility-expected.txt: Added. Rebaseline after r191623
        * platform/efl/fast/transforms/bounding-rect-zoom-expected.txt: Rebaseline after r191623
        * platform/efl/svg/wicd/test-rightsizing-b-expected.txt: Rebaseline after r182620

2016-04-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Rebaseline many SVG tests after r197814 and mark new reported failures.

        * platform/gtk/TestExpectations:
        * platform/gtk/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added.
        * 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: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-24-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/filters-light-04-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/render-elems-06-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/render-elems-07-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/render-elems-08-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/text-align-08-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/text-align-08-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/text-fonts-03-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/text-intro-01-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/text-intro-02-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/text-intro-03-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/text-intro-04-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt: Added.
        * platform/gtk/svg/batik/text/textEffect-expected.png:
        * platform/gtk/svg/batik/text/textEffect-expected.txt: Added.
        * platform/gtk/svg/batik/text/textEffect3-expected.png:
        * platform/gtk/svg/batik/text/textEffect3-expected.txt: Added.
        * platform/gtk/svg/batik/text/textPosition2-expected.png:
        * platform/gtk/svg/batik/text/textPosition2-expected.txt:
        * platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.png:
        * platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.txt:
        * platform/gtk/svg/custom/glyph-selection-non-bmp-expected.png:
        * platform/gtk/svg/custom/glyph-selection-non-bmp-expected.txt:
        * platform/gtk/svg/custom/glyph-setting-d-attribute-expected.txt: Added.
        * platform/gtk/svg/custom/glyph-transformation-with-hkern-expected.png:
        * platform/gtk/svg/custom/glyph-transformation-with-hkern-expected.txt: Added.
        * platform/gtk/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
        * platform/gtk/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/gtk/svg/custom/svg-fonts-in-text-controls-expected.txt: Added.
        * platform/gtk/svg/custom/svg-fonts-no-latin-glyph-expected.txt: Added.
        * platform/gtk/svg/custom/svg-fonts-segmented-expected.png:
        * platform/gtk/svg/custom/svg-fonts-segmented-expected.txt:
        * platform/gtk/svg/custom/svg-fonts-with-no-element-reference-expected.png:
        * platform/gtk/svg/custom/svg-fonts-with-no-element-reference-expected.txt: Added.
        * platform/gtk/svg/custom/svg-fonts-without-missing-glyph-expected.png:
        * platform/gtk/svg/custom/svg-fonts-without-missing-glyph-expected.txt:
        * platform/gtk/svg/custom/svg-fonts-word-spacing-expected.png:
        * platform/gtk/svg/custom/svg-fonts-word-spacing-expected.txt:
        * platform/gtk/svg/foreignObject/text-tref-02-b-expected.png:
        * platform/gtk/svg/foreignObject/text-tref-02-b-expected.txt: Added.
        * platform/gtk/svg/text/text-overflow-ellipsis-svgfont-expected.png:
        * platform/gtk/svg/text/text-overflow-ellipsis-svgfont-expected.txt:
        * platform/gtk/svg/text/text-text-05-t-expected.png:
        * platform/gtk/svg/text/text-text-05-t-expected.txt: Added.
        * platform/gtk/svg/transforms/text-with-mask-with-svg-transform-expected.png:
        * platform/gtk/svg/transforms/text-with-mask-with-svg-transform-expected.txt: Added.
        * platform/gtk/svg/wicd/test-rightsizing-b-expected.png:
        * platform/gtk/svg/wicd/test-rightsizing-b-expected.txt:

2016-04-03  Antti Koivisto  <antti@apple.com>

        Shadow DOM: Slot style is not computed
        https://bugs.webkit.org/show_bug.cgi?id=156144

        Reviewed by Darin Adler.

        * fast/shadow-dom/css-scoping-shadow-slot-style-expected.html: Added.
        * fast/shadow-dom/css-scoping-shadow-slot-style.html: Added.

2016-04-03  Saam barati  <sbarati@apple.com>

        Implement Annex B.3.3 function hoisting rules for function code
        https://bugs.webkit.org/show_bug.cgi?id=155672

        Reviewed by Geoffrey Garen.

        * js/kde/func-decl-expected.txt:
        * js/kde/script-tests/func-decl.js:
        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        (valid):
        (onlyValidGlobally):
        (onlyInvalidGlobally):
        (invalid):

2016-04-03  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r198859): fast/scrolling/rtl-scrollbars-animation-property.html fails on non-Mac platforms
        <http://webkit.org/b/155962>

        Unreviewed; land platform-specific test results.

        * platform/gtk/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.
        * platform/ios-simulator/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.
        * platform/win/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.

2016-04-03  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Add truncate operation (rounding to zero)
        https://bugs.webkit.org/show_bug.cgi?id=156072

        Reviewed by Saam Barati.

        * js/regress/many-foreach-calls-expected.txt: Added.
        * js/regress/many-foreach-calls.html: Added.
        * js/regress/math-trunc-expected.txt: Added.
        * js/regress/math-trunc.html: Added.
        * js/regress/script-tests/many-foreach-calls.js: Added.
        forEach calls @toInteger. It includes @trunc now.
        (i.array.forEach):
        * js/regress/script-tests/math-trunc.js: Added.
        Call Math.trunc repeatedly.
        (mathTruncInt):
        (mathTruncDouble):
        (mathTruncMixed):
        (mathTruncDoubleDoesNotCareNegativeZero):

2016-04-02  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Add missed test for using 'with' and 'this' in arrow function.
        https://bugs.webkit.org/show_bug.cgi?id=156059

        Reviewed by Saam Barati.

        Added test case that cover using 'with' with lexically bound 'this' in arrow function, this case was not 
        covered by tests for arrow function.        

        * js/arrowfunction-lexical-bind-this-expected.txt:
        * js/script-tests/arrowfunction-lexical-bind-this.js:

2016-04-02  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r198963): css3/filters/backdrop/dynamic-backdrop-filter-change.html frequently fails
        <http://webkit.org/b/149319>

        Unreviewed attempt to fix layout test.

        * css3/filters/backdrop/dynamic-backdrop-filter-change.html:
        Use testRunner.notifyDone() after testRunner.waitUntilDone().

2016-04-01  Simon Fraser  <simon.fraser@apple.com>

        Backdrop Filter should repaint when changed via script
        https://bugs.webkit.org/show_bug.cgi?id=149319
        rdar://problem/22749892

        Reviewed by Tim Horton.

        * css3/filters/backdrop/dynamic-backdrop-filter-change-expected.html: Added.
        * css3/filters/backdrop/dynamic-backdrop-filter-change.html: Added.

2016-03-31  Zalan Bujtas  <zalan@apple.com>

        putImageData leaves visible artifacts on retina display
        https://bugs.webkit.org/show_bug.cgi?id=156039
        <rdar://problem/25482243>

        Reviewed by Simon Fraser.

        Inflate the repaint rect to cover anti-aliasing bits.

        * fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind-expected.html: Added.
        * fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind.html: Added.

2016-04-01  Brent Fulgham  <bfulgham@apple.com>

        Confirm <a download> satisfies specification criteria
        https://bugs.webkit.org/show_bug.cgi?id=156057

        Reviewed by Andy Estes.

        Import <a download> tests from the Blink project.

        Based on a Blink change (patch by <asanka@chromium.org>):
        <https://src.chromium.org/viewvc/blink?revision=172767&view=revision>

        * TestExpectations: Mark two expected failures with the new tests.
        * fast/dom/HTMLAnchorElement/anchor-download-expected.txt: Updated for
        expected output (blob URL currently not working).
        * fast/dom/HTMLAnchorElement/anchor-nodownload-set-expected.txt: Ditto.
        * http/tests/security/anchor-download-allow-blob-expected.txt: Added.
        * http/tests/security/anchor-download-allow-blob.html: Added.
        * http/tests/security/anchor-download-allow-data-expected.txt: Added.
        * http/tests/security/anchor-download-allow-data.html: Added.
        * http/tests/security/anchor-download-allow-sameorigin-expected.txt: Added.
        * http/tests/security/anchor-download-allow-sameorigin.html: Added.
        * http/tests/security/anchor-download-block-crossorigin-expected.txt: Added.
        * http/tests/security/anchor-download-block-crossorigin.html: Added.
        * http/tests/security/resources/attachment.php: Added.
        * platform/ios-simulator-wk1/TestExpectations: Disable download tests until WK1 support
        is implemented.
        * platform/ios-simulator-wk2/TestExpectations: Disable download tests until
        NETWORK_SESSION support exists.
        * platform/mac/TestExpectations: Reactivate the HTMLAnchorElement tests.
        * platform/mac-wk1/TestExpectations: Disable download tests until WK1 support
        is implemented.

2016-04-01  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests added with r198951
        https://bugs.webkit.org/show_bug.cgi?id=156092

        Unreviewed test gardening.

        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-frame-src-expected.txt:

2016-04-01  Frederic Wang  <fwang@igalia.com>

        Reset CSS spacing rules on the <math> element.
        https://bugs.webkit.org/show_bug.cgi?id=155433

        Reviewed by Brent Fulgham.

        We import a test from Mozilla to ensure that CSS spacing rules line-height, word-spacing and letter-spacing are by default reset to normal on the <math> element.

        * mathml/presentation/css-spacing-expected.html: Added.
        * mathml/presentation/css-spacing.html: Added.

2016-04-01  Daniel Bates  <dabates@apple.com>

        CSP: child-src violations reported as frame-src violation
        https://bugs.webkit.org/show_bug.cgi?id=156092
        <rdar://problem/25478509>

        Reviewed by Andy Estes.

        * TestExpectations: Mark the newly added tests as PASS so that we run them.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt: Substitute "child-src" for "frame-src" in the
        expected console warning.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-frame-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-frame-src.html: Added.

2016-04-01  Ada Chan  <adachan@apple.com>

        Add a way to reset the eventTrigger in ControlsTest in LayoutTests/media/controls/controls-test-helpers.js
        https://bugs.webkit.org/show_bug.cgi?id=154616

        Reviewed by Dean Jackson.

        * media/controls/controls-test-helpers.js:
        (ControlsTest.prototype.resetEventTrigger):

2016-04-01  Ryan Haddad  <ryanhaddad@apple.com>

        Marking three media controls tests as flaky on El Capitan
        https://bugs.webkit.org/show_bug.cgi?id=156112

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-04-01  Joonghun Park  <jh718.park@samsung.com>

        Unreviewed EFL gardening about new RTL scrollbar testcase
        This testcase has been added in r198859.

        * platform/efl/TestExpectations:
        * platform/efl/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.

2016-03-31  Antti Koivisto  <antti@apple.com>

        Separate render tree updating from style resolve
        https://bugs.webkit.org/show_bug.cgi?id=155298

        Reviewed by Andreas Kling.

        * TestExpectations:

            Skip mathml/presentation/menclose-notation-attribute-change-value.html. It will be fixed by upcoming MathML refactoring.

        * css3/blending/repaint/blend-mode-isolate-stacking-context-expected.txt:
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt:

            This is a progression.

        * editing/mac/spelling/autocorrection-contraction-expected.txt:
        * editing/mac/spelling/autocorrection-removing-underline-after-paste-expected.txt:
        * editing/mac/spelling/autocorrection-removing-underline-expected.txt:
        * editing/mac/spelling/autocorrection-simple-expected.txt:
        * editing/style/remove-underline-from-stylesheet-expected.txt:
        * editing/style/typing-style-003-expected.txt:

            Non-rendered whitespace related changes.

        * platform/ios-simulator/TestExpectations:

            Skip fast/regions/position-writing-modes-in-variable-width-regions.html on iOS. Similar tests are mostly already skipped.

        * platform/ios-simulator/editing/style/typing-style-003-expected.txt: Added.
        * platform/mac-wk2/editing/mac/spelling/autocorrection-contraction-expected.txt:
        * platform/mac/editing/inserting/editable-html-element-expected.txt:
        * platform/mac/editing/inserting/editing-empty-divs-expected.txt:
        * platform/mac/editing/inserting/insert-at-end-02-expected.txt:
        * platform/mac/editing/pasteboard/4989774-expected.txt:
        * platform/mac/editing/selection/4983858-expected.txt:

            Non-rendered whitespace related changes.

2016-03-31  Chris Fleizach  <cfleizach@apple.com>

        AX: <attachment> element not accessible
        https://bugs.webkit.org/show_bug.cgi?id=156045

        Reviewed by Joanmarie Diggs.

        * accessibility/attachment-element-expected.txt: Added.
        * accessibility/attachment-element.html: Added.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:

2016-03-31  Nan Wang  <n_wang@apple.com>

        AX: AX hit-testing does not work on WebKit video playback buttons
        https://bugs.webkit.org/show_bug.cgi?id=156084

        Reviewed by Darin Adler.

        * accessibility/mac/video-tag-hit-test-expected.txt: Added.
        * accessibility/mac/video-tag-hit-test.html: Added.

2016-03-31  Daniel Bates  <dabates@apple.com>

        REGRESSION (r196012): <object>/<embed> with no URL does not match source *
        https://bugs.webkit.org/show_bug.cgi?id=156079
        <rdar://problem/25470805>

        Reviewed by Brent Fulgham.

        Add tests to ensure that HTML object and embed elements are allowed by source *.

        * platform/ios-simulator/TestExpectations: Skip added tests as plugins are not supported on iOS.
        * http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-default-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-default-src-star.html: Added.
        * http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-star.html: Added.
        * http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-default-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-default-src-star.html: Added.
        * http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-star.html: Added.

2016-03-31  Saam barati  <sbarati@apple.com>

        [ES6] Disallow var assignments in for-in loops
        https://bugs.webkit.org/show_bug.cgi?id=155451

        Reviewed by Mark Lam.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2016-03-31  Saam barati  <sbarati@apple.com>

        parsing arrow function expressions slows down the parser by 8% lets recoup some loss
        https://bugs.webkit.org/show_bug.cgi?id=155988

        Reviewed by Benjamin Poulain.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        (catch):

2016-03-31  Per Arne Vollan  <peavo@outlook.com>

        [Win] Skip INTL related tests.
        https://bugs.webkit.org/show_bug.cgi?id=156074

        Reviewed by Alex Christensen.

        Temporarily skip failing INTL related tests, because AppleWin currently
        does not have INTL enabled.

        * js/script-tests/array-toLocaleString.js:
        * js/script-tests/date-toLocaleString.js:
        * js/script-tests/intl-collator.js:
        * js/script-tests/intl-datetimeformat.js:
        * js/script-tests/intl-numberformat.js:
        * js/script-tests/intl.js:
        * js/script-tests/number-toLocaleString.js:
        * js/script-tests/string-toLocaleLowerCase.js:
        * js/script-tests/string-toLocaleUpperCase.js:
        * platform/win/TestExpectations:

2016-03-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: ScriptSyntaxTree doesn't handle RestElement AST nodes
        https://bugs.webkit.org/show_bug.cgi?id=156085

        Reviewed by Saam Barati.

        * inspector/model/parse-script-syntax-tree-expected.txt:
        * inspector/model/parse-script-syntax-tree.html:
        Add a test for a RestElement.

2016-03-31  Daniel Bates  <dabates@apple.com>

        REGRESSION (r195605): ASSERTION FAILED: !NoEventDispatchAssertion::isEventDispatchForbidden()
        when pressing the back button on a page with a focused subframe
        https://bugs.webkit.org/show_bug.cgi?id=156033
        <rdar://problem/25446561>

        Reviewed by Chris Dumez.

        Add a test to ensure that when navigating back from a page with a focused <iframe> f, a DOM
        blur event is dispatched to f, a DOM focus event is dispatched at the main frame and that
        an assertion failure does not occur (only applicable in a debug build).

        * fast/history/back-from-page-with-focused-iframe-expected.txt: Added.
        * fast/history/back-from-page-with-focused-iframe.html: Added.

2016-03-31  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r191180): Safari does not send Referer Header to iframe src in certain situations
        https://bugs.webkit.org/show_bug.cgi?id=155754
        <rdar://problem/25296445>

        Unreviewed, roll out r191180 as it breaks sites and needs to be reworked.

        * fast/preloader/frame-src-expected.txt: Removed.
        * fast/preloader/frame-src.html: Removed.
        * fast/preloader/resources/testFrame.html: Removed.
        * http/tests/loading/preload-no-store-frame-src-expected: Removed.
        * http/tests/loading/preload-no-store-frame-src.html: Removed.

2016-03-31  Eric Carlson  <eric.carlson@apple.com>

        Rebaseline media control tests when new media control appearances are finalized
        https://bugs.webkit.org/show_bug.cgi?id=142142

        Reviewed by Brent Fulgham.

        * fullscreen/video-controls-override.html: Test height as an integer.
        * http/tests/media/hls/video-controls-live-stream.html: Start playback explicitly instead of 
          using autoplay, and pause playback before dumping controls state to make the test results
          more deterministic.
        * media/audio-delete-while-slider-thumb-clicked.html: Make the <audio> element wide enough
          that it will always have a timeline scrubber. Trigger test on 'canplaythrough' instead of
          autoplay + 'playing' to simplify the test slightly.
        * media/nodesFromRect-shadowContent.html: Test for controls panel-background instead 
          timeline-container because of changes to the controls structure.
        * platform/mac-mavericks/media/audio-controls-rendering-expected.png: Removed.
        * platform/mac-mavericks/media/audio-controls-rendering-expected.txt: Removed.
        * platform/mac-mavericks/media/video-volume-slider-expected.txt: Removed.
        * platform/mac-wk1/media/controls-styling-expected.txt: Removed.
        * platform/mac-yosemite/http/tests/media/hls/video-controls-live-stream-expected.txt: Added
        * platform/mac-yosemite/media: Added.
        * platform/mac-yosemite/media/controls-styling-expected.txt: Added.
        * platform/mac/TestExpectations: Unskip some tests.
        * platform/mac/accessibility/media-element-expected.txt: Update results.
        * platform/mac/fast/layers/video-layer-expected.png: Ditto.
        * platform/mac/fast/layers/video-layer-expected.txt: Ditto.
        * platform/mac/fullscreen/video-controls-override-expected.txt: Ditto.
        * platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt: Ditto.
        * platform/mac/media/audio-controls-rendering-expected.png: Ditto.
        * platform/mac/media/audio-controls-rendering-expected.txt: Ditto.
        * platform/mac/media/controls-after-reload-expected.png: Ditto.
        * platform/mac/media/controls-after-reload-expected.txt: Ditto.
        * platform/mac/media/controls-strict-expected.png: Ditto.
        * platform/mac/media/controls-strict-expected.txt: Ditto.
        * platform/mac/media/controls-styling-expected.png: Ditto.
        * platform/mac/media/controls-styling-expected.txt: Ditto.
        * platform/mac/media/controls-without-preload-expected.png: Ditto.
        * platform/mac/media/controls-without-preload-expected.txt: Ditto.
        * platform/mac/media/media-controls-clone-expected.png: Ditto.
        * platform/mac/media/media-controls-clone-expected.txt: Ditto.
        * platform/mac/media/media-document-audio-repaint-expected.png: Ditto.
        * platform/mac/media/video-controls-rendering-expected.png: Ditto.
        * platform/mac/media/video-controls-rendering-expected.txt: Ditto.
        * platform/mac/media/video-display-toggle-expected.png: Ditto.
        * platform/mac/media/video-display-toggle-expected.txt: Ditto.
        * platform/mac/media/video-empty-source-expected.png: Ditto.
        * platform/mac/media/video-empty-source-expected.txt: Ditto.
        * platform/mac/media/video-no-audio-expected.png: Ditto.
        * platform/mac/media/video-no-audio-expected.txt: Ditto.
        * platform/mac/media/video-volume-slider-expected.png: Ditto.
        * platform/mac/media/video-volume-slider-expected.txt: Ditto.
        * platform/mac/media/video-zoom-controls-expected.png: Ditto.
        * platform/mac/media/video-zoom-controls-expected.txt: Ditto.

2016-03-31  Ryan Haddad  <ryanhaddad@apple.com>

        Moving a few skipped tests from ios-simulator-wk2 to ios-simulator TestExpectations file.
        
        Unreviewed test gardening.

        These particular tests time out due to lack of touch event support, which applies
        to both wk1 and wk2 ios-simulator testers.

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

2016-03-31  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/console/heapSnapshot.html as a flaky timeout on Mac
        https://bugs.webkit.org/show_bug.cgi?id=156078

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-31  Yusuke Suzuki  <utatane.tea@gmail.com>

        Three js/regress/string-repeat-* are flaky timeouts on Mac
        https://bugs.webkit.org/show_bug.cgi?id=156062

        Reviewed by Saam Barati.

        Reduce the test cases to avoid timeouts.

        * js/regress/script-tests/string-repeat-resolving-no-inline.js:
        * js/regress/script-tests/string-repeat-resolving.js:
        * js/regress/script-tests/string-repeat-small-resolving.js:
        * platform/mac/TestExpectations:

2016-03-31  Zalan Bujtas  <zalan@apple.com>

        Add a -mismatch test case for r198785.
        see webkit.org/b/155973

        Unreviewed.

        * plugins/missing-plugin-placeholder-expected-mismatch.html: Added.
        * plugins/missing-plugin-placeholder.html: Added.

2016-03-31  Nan Wang  <n_wang@apple.com>

        AX: aria-hidden=false causes video fallback content to be exposed to AX API
        https://bugs.webkit.org/show_bug.cgi?id=149278

        Reviewed by Chris Fleizach.

        * accessibility/aria-hidden-negates-no-visibility-expected.txt:
        * accessibility/aria-hidden-negates-no-visibility.html:

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

        [WK2] Support download attribute feature
        https://bugs.webkit.org/show_bug.cgi?id=102914
        <rdar://problem/13177492>

        Reviewed by Darin Adler.

        * imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Update for
        <a download>.
        * imported/w3c/web-platform-tests/html/dom/reflection-text-expected.txt: Ditto.
        * js/dom/dom-static-property-for-in-iteration-expected.txt: Ditto.
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Ditto.

2016-03-31  Ryan Haddad  <ryanhaddad@apple.com>

        Marking three js/regress/string-repeat-* tests as flaky timeouts on Mac
        https://bugs.webkit.org/show_bug.cgi?id=156062

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-31  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Add basic loading of resources for Workers
        https://bugs.webkit.org/show_bug.cgi?id=155886

        Reviewed by Alex Christensen.

        Soup and Mac HTTP backends differ on Content-Length header handling.

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

2016-03-31  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Remove forEach use from Fetch Headers builtin constructor
        https://bugs.webkit.org/show_bug.cgi?id=155967

        Reviewed by Joseph Pecoraro.

        Renaming tests covering user scripts breaking some WebCore JS built ins.

        * fetch/header-constructor-subclass-expected.txt: Added.
        * fetch/header-constructor-subclass.html: Added.
        * fetch/shadowing-forEach-expected.txt: Renamed from LayoutTests/streams/builtin-overrides-expected.txt.
        * fetch/shadowing-forEach.html: Renamed from LayoutTests/fetch/builtin-overrides.html.
        * streams/shadowing-Promise-expected.txt: Renamed from LayoutTests/streams/streams-promises-expected.txt.
        * streams/shadowing-Promise.html: Renamed from LayoutTests/streams/streams-promises.html.
        * streams/shadowing-defineProperty-expected.txt: Renamed from LayoutTests/fetch/builtin-overrides-expected.txt.
        * streams/shadowing-defineProperty.html: Renamed from LayoutTests/streams/builtin-overrides.html.

2016-03-31  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Update web-platform-test fetch API tests
        https://bugs.webkit.org/show_bug.cgi?id=155969

        Reviewed by Darin Adler.

        * TestExpectations: Marking imported/w3c/web-platform-tests/fetch/api/request/request-cache.html as timing out.

2016-03-30  Konstantin Tokarev  <annulen@yandex.ru>

        Fixed typo in fast/css/viewport-vmin-border test.
        https://bugs.webkit.org/show_bug.cgi?id=156028

        Reviewed by Darin Adler.

        * fast/css/viewport-vmin-border.html: Test should should say "vmin" instead of
        "vmax".
        * fast/css/viewport-vmin-border-expected.txt: Adjust expectation.

2016-03-30  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Update handling of SVG elements with presentational role
        https://bugs.webkit.org/show_bug.cgi?id=156042

        Reviewed by Chris Fleizach.

        The expectations needed to be updated to reflect the elements which are
        now being included in the accessibility tree. Also added several new test
        cases with presentational elements that lack global ARIA attributes.

        * accessibility/w3c-svg-presentational-role.html: Added several new test cases.
        * platform/gtk/accessibility/w3c-svg-presentational-role-expected.txt: Updated.
        * platform/mac/accessibility/w3c-svg-presentational-role-expected.txt: Updated

2016-03-30  Michael Saboff  <msaboff@apple.com>

        [ES6] Quantified unicode regular expressions do not work for counts greater than 1
        https://bugs.webkit.org/show_bug.cgi?id=156044

        Reviewed by Mark Lam.

        Added new test cases.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:

2016-03-30  Myles C. Maxfield  <mmaxfield@apple.com>

        [OS X] [RTL Scrollbars] Overlay RTL scrollbars animate in from the wrong side
        https://bugs.webkit.org/show_bug.cgi?id=155962

        Reviewed by Darin Adler.

        This test only prints the "RTL" token when running on certain OSes.

        * fast/scrolling/rtl-scrollbars-animation-property.html: Added.
        * platform/mac/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.

2016-03-30  Sam Weinig  <sam@webkit.org>

        -webkit-text-underline-position: under; does not work in ToT
        https://bugs.webkit.org/show_bug.cgi?id=156038

        Reviewed by David Hyatt.

        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under-vs-alphabetic-expected-mismatch.html: Added.
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under-vs-alphabetic.html: Added.
        Add mismatch test to show that -webkit-text-underline-position: under works.

2016-03-30  Eric Carlson  <eric.carlson@apple.com>

        Fix the media test added in r185402
        https://bugs.webkit.org/show_bug.cgi?id=156040

        Reviewed by Simon Fraser.

        * media/video-transformed-by-javascript.html: Load a valid media file.

2016-03-30  Commit Queue  <commit-queue@webkit.org>

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

        Confirming PLT regression (Requested by anttik on #webkit).

        Reverted changeset:

        "Separate render tree updating from style resolve"
        https://bugs.webkit.org/show_bug.cgi?id=155298
        http://trac.webkit.org/changeset/198828

2016-03-30  Keith Miller <keith_miller@apple.com>

        Unreviewed, rollout r198808. The patch causes crashes on 32-bit and appears to be a JSBench regression.

2016-03-30  Myles C. Maxfield  <mmaxfield@apple.com>

        [OS X] [RTL Scrollbars] List boxes should obey RTL scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=155991

        Reviewed by Darin Adler.

        As with the previous patches, mark new tests as failing on all OSes that
        don't support RTL scrollbars.

        * TestExpectations:
        * fast/scrolling/rtl-scrollbars-listbox-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox-scroll-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox-scroll.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox-select-left-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox-select-left.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox-select-right-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox-select-right.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox-simple-expected-mismatch.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox-simple.html: Added.
        * fast/scrolling/rtl-scrollbars-listbox.html: Added.

2016-03-30  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Implement String.prototype.repeat in builtins JS
        https://bugs.webkit.org/show_bug.cgi?id=155974

        Reviewed by Darin Adler.

        Update the error messages.

        * js/regress/script-tests/string-repeat-not-resolving-fixed.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-not-resolving-no-inline.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-not-resolving.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-resolving-fixed.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-resolving-no-inline.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-resolving.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-single-not-resolving.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-single-resolving.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-small-not-resolving.js: Added.
        (test):
        * js/regress/script-tests/string-repeat-small-resolving.js: Added.
        (test):
        * js/regress/string-repeat-not-resolving-expected.txt: Added.
        * js/regress/string-repeat-not-resolving-fixed-expected.txt: Added.
        * js/regress/string-repeat-not-resolving-fixed.html: Added.
        * js/regress/string-repeat-not-resolving-noinline-expected.txt: Added.
        * js/regress/string-repeat-not-resolving-noinline.html: Added.
        * js/regress/string-repeat-not-resolving.html: Added.
        * js/regress/string-repeat-resolving-expected.txt: Added.
        * js/regress/string-repeat-resolving-fixed-expected.txt: Added.
        * js/regress/string-repeat-resolving-fixed.html: Added.
        * js/regress/string-repeat-resolving-no-inline-expected.txt: Added.
        * js/regress/string-repeat-resolving-no-inline.html: Added.
        * js/regress/string-repeat-resolving.html: Added.
        * js/regress/string-repeat-single-not-resolving-expected.txt: Added.
        * js/regress/string-repeat-single-not-resolving.html: Added.
        * js/regress/string-repeat-single-resolving-expected.txt: Added.
        * js/regress/string-repeat-single-resolving.html: Added.
        * js/regress/string-repeat-small-not-resolving-expected.txt: Added.
        * js/regress/string-repeat-small-not-resolving.html: Added.
        * js/regress/string-repeat-small-resolving-expected.txt: Added.
        * js/regress/string-repeat-small-resolving.html: Added.
        * js/script-tests/string-repeat.js:
        * js/string-repeat-expected.txt:

2016-03-24  Simon Fraser  <simon.fraser@apple.com>

        Make animation events non-cancelable
        https://bugs.webkit.org/show_bug.cgi?id=78110

        Reviewed by Dan Bates.

        * animations/animation-events-not-cancelable-expected.txt: Added.
        * animations/animation-events-not-cancelable.html: Added.

2016-03-30  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Mark svg zoom and pageoverlay tests to failure

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations: Assign new bugs to the failures.

2016-03-30  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Refactor positioned children code
        https://bugs.webkit.org/show_bug.cgi?id=155972

        Reviewed by Sergio Villar Senin.

        Added RTL cases for most of the positioned tests,
        which are now passing with this patch.

        Pending to add RTL tests when "left" and "right" are not "auto"
        (the item doesn't use the static inline position),
        but that will be done in the other patch.

        * fast/css-grid-layout/absolute-positioning-grid-container-containing-block-expected.txt:
        * fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html:
        * fast/css-grid-layout/absolute-positioning-grid-container-parent-expected.txt:
        * fast/css-grid-layout/absolute-positioning-grid-container-parent.html:
        * fast/css-grid-layout/grid-positioned-items-background-expected.html:
        * fast/css-grid-layout/grid-positioned-items-background.html:
        Fix test setting transparent background as it couldn't fail before.
        Also using a different width, to have different values when we create the RTL version.
        * fast/css-grid-layout/grid-positioned-items-implicit-grid-expected.txt:
        * fast/css-grid-layout/grid-positioned-items-implicit-grid-line-expected.txt:
        * fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html:
        * fast/css-grid-layout/grid-positioned-items-implicit-grid.html:
        * fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line-expected.txt:
        * fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html:
        * fast/css-grid-layout/grid-sizing-positioned-items-expected.txt:
        * fast/css-grid-layout/grid-sizing-positioned-items.html:

2016-03-26  Antti Koivisto  <antti@apple.com>

        Separate render tree updating from style resolve
        https://bugs.webkit.org/show_bug.cgi?id=155298

        Reviewed by Andreas Kling.

        * TestExpectations:

            Skip mathml/presentation/menclose-notation-attribute-change-value.html. It will be fixed by upcoming MathML refactoring.

        * css3/blending/repaint/blend-mode-isolate-stacking-context-expected.txt:
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt:

            This is a progression.

        * editing/mac/spelling/autocorrection-contraction-expected.txt:
        * editing/mac/spelling/autocorrection-removing-underline-after-paste-expected.txt:
        * editing/mac/spelling/autocorrection-removing-underline-expected.txt:
        * editing/mac/spelling/autocorrection-simple-expected.txt:
        * editing/style/remove-underline-from-stylesheet-expected.txt:
        * editing/style/typing-style-003-expected.txt:

            Non-rendered whitespace related changes.

        * platform/ios-simulator/TestExpectations:

            Skip fast/regions/position-writing-modes-in-variable-width-regions.html on iOS. Similar tests are mostly already skipped.

        * platform/ios-simulator/editing/style/typing-style-003-expected.txt: Added.
        * platform/mac-wk2/editing/mac/spelling/autocorrection-contraction-expected.txt:
        * platform/mac/editing/inserting/editable-html-element-expected.txt:
        * platform/mac/editing/inserting/editing-empty-divs-expected.txt:
        * platform/mac/editing/inserting/insert-at-end-02-expected.txt:
        * platform/mac/editing/pasteboard/4989774-expected.txt:
        * platform/mac/editing/selection/4983858-expected.txt:

            Non-rendered whitespace related changes.

2016-03-29  Nan Wang  <n_wang@apple.com>

        AX: VoiceOver not announcing the right header information for table on iOS
        https://bugs.webkit.org/show_bug.cgi?id=155907

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/table-row-column-headers-expected.txt: Added.
        * accessibility/ios-simulator/table-row-column-headers.html: Added.

2016-03-29  Dana Burkart and Matthew Hanson  <dburkart@apple.com>

        Web Inspector: JS PrettyPrinting in do/while loops, "while" should be on the same line as "}" if there was a closing brace
        https://bugs.webkit.org/show_bug.cgi?id=117616
        <rdar://problem/15796884>

        Reviewed by Joseph Pecoraro.

        * inspector/codemirror/prettyprinting-javascript-expected.txt:
        * inspector/codemirror/prettyprinting-javascript.html:
        * inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-loop-expected.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-loop.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-within-if-expected.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-within-if.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/if-followed-by-while-expected.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/if-followed-by-while.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/if-while-within-do-while-expected.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/if-while-within-do-while.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/while-within-do-while-expected.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/while-within-do-while.js: Added.

2016-03-29  Saam barati  <sbarati@apple.com>

        Fix typos in our error messages and remove some trailing periods
        https://bugs.webkit.org/show_bug.cgi?id=155985

        Reviewed by Mark Lam.

        * js/string-includes-expected.txt:

2016-03-29  Keith Miller  <keith_miller@apple.com>

        [ES6] Add support for Symbol.isConcatSpreadable.
        https://bugs.webkit.org/show_bug.cgi?id=155351

        Reviewed by Saam Barati.

        Fix tests for Symbol.isConcatSpreadable on the Symbol object.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/array-prototype-properties-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-03-29  Nan Wang  <n_wang@apple.com>

        AX: VoiceOver: Navigating Numbered Lists Causes Number to be announced On Each Line of List
        https://bugs.webkit.org/show_bug.cgi?id=155984

        Reviewed by Chris Fleizach.

        * accessibility/mac/attributed-string-with-listitem-multiple-lines-expected.txt: Added.
        * accessibility/mac/attributed-string-with-listitem-multiple-lines.html: Added.

2016-03-29  Antonio Gomes  <tonikitoo@webkit.org>

        Wheel events' latching state is not reset when appropriate
        https://bugs.webkit.org/show_bug.cgi?id=155746

        Reviewed by Simon Fraser.

        * tiled-drawing/scrolling/resources/selects-iframe.html: Added.
        * tiled-drawing/scrolling/scroll-iframe-latched-selects.html: Added.

2016-03-29  Saam barati  <sbarati@apple.com>

        "Can not" => "cannot" in String.prototype error messages
        https://bugs.webkit.org/show_bug.cgi?id=155895

        Reviewed by Mark Lam.

        * js/string-includes-expected.txt:

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

        Adding Timeout to ios-simulator TestExpectations for perf/adding-radio-buttons.html
        https://bugs.webkit.org/show_bug.cgi?id=154055

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: We should have a way to capture heap snapshots programatically.
        https://bugs.webkit.org/show_bug.cgi?id=154407
        <rdar://problem/24726292>

        Reviewed by Timothy Hatcher.

        * inspector/console/heapSnapshot-expected.txt: Added.
        * inspector/console/heapSnapshot.html: Added.
        Test that we get expected data and events after calling
        console.takeHeapSnapshot when the inspector is open.

2016-03-29  Eric Carlson  <eric.carlson@apple.com>

        media/track/track-remove-track.html is flaky, crashing and failing
        https://bugs.webkit.org/show_bug.cgi?id=130971

        Reviewed by Alexey Proskuryakov.

        * platform/mac/TestExpectations: Mark crash as flaky only.

2016-03-29  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Skip to test custom element test cases

        Unreviewed EFL gardening.

        Custom element is not supported by EFL yet. Additionally mark 4 security tests to timeout.

        * platform/efl/TestExpectations:

2016-03-29  Joseph Pecoraro  <pecoraro@apple.com>

        Audit WebCore builtins for user overridable code
        https://bugs.webkit.org/show_bug.cgi?id=155923

        Reviewed by Youenn Fablet.

        * fetch/builtin-overrides-expected.txt: Added.
        * fetch/builtin-overrides.html: Added.
        * streams/builtin-overrides-expected.txt: Added.
        * streams/builtin-overrides.html: Added.

2016-03-28  Zalan Bujtas  <zalan@apple.com>

        Pixel turds when bordered div is resized on SMF forum software.
        https://bugs.webkit.org/show_bug.cgi?id=155957
        <rdar://problem/25010646>

        Reviewed by Simon Fraser.

        Use unmodified, non-snapped bounding box rect when computing dirty rects.

        * fast/repaint/hidpi-box-with-subpixel-height-inflates-expected.txt: Added.
        * fast/repaint/hidpi-box-with-subpixel-height-inflates.html: Added.

2016-03-28  Chris Fleizach  <cfleizach@apple.com>

        AX: Crash when AX trying to create element for an old auto fill element
        https://bugs.webkit.org/show_bug.cgi?id=155943

        Reviewed by Joanmarie Diggs.

        * accessibility/auto-fill-crash-expected.txt: Added.
        * accessibility/auto-fill-crash.html: Added.

2016-03-28  Chris Fleizach  <cfleizach@apple.com>

        AX: iOS: Can't navigate inside ContentEditable fields with voiceover enabled
        https://bugs.webkit.org/show_bug.cgi?id=155942

        Reviewed by Joanmarie Diggs.

        * accessibility/set-selected-text-range-contenteditable-expected.txt: Added.
        * accessibility/set-selected-text-range-contenteditable.html: Added.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:

2016-03-28  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening on 29th Mar.

        Mark svg text tests to failure. Besides remove duplicated a test.

        * platform/efl/TestExpectations:

2016-03-28  Myles C. Maxfield  <mmaxfield@apple.com>

        [RTL Scrollbars] Position:sticky can be positioned under vertical RTL scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=155949

        Reviewed by Simon Fraser.

        * platform/ios-simulator/TestExpectations:
        * fast/scrolling/rtl-scrollbars-sticky-document-2-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-document-2.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-document-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-document.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-iframe-2-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-iframe-2.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-iframe-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-iframe.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-sticky-overflow-scroll.html: Added.

2016-03-28  Zalan Bujtas  <zalan@apple.com>

        Setup cloned continuation renderer properly.
        https://bugs.webkit.org/show_bug.cgi?id=155640

        Reviewed by Simon Fraser.

        Set the "renderer has outline ancestor" flag on the cloned inline renderer when
        we split the original renderer for continuation.
        It ensures that when the cloned part of the continuation requests repaint, we properly
        invalidate the ancestor outline (if needed).

        * fast/inline/outline-with-continuation-assert-expected.txt: Added.
        * fast/inline/outline-with-continuation-assert.html: Added.

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

        Marking transitions/cancel-transition.html as flaky on ios-sim-wk2
        https://bugs.webkit.org/show_bug.cgi?id=155948

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

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

        Marking fast/loader/scroll-position-restored-on-back.html as flaky on ios-sim debug WK2
        https://bugs.webkit.org/show_bug.cgi?id=155947

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-03-28  Jer Noble  <jer.noble@apple.com>

        Unreviewed rebaselining; Different track IDs are selected in El Capitan.

        * platform/mac/media/track/video-track-alternate-groups-expected.txt: Added.

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

        Disk cache speculative validation requests do not have the 'Referer' HTTP header set
        https://bugs.webkit.org/show_bug.cgi?id=155890
        <rdar://problem/25279962>

        Reviewed by Antti Koivisto.

        Update existing layout test to make sure that speculative validation
        requests have their HTTP 'Referer' header set.

        * http/tests/cache/disk-cache/speculative-validation/validation-request-expected.txt:
        * http/tests/cache/disk-cache/speculative-validation/validation-request.html:

2016-03-28  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Mark failing indexeddb tests to failure

        Unreviewed EFL gardening.

        Additionally a shadow dom test is marked to failure because shadow dom is not enabled on EFL port yet.

        * platform/efl/TestExpectations:

2016-03-28  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] Remove the more passed tests after r198728

        Unreviewed EFL gardening. 

        * platform/efl/TestExpectations:

2016-03-27  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] REGRESSION(r188793): It made 200 layout tests and Bindings/event-target-wrapper.html performance test fail
        https://bugs.webkit.org/show_bug.cgi?id=148470

        Reviewed by Darin Adler.

        * platform/efl/TestExpectations: Unskip the passed tests.

2016-03-27  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL][AX] Mark AX failing tests to failure

        Unreveiwed EFL gardening.

        * platform/efl/TestExpectations:

2016-03-27  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Mark rtl-scrollbar's tests to pass with incorrectly

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations: Though rtl scrollbar isn't supported by EFL yet, it has been passed.

2016-03-26  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Remove duplicated tests in EFL TextExpectations.

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations: Clean up duplicated pathes.

2016-03-26  Joseph Pecoraro  <pecoraro@apple.com>

        ES6 Class syntax. Invoking method of parent class in constructor before super() lead to crash
        https://bugs.webkit.org/show_bug.cgi?id=152108

        Reviewed by Ryosuke Niwa.

        * js/arrowfunction-superproperty-expected.txt:
        * js/script-tests/arrowfunction-superproperty.js:
        * js/script-tests/class-syntax-name.js:
        * js/script-tests/class-syntax-string-and-numeric-names.js:
        Remove stale FIXMEs from LayoutTests where the bugs have been fixed.

2016-03-25  Joseph Pecoraro  <pecoraro@apple.com>

        Date.prototype.toLocaleDateString uses overridable Object.create
        https://bugs.webkit.org/show_bug.cgi?id=155917

        Reviewed by Mark Lam.

        * js/regress-155917-expected.txt: Added.
        * js/regress-155917.html: Added.
        * js/script-tests/regress-155917.js: Added.
        (Object.create):

2016-03-25  Jer Noble  <jer.noble@apple.com>

        [Mac] Audio tracks in alternate groups are not represented correctly as AudioTracks
        https://bugs.webkit.org/show_bug.cgi?id=155891
        <rdar://problem/24841372>

        Reviewed by Eric Carlson.

        * media/content/audio-tracks-alternate-group-with-fallback.mp4: Added.
        * media/content/audio-tracks-no-alternate-group.mp4: Added.
        * media/content/audio-tracks-some-in-alternate-group.mp4: Added.
        * media/track/video-track-alternate-groups-expected.txt: Added.
        * media/track/video-track-alternate-groups.html: Added.
        * platform/mac-yosemite/media/track/video-track-alternate-groups-expected.txt: Added.

2016-03-25  Mark Lam  <mark.lam@apple.com>

        ES6's throwing of TypeErrors on access of RegExp.prototype flag properties breaks websites.
        https://bugs.webkit.org/show_bug.cgi?id=155904

        Reviewed by Geoffrey Garen.

        * ietestcenter/Javascript/TestCases/15.10.7.2-1.js:
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.3-1.js:
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.4-1.js:
        (ES5Harness.registerTest.test):
        - updated these tests to not expect a TypeError due to the workaround.

        * js/pic/cached-named-property-getter.html:
        - updated this test to use the source property (which still throws a TypeError)
          instead of the ignoreCase property which no longer does.

2016-03-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking compositing/repaint/become-overlay-composited-layer.html as flaky on ios-sim-wk2
        https://bugs.webkit.org/show_bug.cgi?id=155737

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-03-25  Brady Eidson  <beidson@apple.com>

        Soften push/replaceState frequency restrictions.
        <rdar://problem/25228439> and https://bugs.webkit.org/show_bug.cgi?id=155901

        Rubber-stamped by Timothy Hatcher.

        * fast/loader/stateobjects/pushstate-frequency-with-user-gesture-expected.txt: Removed.
        * fast/loader/stateobjects/pushstate-frequency-with-user-gesture.html: Removed.
        * fast/loader/stateobjects/replacestate-frequency-with-user-gesture-expected.txt: Removed.
        * fast/loader/stateobjects/replacestate-frequency-with-user-gesture.html: Removed.

2016-03-23  Dave Hyatt  <hyatt@apple.com>

        Implement the allow-end value of the hanging-punctuation CSS property.
        https://bugs.webkit.org/show_bug.cgi?id=104996

        Reviewed by Simon Fraser.

        * fast/text/hanging-punctuation-allow-end-basic-expected.html: Added.
        * fast/text/hanging-punctuation-allow-end-basic.html: Added.
        * fast/text/hanging-punctuation-allow-end-expected.html: Added.
        * fast/text/hanging-punctuation-allow-end-inlines-expected.html: Added.
        * fast/text/hanging-punctuation-allow-end-inlines.html: Added.
        * fast/text/hanging-punctuation-allow-end.html: Added.

2016-03-25  Caitlin Potter  <caitp@igalia.com>

        [JSC] implement String.prototype.padStart() and String.prototype.padEnd() proposal
        https://bugs.webkit.org/show_bug.cgi?id=155795

        Reviewed by Darin Adler.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-03-25  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Add basic loading of resources
        https://bugs.webkit.org/show_bug.cgi?id=155637

        Reviewed by Darin Adler.

        * TestExpectations: Removed flaky test expectations.
        * http/tests/fetch/closing-while-fetching-expected.txt: Added.
        * http/tests/fetch/closing-while-fetching.html: Added.
        * http/tests/fetch/get-response-body-while-loading-expected.txt: Added.
        * http/tests/fetch/get-response-body-while-loading.html: Added.
        * http/tests/resources/download-json-with-delay.php: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt: Added.

2016-03-25  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening.

        Mark new failing tests with existing or new bug.

        * platform/efl/TestExpectations:

2016-03-25  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening.

        Mark some blink imported tests to timeout, imageonlyfailure.
        Besides some AX tests need to have new baseline, which have been tested since r197616.

        * platform/efl/TestExpectations:

2016-03-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening. Mark crash tests in proper category.

        * platform/efl/TestExpectations:

2016-03-24  Daniel Bates  <dabates@apple.com>

        CSP: Move logic for reporting a violation from ContentSecurityPolicyDirectiveList to ContentSecurityPolicy
        https://bugs.webkit.org/show_bug.cgi?id=155842
        <rdar://problem/25340377>
        And
        https://bugs.webkit.org/show_bug.cgi?id=155133

        Reviewed by Brent Fulgham.

        Update expected results to reflect new error message text for an inline event handler violation.

        * http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta-expected.txt:
        * http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy-expected.txt:
        * http/tests/security/contentSecurityPolicy/script-src-none-inline-event-expected.txt:

2016-03-24  Saam barati  <sbarati@apple.com>

        ES6: Implement IsRegExp function and use where needed in String.prototype.* methods
        https://bugs.webkit.org/show_bug.cgi?id=155854

        Reviewed by Mark Lam.

        * js/string-includes-expected.txt:

2016-03-24  Commit Queue  <commit-queue@webkit.org>

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

        Caused use-after-free (Requested by ap on #webkit).

        Reverted changeset:

        "[Fetch API] Add basic loading of resources"
        https://bugs.webkit.org/show_bug.cgi?id=155637
        http://trac.webkit.org/changeset/198627

2016-03-24  Saam barati  <sbarati@apple.com>

        Web Inspector: Separate Debugger enable state from the debugger breakpoints enabled state
        https://bugs.webkit.org/show_bug.cgi?id=152193
        <rdar://problem/23867520>

        Reviewed by Joseph Pecoraro.

        * inspector/script-profiler/event-type-API.html:
        * inspector/script-profiler/event-type-Microtask.html:
        * inspector/script-profiler/event-type-Other.html:

2016-03-24  Daniel Bates  <dabates@apple.com>

        Update expected results following <http://trac.webkit.org/changeset/198591>
        (https://bugs.webkit.org/show_bug.cgi?id=155777)

        * http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt:

2016-03-24  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Add basic loading of resources
        https://bugs.webkit.org/show_bug.cgi?id=155637

        Reviewed by Darin Adler.

        * TestExpectations: Removed flaky test expectations.
        * http/tests/fetch/closing-while-fetching-expected.txt: Added.
        * http/tests/fetch/closing-while-fetching.html: Added.
        * http/tests/fetch/get-response-body-while-loading-expected.txt: Added.
        * http/tests/fetch/get-response-body-while-loading.html: Added.
        * http/tests/resources/download-json-with-delay.php: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt: Added.

2016-03-24  Michael Saboff  <msaboff@apple.com>

        [ES6] Greedy unicode RegExp's don't properly backtrack past non BMP characters
        https://bugs.webkit.org/show_bug.cgi?id=155829

        Reviewed by Saam Barati.

        Added new test cases.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:

2016-03-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening.

        Unskip passing tests, which have been passed a long time ago.
        Failed to track correct revision on EFL buildbot.

        * platform/efl/TestExpectations:

2016-03-23  Commit Queue  <commit-queue@webkit.org>

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

        Broke two API tests on iOS simulator (Requested by ap on
        #webkit).

        Reverted changeset:

        "Media elements allowed to play without a user gesture, but
        requiring fullscreen playback, should not be allowed to
        autoplay."
        https://bugs.webkit.org/show_bug.cgi?id=155599
        http://trac.webkit.org/changeset/198538

2016-03-23  Commit Queue  <commit-queue@webkit.org>

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

        "It broke debugging in the web inspector" (Requested by
        saamyjoon on #webkit).

        Reverted changeset:

        "We should not disable inlining when the debugger is enabled"
        https://bugs.webkit.org/show_bug.cgi?id=155741
        http://trac.webkit.org/changeset/198582

2016-03-23  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: y2 >= y1 in WebCore::RenderElement::drawLineForBoxSide
        https://bugs.webkit.org/show_bug.cgi?id=155791

        Reviewed by Simon Fraser.

        With certain combination of border rect and adjacent width, we could end up with an empty final rect.
        This patch ensures that we don't try to paint this empty rect. 

        * fast/borders/empty-outline-border-assert-expected.txt: Added.
        * fast/borders/empty-outline-border-assert.html: Added.

2016-03-23  Michael Saboff  <msaboff@apple.com>

        JavaScriptCore ArrayPrototype::join shouldn't cache butterfly when it makes effectful calls
        https://bugs.webkit.org/show_bug.cgi?id=155776

        Reviewed by Saam Barati.

        New test.

        * js/regress-155776-expected.txt: Added.
        * js/regress-155776.html: Added.
        * js/script-tests/regress-155776.js: Added.
        (fillBigArrayViaToString):
        (Function.prototype.toString):

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

        CSP: Make violation console messages concise and consistent
        https://bugs.webkit.org/show_bug.cgi?id=155777
        <rdar://problem/25304031>

        Reviewed by Darin Adler.

        Update expected results to reflect new violation message text.

        * fast/workers/worker-inherits-csp-blocks-xhr-expected.txt:
        * http/tests/contentextensions/block-cookies-in-csp-report-expected.txt:
        * http/tests/contentextensions/block-csp-report-expected.txt:
        * http/tests/contentextensions/hide-on-csp-report-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/base-uri-deny-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt:
        ...
        * http/tests/security/contentSecurityPolicy/xsl-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/xsl-img-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/xsl-redirect-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-1-expected.txt:
        * http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr-expected.txt:
        * http/tests/security/isolatedWorld/image-load-should-not-bypass-main-world-csp-expected.txt:
        * media/csp-blocks-video-expected.txt:

2016-03-23  Brent Fulgham  <bfulgham@apple.com>

        [WebGL] Non-power-of-two texture optimization
        https://bugs.webkit.org/show_bug.cgi?id=118409

        Reviewed by Dean Jackson.

        * fast/canvas/webgl/texture-alternating-npot-expected.txt: Added.
        * fast/canvas/webgl/texture-alternating-npot.html: Added.

2016-03-23  Saam barati  <sbarati@apple.com>

        We should not disable inlining when the debugger is enabled
        https://bugs.webkit.org/show_bug.cgi?id=155741

        Reviewed by Oliver Hunt.

        * inspector/debugger/breakpoint-with-inlining-expected.txt: Added.
        * inspector/debugger/breakpoint-with-inlining.html: Added.

2016-03-22  Darin Adler  <darin@apple.com>

        Tiny tweak to test I just landed.

        * http/tests/security/cross-origin-modal-dialog-base-expected.txt:
        Fix expected result now that I fixed the less than sign.
        * http/tests/security/cross-origin-modal-dialog-base.html: Use &lt;
        so the < character won't create an HTML element instead of text.

2016-03-22  Darin Adler  <darin@apple.com>

        showModalDialog code runs with "first window" set to wrong window
        https://bugs.webkit.org/show_bug.cgi?id=155710

        Test by John Wilander.

        Reviewed by Brent Fulgham.

        * http/tests/security/cross-origin-modal-dialog-base-expected.txt: Added.
        * http/tests/security/cross-origin-modal-dialog-base.html: Added.
        * http/tests/security/resources/cross-origin-modal-dialog-base-1.html: Added.
        * http/tests/security/resources/cross-origin-modal-dialog-base-2.html: Added.
        * platform/wk2/TestExpectations: Skip test until we get better showModalDialog support.

2016-03-22  Said Abou-Hallawa  <sabouhallawa@apple.com>

        userSpaceOnUse patterns are not stroked for empty object bounding box elements
        https://bugs.webkit.org/show_bug.cgi?id=109758

        Reviewed by Brent Fulgham.
        
        Ensure the SVG pattern is drawn correctly if it is used as a stroke for
        empty objectBoundingBox elements.

        * svg/custom/pattern-units-fill-stroke-expected.svg: Added.
        * svg/custom/pattern-units-fill-stroke.svg: Added.

2016-03-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Post-review test update after r198560
        https://bugs.webkit.org/show_bug.cgi?id=155533

        Unreviewed.

        * fast/scrolling/rtl-scrollbars-positioning-expected.html:
        * fast/scrolling/rtl-scrollbars-positioning.html:

2016-03-22  John Wilander  <wilander@apple.com>

        Restrict WebSockets header parsing according to RFC6455 and RFC7230. Based on Lamarque V. Souza's original patch.
        https://bugs.webkit.org/show_bug.cgi?id=82714

        Reviewed by Brent Fulgham.

        * http/tests/websocket/tests/hybi/error-event-ready-state-expected.txt: Removed.
            - See comment below on the associated HTML file.
        * http/tests/websocket/tests/hybi/error-event-ready-state-non-existent-url-with-server-responding-404-expected.txt: Added.
        * http/tests/websocket/tests/hybi/error-event-ready-state-non-existent-url-with-server-responding-404.html: Added.
            - Uses PHP to respond with an HTTP 1.1 404. The old (now removed) test case failed once we restricted WebSockets to HTTP 1.1 and above because the test server responded with an HTTP 1.0 404 for non-existing files.
        * http/tests/websocket/tests/hybi/error-event-ready-state.html: Removed.
            - This test case was renamed "error-event-ready-state-non-existent-url-with-server-responding-404" to make it clear it now relies on a server responding with HTTP 1.1 404.
        * http/tests/websocket/tests/hybi/handshake-fail-by-invalid-http-version-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-invalid-http-version.html: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-invalid-http-version_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            - Test case for lower than HTTP 1.1 versions.
        * http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header-expected.txt:
        * http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header-expected.txt:
        * http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header-expected.txt:
            - Updated to pass with lowercase 'must not' in the failure reason.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-accept-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-accept.html: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-accept_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            - Test case for non-ASCII characters in new HTTP header Sec-WebSocket-Accept.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-extensions-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-extensions.html: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-extensions_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            - Test case for non-ASCII characters in new HTTP header Sec-WebSocket-Extensions.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-protocol-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-protocol.html: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-protocol_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            - Test case for non-ASCII characters in new HTTP header Sec-WebSocket-Protocol.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-status-line-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-status-line.html: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-status-line_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            - Test case for non-ASCII characters in HTTP status line.
        * http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status.html: Added.
        * http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            - Test case for null character in the middle of the HTTP status line.
        * http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null_wsh.py:
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            - This test case was changed to prepend a null character to the actual status line. Previously it used a WebSockets frame with a prepended null before the status line. The Python WebSockets lib uses non-ASCII characters in that frame which meant the test case hit the non-ASCII check before the null check. It was confusing to me that the description and intent of the test was to run with a null in the status line, not in a frame before the status line. I believe the changed test case better reflects the intention of the test.
        * http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1-expected.txt: Added.
        * http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1.html: Added.
        * http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
            - Test case for HTTP versions higher than 1.1.
        * http/tests/websocket/tests/hybi/resources/status-404-without-body.php: Added.
            - To use with the error-event-ready-state-non-existent-url-with-server-responding-404.html test described above.

2016-03-22  Myles C. Maxfield  <mmaxfield@apple.com>

        [RTL Scrollbars] Position: absolute divs are covered by vertical scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=155533

        Reviewed by Darin Adler.

        * TestExpectations:
        * fast/scrolling/rtl-scrollbars-positioning-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-positioning.html: Added.

2016-03-22  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/console/console-api.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=143719

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-22  Ryan Haddad  <ryanhaddad@apple.com>

        Fixing a typo in the Mac TestExpectations file.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-22  Michael Saboff  <msaboff@apple.com>

        [ES6] Implement RegExp.prototype[@@match]
        https://bugs.webkit.org/show_bug.cgi?id=155711

        Reviewed by Filip Pizlo.

        Updated tests for exception string changes and added Symbol.match.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/string-prototype-properties-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T3-expected.txt:

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

        CSP: Should only execute <script> or apply <style> if its hash appears in all policies
        https://bugs.webkit.org/show_bug.cgi?id=155709
        <rdar://problem/25263368>

        Reviewed by Darin Adler.

        Add tests to ensure that we only execute/apply a <script>/<style> if its hash is listed in all CSPs
        delivered with the page.

        * TestExpectations: Mark added tests as PASS so that we run them.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-multiple-policies-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-multiple-policies.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-multiple-policies-expected.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-multiple-policies.html: Added.

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

        AX: Change "dialog" role description to "web dialog" so users can distinguish from native alerts
        https://bugs.webkit.org/show_bug.cgi?id=154292

        Reviewed by Chris Fleizach.

        * platform/mac-mavericks/accessibility/roles-exposed-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

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

        CSP: Check inline event handlers on each run, not only the first
        https://bugs.webkit.org/show_bug.cgi?id=115700
        <rdar://problem/24211159>

        Reviewed by Andy Estes.

        Update expected result for test http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta.html
        and remove its entry from file LayoutTests/TestExpectations now that it passes.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta-expected.txt:

2016-03-22  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping media/media-document-audio-repaint.html on El Capitan Debug WK2
        https://bugs.webkit.org/show_bug.cgi?id=155757

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-03-22  Ryan Haddad  <ryanhaddad@apple.com>

        Marking perf/document-contains.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=155755

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-03-22  Eric Carlson  <eric.carlson@apple.com>

        [OSX] Rebase media/media-document-audio-repaint.html
        https://bugs.webkit.org/show_bug.cgi?id=155733

        Reviewed by Darin Adler.

        * platform/mac/TestExpectations:
        * platform/mac/media/media-document-audio-repaint-expected.png:
        * platform/mac/media/media-document-audio-repaint-expected.txt: Added.

2016-03-21  Joseph Pecoraro  <pecoraro@apple.com>

        Skip HeapSnapshot test on WebKit1. Shared VM skews the data.

        Rubber-stamped by Timothy Hatcher.

        In this case, snapshots with snapshots with snapshots in the same VM
        causes the test to run out of memory. This does not happen in WebKit2.

        * platform/mac-wk1/TestExpectations:

2016-03-21  Zalan Bujtas  <zalan@apple.com>

        WebCore::RenderTableCell::setCol should put a cap on the column value. 
        https://bugs.webkit.org/show_bug.cgi?id=155642
        <rdar://problem/15895201>

        Reviewed by Simon Fraser.

        This patch ensures that we don't crash when the column number is large enough.
        see webkit.org/b/71135 for more information.

        * tables/colspan-with-large-value-crash-expected.txt: Added.
        * tables/colspan-with-large-value-crash.html: Added.

2016-03-21  Brady Eidson  <beidson@apple.com>

        storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=154748

        Reviewed by Alex Christensen.

        * platform/mac/TestExpectations:
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private-expected.txt:
        * storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:

2016-03-21  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Use larger tiles when possible to reduce per-tile painting overhead
        https://bugs.webkit.org/show_bug.cgi?id=155734
        rdar://problem/24968144

        Reviewed by Tim Horton.

        New results with larger page tiles in WK2.

        * platform/ios-simulator-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
        * platform/ios-simulator-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.
        * platform/ios-simulator-wk2/compositing/tiling/transform-origin-tiled-expected.txt: Added.

2016-03-21  Hyungwook Lee  <hyungwook.lee@navercorp.com>

        [Win] Connect layoutTestController.findString() to support testing
        https://bugs.webkit.org/show_bug.cgi?id=50234

        Reviewed by Alex Christensen.

        * platform/win/TestExpectations: Unskip test.
        * platform/win/editing/text-iterator/findString-expected.txt: Added.

2016-03-21  Zalan Bujtas  <zalan@apple.com>

        Web Inspector search icon does not fit when zoomed in.
        https://bugs.webkit.org/show_bug.cgi?id=155708

        Reviewed by Simon Fraser.

        Adjusts the paint rect for the magnifier icon so that it fits even when zoomed in.

        * fast/forms/search/search-padding-cancel-results-buttons-expected.txt:
        * platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt:
        * platform/mac/fast/css/text-input-with-webkit-border-radius-expected.txt:
        * platform/mac/fast/css/text-overflow-input-expected.txt:
        * platform/mac/fast/forms/box-shadow-override-expected.txt:
        * platform/mac/fast/forms/control-restrict-line-height-expected.txt:
        * platform/mac/fast/forms/input-appearance-height-expected.txt:
        * platform/mac/fast/forms/placeholder-position-expected.txt:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/search-styled-expected.txt:
        * platform/mac/fast/forms/search-vertical-alignment-expected.txt:
        * platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
        * platform/mac/fast/forms/searchfield-heights-expected.txt:
        * platform/mac/fast/repaint/search-field-cancel-expected.txt:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.txt:

2016-03-21  Eric Carlson  <eric.carlson@apple.com>

        Add a WebRTC specific compile flag
        https://bugs.webkit.org/show_bug.cgi?id=155663

        Reviewed by Jer Noble.

        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

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

        Moving the -expected.txt file for accessibility/radio-button-group-members.html

        Unreviewed test gardening.

        * accessibility/radio-button-group-members-expected.txt: Renamed from LayoutTests/accessibility/mac/radio-button-group-members-expected.txt.

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

        Marking two inspector tests as flaky timeouts on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=155607

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-03  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Fix percentage tracks' size computation in grids with gutters
        https://bugs.webkit.org/show_bug.cgi?id=153825

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-gutters-and-flex-content-expected.txt:
        * fast/css-grid-layout/grid-gutters-and-flex-content.html:
        * fast/css-grid-layout/grid-gutters-and-tracks-expected.txt:
        * fast/css-grid-layout/grid-gutters-and-tracks.html:

2016-03-20  Jinwoo Jeong  <jw00.jeong@samsung.com>

        The setter of binaryType attribute in WebSocket should raise the exception.
        https://bugs.webkit.org/show_bug.cgi?id=135874

        Reviewed by Antonio Gomes.

        According to W3C WebSocket Specification, <https://www.w3.org/TR/2012/CR-websockets-20120920/>,
        when an invalid value is set on binaryType of WebSocket, a SyntaxError should be raised.

        * http/tests/websocket/tests/hybi/binary-type.html: Catch a syntax exception when binary type is set with invalid values.

2016-03-20  Chris Fleizach  <cfleizach@apple.com>

        AX: Radio button members are not identified together in all cases
        https://bugs.webkit.org/show_bug.cgi?id=155604
        <rdar://problem/21186992>

        Reviewed by Darin Adler.

        * accessibility/mac/radio-button-group-members-expected.txt: Added.
        * accessibility/radio-button-group-members.html:
        * platform/mac/accessibility/radio-button-group-members-expected.txt: Removed.

2016-03-19  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Update syntax error text 'super is only valid inside functions' to more suitable
        https://bugs.webkit.org/show_bug.cgi?id=155491

        Reviewed by Saam Barati.

        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-super.js:
        * sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.27-expected.txt:

2016-03-19  Mark Lam  <mark.lam@apple.com>

        ES6 spec requires that ErrorPrototype not be an Error object.
        https://bugs.webkit.org/show_bug.cgi?id=155680

        Reviewed by Michael Saboff.

        Updated the appropriate tests to expect the toString() value of Error.prototype
        to now be "[object Object]" instead of "[object Error]".  Also rebased the test
        results accordingly.

        * fast/dom/DOMException/prototype-object-expected.txt:
        * fast/dom/DOMException/prototype-object.html:
        * js/dom/native-error-prototype-expected.txt:
        * js/dom/script-tests/native-error-prototype.js:
        * sputnik/Conformance/15_Native_Objects/15.11_Error/15.11.4/S15.11.4_A2.html:

2016-03-18  Daniel Bates  <dabates@apple.com>

        Update AutoFill button in input fields
        https://bugs.webkit.org/show_bug.cgi?id=155619

        Update expected results for Windows and GTK ports. Add expected result for the EFL port.

        * platform/efl/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Added.
        * platform/gtk/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
        * platform/win/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:

2016-03-18  Zhuo Li  <zachli@apple.com>

        Update AutoFill button in input fields.
        https://bugs.webkit.org/show_bug.cgi?id=155619.
        rdar://problem/24486939.

        Reviewed by Daniel Bates.

        * fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
        Update the test results.
        * platform/ios-simulator/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
        Ditto.

2016-03-18  Simon Fraser  <simon.fraser@apple.com>

        Sideways-scrollable RTL document has wrong initial and reload offset in WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=155660

        Reviewed by Tim Horton.
        
        Test for initial scroll position in an RTL page.

        * fast/scrolling/rtl-initial-scroll-position-expected.html: Added.
        * fast/scrolling/rtl-initial-scroll-position.html: Added.

2016-03-18  Darin Adler  <darin@apple.com>

        ASSERTION FAILED: m_isValid == valid() in WebCore::HTMLFormControlElement::isValidFormControlElement
        https://bugs.webkit.org/show_bug.cgi?id=139481

        Reviewed by Daniel Bates.

        * fast/forms/validity-assertion-inserting-into-datalist-expected.txt: Added.
        * fast/forms/validity-assertion-inserting-into-datalist.html: Added.

2016-03-18  Chris Dumez  <cdumez@apple.com>

        Speculative revalidation requests do not have their HTTP user-agent set
        https://bugs.webkit.org/show_bug.cgi?id=155620
        <rdar://problem/24657567>

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * http/tests/cache/disk-cache/speculative-validation/resources/request-headers-script.php: Added.
        * http/tests/cache/disk-cache/speculative-validation/resources/validation-request-frame.php: Added.
        * http/tests/cache/disk-cache/speculative-validation/validation-request-expected.txt: Added.
        * http/tests/cache/disk-cache/speculative-validation/validation-request.html: Added.

2016-03-18  Mark Lam  <mark.lam@apple.com>

        ES6 spec requires that RegExpPrototype not be a RegExp object.
        https://bugs.webkit.org/show_bug.cgi?id=155654

        Reviewed by Filip Pizlo.

        Rebase all the test results.

        * fast/regex/script-tests/toString.js:
        * fast/regex/toString-expected.txt:
        * ietestcenter/Javascript/15.10.6-expected.txt:
        * ietestcenter/Javascript/15.10.7.1-1-expected.txt:
        * ietestcenter/Javascript/15.10.7.2-1-expected.txt:
        * ietestcenter/Javascript/15.10.7.3-1-expected.txt:
        * ietestcenter/Javascript/15.10.7.4-1-expected.txt:
        * ietestcenter/Javascript/15.10.7.5-1-expected.txt:
        * ietestcenter/Javascript/TestCases/15.10.6.js:
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.1-1.js:
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.2-1.js:
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.3-1.js:
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.4-1.js:
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.10.7.5-1.js:
        (ES5Harness.registerTest.test):
        * js/Object-getOwnPropertyNames-expected.txt:
        * js/kde/RegExp-expected.txt:
        * js/kde/script-tests/RegExp.js:
        * js/script-tests/Object-getOwnPropertyNames.js:
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/S15.10.6_A2-expected.txt:

2016-03-18  Brent Fulgham  <bfulgham@apple.com>

        Local file restrictions should not block sessionStorage access
        https://bugs.webkit.org/show_bug.cgi?id=155609
        <rdar://problem/25229461>

        Reviewed by Andy Estes.

        * storage/domstorage/sessionstorage/blocked-file-access-expected.txt: Added.
        * storage/domstorage/sessionstorage/blocked-file-access.html: Added.
        * storage/domstorage/sessionstorage/resources/blocked-example.html: Added.

2016-03-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline inspector/model/remote-object.html for mac after r198435

        Unreviewed test gardening.

        * platform/mac/inspector/model/remote-object-expected.txt:

2016-03-18  Nan Wang  <n_wang@apple.com>

        AX: AXARIACurrent exposed but not displayed in Accessibility Inspector
        https://bugs.webkit.org/show_bug.cgi?id=155600

        Reviewed by Chris Fleizach.

        * accessibility/mac/aria-current-attribute-exposed-expected.txt: Added.
        * accessibility/mac/aria-current-attribute-exposed.html: Added.

2016-03-18  Nan Wang  <n_wang@apple.com>

        AX: Typing broken on form input field while using VoiceOver
        https://bugs.webkit.org/show_bug.cgi?id=155613

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-range-for-node-without-children-expected.txt: Added.
        * accessibility/mac/text-marker-range-for-node-without-children.html: Added.

2016-03-18  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        crossorigin element resource loading should check HTTP redirection
        https://bugs.webkit.org/show_bug.cgi?id=130578

        Reviewed by Daniel Bates and Brent Fulgham.

        shape-image-cors-redirect.html checks that cross-origin redirections are checked against CORS.
        It also checks that same-origin redirections are not checked against CORS.

        * http/tests/security/resources/redirect-allow-star.php: Added.
        * http/tests/security/shape-image-cors-redirect-expected.html: Added.
        * http/tests/security/shape-image-cors-redirect.html: Added.

2016-03-18  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Move IndexedDB regular test to web-platform-tests
        https://bugs.webkit.org/show_bug.cgi?id=155581

        Reviewed by Darin Adler.

        Renaming indexeddb test expectation according new path and directory name.

        * TestExpectations:
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:

2016-03-17  Chris Fleizach  <cfleizach@apple.com>

        AX: WEB: VoiceOver does not announce some WAI-ARIA document structures
        https://bugs.webkit.org/show_bug.cgi?id=155603
        <rdar://problem/25227385>

        Reviewed by Darin Adler.

        * accessibility/ios-simulator/landmark-type-expected.txt:
        * accessibility/ios-simulator/landmark-type.html:

2016-03-17  Brent Fulgham  <bfulgham@apple.com>

        [XSS Auditor] Off by one in XSSAuditor::canonicalizedSnippetForJavaScript()
        https://bugs.webkit.org/show_bug.cgi?id=155624
        <rdar://problem/25219962>

        Unreviewed merge from Blink (patch by Tom Sepez <tsepez@chromium.org>):
        <https://src.chromium.org/viewvc/blink?revision=201803&view=revision>

        * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode-expected.txt: Added.
        * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: Added.

2016-03-17  Zalan Bujtas  <zalan@apple.com>

        Images in feed on ebay.com jiggle when one is hovered
        https://bugs.webkit.org/show_bug.cgi?id=155608
        <rdar://problem/25160681>

        The content offset in compositing layer = subpixel gap between the graphics layer and the layer bounds + layer bounds top left.

        Reviewed by Simon Fraser.

        * compositing/hidpi-viewport-clipping-on-composited-content-expected.html: Added.
        * compositing/hidpi-viewport-clipping-on-composited-content.html: Added.

2016-03-17  Zalan Bujtas  <zalan@apple.com>

        Don't initiate a style recall while drawing text 
        https://bugs.webkit.org/show_bug.cgi?id=155618

        Reviewed by Simon Fraser.

        This patch ensures that we don't initiate a style recalc while in the middle of text drawing.

        * fast/canvas/crash-while-resizing-canvas-expected.txt: Added.
        * fast/canvas/crash-while-resizing-canvas.html: Added.

2016-03-17  Myles C. Maxfield  <mmaxfield@apple.com>

        [RTL Scrollbars] Position: absolute divs are covered by vertical scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=155531

        Reviewed by Darin Adler.

        Add a bunch of tests. Also, this patch adds some tests that caught
        https://bugs.webkit.org/show_bug.cgi?id=155533 (but they are disabled).

        * fast/scrolling/rtl-scrollbars-elementFromPoint-expected.txt: Added.
        * fast/scrolling/rtl-scrollbars-elementFromPoint-static-expected.txt: Added.
        * fast/scrolling/rtl-scrollbars-elementFromPoint-static.html: Added.
        * fast/scrolling/rtl-scrollbars-elementFromPoint.html: Added.
        * fast/scrolling/rtl-scrollbars-iframe-expected.txt: Added.
        * fast/scrolling/rtl-scrollbars-iframe-offset-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-iframe-offset.html: Added.
        * fast/scrolling/rtl-scrollbars-iframe-position-absolute-expected.txt: Added.
        * fast/scrolling/rtl-scrollbars-iframe-position-absolute.html: Added.
        * fast/scrolling/rtl-scrollbars-iframe-scrolled-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-iframe-scrolled.html: Added.
        * fast/scrolling/rtl-scrollbars-iframe.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-elementFromPoint-expected.txt: Added.
        * fast/scrolling/rtl-scrollbars-overflow-elementFromPoint.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-position-absolute-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-position-absolute.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-text-selection-scrolled-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-text-selection-scrolled.html: Added.
        * fast/scrolling/rtl-scrollbars-position-absolute-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-position-absolute.html: Added.
        * fast/scrolling/rtl-scrollbars-position-fixed-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-position-fixed.html: Added.
        * fast/scrolling/rtl-scrollbars-text-selection-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-text-selection-scrolled-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-text-selection-scrolled.html: Added.
        * fast/scrolling/rtl-scrollbars-text-selection.html: Added.
        * TestExpectations:

2016-03-17  Brady Eidson  <beidson@apple.com>

        Don't try to restore deleted MemoryIndexes if their owning object store is not restored.
        https://bugs.webkit.org/show_bug.cgi?id=155068

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/deleteindex-4-private-expected.txt: Added.
        * storage/indexeddb/modern/deleteindex-4-private.html: Added.
        * storage/indexeddb/modern/resources/deleteindex-4.js: Added.

2016-03-17  Doug Russell  <d_russell@apple.com>

        AX: attributes to retrieve focusable and editable ancestors
        https://bugs.webkit.org/show_bug.cgi?id=155554

        Reviewed by Chris Fleizach.

        Add attributes to help give context to focus changes:
        AXFocusableAncestor - nearest accessibility ancestor that returns true for
        canSetFocusAttribute().
        AXEditableAncestor - nearest accessibility ancestor that returns true for
        isTextControl().
        AXHighestEditableAncestor - highest element in accessibility that returns true
        for isTextControl().

        * accessibility/image-link-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/image-link-expected.txt.
        * accessibility/image-map2-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/image-map2-expected.txt.
        * accessibility/internal-link-anchors2-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/internal-link-anchors2-expected.txt.
        * accessibility/lists-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/lists-expected.txt.
        * accessibility/mac/ancestor-attributes-expected.txt: Added.
        * accessibility/mac/ancestor-attributes.html: Added.
        * accessibility/mac/aria-columnrowheaders-expected.txt:
        * accessibility/mac/bounds-for-range-expected.txt:
        * accessibility/mac/document-links-expected.txt:
        * accessibility/mac/internal-link-anchors-expected.txt:
        * accessibility/math-multiscript-attributes-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/math-multiscript-attributes-expected.txt.
        * accessibility/plugin-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/plugin-expected.txt.
        * accessibility/table-attributes-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-attributes-expected.txt.
        * accessibility/table-cell-spans-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-cell-spans-expected.txt.
        * accessibility/table-cells-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-cells-expected.txt.
        * accessibility/table-detection-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-detection-expected.txt.
        * accessibility/table-one-cell-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-one-cell-expected.txt.
        * accessibility/table-sections-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-sections-expected.txt.
        * accessibility/table-with-rules-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-with-rules-expected.txt.
        * accessibility/transformed-element-expected.txt:

2016-03-17  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed follow-up fix to test after r198353.

        * inspector/unit-tests/heap-snapshot.html:
        Account for <root> in a few places.

2016-03-17  Sam Weinig  <sam@webkit.org>

        Implement document.queryCommandSupported("copy")
        https://bugs.webkit.org/show_bug.cgi?id=155548
        <rdar://problem/25195295>

        Reviewed by Enrica Casucci.

        * editing/execCommand/clipboard-access-with-user-gesture-expected.txt:
        * editing/execCommand/clipboard-access-with-user-gesture.html:
        document.queryCommandSupported('copy') should be returning true.

        * editing/pasteboard/can-read-in-copy-and-cut-events.html:
        * editing/pasteboard/copy-cut-paste-events-fired-when-disabled.html:
        * editing/pasteboard/pasting-empty-html-falls-back-to-text.html:
        * editing/pasteboard/set_data_typeof_return.html:
        Use testRunner.execCommand() to test the behavior of a user.

2016-03-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: HeapSnapshots are slow and use too much memory
        https://bugs.webkit.org/show_bug.cgi?id=155571

        Reviewed by Timothy Hatcher.

        * inspector/heap/getPreview.html:
        * inspector/heap/getRemoteObject.html:
        * inspector/heap/snapshot.html:
        Update tests to use the new HeapSnapshotWorker frontend code.

        * inspector/unit-tests/heap-snapshot-expected.txt: Added.
        * inspector/unit-tests/heap-snapshot.html: Added.
        Verify the data processing in and worker communication work HeapSnapshotWorker
        produces expected values when compared with the simple HeapSnapshot/Node/Edge
        implentation.

2016-03-17  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/security/aboutBlank/window-open-self-about-blank.html as flaky on ios-sim-debug
        https://bugs.webkit.org/show_bug.cgi?id=94458

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-16  Chris Fleizach  <cfleizach@apple.com>

        AX: Implement AutoFill Available attribute for a text field
        https://bugs.webkit.org/show_bug.cgi?id=155567

        Reviewed by Darin Adler.

        * accessibility/auto-fill-types-expected.txt: Added.
        * accessibility/auto-fill-types.html: Added.

2016-03-17  Mark Lam  <mark.lam@apple.com>

        Method names should not appear in the lexical scope of the method's body.
        https://bugs.webkit.org/show_bug.cgi?id=155568

        Reviewed by Saam Barati.

        * inspector/model/scope-chain-node-expected.txt:
        - rebased expected result.

        * js/script-tests/function-toString-vs-name.js:
        - fixed a bug in the shouldBe() function.

        * js/methods-names-should-not-be-in-lexical-scope-expected.txt: Added.
        * js/methods-names-should-not-be-in-lexical-scope.html: Added.
        * js/script-tests/methods-names-should-not-be-in-lexical-scope.js: Added.
        - test all variations of methods.

2016-03-17  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed, line ending fixes.

        * css2.1/20110323/support/at-import-001.css:
        * css2.1/20110323/support/at-import-002.css:
        * css2.1/20110323/support/at-import-004.css:
        * css2.1/20110323/support/at-import-005.css:
        * css2.1/20110323/support/at-import-006.css:
        * css2.1/20110323/support/at-import-007.css:
        * css2.1/20110323/support/eof-green.css:
        * storage/indexeddb/set_version_blocked.html:
        * storage/indexeddb/transaction-read-only.html:

2016-03-17  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] response-consume.html is crashing on Mac WK1 Debug builds
        https://bugs.webkit.org/show_bug.cgi?id=155490

        Reviewed by Darin Adler.

        * TestExpectations: Removed crash debug expectation of response-consume.html

2016-03-17  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Update RTCIceCandidate
        https://bugs.webkit.org/show_bug.cgi?id=155535

        Reviewed by Eric Carlson.

        RTCIceCandidate.html is updated to test the new construction behavior and the nullable
        attributes. The remaining updated tests simply construct an RTCIceCandidate to be used for
        test purposes.

        * fast/mediastream/RTCIceCandidate-expected.txt:
        * fast/mediastream/RTCIceCandidate.html:
        * fast/mediastream/RTCPeerConnection-closed-state.html:
        * fast/mediastream/RTCPeerConnection-overloaded-operations-expected.txt:
        * fast/mediastream/RTCPeerConnection-overloaded-operations-params-expected.txt:
        * fast/mediastream/RTCPeerConnection-overloaded-operations-params.html:
        * fast/mediastream/RTCPeerConnection-overloaded-operations.html:

2016-03-17  Skachkov Oleksandr  <gskachkov@gmail.com>

        Invoking super()/super inside of the eval should not lead to SyntaxError
        https://bugs.webkit.org/show_bug.cgi?id=153864

        Reviewed by Saam Barati.

        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-super.js:

2016-03-16  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Directly composited image layers need pixelsnapping.
        https://bugs.webkit.org/show_bug.cgi?id=155558

        Reviewed by Simon Fraser.

        In order to match non-composited image size/position, we need to pixelsnap both the contents and the clipping
        layer bounds for directly composited images.

        * fast/images/hidpi-directly-composited-image-on-subpixel-position-expected.html: Added.
        * fast/images/hidpi-directly-composited-image-on-subpixel-position.html: Added.

2016-03-16  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping mathml/very-large-stretchy-operators.html on ios-simulator debug
        https://bugs.webkit.org/show_bug.cgi?id=155565

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-16  Ryan Haddad  <ryanhaddad@apple.com>

        Marking compositing/visible-rect/animated-from-none.html as flaky on ios-sim-wk2, failing on ios-sim-wk1
        https://bugs.webkit.org/show_bug.cgi?id=155495

        Unreviewed test gardening.

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

2016-03-16  Nan Wang  <n_wang@apple.com>

        AX: Expose aria-current status to children
        https://bugs.webkit.org/show_bug.cgi?id=155469

        Reviewed by Chris Fleizach.

        * accessibility/aria-current-global-attribute-expected.txt: Added.
        * accessibility/aria-current-global-attribute.html: Added.

2016-03-16  Tim Horton  <timothy_horton@apple.com>

        [mac] Printing test snapshots are upside-down after r198242
        https://bugs.webkit.org/show_bug.cgi?id=155543

        Reviewed by Simon Fraser.

        * TestExpectations:
        Re-un-skip these tests.

2016-03-16  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/controller/runtime-controller.html as flaky on mac
        https://bugs.webkit.org/show_bug.cgi?id=154688

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-16  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=94458

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-16  Daniel Bates  <dabates@apple.com>

        <video> and <audio> elements do not obey Content Security Policy on redirect
        https://bugs.webkit.org/show_bug.cgi?id=155509
        <rdar://problem/10234844>

        Reviewed by Alex Christensen.

        Add tests to ensure that the Content Security Policy is enforced on redirects when
        loading a subresource, including a video or audio file.

        * http/tests/resources/redirect.php: Fix PHP "undefined index" warnings when either query
        parameter code or refresh (or both) are not specified.
        * http/tests/security/contentSecurityPolicy/audio-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/audio-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/audio-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/font-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/font-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/font-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/font-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/image-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/image-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/image-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/image-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/ABCFont.svg: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/userAgentShadowDOM/resources/ABCFont.svg.
        * http/tests/security/contentSecurityPolicy/resources/alert-fail.xsl: Added.
        * http/tests/security/contentSecurityPolicy/resources/alert-pass.xsl: Added.
        * http/tests/security/contentSecurityPolicy/resources/green-square.svg: Added.
        * http/tests/security/contentSecurityPolicy/resources/red-square.svg: Added.
        * http/tests/security/contentSecurityPolicy/resources/xsl-redirect-allowed.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/xsl-redirect-blocked.php: Added.
        * http/tests/security/contentSecurityPolicy/script-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/script-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/script-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/script-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/stylesheet-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/stylesheet-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/svg-font-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/svg-font-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/svg-image-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/svg-image-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/track-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/track-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/track-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/track-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-font.html:
        * http/tests/security/contentSecurityPolicy/video-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/video-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/video-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/xsl-redirect-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/xsl-redirect-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/xsl-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/xsl-redirect-blocked.html: Added.
        * platform/efl/TestExpectations: For now skip tests http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-{audio, video}.html
        until we fix <https://bugs.webkit.org/show_bug.cgi?id=155505>. We will also need to fix
        <https://bugs.webkit.org/show_bug.cgi?id=153866> before we can unskip test http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-video.html
        As far as I can tell the functionality exercised by these tests is not being using by the EFL port.
        * platform/gtk/TestExpectations: For now skip tests http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-{audio, video}.html
        until we fix <https://bugs.webkit.org/show_bug.cgi?id=155505>. As far as I can tell the functionality
        exercised by these tests is not being using by the GTK port.
        * platform/ios-simulator/http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt: Added expected failure result as
        AV Foundation is responsible for loading media on iOS. That is, WebCore is not responsible for loading media.
        * platform/ios-simulator/http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt: Ditto.
        * platform/mac/TestExpectations: For now skip tests http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-{audio, video}.html
        until we fix <https://bugs.webkit.org/show_bug.cgi?id=155505>. The functionality exercised by these
        tests is not used on OS X. Additionally, mark as Failure on Yosemite and ElCapitan the added tests
        http/tests/security/contentSecurityPolicy/{video, audio}-redirect-blocked.html as we do not support
        Content Security Policy for media redirects in these versions of OS X.

2016-03-16  Jiewen Tan  <jiewen_tan@apple.com>

        URL Parsing should signal failure for illegal IDN
        https://bugs.webkit.org/show_bug.cgi?id=154945
        <rdar://problem/8014795>

        Reviewed by Brent Fulgham.

        * fast/url/host-expected.txt:
        * fast/url/idna2003-expected.txt:
        * fast/url/invalid-idn-expected.txt: Added.
        * fast/url/invalid-idn.html: Added.

2016-03-16  Mark Lam  <mark.lam@apple.com>

        Add support for setting Function.name from computed properties.
        https://bugs.webkit.org/show_bug.cgi?id=155437

        Reviewed by Filip Pizlo.

        * js/object-literal-computed-methods-expected.txt:
        - Exercise op_set_function_name at all tiers.

        * js/script-tests/function-toString-vs-name.js:
        - Added tests for computed properties.

        * js/script-tests/object-literal-computed-methods.js:
        - rebased results.

2016-03-16  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/blink/fast/multicol/dynamic/relayout-abspos-in-relpos-spanner.html as flaky on ios-sim
        https://bugs.webkit.org/show_bug.cgi?id=155339

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-16  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping failing printing tests
        https://bugs.webkit.org/show_bug.cgi?id=155543

        Unreviewed test gardening.

        Three printing tests that rely on software snapshotting are failing after r198242 exposed
        an underlying issue. Skipping these tests to get the bots back to green during investigation.

        * TestExpectations:

2016-03-16  Antti Koivisto  <antti@apple.com>

        Don't invalidate style unnecessarily when setting inline style cssText
        https://bugs.webkit.org/show_bug.cgi?id=155541
        rdar://problem/23318893

        Reviewed by Simon Fraser.

        * fast/css/style-invalidation-inline-csstext-expected.txt: Added.
        * fast/css/style-invalidation-inline-csstext.html: Added.

2016-03-16  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/css/getPropertyValue-webkit-marquee.html after r198255
        https://bugs.webkit.org/show_bug.cgi?id=155544

        Unreviewed test gardening.

        * fast/css/getPropertyValue-webkit-marquee-expected.txt:

2016-03-16  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Reflect.set with receiver
        https://bugs.webkit.org/show_bug.cgi?id=155294

        Reviewed by Saam Barati.

        Currently, putDelegate (JSLocation is special case) and CustomIndexedSetter work as special setters.

        * js/dom/reflect-set-onto-dom-expected.txt:
        * js/dom/script-tests/reflect-set-onto-dom.js:

2016-03-15  Zalan Bujtas  <zalan@apple.com>

        Remove overflow: -webkit-marquee
        https://bugs.webkit.org/show_bug.cgi?id=155517
        <rdar://problem/25028481>

        Reviewed by Simon Fraser.

        This patch is based on Blink patch from jchaffraix@chromium.org (https://src.chromium.org/viewvc/blink?revision=151756&view=revision)

        * fast/css/getPropertyValue-webkit-marquee.html:
        * fast/css/webkit-marquee-anonymous-node-crash-expected.txt: Removed.
        * fast/css/webkit-marquee-anonymous-node-crash.html: Removed.

2016-03-15  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Expose pointers to SVG elements referenced by aria-labelledby
        https://bugs.webkit.org/show_bug.cgi?id=155481

        Reviewed by Chris Fleizach.

        * accessibility/w3c-svg-name-calculation.html: Modified to also output AXTitleUIElement.
        * platform/gtk/accessibility/w3c-svg-name-calculation-expected.txt: Updated.
        * platform/mac/accessibility/w3c-svg-name-calculation-expected.txt: Updated.

2016-03-15  Tim Horton  <timothy_horton@apple.com>

        iOS <attachment> element should allow customization of action text color
        https://bugs.webkit.org/show_bug.cgi?id=155513
        <rdar://problem/24805991>

        Reviewed by Simon Fraser.

        * fast/attachment/attachment-action-expected.html: Added.
        * fast/attachment/attachment-action.html: Added.
        * platform/ios-simulator/fast/attachment/attachment-label-highlight-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-progress-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-rendering-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-subtitle-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-title-expected.txt:
        Rebaseline some tests and add one that action text matches the requested color.

2016-03-15  Commit Queue  <commit-queue@webkit.org>

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

        "Lets do this patch at a later time" (Requested by saamyjoon
        on #webkit).

        Reverted changeset:

        "[ES6] Disallow var assignments in for-in loops"
        https://bugs.webkit.org/show_bug.cgi?id=155451
        http://trac.webkit.org/changeset/198148

2016-03-15  Alexey Proskuryakov  <ap@apple.com>

        Test result gardening for
        ASSERT_NOT_REACHED on imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html
        https://bugs.webkit.org/show_bug.cgi?id=155516

        * TestExpectations: Skip the test in debug, as it's not useful to crash every time.

2016-03-15  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION: ASSERTION FAILED: !m_lastActiveBlock on js/function-apply.html
        https://bugs.webkit.org/show_bug.cgi?id=155411
        <rdar://problem/25134537>

        Reviewed by Mark Lam.

        * platform/mac/TestExpectations:
        Unmark test as flakey.

2016-03-15  Ryan Haddad  <ryanhaddad@apple.com>

        Fixing expectation for css3/masking/mask-svg-script-none-to-png.html on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-15  Tim Horton  <timothy_horton@apple.com>

        Unskip and rebaseline <attachment> tests on iOS
        <rdar://problem/24805991>

        * fast/attachment/attachment-default-icon.html:
        * fast/attachment/attachment-folder-icon.html:
        * fast/attachment/attachment-type-attribute.html:
        Make these tests have identical titles between ref and actual, because
        on iOS the layout differs if you have a title or not (unlike on Mac).

        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/fast/attachment/attachment-label-highlight-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-progress-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-rendering-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-subtitle-expected.txt:
        * platform/ios-simulator/fast/attachment/attachment-title-expected.txt:
        Unskip and rebaseline all but one of the attachment tests on iOS.

2016-03-15  Ryan Haddad  <ryanhaddad@apple.com>

        Remove flaky expectation for webgl/1.0.2/conformance/rendering/gl-scissor-test.html for mac
        https://bugs.webkit.org/show_bug.cgi?id=126586

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-15  Ryan Haddad  <ryanhaddad@apple.com>

        Fixing a typo in the ios-simulator TestExpectations file

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-15  Ryan Haddad  <ryanhaddad@apple.com>

        Marking animations/3d/transform-origin-vs-functions.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=155501

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-03-15  Chris Fleizach  <cfleizach@apple.com>

        AX: certain elements not included in accessibility tree
        https://bugs.webkit.org/show_bug.cgi?id=155480

        Reviewed by Beth Dakin.

        * accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added.
        * accessibility/double-nested-inline-element-missing-from-tree.html: Added.

2016-03-15  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r198203.

        Favorites view is no longer loading on iOS

        Reverted changeset:

        "URL Parsing should signal failure for illegal IDN"
        https://bugs.webkit.org/show_bug.cgi?id=154945
        http://trac.webkit.org/changeset/198203

2016-03-15  Antti Koivisto  <antti@apple.com>

        Class change invalidation does not handle :not correctly
        https://bugs.webkit.org/show_bug.cgi?id=155493
        <rdar://problem/24846762>

        Reviewed by Andreas Kling.

        * fast/css/style-invalidation-attribute-change-descendants-expected.txt:
        * fast/css/style-invalidation-attribute-change-descendants.html:

            Also add :not case for attribute changes (which handles this correctly already).

        * fast/css/style-invalidation-class-change-descendants-expected.txt:
        * fast/css/style-invalidation-class-change-descendants.html:

            Add :not case.

2016-03-14  Jer Noble  <jer.noble@apple.com>

        Video elements with autoplay do not begin playing when scrolling into view if InvisibleAutoplayNotPermitted is set.
        https://bugs.webkit.org/show_bug.cgi?id=155468

        Reviewed by Eric Carlson.

        * media/video-restricted-invisible-autoplay-allowed-when-visible-expected.txt: Added.
        * media/video-restricted-invisible-autoplay-allowed-when-visible.html: Added.

2016-03-15  Jiewen Tan  <jiewen_tan@apple.com>

        URL Parsing should signal failure for illegal IDN
        https://bugs.webkit.org/show_bug.cgi?id=154945
        <rdar://problem/8014795>

        Reviewed by Brent Fulgham.

        * fast/url/host-expected.txt:
        * fast/url/idna2003-expected.txt:
        * fast/url/invalid-idn-expected.txt: Added.
        * fast/url/invalid-idn.html: Added.

2016-03-14  Brent Fulgham  <bfulgham@apple.com>

        REGRESSION (r197114): Crash in WebCore::MediaDevicesRequest::didCompletePermissionCheck
        https://bugs.webkit.org/show_bug.cgi?id=155453

        Reviewed by Eric Carlson.
        <rdar://problem/24879447>

        Reviewed by Dan Bates.

        Further refinement to test case: Remove use of 'setTimeout', and ensure the code gets
        called by using 'testRunner.waitUntilDone()'/'testRunner.notifyDone()'.

        * fast/mediastream/enumerating-crash.html:

2016-03-14  Daniel Bates  <dabates@apple.com>

        Web Inspector: Display Content Security Policy hash in details sidebar for script and style elements
        https://bugs.webkit.org/show_bug.cgi?id=155466
        <rdar://problem/25152480>

        Reviewed by Joseph Pecoraro and Timothy Hatcher.

        Add tests to ensure that the WebInspector.DOMNode object associated with an HTML style element
        or applicable HTML script element has a valid CSP hash.

        * inspector/dom/csp-big5-hash-expected.txt: Added.
        * inspector/dom/csp-big5-hash.html: Added.
        * inspector/dom/csp-hash-expected.txt: Added.
        * inspector/dom/csp-hash.html: Added.

2016-03-14  Filip Pizlo  <fpizlo@apple.com>

        REGRESSION(r194394): >2x slow-down on CDjs
        https://bugs.webkit.org/show_bug.cgi?id=155471

        Unreviewed (rollout).

        * js/dom/script-tests/string-prototype-properties.js:
        * js/dom/string-prototype-properties-expected.txt:
        * js/script-tests/string-localeCompare.js:
        * js/string-localeCompare-expected.txt:
        * js/string-localeCompare.html:

2016-03-14  Ryan Haddad  <ryanhaddad@apple.com>

        Marking js/funcion-apply.html as flaky on mac debug
        https://bugs.webkit.org/show_bug.cgi?id=155411

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-10  Antonio Gomes  <tonikitoo@webkit.org>

        Selecting with shift+drag results in unexpected drag-n-drop
        https://bugs.webkit.org/show_bug.cgi?id=155314

        Reviewed by Darin Adler.

        Tests that ensure that WebKit:

        1) does not enter drag-n-drop mode and extending selection by dragging with mouse with shift key is pressed,
           off of a #text node.
        2) does enter drag-n-drop mode and extending selection by dragging with mouse with shift key is pressed,
           off of a link.
        3) does enter drag-n-drop mode and extending selection by dragging with mouse with shift key is pressed,
           off of an image.

        Note that (1) is a behavior changed by this patch, whereas (2) and (3) represent existing
        behavior that is kept.
        Tests are also skip for iOS similarly to other drag-n-drop related tests.

        * fast/events/shift-drag-selection-no-drag-n-drop-expected.txt: Added.
        * fast/events/shift-drag-selection-no-drag-n-drop.html: Added.
        * fast/events/shift-drag-selection-on-link-triggers-drag-n-drop-expected.txt: Added.
        * fast/events/shift-drag-selection-on-link-triggers-drag-n-drop.html: Added.
        * fast/events/shift-drag-selection-on-image-triggers-drag-n-drop-expected.txt: Added.
        * fast/events/shift-drag-selection-on-image-triggers-drag-n-drop.html: Added.

2016-03-14  Ryan Haddad  <ryanhaddad@apple.com>

        Marking storage/indexeddb/transaction-abort-private.html as flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=155067

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-03-14  Ryan Haddad  <ryanhaddad@apple.com>

        Skip test storage/indexeddb/odd-strings.html
        https://bugs.webkit.org/show_bug.cgi?id=154975

        Unreviewed test gardening.

        Removing duplicate expectation for test and skipping since it fails or times out on every run.

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

2016-03-14  Brent Fulgham  <bfulgham@apple.com>

        REGRESSION (r197114): Crash in WebCore::MediaDevicesRequest::didCompletePermissionCheck
        https://bugs.webkit.org/show_bug.cgi?id=155453
        <rdar://problem/24879447>

        Reviewed by Daniel Bates.

        * fast/mediastream/enumerating-crash-expected.txt: Added.
        * fast/mediastream/enumerating-crash.html: Added.

2016-03-14  Saam barati  <sbarati@apple.com>

        [ES6] Disallow var assignments in for-in loops
        https://bugs.webkit.org/show_bug.cgi?id=155451

        Reviewed by Mark Lam.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2016-03-14  Saam barati  <sbarati@apple.com>

        assignments in for-in/for-of header not allowed
        https://bugs.webkit.org/show_bug.cgi?id=155384

        Reviewed by Darin Adler.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2016-03-14  Zalan Bujtas  <zalan@apple.com>

        Negative outline offset could break curved outline-style: auto
        https://bugs.webkit.org/show_bug.cgi?id=155416

        Reviewed by Tim Horton.

        When radius becomes negative the rounded rect could end up being un-renderable -> no rounded corners at all.

        * fast/inline/hidpi-outline-auto-negative-offset-with-border-radius-expected.html: Added.
        * fast/inline/hidpi-outline-auto-negative-offset-with-border-radius.html: Added.

2016-03-14  Zalan Bujtas  <zalan@apple.com>

        [Outline: auto] Fractional radius value could result in non-renderable rounded border.
        https://bugs.webkit.org/show_bug.cgi?id=155420

        Reviewed by Tim Horton.

        RoundedRect::pixelSnappedRoundedRectForPainting ensures that the rounded rect is always renderable.

        * fast/inline/hidpi-outline-auto-with-fractional-radius-expected.html: Added.
        * fast/inline/hidpi-outline-auto-with-fractional-radius.html: Added.

2016-03-14  Zalan Bujtas  <zalan@apple.com>

        Outline: auto has sharp corners with single line contenteditable.
        https://bugs.webkit.org/show_bug.cgi?id=155418

        Reviewed by Tim Horton.

        Multiple rectangles assumed multiline content and it broke bottomLeft and bottomRight corner check.
        This patch adds fast path for polygons with 4 corners.

        * fast/inline/hidpi-outline-auto-with-one-focusring-rect-expected.html: Added.
        * fast/inline/hidpi-outline-auto-with-one-focusring-rect.html: Added.

2016-03-14  Joanmarie Diggs  <jdiggs@igalia.com>

        [AX] SVG element with child desc not exposed
        https://bugs.webkit.org/show_bug.cgi?id=155374

        Reviewed by Darin Adler.

        * platform/gtk/accessibility/w3c-svg-roles-expected.txt: Updated.
        * platform/mac/accessibility/w3c-svg-roles-expected.txt: Updated.

2016-03-14  Ryan Haddad  <ryanhaddad@apple.com>

        Skip asserting test http/tests/security/aboutBlank/security-context-write.html
        https://bugs.webkit.org/show_bug.cgi?id=94458

        Unreviewed test gardening.

        * TestExpectations:

2016-03-14  Darin Adler  <darin@apple.com>

        Add copy/paste plug-in check for XHTML document
        https://bugs.webkit.org/show_bug.cgi?id=106350

        * TestExpectations: Re-enable test now that it works in WebKit 1.
        * editing/pasteboard/paste-noplugin-xhtml.xhtml: Fixed problem where test would try to
        call setBlockAllPlugins even when it did not exist. Turns out that's needed for the
        test to run under WebKit 2, but not needed at all under WebKit 1.

2016-03-14  Frederic Wang  <fred.wang@free.fr>

        Skip accessibility/internal-link-anchors2.html as the linked ui element API is not supported for links.

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-03-14  Frederic Wang  <fwang@igalia.com>

        Make MathML colspan/rowspan consistent with HTML table cells.
        https://bugs.webkit.org/show_bug.cgi?id=150253

        Reviewed by Martin Robinson.

        We import crashing test from bug 150253.

        * mathml/rowspan-crash-expected.txt: Added.
        * mathml/rowspan-crash.xhtml: Added.

2016-03-14  Darin Adler  <darin@apple.com>

        Continue work on https://bugs.webkit.org/show_bug.cgi?id=106350

        * TestExpectations: Disable test fow now since it seems to be failing in WebKit 1 and
        depends on hooks not present in WebKit 1 test runner.

2016-03-14  Ryosuke Niwa  <rniwa@webkit.org>

        Add slotchange event
        https://bugs.webkit.org/show_bug.cgi?id=155424
        <rdar://problem/24997534>

        Reviewed by Antti Koivisto.

        Added a W3C style testharness.js test.

        * fast/shadow-dom/ShadowRoot-interface-expected.txt:
        * fast/shadow-dom/ShadowRoot-interface.html: Don't import testharness.css from svn.webkit.org.
        * fast/shadow-dom/slotchange-event-expected.txt: Added.
        * fast/shadow-dom/slotchange-event.html: Added.

2016-03-13  Darin Adler  <darin@apple.com>

        Add copy/paste plug-in check for XHTML document
        https://bugs.webkit.org/show_bug.cgi?id=106350

        Reviewed by David Kilzer.

        This bug was filed because of the assumption that there was a bug, but it
        turns out that even in XHTML documents, we use HTML tree builder, so there is
        no bug. Thus this just adds the test that demonstrates this.

        * editing/pasteboard/paste-noplugin-xhtml-expected.txt: Added.
        * editing/pasteboard/paste-noplugin-xhtml.xhtml: Added.

2016-03-13  Sam Weinig  <sam@webkit.org>

        Implement unprivileged execCommand("copy") and execCommand("cut")
        <rdar://problem/24354406>
        https://bugs.webkit.org/show_bug.cgi?id=146336

        Reviewed by Dean Jackson.

        * editing/execCommand/clipboard-access-with-user-gesture-expected.txt: Added.
        * editing/execCommand/clipboard-access-with-user-gesture.html: Added.
        Add test for using execCommand("copy") and execCommand("cut") during a user gesture.

2016-03-13  Dean Jackson  <dino@apple.com>

        DRT should enable WebGL by default on Mac
        https://bugs.webkit.org/show_bug.cgi?id=155419
        <rdar://problem/25136981>

        Reviewed by Sam Weinig.

        Update all the tests that no longer have to explicitly
        turn WebGL on.

        * compositing/backface-visibility/backface-visibility-webgl.html:
        * compositing/visibility/visibility-simple-webgl-layer.html:
        * compositing/webgl/webgl-background-color.html:
        * compositing/webgl/webgl-no-alpha.html:
        * compositing/webgl/webgl-nonpremultiplied-blend.html:
        * compositing/webgl/webgl-reflection.html:
        * compositing/webgl/webgl-repaint.html:
        * fast/canvas/webgl/antialiasing-enabled.html:
        * fast/canvas/webgl/canvas-resize-crash.html:
        * fast/canvas/webgl/css-webkit-canvas-repaint.html:
        * fast/canvas/webgl/css-webkit-canvas.html:
        * fast/canvas/webgl/out-of-bounds-simulated-vertexAttrib0-drawArrays-expected.txt:
        * fast/canvas/webgl/out-of-bounds-simulated-vertexAttrib0-drawArrays.html:
        * fast/canvas/webgl/premultiplyalpha-test.html:
        * fast/canvas/webgl/resources/webgl-test.js:
        (initNonKhronosFramework): Deleted.
        * fast/canvas/webgl/texImage2DImageDataTest.html:
        * fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html:
        * fast/canvas/webgl/unprefixed-context.html:
        * fast/canvas/webgl/webgl-composite-modes-repaint.html:
        * fast/canvas/webgl/webgl-composite-modes.html:
        * fast/canvas/webgl/webgl-drawarrays-crash.html:
        * fast/canvas/webgl/webgl-layer-update.html:
        * fast/canvas/webgl/webgl-reload-crash.html:
        * http/tests/canvas/webgl/origin-clean-conformance.html:
        * http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html:
        * http/tests/security/webgl-remote-read-remote-image-allowed.html:
        * http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html:
        * http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/unit.js:
        * http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-pre.js:
        * http/tests/webgl/1.0.2/resources/webkit-webgl-test-harness.js:
        * imported/blink/compositing/draws-content/webgl-simple-background.html:
        * webgl/1.0.2/resources/webgl_test_files/conformance/more/unit.js:
        * webgl/1.0.2/resources/webgl_test_files/resources/js-test-pre.js:
        * webgl/1.0.2/resources/webkit-webgl-test-harness.js:
        * webgl/1.0.3/resources/webgl_test_files/conformance/more/unit.js:
        * webgl/1.0.3/resources/webgl_test_files/resources/js-test-pre.js:
        * webgl/1.0.3/resources/webkit-webgl-test-harness.js:
        * webgl/resources/webkit-webgl-test-harness.js:

2016-03-13  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r190840): crash inside details element's slotNameFunction
        https://bugs.webkit.org/show_bug.cgi?id=155388

        Reviewed by Antti Koivisto.

        Added a regression test.

        * fast/html/details-summary-tabindex-crash-expected.txt: Added.
        * fast/html/details-summary-tabindex-crash.html: Added.

2016-03-13  Dean Jackson  <dino@apple.com>

        <attachment> should be a runtime-enabled feature
        https://bugs.webkit.org/show_bug.cgi?id=155413
        <rdar://problem/25120753>

        Reviewed by Sam Weinig and Anders Carlsson.

        Now that <attachment> is disabled by default, use an
        internal setting to turn them back on test by test.

        * fast/attachment/attachment-default-icon-expected.html:
        * fast/attachment/attachment-default-icon.html:
        * fast/attachment/attachment-disabled-dom.html:
        * fast/attachment/attachment-disabled-rendering.html:
        * fast/attachment/attachment-dom.html:
        * fast/attachment/attachment-folder-icon-expected.html:
        * fast/attachment/attachment-folder-icon.html:
        * fast/attachment/attachment-icon-from-file-extension-expected.html:
        * fast/attachment/attachment-icon-from-file-extension.html:
        * fast/attachment/attachment-label-highlight.html:
        * fast/attachment/attachment-progress.html:
        * fast/attachment/attachment-rendering.html:
        * fast/attachment/attachment-select-on-click-inside-user-select-all.html:
        * fast/attachment/attachment-select-on-click.html:
        * fast/attachment/attachment-subtitle.html:
        * fast/attachment/attachment-title.html:
        * fast/attachment/attachment-type-attribute-expected.html:
        * fast/attachment/attachment-type-attribute.html:
        * editing/pasteboard/copy-paste-attachment.html:
        * editing/pasteboard/drag-and-drop-attachment-contenteditable.html:

2016-03-13  Antti Koivisto  <antti@apple.com>

        ComposedTreeIterator fails to traverse slots if root is shadow host
        https://bugs.webkit.org/show_bug.cgi?id=155407

        Reviewed by Darin Adler.

        * fast/shadow-dom/composed-tree-shadow-subtree-expected.txt: Added.
        * fast/shadow-dom/composed-tree-shadow-subtree.html: Added.

2016-03-12  Dean Jackson  <dino@apple.com>

        REGRESSION (r188647): Teamtreehouse website sidebar buttons are not rendered
        https://bugs.webkit.org/show_bug.cgi?id=155400
        <rdar://problem/24818602>

        Reviewed by Anders Carlsson.

        Add tests with SVG content that uses CSS filter
        shorthands. These particular filters are no-ops
        so should not affect rendering. If they actually
        tried to do something you wouldn't see them work
        until we enable shorthand filters on SVG content.

        * css3/filters/filters-on-svg-element-expected.html: Added.
        * css3/filters/filters-on-svg-element.html: Added.
        * css3/filters/filters-on-svg-root-expected.html: Added.
        * css3/filters/filters-on-svg-root.html: Added.

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

        [OS X] Scrollbars of overflow:scroll divs should appear on the left on RTL systems
        https://bugs.webkit.org/show_bug.cgi?id=155385

        Reviewed by Simon Fraser.

        * platform/mac-wk1/TestExpectations: 
        * platform/mac/TestExpectations: 
        * platform/efl/TestExpectations: 
        * platform/gtk/TestExpectations: 
        * platform/ios-simulator/TestExpectations: 
        * platform/win/TestExpectations: 
        * fast/scrolling/rtl-scrollbars-overflow-contents-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-contents.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-dir-rtl-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-dir-rtl.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-padding-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-padding.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-simple-expected-mismatch.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow-simple.html: Added.
        * fast/scrolling/rtl-scrollbars-overflow.html: Added.

2016-03-12  Zalan Bujtas  <zalan@apple.com>

        [Forms: focus] focus rings around text fields do not follow contour (border-radius)
        https://bugs.webkit.org/show_bug.cgi?id=154099
        rdar://problem/9988429

        Reviewed by Tim Horton.

        Unfortunately there's no proper way to test native focusring drawing.
        These tests attempt to verify that we don't end up painting sharp corners.

        * fast/inline/hidpi-outline-auto-with-border-radius-horizontal-ltr-expected.html: Added.
        * fast/inline/hidpi-outline-auto-with-border-radius-horizontal-ltr.html: Added.
        * fast/inline/hidpi-outline-auto-with-border-radius-horizontal-rtl-expected.html: Added.
        * fast/inline/hidpi-outline-auto-with-border-radius-horizontal-rtl.html: Added.
        * fast/inline/hidpi-outline-auto-with-border-radius-vertical-ltr-expected.html: Added.
        * fast/inline/hidpi-outline-auto-with-border-radius-vertical-ltr.html: Added.
        * fast/inline/hidpi-outline-auto-with-border-radius-vertical-rtl-expected.html: Added.
        * fast/inline/hidpi-outline-auto-with-border-radius-vertical-rtl.html: Added.

2016-03-11  Ryosuke Niwa  <rniwa@webkit.org>

        Add Event.deepPath() and Event.scoped
        https://bugs.webkit.org/show_bug.cgi?id=153538
        <rdar://problem/24363836>

        Reviewed by Darin Adler.

        Added a W3C style testharness.js tests for Event.prototype.scoped, Event.prototype.scopedRelatedTarget,
        Event.prototype.deepPath() and a test that uses eventSender to verify the values of the scoped and
        scopedRelatedTarget flags on trusted events.

        * fast/shadow-dom/Extensions-to-Event-Interface-expected.txt: Added.
        * fast/shadow-dom/Extensions-to-Event-Interface.html: Added.
        * fast/shadow-dom/event-with-related-target.html:
        * fast/shadow-dom/resources: Added.
        * fast/shadow-dom/resources/event-path-test-helpers.js: Added. Extracted from event-with-related-target.html.
        * fast/shadow-dom/trusted-event-scoped-flags-expected.txt: Added.
        * fast/shadow-dom/trusted-event-scoped-flags.html: Added.
        * fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
        * http/tests/workers/worker-importScriptsOnError-expected.txt:
        * inspector/model/remote-object-get-properties-expected.txt:
        * platform/ios-simulator/fast/shadow-dom/trusted-event-scoped-flags-expected.txt: Added.

2016-03-11  Jiewen Tan  <jiewen_tan@apple.com>

        WebKit should not be redirected to an invalid URL
        https://bugs.webkit.org/show_bug.cgi?id=155263
        <rdar://problem/22820172>

        Reviewed by Brent Fulgham.

        * http/tests/navigation/redirect-to-invalid-url-expected.txt: Added.
        * http/tests/navigation/redirect-to-invalid-url.html: Added.
        * http/tests/navigation/resources/redirect-to-invalid-url-frame.php: Added.

2016-03-11  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/track/track-in-band-style.html as flaky on Yosemite
        https://bugs.webkit.org/show_bug.cgi?id=153143

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-03-11  Mark Lam  <mark.lam@apple.com>

        Implement Function.name and Function#toString for ES6 class.
        https://bugs.webkit.org/show_bug.cgi?id=155336

        Reviewed by Geoffrey Garen.

        * js/class-syntax-name-expected.txt:
        * js/script-tests/class-syntax-name.js:
        (shouldBe):
        (shouldBeTrue):
        - Rebased expected result.

        * js/function-toString-vs-name.html:
        * js/script-tests/function-toString-vs-name.js:
        - Added new tests for class.

        * platform/mac/inspector/model/remote-object-expected.txt:
        - Rebased expected result.

2016-03-11  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/blink/fast/multicol/dynamic/multicol-with-abspos-svg-with-foreignobject-with-multicol-crash.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=155339

        Unreviewed test gardening.

        This test is a flaky crash on ios-simulator debug.

        * platform/ios-simulator/TestExpectations:

2016-03-11  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/heap/getPreview.html as flaky on mac-wk2
        https://bugs.webkit.org/show_bug.cgi?id=155312

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-03-11  Ryan Haddad  <ryanhaddad@apple.com>

        Marking css3/masking/mask-luminance-svg.html and css3/masking/mask-svg-script-none-to-png.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=155372.

        Unreviewed test gardening.

        These two tests are flaky crashes on ios-simulator debug.

        * platform/ios-simulator/TestExpectations:

2016-03-11  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r197984.

        This change caused an existing LayoutTest to fail

        Reverted changeset:

        "WebKit should not be redirected to an invalid URL"
        https://bugs.webkit.org/show_bug.cgi?id=155263
        http://trac.webkit.org/changeset/197984

2016-03-11  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Implement Reflect.set without receiver support
        https://bugs.webkit.org/show_bug.cgi?id=155024

        Reviewed by Geoffrey Garen.

        * js/dom/reflect-set-onto-dom-expected.txt: Added.
        * js/dom/reflect-set-onto-dom.html: Added.
        * js/dom/script-tests/reflect-set-onto-dom.js: Added.

2016-03-11  Yoav Weiss  <yoav@yoav.ws>

        Avoid applying link tags with an invalid media attribute
        https://bugs.webkit.org/show_bug.cgi?id=143262

        Reviewed by Brent Fulgham.

        These tests make sure that when <link rel=stylesheet> is present with an invalid
        media attribute, the styles are not being applied.

        * fast/dom/HTMLLinkElement/link-stylesheet-invalid-media-expected.txt: Added.
        * fast/dom/HTMLLinkElement/link-stylesheet-invalid-media.html: Added.
        * fast/dom/HTMLLinkElement/link-stylesheet-media-type-expected.txt: Added.
        * fast/dom/HTMLLinkElement/link-stylesheet-media-type.html: Added.

        These tests test the old HTML4 behavior and are no longer relevant.
        * fast/media/media-descriptor-syntax-05.html: Removed.
        * fast/media/media-descriptor-syntax-05-expected.html: Removed.

2016-03-11  Frederic Wang  <fwang@igalia.com>

        Skip content-editable-as-textarea.html on GTK as it uses AX API.

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-03-10  Jer Noble  <jer.noble@apple.com>

        CRASH at WebCore::RenderView::updateVisibleViewportRect
        https://bugs.webkit.org/show_bug.cgi?id=155209
        <rdar://problem/23997530>

        Reviewed by Simon Fraser.

        (These files were mistakenly landed in a previous commit:)
        * media/video-crash-invisible-autoplay-display-none-expected.txt: Added.
        * media/video-crash-invisible-autoplay-display-none.html: Added.

2016-03-10  Zalan Bujtas  <zalan@apple.com>

        Simple line layout: Add text-align: justify support.
        https://bugs.webkit.org/show_bug.cgi?id=155006

        Reviewed by Antti Koivisto.

        Rebaseline based on simple line layout output.

        * fast/text/whitespace/023-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:

2016-03-10  Nan Wang  <n_wang@apple.com>

        AX: Force allow user zoom
        https://bugs.webkit.org/show_bug.cgi?id=155056

        Reviewed by Simon Fraser.

        * fast/viewport/ios/force-always-user-scalable-expected.txt: Added.
        * fast/viewport/ios/force-always-user-scalable.html: Added.
        * platform/ios-simulator-wk2/TestExpectations:

2016-03-10  Jiewen Tan  <jiewen_tan@apple.com>

        WebKit should not be redirected to an invalid URL
        https://bugs.webkit.org/show_bug.cgi?id=155263
        <rdar://problem/22820172>

        Reviewed by Brent Fulgham.

        * http/tests/navigation/redirect-to-invalid-url-expected.txt: Added.
        * http/tests/navigation/redirect-to-invalid-url.html: Added.
        * http/tests/navigation/resources/redirect-to-invalid-url-frame.php: Added.

2016-03-10  Nan Wang  <n_wang@apple.com>

        AX: Implement bounds/position and index related text marker functions using TextIterator
        https://bugs.webkit.org/show_bug.cgi?id=154976

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-for-index-expected.txt: Added.
        * accessibility/mac/text-marker-for-index.html: Added.
        * accessibility/mac/text-marker-word-nav-expected.txt:
        * accessibility/mac/text-marker-word-nav.html:

2016-03-10  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Test gardening after r197933
        <rdar://problem/25091368>

        Unreviewed.

        * fast/text/woff2-expected.html:
        * fast/text/woff2.html:

2016-03-10  Daniel Bates  <dabates@apple.com>

        CSP: Implement frame-ancestors directive
        https://bugs.webkit.org/show_bug.cgi?id=154345
        <rdar://problem/24702161>

        Reviewed by Brent Fulgham.

        Adds new tests to ensure we ignore directive frame-ancestors when defined a policy delivered
        in an HTML meta element or in a report-only policy (i.e. delivered via HTTP header Content-
        Security-Policy-Report-Only). Also adds new test to ensure that we send a violation report
        when the directive frame-ancestors is violated.

        Updated many existing tests and test results that unnecessarily depended on a DOM SecurityError
        exception being thrown when accessing the content of a cross-origin frame. It is sufficient
        and more direct to test directive frame-ancestors by dumping the contents of all children frames
        on the page. We design the tests such that a child frame that was blocked by the frame-ancestors
        directive is expected to have no content. A child frame that was allowed by the frame-ancestors
        directive is expected to have content.

        * TestExpectations: Mark frame-ancestors tests as PASS so that we run them.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-in-meta-element-ignored-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-in-meta-element-ignored.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-in-report-only-ignored-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-in-report-only-ignored.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-star-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-star-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-star-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-star-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-none-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-self-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-self-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-star-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-star-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-none-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-protocolless-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-protocolless-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-crossorigin-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-crossorigin.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-sameorigin-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-sameorigin.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-allow.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-block.html:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/echo-intertag.pl: Added.
        * http/tests/security/contentSecurityPolicy/resources/frame-ancestors-test.js:
        (done): Added.
        (injectIFrame): Modified to make use of handleFrameEvent().
        (handleFrameEvent): Added.
        (iframeLoaded): Deleted.
        * http/tests/security/contentSecurityPolicy/resources/frame-in-frame.pl:

2016-03-10  Andy VanWagoner  <andy@instructure.com>

        Add shouldNotBe to standalone test harness
        https://bugs.webkit.org/show_bug.cgi?id=155300

        Reviewed by Saam Barati.

        Copy over the shouldNotBe function from js-test-pre. This fixes errors
        introduced be new Intl tests.

        * resources/standalone-pre.js:
        (shouldNotBe):

2016-03-10  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline two inspector tests after r197954 changed the results.

        Unreviewed test gardening.

        * inspector/debugger/command-line-api-exception-expected.txt:
        * platform/mac/inspector/model/remote-object-expected.txt:

2016-03-10  Michael Saboff  <msaboff@apple.com>

        [ES6] Allow RegExp constructor to take pattern from an existing RegExp with new flags
        https://bugs.webkit.org/show_bug.cgi?id=155315

        Reviewed by Saam Barati.

        New and updated test for change.

        * fast/regex/constructor-expected.txt:
        * fast/regex/script-tests/constructor.js:
        Changed test for new behavior.`

        * js/regexp-old-regexp-new-flags-expected.txt: Added.
        * js/regexp-old-regexp-new-flags.html: Added.
        * js/script-tests/regexp-old-regexp-new-flags.js: Added.
        New test.

        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.3/S15.10.3.1_A2_T1-expected.txt: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.3/S15.10.3.1_A2_T1.html: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.3/S15.10.3.1_A2_T2-expected.txt: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.3/S15.10.3.1_A2_T2.html: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.4/S15.10.4.1_A2_T1-expected.txt: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.4/S15.10.4.1_A2_T1.html: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.4/S15.10.4.1_A2_T2-expected.txt: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.4/S15.10.4.1_A2_T2.html: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.4/S15.10.4.1_A8_T8-expected.txt: Removed.
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.4/S15.10.4.1_A8_T8.html: Removed.
        Removed obsolete tests.

2016-03-10  Myles C. Maxfield  <mmaxfield@apple.com>

        [OS X] Main frame scrollbars should appear on the left on RTL systems
        https://bugs.webkit.org/show_bug.cgi?id=155149

        Reviewed by Simon Fraser.

        * fast/scrolling/rtl-scrollbars-expected.html: Added.
        * fast/scrolling/rtl-scrollbars-simple-expected-mismatch.html: Added.
        * fast/scrolling/rtl-scrollbars-simple.html: Added.
        * fast/scrolling/rtl-scrollbars.html: Added.
        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/win/TestExpectations:

2016-03-07  Jer Noble  <jer.noble@apple.com>

        Add separate WK and WK2 preferences for requiring user gestures for video media, distinct from user gestures for media generally
        https://bugs.webkit.org/show_bug.cgi?id=155141

        Reviewed by Beth Dakin.

        Update layout tests to reflect new restriction name.

        * media/audio-playback-restriction-play-expected.txt:
        * media/audio-playback-restriction-play.html:
        * media/no-autoplay-with-user-gesture-requirement.html:
        * media/video-load-require-user-gesture.html:
        * media/video-play-require-user-gesture.html:
        * media/video-crash-invisible-autoplay-display-none-expected.txt: Added.
        * media/video-crash-invisible-autoplay-display-none.html: Added.
        * media/video-main-content-allow-expected.txt:
        * media/video-main-content-allow-then-deny-expected.txt:
        * media/video-main-content-allow-then-deny.html:
        * media/video-main-content-allow.html:
        * media/video-main-content-deny-display-none-expected.txt:
        * media/video-main-content-deny-display-none.html:
        * media/video-main-content-deny-not-in-dom-expected.txt:
        * media/video-main-content-deny-not-in-dom.html:
        * media/video-main-content-deny-not-visible-expected.txt:
        * media/video-main-content-deny-not-visible.html:
        * media/video-main-content-deny-obscured-expected.txt:
        * media/video-main-content-deny-obscured.html:
        * media/video-main-content-deny-too-small-expected.txt:
        * media/video-main-content-deny-too-small.html:

2016-03-10  Ryosuke Niwa  <rniwa@webkit.org>

        Add :defined support
        https://bugs.webkit.org/show_bug.cgi?id=155108

        Reviewed by Antti Koivisto.

        Added W3C style testharness.js tests and ref tests for :defined pseudo class.

        * fast/custom-elements/defined-pseudo-class-expected.txt: Added.
        * fast/custom-elements/defined-pseudo-class.html: Added.
        * fast/custom-elements/defined-rule-expected.html: Added.
        * fast/custom-elements/defined-rule.html: Added.

2016-03-10  Daniel Bates  <dabates@apple.com>

        CSP: Implement support for script and style nonces
        https://bugs.webkit.org/show_bug.cgi?id=116508
        <rdar://problem/24963980>

        Reviewed by Brent Fulgham.

        Update expected results due to differences between Blink and WebKit violation message formats.

        Additionally mark script- and style- nonce tests as PASS in LayoutTests/TestExpectations so
        that we run them.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-and-scripthash-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-and-scripthash.html:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-basic-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-ignore-unsafeinline-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce-expected.txt: Also update result
        to reflect that we consider "'n-" an invalid source expression (as expected).
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-blocked-expected.txt:

2016-03-10  David Kilzer  <ddkilzer@apple.com>

        [iOS] DumpRenderTree crashes when accessing window.testRunner.inspectorTestStubURL
        <http://webkit.org/b/155295>

        Reviewed by Brent Fulgham.

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        - Remove all "inspector/" tests.  They are already skipped in
          platform/ios-simulator/TestExpectations, so no need to
          resurrect them here.

2016-03-10  Daniel Bates  <dabates@apple.com>

        CSP: Implement support for inline script and inline style hashes
        https://bugs.webkit.org/show_bug.cgi?id=155007
        <rdar://problem/24964098>

        Reviewed by Brent Fulgham.

        Add new test http/tests/security/contentSecurityPolicy/1.1/scripthash-tests.html to ensure that
        script hashes are interpreted correctly. Update many existing tests that had a hash source with
        a SHA-1 hash to use a SHA-256 hash. The valid hash algorithms are SHA-256, SHA-384, and SHA-512
        per the Content Security Policy Level 3 spec. At the time of writing, Blink also supports SHA-1.

        * TestExpectations: Mark many CSP 1.1 tests as PASS so that we run them. Remove entries for tests
        http/tests/security/contentSecurityPolicy/1.1/{script, style}hash-default-src.html as these tests
        now pass.
        * http/tests/security/contentSecurityPolicy/1.1/resources/didRunInlineScriptEpilogue.js: Added.
        * http/tests/security/contentSecurityPolicy/1.1/resources/didRunInlineScriptPrologue.js: Added.
        * http/tests/security/contentSecurityPolicy/1.1/resources/testScriptHash.php: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed.html: Update test as SHA-1 is not
        a supported hash algorithm per the Content Security Policy Level 3 spec.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-default-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-ignore-unsafeinline-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-ignore-unsafeinline.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-malformed-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-tests-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-tests.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-unicode-normalization.html: Update test
        as SHA-1 is not a supported hash algorithm per the Content Security Policy Level 3 spec.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-allowed-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-allowed.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-error-event.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-default-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-svg-style-basic-blocked-error-event.html: Update test
        as SHA-1 is not a supported hash algorithm per the Content Security Policy Level 3 spec.

2016-03-10  Frederic Wang  <fwang@igalia.com>

        [GTK] Add support for WOFF2
        https://bugs.webkit.org/show_bug.cgi?id=152616

        Reviewed by Carlos Garcia Campos.

        * fast/text/woff2-expected.html: Adjust font-size to work around anti-aliasing effects.
        * fast/text/woff2.html: Ditto.
        * platform/gtk/TestExpectations: Update test expectation of woff2 test for GTK.

2016-03-10  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix placement for unknown named grid lines
        https://bugs.webkit.org/show_bug.cgi?id=155230

        Reviewed by Sergio Villar Senin.

        Updated current tests to the new expected behavior and created a new
        test checking different cases explicitly.

        * fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
        * fast/css-grid-layout/grid-item-bad-named-area-auto-placement-expected.txt:
        * fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
        * fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
        * fast/css-grid-layout/grid-item-named-grid-line-resolution-expected.txt:
        * fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
        * fast/css-grid-layout/grid-item-negative-position-resolution.html:
        * fast/css-grid-layout/grid-item-position-changed-dynamic.html:
        * fast/css-grid-layout/grid-item-unknown-named-grid-line-resolution-expected.txt: Added.
        * fast/css-grid-layout/grid-item-unknown-named-grid-line-resolution.html: Added.
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:

2016-03-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Get a RemoteObject or ObjectPreview from HeapSnapshot Object Identifier
        https://bugs.webkit.org/show_bug.cgi?id=155264
        <rdar://problem/25070716>

        Reviewed by Timothy Hatcher.

        * inspector/heap/getPreview-expected.txt: Added.
        * inspector/heap/getPreview.html: Added.
        * inspector/heap/getRemoteObject-expected.txt: Added.
        * inspector/heap/getRemoteObject.html: Added.
        Test the new protocol methods in different scenarios.

        * inspector/heap/snapshot-expected.txt:
        * inspector/heap/snapshot.html:
        Fix typo.

2016-03-09  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Intl Constructors not web compatible with Object.create usage
        https://bugs.webkit.org/show_bug.cgi?id=153679

        Reviewed by Darin Adler.

        Add tests for Object.create + contructor.call initialization of NumberFormat
        and DateTimeFormat objects.

        * js/intl-datetimeformat-expected.txt:
        * js/intl-numberformat-expected.txt:
        * js/script-tests/intl-datetimeformat.js:
        * js/script-tests/intl-numberformat.js:

2016-03-09  Ryosuke Niwa  <rniwa@webkit.org>

        defineElement should upgrade existing unresolved custom elements
        https://bugs.webkit.org/show_bug.cgi?id=155107

        Reviewed by Darin Adler.

        Added W3C style testharness.js tests for asynchronously defining custom elements.

        * fast/custom-elements/upgrading/Node-cloneNode.html:
        * fast/custom-elements/upgrading/upgrading-parser-created-element-expected.txt: Added.
        * fast/custom-elements/upgrading/upgrading-parser-created-element.html: Added.

2016-03-09  Saam Barati  <sbarati@apple.com>

        ES6: Implement lexical scoping for function definitions in strict mode
        https://bugs.webkit.org/show_bug.cgi?id=152844

        Reviewed by Geoffrey Garen.

        * js/let-syntax-expected.txt:
        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        (testFailed):
        (runTest):

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

        Add heuristic for "main content" videos which override user gesture requirements
        https://bugs.webkit.org/show_bug.cgi?id=155224

        Reviewed by Eric Carlson.

        * media/video-main-content-allow-expected.txt: Added.
        * media/video-main-content-allow-then-deny-expected.txt: Added.
        * media/video-main-content-allow-then-deny.html: Added.
        * media/video-main-content-allow.html: Added.
        * media/video-main-content-deny-display-none-expected.txt: Added.
        * media/video-main-content-deny-display-none.html: Added.
        * media/video-main-content-deny-not-in-dom-expected.txt: Added.
        * media/video-main-content-deny-not-in-dom.html: Added.
        * media/video-main-content-deny-not-visible-expected.txt: Added.
        * media/video-main-content-deny-not-visible.html: Added.
        * media/video-main-content-deny-obscured-expected.txt: Added.
        * media/video-main-content-deny-obscured.html: Added.
        * media/video-main-content-deny-too-small-expected.txt: Added.
        * media/video-main-content-deny-too-small.html: Added.

2016-03-09  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping js/regress/getter-richards-try-catch.html on ios-simulator debug
        https://bugs.webkit.org/show_bug.cgi?id=155271

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-09  Ryan Haddad  <ryanhaddad@apple.com>

        Skip two flaky tests on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=155196

        Unreviewed test gardening.

        media/video-with-blob-url-allowed-by-csp-media-src-star.html and media/video-with-data-url-allowed-by-csp-media-src-star.html
        are flaky on mac-wk1. Skipping to get bots to green during investigation.

        * platform/mac-wk1/TestExpectations:

2016-03-09  Ryosuke Niwa  <rniwa@webkit.org>

        Rename Node.treeRoot to rootNode and turn it on by default
        https://bugs.webkit.org/show_bug.cgi?id=155226

        Reviewed by Antonio Gomes.
        
        Split Node-interface-treeRoot.html into two pieces, the one that doesn't invoke shadow DOM and the other that tests
        shadow DOM related cases. I intend to upstream these tests to W3C at some point so keep them in testharness.js form.

        * fast/dom/Node/rootNode-expected.txt: Added.
        * fast/dom/Node/rootNode.html: Copied from LayoutTests/fast/shadow-dom/Node-interface-treeRoot.html.
        * fast/shadow-dom/Node-interface-rootNode-expected.txt: Renamed from Node-interface-treeRoot-expected.txt.
        * fast/shadow-dom/Node-interface-rootNode.html: Renamed from LayoutTests/fast/shadow-dom/Node-interface-treeRoot.html.
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/efl/js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:

2016-03-09  Michael Saboff  <msaboff@apple.com>

        [ES6] Implement RegExp sticky flag and related functionality
        https://bugs.webkit.org/show_bug.cgi?id=155177

        Reviewed by Saam Barati.

        New and updated tests.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/regexp-flags-expected.txt:
        * js/regexp-sticky-expected.txt: Added.
        * js/regexp-sticky.html: Added.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/regexp-flags.js:
        (RegExp.prototype.hasOwnProperty): Deleted check for sticky property.
        * js/script-tests/regexp-sticky.js: New test.
        (asString):
        (testStickyExec):
        (testStickyMatch):

2016-03-09  Mark Lam  <mark.lam@apple.com>

        FunctionExecutable::ecmaName() should not be based on inferredName().
        https://bugs.webkit.org/show_bug.cgi?id=155203

        Reviewed by Michael Saboff.

        * js/script-tests/function-toString-vs-name.js:
        - Fixed up object property test section and added new test cases.
        * platform/mac/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt:

2016-03-09  Chris Dumez  <cdumez@apple.com>

        Align HTMLKeygenElement.keytype with the specification
        https://bugs.webkit.org/show_bug.cgi?id=155214

        Reviewed by Darin Adler.

        Add test coverage for HTMLKeygenElement.keytype.

        * fast/dom/HTMLKeygenElement/keygen-keytype-expected.txt: Added.
        * fast/dom/HTMLKeygenElement/keygen-keytype.html: Added.

2016-03-09  Ryan Haddad  <ryanhaddad@apple.com>

        Cleaning up TestExpectations files to remove deleted tests and duplicate entries for ios-simulator.

        Unreviewed test gardening.

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

2016-03-09  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping fast/events/max-tabindex-focus.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=155233

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-08  Brent Fulgham  <bfulgham@apple.com>

        Local HTML should be blocked from localStorage access unless "Disable Local File Restrictions" is checked..
        https://bugs.webkit.org/show_bug.cgi?id=155185
        <rdar://problem/11101440>

        Reviewed by Zalan Bujtas.

        * storage/domstorage/localstorage/blocked-file-access-expected.txt: Added.
        * storage/domstorage/localstorage/blocked-file-access.html: Added.
        * storage/domstorage/localstorage/resources/blocked-example.html: Added.

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

        [css-grid] Allow to place positioned grid items on the padding
        https://bugs.webkit.org/show_bug.cgi?id=155199

        Reviewed by Sergio Villar Senin.

        Add new tests and updated results in a current one.

        * fast/css-grid-layout/grid-positioned-items-implicit-grid.html:
        * fast/css-grid-layout/grid-positioned-items-padding-expected.txt: Added.
        * fast/css-grid-layout/grid-positioned-items-padding.html: Added.
        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track-expected.txt: Added.
        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html: Added.

2016-03-09  Andreas Kling  <akling@apple.com>

        ImageDocuments leak their world.
        <https://webkit.org/b/155167>
        <rdar://problem/24987363>

        Reviewed by Antti Koivisto.

        Made a little test that loads an image into an <iframe> 10 times and then
        triggers a garbage collection and checks that all the documents got destroyed.

        Prior to this change, all 10 ImageDocuments would remain alive at the end.

        This got rolled out the first time because it failed on bots. It failed due
        to expecting a specific number of documents to be live at the start of the
        test, which was not reliable on bots since we appear to have more leaks(!)

        Tweaked the test to check the delta in live document count instead.

        * fast/dom/ImageDocument-world-leak-expected.txt: Added.
        * fast/dom/ImageDocument-world-leak.html: Added.

2016-03-08  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Fix auto-track sizing with min-size:auto and specific sizes
        https://bugs.webkit.org/show_bug.cgi?id=155165

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-automatic-minimum-for-auto-columns-expected.txt:
        * fast/css-grid-layout/grid-automatic-minimum-for-auto-columns.html:
        * fast/css-grid-layout/grid-automatic-minimum-for-auto-rows-expected.txt:
        * fast/css-grid-layout/grid-automatic-minimum-for-auto-rows.html:

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

        [css-grid] Initial support for implicit grid before explicit grid
        https://bugs.webkit.org/show_bug.cgi?id=155014

        Reviewed by Darin Adler.

        Updated results in current tests and added specific test for this.

        * fast/css-grid-layout/grid-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-item-negative-position-resolution.html:
        * fast/css-grid-layout/grid-item-spanning-resolution.html:
        * fast/css-grid-layout/implicit-tracks-before-explicit-expected.txt: Added.
        * fast/css-grid-layout/implicit-tracks-before-explicit.html: Added.

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

        [iOS] Arabic text on Wikipedia is shown as boxes
        https://bugs.webkit.org/show_bug.cgi?id=155129
        <rdar://problem/24919902>

        Reviewed by Darin Adler.

        This test is iOS-specific.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * fast/text/arabic-blacklisted-expected.html: Added.
        * fast/text/arabic-blacklisted.html: Added.

2016-03-08  Chris Dumez  <cdumez@apple.com>

        Element with maximum tabIndex cannot be returned by nextElementWithGreaterTabIndex()
        https://bugs.webkit.org/show_bug.cgi?id=155215

        Reviewed by Ryosuke Niwa.

        Add test to make sure that an Element with a tabIndex equal to
        2147483647 (maximum tabIndex) can be focused.

        * fast/events/max-tabindex-focus-expected.txt: Added.
        * fast/events/max-tabindex-focus.html: Added.

2016-03-08  Filip Pizlo  <fpizlo@apple.com>

        DFG should be able to constant-fold strings
        https://bugs.webkit.org/show_bug.cgi?id=155200

        Reviewed by Geoffrey Garen.

        * js/regress/script-tests/strcat-const.js: Added.
        (foo):
        (bar):
        * js/regress/script-tests/strcat-length-const.js: Added.
        (foo):
        (bar):
        * js/regress/strcat-const-expected.txt: Added.
        * js/regress/strcat-const.html: Added.
        * js/regress/strcat-length-const-expected.txt: Added.
        * js/regress/strcat-length-const.html: Added.

2016-03-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Heap domain start/stop tracking commands
        https://bugs.webkit.org/show_bug.cgi?id=155190

        Reviewed by Brian Burg.

        * inspector/heap/tracking-expected.txt: Added.
        * inspector/heap/tracking.html: Added.

2016-03-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add a way to create a Heap Snapshot
        https://bugs.webkit.org/show_bug.cgi?id=155188

        Reviewed by Brian Burg.

        * inspector/heap/snapshot-expected.txt: Added.
        * inspector/heap/snapshot.html: Added.

2016-03-08  Ryan Haddad  <ryanhaddad@apple.com>

        Move two indexeddb test skips out of wk2/TestExpectations and in to TestExpectations.

        Unreviewed test gardening.

        * TestExpectations:
        * platform/wk2/TestExpectations:

2016-03-08  Mark Lam  <mark.lam@apple.com>

        Implement Function.name support for getters/setters and inferring name of function properties.
        https://bugs.webkit.org/show_bug.cgi?id=154865

        Reviewed by Geoffrey Garen.

        * js/function-toString-vs-name-expected.txt: Added.
        * js/function-toString-vs-name.html: Added.
        * js/script-tests/function-toString-vs-name.js: Added.

2016-03-08  Myles C. Maxfield  <mmaxfield@apple.com>

        Font size computed style is innaccurate
        https://bugs.webkit.org/show_bug.cgi?id=154705
        <rdar://problem/23474068>

        Reviewed by Timothy Hatcher.

        Update expected results.

        * css3/calc/font-size-fractional-expected.txt:
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html:
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size-expected.txt:
        * editing/mac/attributed-string/font-size-expected.txt:
        * editing/mac/attributed-string/vertical-align-expected.txt:
        * platform/mac-mavericks/editing/mac/attributed-string/font-size-expected.txt:
        * platform/mac-mavericks/editing/mac/attributed-string/vertical-align-expected.txt:
        * platform/mac-yosemite/editing/mac/attributed-string/font-size-expected.txt:
        * platform/mac-yosemite/editing/mac/attributed-string/vertical-align-expected.txt:

2016-03-08  Ryan Haddad  <ryanhaddad@apple.com>

        Marking storage/domstorage/events/basic-body-attribute.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=155201

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-03-08  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] Crash when a single load request causes multiple fonts to fail loading
        https://bugs.webkit.org/show_bug.cgi?id=155009

        Reviewed by Simon Fraser.

        * fast/text/font-face-set-document-multiple-failure-expected.txt: Added.
        * fast/text/font-face-set-document-multiple-failure.html: Added.

2016-03-08  Ryan Haddad  <ryanhaddad@apple.com>

        Skip fast/events/prevent-default-prevents-interaction-with-scrollbars.html on ios-simulator

        Unreviewed test gardening.

        The test relies on mouse events, which are unsupported on ios-simulator.

        * platform/ios-simulator/TestExpectations:

2016-03-08  Ryan Haddad  <ryanhaddad@apple.com>

        Skip css3/filters tests that seem to cause a crash on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153933

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-08  Commit Queue  <commit-queue@webkit.org>

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

        Has platform-specific code in non-platform files (Requested by
        smfr on #webkit).

        Reverted changeset:

        "AX: Force allow user zoom"
        https://bugs.webkit.org/show_bug.cgi?id=155056
        http://trac.webkit.org/changeset/197766

2016-03-08  Ryan Haddad  <ryanhaddad@apple.com>

        Skip svg/animations/animate-marker-orient-from-angle-to-autostartreverse.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=155174

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-08  Antonio Gomes  <tonikitoo@webkit.org>

        Scrolling does not work when the mouse down is handled by a node
        https://bugs.webkit.org/show_bug.cgi?id=19033

        Reviewed by Simon Fraser.

        * fast/events/prevent-default-prevents-interaction-with-scrollbars-expected.txt: Added.
        * fast/events/prevent-default-prevents-interaction-with-scrollbars.html: Added.

2016-03-08  Michael Saboff  <msaboff@apple.com>

        [ES6] Regular Expression canonicalization tables for Unicode need to be updated to use Unicode CaseFolding.txt
        https://bugs.webkit.org/show_bug.cgi?id=155114

        Reviewed by Darin Adler.

        Updated test cases.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:

2016-03-08  Commit Queue  <commit-queue@webkit.org>

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

        The test added with this change is failing on all platforms.
        (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "ImageDocuments leak their world."
        https://bugs.webkit.org/show_bug.cgi?id=155167
        http://trac.webkit.org/changeset/197765

2016-03-08  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline WPT reflection tests for ios-simulator after r197726

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:

2016-03-08  Nan Wang  <n_wang@apple.com>

        AX: Force allow user zoom
        https://bugs.webkit.org/show_bug.cgi?id=155056

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/force-user-scalable-expected.txt: Added.
        * accessibility/ios-simulator/force-user-scalable.html: Added.

2016-03-08  Andreas Kling  <akling@apple.com>

        ImageDocuments leak their world.
        <https://webkit.org/b/155167>
        <rdar://problem/24987363>

        Reviewed by Antti Koivisto.

        Made a little test that loads an image into an <iframe> 10 times and then
        triggers a garbage collection and checks that all the documents got destroyed.

        Prior to this change, all 10 ImageDocuments would remain alive at the end.

        * fast/dom/ImageDocument-world-leak-expected.txt: Added.
        * fast/dom/ImageDocument-world-leak.html: Added.

2016-03-08  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed EFL build fix after r197752.

        * platform/efl/TestExpectations: Avoid running the mediastream
        tests until the support is implemented and compiled by default.

2016-03-08  Alejandro G. Castro  <alex@igalia.com>

        [GTK] [EFL] Avoid running mediastream tests by default until we compile by default
        https://bugs.webkit.org/show_bug.cgi?id=153540

        Reviewed by Philippe Normand.

        After bumping gstreamer to 1.6.3 in r196804 we can enable again
        compilation of mediastream and running the tests. We have updated
        the expectations accordingly.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:

2016-03-08  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Implement fetch skeleton
        https://bugs.webkit.org/show_bug.cgi?id=155111

        Reviewed by Darin Adler.

        * TestExpectations: Marking some tests as flaky.

2016-03-08  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>

        [SVG2] Implement marker orient='auto-start-reverse'
        https://bugs.webkit.org/show_bug.cgi?id=138456

        Reviewed by Darin Adler.

        * svg/animations/animate-marker-orient-from-angle-to-autostartreverse-expected.txt: Added.
        * svg/animations/animate-marker-orient-from-angle-to-autostartreverse.html: Added.
        * svg/animations/animate-marker-orienttype-4-expected.html: Added.
        * svg/animations/animate-marker-orienttype-4.html: Added.
          Verify output after animation has run - ensure animation reflected in visual result.
        * svg/animations/script-tests/animate-marker-orient-from-angle-to-autostartreverse.js: Added.
          Test DOM values at various snap-shot times throughout the animation.
        (sample1):
        (sample2):
        (sample3):
        (executeTest):
        * svg/custom/marker-auto-start-reverse-expected.html: Added.
        * svg/custom/marker-auto-start-reverse.html: Added.
          Verify static result - start marker is oriented at 180 degrees to direction of path.
        * svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt:
        * svg/dom/script-tests/SVGAnimatedEnumeration-SVGMarkerElement.js:
          Check attributes are treated as case sensitive.
          Check UNKNOWN is returned for enum value when auto-start-reverse set.

2016-03-07  Chris Dumez  <cdumez@apple.com>

        Stop clamping HTMLElement.tabIndex to the range of a short
        https://bugs.webkit.org/show_bug.cgi?id=155159

        Reviewed by Ryosuke Niwa.

        Drop outdated test.

        * fast/dom/tabindex-clamp-expected.txt: Removed.
        * fast/dom/tabindex-clamp.html: Removed.

2016-03-07  Daniel Bates  <dabates@apple.com>

        CSP: Source '*' should not match URLs with schemes blob, data, or filesystem
        https://bugs.webkit.org/show_bug.cgi?id=154122
        <rdar://problem/24613336>

        Reviewed by Brent Fulgham.

        Add tests to ensure that we do not regress our interpretation of * with respect to directives
        img-src, media-src, style-src, and default-src.

        When running in WebKitTestRunner, skip the tests fast/dom/HTMLImageElement/image-with-blob-url-blocked-by-csp-img-src-star.html
        and media/video-with-blob-url-allowed-by-csp-media-src-star.html as they make use of eventSender.beginDragWithFiles(),
        which is not implement. We will need to fix <https://bugs.webkit.org/show_bug.cgi?id=64285>
        before we can run these tests in WebKitTestRunner.

        * TestExpectations:
        * fast/dom/HTMLImageElement/image-with-blob-url-blocked-by-csp-img-src-star-expected.html: Added.
        * fast/dom/HTMLImageElement/image-with-blob-url-blocked-by-csp-img-src-star.html: Added.
        * fast/dom/HTMLImageElement/image-with-data-url-allowed-by-csp-img-src-star-expected.html: Added.
        * fast/dom/HTMLImageElement/image-with-data-url-allowed-by-csp-img-src-star.html: Added.
        * fast/dom/HTMLImageElement/image-with-file-url-blocked-by-csp-img-src-star-expected.html: Added.
        * fast/dom/HTMLImageElement/image-with-file-url-blocked-by-csp-img-src-star.html: Added.
        * fast/dom/HTMLImageElement/resources/green.png: Added.
        * fast/dom/HTMLLinkElement/link-with-blob-url-blocked-by-csp-style-src-star-expected.html: Added.
        * fast/dom/HTMLLinkElement/link-with-blob-url-blocked-by-csp-style-src-star.html: Added.
        * fast/dom/HTMLLinkElement/link-with-data-url-blocked-by-csp-style-src-star-expected.html: Added.
        * fast/dom/HTMLLinkElement/link-with-data-url-blocked-by-csp-style-src-star.html: Added.
        * fast/dom/HTMLLinkElement/link-with-file-url-blocked-by-csp-style-src-star-expected.html: Added.
        * fast/dom/HTMLLinkElement/link-with-file-url-blocked-by-csp-style-src-star.html: Added.
        * fast/dom/HTMLLinkElement/resources/red-background-color.css: Added.
        (#test):
        * http/tests/security/contentSecurityPolicy/image-with-http-url-allowed-by-csp-img-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/image-with-http-url-allowed-by-csp-img-src-star.html: Added.
        * http/tests/security/contentSecurityPolicy/image-with-https-url-allowed-by-csp-img-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/image-with-https-url-allowed-by-csp-img-src-star.html: Added.
        * http/tests/security/contentSecurityPolicy/javascript-url-blocked-by-default-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/javascript-url-blocked-by-default-src-star.html: Added.
        * http/tests/security/contentSecurityPolicy/link-with-http-url-allowed-by-csp-style-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/link-with-http-url-allowed-by-csp-style-src-star.html: Added.
        * http/tests/security/contentSecurityPolicy/link-with-https-url-allowed-by-csp-style-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/link-with-https-url-allowed-by-csp-style-src-star.html: Added.
        * http/tests/security/contentSecurityPolicy/video-with-http-url-allowed-by-csp-media-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/video-with-http-url-allowed-by-csp-media-src-star.html: Added.
        * http/tests/security/contentSecurityPolicy/video-with-https-url-allowed-by-csp-media-src-star-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/video-with-https-url-allowed-by-csp-media-src-star.html: Added.
        * media/video-with-blob-url-allowed-by-csp-media-src-star-expected.html: Added.
        * media/video-with-blob-url-allowed-by-csp-media-src-star.html: Added.
        * media/video-with-data-url-allowed-by-csp-media-src-star-expected.html: Added.
        * media/video-with-data-url-allowed-by-csp-media-src-star.html: Added.
        * media/video-with-file-url-blocked-by-csp-media-src-star-expected.html: Added.
        * media/video-with-file-url-blocked-by-csp-media-src-star.html: Added.
        * platform/wk2/TestExpectations:

2016-03-07  Alex Christensen  <achristensen@webkit.org>

        Fix cookies with private browsing and NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=155147
        rdar://problem/25018279

        Reviewed by Brady Eidson.

        * http/tests/cookies/private-cookie-storage-expected.txt: Added.
        * http/tests/cookies/private-cookie-storage.html: Added.

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Marking media/track/track-cues-pause-on-exit.html as flaky on ElCapitan Debug WK2
        https://bugs.webkit.org/show_bug.cgi?id=155151

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/indexeddb/idbcursor-advance-continue-async.htm as flaky on Yosemite Release WK2
        https://bugs.webkit.org/show_bug.cgi?id=154606

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Marking js/promises-tests/promises-tests-2-3-3.html as flaky on mac
        https://bugs.webkit.org/show_bug.cgi?id=155140

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/console/addInspectedNode.html as flaky on Yosemite WK2
        https://bugs.webkit.org/show_bug.cgi?id=155138

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping css3/filters/huge-region-composited.html on ios-simulator in an 
        attempt to eliminate a flaky crash.
        https://bugs.webkit.org/show_bug.cgi?id=153933

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Skip unsupported plugin tests from r197697 on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Skip storage/indexeddb/intversion-open-in-upgradeneeded.html on mac-wk2
        https://bugs.webkit.org/show_bug.cgi?id=155050

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-03-07  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Implement MediaEndpointPeerConnection::createOffer()
        https://bugs.webkit.org/show_bug.cgi?id=154867

        Reviewed by Eric Carlson and Jer Noble.

        The output SDP from createOffer() is processed by verifying all variable
        identifiers, such as session and user id, and replacing them with
        predefined values to make the SDP comparable with an expected result.

        The test is currently skipped on the mac port until support to read the
        SDPProcessor JavaScript resource is added.

        * fast/mediastream/RTCPeerConnection-inspect-offer-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-inspect-offer.html: Added.
        * platform/mac/TestExpectations:

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Skip storage/indexeddb/modern/exceed-open-file-limit.html
        https://bugs.webkit.org/show_bug.cgi?id=155091

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2016-03-07  Daniel Bates  <dabates@apple.com>

        CSP: object-src directive should prohibit creation of nested browsing context
        https://bugs.webkit.org/show_bug.cgi?id=153153
        <rdar://problem/24383209>

        Reviewed by Brent Fulgham.

        Add test to ensure that we enforce the Content Security Policy object-src directive
        for HTML object and HTML embed elements that behave like an HTML iframe element.

        * TestExpectations: Remove entries for tests that pass.
        * http/tests/security/contentSecurityPolicy/embed-src-url-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-src-url-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/embed-src-url-blocked2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/embed-src-url-blocked2.html: Added.

        * http/tests/security/contentSecurityPolicy/object-src-param-code-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/object-src-param-movie-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/object-src-param-movie-blocked.html:
        * http/tests/security/contentSecurityPolicy/object-src-param-src-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/object-src-param-src-blocked.html:
        * http/tests/security/contentSecurityPolicy/object-src-param-src-blocked2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-src-blocked2.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-url-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/object-src-param-url-blocked.html:
        Simplify the code used in the above tests and update incorrect expected results.

        * http/tests/security/contentSecurityPolicy/object-src-url-blocked2-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-url-blocked2.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/object-src-param.js: Removed.

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Marking js/arraybuffer-wrappers.html as a flaky timeout on Mac
        https://bugs.webkit.org/show_bug.cgi?id=155092

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-07  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline inspector/model/remote-object.html for mac after r197626
        https://bugs.webkit.org/show_bug.cgi?id=155115

        Unreviewed test gardening.

        * platform/mac/inspector/model/remote-object-expected.txt:

2016-03-07  Simon Fraser  <simon.fraser@apple.com>

        [iOS Simulator] Three object-position tests failing after r197618
        https://bugs.webkit.org/show_bug.cgi?id=155116

        Mark two tests as image failures, and add new results for a compositing test.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/compositing/video/video-object-position-expected.txt: Added.

2016-03-07  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Add missing test for grid-template shorthand
        https://bugs.webkit.org/show_bug.cgi?id=155013

        Reviewed by Sergio Villar Senin.

        We support the following syntax in grid-template shorthand:
            -webkit-grid-template: [foo1] 'a' 50px [foo2]
                                   [bar1] 'b' 50px [bar2] / 100px;

        But we don't have a test to check that grid-template-rows value
        has the names of the same lines grouped. So it's:
            [foo1] 50px [foo2 bar1] 50px [bar2];

        This means that if we remove the third argument in
        CSSParser::parseGridLineNames(), all the current tests are passing.

        Without that argument, the value for grid-template-rows would be:
            [foo1] 50px [foo2] [bar1] 50px [bar2];

        Which is wrong.

        This patch adds a specific test case for this which would fail
        in that case.

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

2016-03-06  Zalan Bujtas  <zalan@apple.com>

        [iOS] Some more gardening after r197627.

        Unreviewed.

        * platform/ios-simulator/TestExpectations: skip a test.

2016-03-06  Zalan Bujtas  <zalan@apple.com>

        [iOS] Gardening after r197627.

        Unreviewed.

        * platform/ios-simulator/TestExpectations:

2016-03-06  Filip Pizlo  <fpizlo@apple.com>

        RegExpMatchesArray doesn't know how to have a bad time
        https://bugs.webkit.org/show_bug.cgi?id=155069

        Reviewed by Yusuke Suzuki.

        * js/regress/regexp-exec-expected.txt: Added.
        * js/regress/regexp-exec.html: Added.
        * js/regress/script-tests/regexp-exec.js: Added.

2016-03-06  Zalan Bujtas  <zalan@apple.com>

        [iOS] Gardening after r197627.

        Unreviewed.

        * platform/ios-simulator/css2.1/20110323/border-conflict-style-088-expected.txt:

2016-03-05  Zalan Bujtas  <zalan@apple.com>

        [iOS] Gardening after r197627.

        Unreviewed.

        * platform/ios-simulator/css2.1/20110323/border-conflict-style-079-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-01-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-02-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-03-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-05-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-07-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-11-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-12-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-15-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-21-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-22-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-23-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-26-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-27-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-28-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-32-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-33-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-35-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-36-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-37-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-38-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-41-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-42-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-43-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-45-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-46-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-47-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-48-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-51-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-53-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-55-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-56-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-57-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-58-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-61-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-62-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-63-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-66-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-67-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-68-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-72-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-73-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-75-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-76-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-77-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-78-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-81-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-82-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-83-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-86-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-87-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-88-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-91-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-92-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-93-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-95-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-96-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-97-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-98-d-expected.txt:
        * platform/ios-simulator/fast/borders/border-antialiasing-expected.txt:
        * platform/ios-simulator/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/002-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/002-vertical-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/border-collapsing-head-foot-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/cached-69296-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/equal-precedence-resolution-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/rtl-border-collapsing-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.txt:
        * platform/ios-simulator/fast/table/colgroup-spanning-groups-rules-expected.txt:
        * platform/ios-simulator/fast/table/frame-and-rules-expected.txt:
        * platform/ios-simulator/fast/table/overflowHidden-expected.txt:
        * platform/ios-simulator/fast/table/rules-attr-dynchange1-expected.txt:
        * platform/ios-simulator/fast/table/rules-attr-dynchange2-expected.txt:
        * platform/ios-simulator/fast/text/international/bidi-override-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug43854-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug9024-expected.txt: Added.
        * platform/ios-simulator/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
        * platform/ios-simulator/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/table_rules-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_position-table-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/table_rules_all-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/table_rules_none-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_table_rules_groups-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_table_rules_none-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_rules_rows-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/x_table_rules_all-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/x_table_rules_cols-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/x_table_rules_rows-expected.txt:

2016-03-05  Ryosuke Niwa  <rniwa@webkit.org>

        Add the support for upgrading custom elements in cloneNode
        https://bugs.webkit.org/show_bug.cgi?id=155062

        Reviewed by Antti Koivisto.

        Added test cases for upgrading elements with Node.prototype.cloneNode.

        * fast/custom-elements/lifecycle-callback-timing-expected.txt:
        * fast/custom-elements/lifecycle-callback-timing.html:

2016-03-05  Sam Weinig  <sam@webkit.org>

        Update tests to match the latest version of the HTML5 spec.

        * fast/forms/autocomplete-expected.txt:
        * fast/forms/autocomplete.html:
        Fields that don't have any value set for their autocomplete attribute should return the the empty string.

2016-03-05  Zalan Bujtas  <zalan@apple.com>

        Make table collapsed borders subpixel aware.
        https://bugs.webkit.org/show_bug.cgi?id=150383

        Reviewed by Simon Fraser.

        This patch enables authors to 
        - set subpixel width on collapsed borders
        - and push those borders to subpixel positions.

        * fast/table/collapsed-border-with-odd-pixel-width-expected.html: Added.
        * fast/table/collapsed-border-with-odd-pixel-width.html: Added.
        * fast/table/hidpi-collapsed-border-with-odd-pixel-width-expected.html:

2016-03-05  Sam Weinig  <sam@webkit.org>

        Add support for processing the autofill field name out of form control elements ultimately to aid input methods
        <rdar://problem/23041180>
        https://bugs.webkit.org/show_bug.cgi?id=155079

        Reviewed by Enrica Casucci.

        * fast/forms/autocomplete-tokens-expected.txt:
        * fast/forms/autocomplete-tokens.html:
        Update test to also test field names, as they are now exposed via internals.

2016-03-05  Simon Fraser  <simon.fraser@apple.com>

        Add support for the object-position CSS property
        https://bugs.webkit.org/show_bug.cgi?id=122811
        rdar://problem/15836338

        Reviewed by Sam Weinig.

        Various object-position tests.

        * compositing/video/video-object-position-expected.txt: Added.
        * compositing/video/video-object-position.html: Added.
        * fast/css/object-position/object-position-embed-expected.html: Added.
        * fast/css/object-position/object-position-embed.html: Added.
        * fast/css/object-position/object-position-img-expected.html: Added.
        * fast/css/object-position/object-position-img-svg-expected.html: Added.
        * fast/css/object-position/object-position-img-svg.html: Added.
        * fast/css/object-position/object-position-img.html: Added.
        * fast/css/object-position/object-position-input-image-expected.html: Added.
        * fast/css/object-position/object-position-input-image.html: Added.
        * fast/css/object-position/object-position-object-expected.html: Added.
        * fast/css/object-position/object-position-object.html: Added.
        * fast/css/object-position/object-position-video-poster-expected.html: Added.
        * fast/css/object-position/object-position-video-poster.html: Added.
        * fast/css/object-position/resources/expected.css: Added.
        * fast/css/object-position/resources/test.css: Added.

2016-03-05  Simon Fraser  <simon.fraser@apple.com>

        Add parsing support for object-position
        https://bugs.webkit.org/show_bug.cgi?id=155065

        Reviewed by Sam Weinig.
        
        object-position parsing test.

        * fast/css/object-position/parsing-object-position-expected.txt: Added.
        * fast/css/object-position/parsing-object-position.html: Added.

2016-03-05  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Implement missing/different accessibility API mappings for SVG
        https://bugs.webkit.org/show_bug.cgi?id=155034

        Reviewed by Chris Fleizach.

        * accessibility/svg-group-element-with-title.html: Modified to reflect correct ATK results.
        * accessibility/svg-image.html: Modified to reflect correct ATK results.
        * accessibility/svg-labelledby.html: Modified to reflect correct ATK results.
        * accessibility/svg-remote-element.html: Modified to reflect correct ATK results.
        * accessibility/w3c-svg-description-calculation.html: Added.
        * accessibility/w3c-svg-elements-not-exposed.html: Added.
        * accessibility/w3c-svg-name-calculation.html: Added.
        * accessibility/w3c-svg-presentational-role.html: Added.
        * accessibility/w3c-svg-roles.html: Added.
        * platform/gtk/accessibility/svg-group-element-with-title-expected.txt: Added.
        * platform/gtk/accessibility/svg-image-expected.txt: Added.
        * platform/gtk/accessibility/svg-labelledby-expected.txt: Added.
        * platform/gtk/accessibility/svg-remote-element-expected.txt: Added.
        * platform/gtk/accessibility/w3c-svg-description-calculation-expected.txt: Added.
        * platform/gtk/accessibility/w3c-svg-elements-not-exposed-expected.txt: Added.
        * platform/gtk/accessibility/w3c-svg-name-calculation-expected.txt: Added.
        * platform/gtk/accessibility/w3c-svg-presentational-role-expected.txt: Added.
        * platform/gtk/accessibility/w3c-svg-roles-expected.txt: Added.
        * platform/mac/accessibility/w3c-svg-description-calculation-expected.txt: Added.
        * platform/mac/accessibility/w3c-svg-elements-not-exposed-expected.txt: Added.
        * platform/mac/accessibility/w3c-svg-name-calculation-expected.txt: Added.
        * platform/mac/accessibility/w3c-svg-presentational-role-expected.txt: Added.
        * platform/mac/accessibility/w3c-svg-roles-expected.txt: Added.

2016-03-04  Ryosuke Niwa  <rniwa@webkit.org>

        Add basic support for attributeChanged lifecycle callback
        https://bugs.webkit.org/show_bug.cgi?id=155011

        Reviewed by Antti Koivisto.

        Added a test for attributeChangedCallback and a test for the timing of lifecycle callbacks in general.

        * fast/custom-elements/attribute-changed-callback-expected.txt: Added.
        * fast/custom-elements/attribute-changed-callback.html: Added.
        * fast/custom-elements/lifecycle-callback-timing-expected.txt: Added.
        * fast/custom-elements/lifecycle-callback-timing.html: Added.

2016-03-04  Tim Horton  <timothy_horton@apple.com>

        Temporarily skip attachment tests on iOS

        * platform/ios-simulator/TestExpectations:
        There's no point in running these quite yet (I'm surprised they weren't already skipped).
        We'll turn them back on soon.

2016-03-04  Ryosuke Niwa  <rniwa@webkit.org>

        Update defineCustomElement according to the spec rewrite
        https://bugs.webkit.org/show_bug.cgi?id=155010
        <rdar://problem/24970878>

        Reviewed by Chris Dumez.

        Update the tests for the rename and semantics change of defineCustomElement and HTMLElement constructor.

        * fast/custom-elements/Document-createElement.html:
        * fast/custom-elements/Document-defineCustomElement-expected.txt: Removed.
        * fast/custom-elements/Document-defineCustomElement.html: Removed.
        * fast/custom-elements/Document-defineElement-expected.txt: Renamed from LayoutTests/fast/custom-elements/Document-defineCustomElement-expected.txt.
        * fast/custom-elements/Document-defineElement.html: Renamed from LayoutTests/fast/custom-elements/Document-defineCustomElement.html.
        Also added a test case for defining multiple custom elements with a single class, which must throw.
        * fast/custom-elements/HTMLElement-constructor-expected.txt:
        * fast/custom-elements/HTMLElement-constructor.html:
        Removed test cases for the tag name in the first argument as well as ones that associate a single class with multiple tag names.
        * fast/custom-elements/parser/parser-constructs-custom-element-in-document-write.html:
        * fast/custom-elements/parser/parser-constructs-custom-element-synchronously.html:
        * fast/custom-elements/parser/parser-constructs-custom-elements.html:
        * fast/custom-elements/parser/parser-fallsback-to-unknown-element.html:
        * fast/custom-elements/parser/parser-sets-attributes-and-children.html:
        * fast/custom-elements/parser/parser-uses-constructed-element.html:
        * fast/custom-elements/parser/parser-uses-registry-of-owner-document.html:

2016-03-04  Simon Fraser  <simon.fraser@apple.com>

        Use larger tiles when possible to reduce per-tile painting overhead
        https://bugs.webkit.org/show_bug.cgi?id=154985

        Reviewed by Zalan Bujtas.

        * tiled-drawing/background-transparency-toggle-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
        * tiled-drawing/tile-coverage-after-scroll-expected.txt:
        * tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
        * tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
        * tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
        * tiled-drawing/tile-coverage-speculative-expected.txt:
        * tiled-drawing/tile-size-unscrollable-expected.txt:
        * tiled-drawing/tile-size-vertically-scrollable-expected.txt:
        * tiled-drawing/visible-rect-content-inset-expected.txt:

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

        Temporarily skip fast/table/table-overflow.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=155036

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Skip fast/text/all-small-caps-whitespace.html on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Skip storage/indexeddb/modern/256-open-databases.html on mac
        https://bugs.webkit.org/show_bug.cgi?id=155028

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2016-03-04  Chris Dumez  <cdumez@apple.com>

        Location.reload should not be writable
        https://bugs.webkit.org/show_bug.cgi?id=154989

        Reviewed by Gavin Barraclough.

        Add a layout test to verify that operations marked as [Unforgeable] in
        IDL are indeed not writable.

        * fast/html/unforgeable-operations-readonly-expected.txt: Added.
        * fast/html/unforgeable-operations-readonly.html: Added.

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

        Rebaseline inspector/model/remote-object.html for mac after r197539

        Unreviewed test gardening.

        * platform/mac/inspector/model/remote-object-expected.txt:

2016-03-04  Myles C. Maxfield  <mmaxfield@apple.com>

        Whitespace causes font-variant: all-small-caps to synthesize
        https://bugs.webkit.org/show_bug.cgi?id=155004
        <rdar://problem/24630796>

        Reviewed by Darin Adler.

        * fast/text/all-small-caps-whitespace-expected.html: Added.
        * fast/text/all-small-caps-whitespace.html: Added.
        * platform/mac/TestExpectations: Skip on platforms which don't support proper coverage
        queries.

2016-03-04  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r197541): many tiled drawing tests failing after new "large tile size" logic was added
        https://bugs.webkit.org/show_bug.cgi?id=155020
        
        Rebaseline these tests.

        * platform/mac-wk2/TestExpectations:
        * tiled-drawing/background-transparency-toggle-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
        * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow-expected.txt:
        * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders-expected.txt:
        * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-expected.txt:
        * tiled-drawing/tile-coverage-after-scroll-expected.txt:
        * tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
        * tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
        * tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
        * tiled-drawing/tile-coverage-speculative-expected.txt:
        * tiled-drawing/tile-size-unscrollable-expected.txt:
        * tiled-drawing/tile-size-vertically-scrollable-expected.txt:
        * tiled-drawing/visible-rect-content-inset-expected.txt:

2016-03-04  Darin Adler  <darin@apple.com>

        REGRESSION (r197541): many tiled drawing tests failing after new "large tile size" logic was added
        https://bugs.webkit.org/show_bug.cgi?id=155020

        * platform/mac-wk2/TestExpectations: Added failure expectations for tiled drawing tests.
        * platform/wk2/TestExpectations: Moved some expectations to a more appropriate section in the file.

2016-03-04  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Lexical bind "super" inside of the arrow function in generator.
        https://bugs.webkit.org/show_bug.cgi?id=152575

        Reviewed by Yusuke Suzuki.

        * js/arrowfunction-superproperty-expected.txt:
        * js/arrowfunction-syntax-errors-expected.txt:
        * js/script-tests/arrowfunction-superproperty.js:
        * js/script-tests/arrowfunction-syntax-errors.js:

2016-03-03  Antti Koivisto  <antti@apple.com>

        ComposedTreeIterator may traverse slotted nodes multiple times
        https://bugs.webkit.org/show_bug.cgi?id=154983

        Reviewed by Ryosuke Niwa.

        * fast/shadow-dom/composed-tree-slots-expected.txt: Added.
        * fast/shadow-dom/composed-tree-slots.html: Added.

2016-03-03  Filip Pizlo  <fpizlo@apple.com>

        DFG/FTL should inline accesses to RegExpObject::m_lastIndex
        https://bugs.webkit.org/show_bug.cgi?id=155003

        Reviewed by Benjamin Poulain.

        * js/regress/regexp-last-index-expected.txt: Added.
        * js/regress/regexp-last-index.html: Added.
        * js/regress/regexp-set-last-index-expected.txt: Added.
        * js/regress/regexp-set-last-index.html: Added.
        * js/regress/script-tests/regexp-last-index.js: Added.
        * js/regress/script-tests/regexp-set-last-index.js: Added.

2016-03-03  Filip Pizlo  <fpizlo@apple.com>

        Unreviewed, remove test with flaky timeout that doesn't test anything anymore. This test
        was relevant back when arguments got torn off; something that we don't do anymore. It
        uses a loop that waits for the top-tier compiler to compile it. We don't write tests
        like that anymore.

        * js/dfg-osr-exit-between-create-and-tearoff-arguments-expected.txt: Removed.
        * js/dfg-osr-exit-between-create-and-tearoff-arguments.html: Removed.
        * js/script-tests/dfg-osr-exit-between-create-and-tearoff-arguments.js: Removed.

2016-03-03  Keith Miller  <keith_miller@apple.com>

        JSArrayBuffers should be collected less aggressively
        https://bugs.webkit.org/show_bug.cgi?id=154982

        Reviewed by Geoffrey Garen.

        * js/arraybuffer-wrappers-expected.txt: Added.
        * js/arraybuffer-wrappers.html: Added.
        * js/script-tests/arraybuffer-wrappers.js: Added.
        (prototype.types.forEach):

2016-03-03  Simon Fraser  <simon.fraser@apple.com>

        Use larger tiles when possible to reduce per-tile painting overhead
        https://bugs.webkit.org/show_bug.cgi?id=154985
        rdar://problem/23635219

        Reviewed by Tim Horton.
        
        Rebaseline tests with new tile sizes. Add new tests that explicitly test tile size on
        pages with different scrollability.

        * tiled-drawing/background-transparency-toggle-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt:
        * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt:
        * tiled-drawing/tile-coverage-after-scroll-expected.txt:
        * tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
        * tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
        * tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
        * tiled-drawing/tile-coverage-speculative-expected.txt:
        * tiled-drawing/tile-size-both-scrollable-expected.txt: Copied from LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt.
        * tiled-drawing/tile-size-both-scrollable.html: Added.
        * tiled-drawing/tile-size-horizontally-scrollable-expected.txt: Copied from LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt.
        * tiled-drawing/tile-size-horizontally-scrollable.html: Added.
        * tiled-drawing/tile-size-unscrollable-expected.txt: Added.
        * tiled-drawing/tile-size-unscrollable.html: Added.
        * tiled-drawing/tile-size-vertically-scrollable-expected.txt: Copied from LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt.
        * tiled-drawing/tile-size-vertically-scrollable.html: Added.
        * tiled-drawing/visible-rect-content-inset-expected.txt:

2016-03-03  Simon Fraser  <simon.fraser@apple.com>

        Fix an image resource URL in tiled scrolling tests
        https://bugs.webkit.org/show_bug.cgi?id=154981

        Reviewed by Tim Horton.
        
        These tests had an incorrect url to compositing/resources/simple_image.png.

        * tiled-drawing/scrolling/fixed-background/fixed-background-composited-expected.html:
        * tiled-drawing/scrolling/fixed-background/fixed-background-composited.html:
        * tiled-drawing/scrolling/fixed-background/fixed-background-negative-z-index-fixed-expected.html:
        * tiled-drawing/scrolling/fixed-background/fixed-background-negative-z-index-fixed.html:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer.html:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity.html:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned.html:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed.html:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed.html:
        * tiled-drawing/scrolling/fixed-background/fixed-body-background.html:
        * tiled-drawing/scrolling/fixed-background/fixed-html-background.html:
        * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background.html:

2016-03-03  Keith Miller  <keith_miller@apple.com>

        Array prototype JS builtins should support Symbol.species
        https://bugs.webkit.org/show_bug.cgi?id=154710

        Reviewed by Geoffrey Garen.

        Add test that checks the Array object created by a species
        constructor in Array.prototype functions cannot come from a
        different global object without subclassing.

        * js/array-species-different-globalobjects-expected.txt: Added.
        * js/array-species-different-globalobjects.html: Added.

2016-03-03  Michael Saboff  <msaboff@apple.com>

        [ES6] Make Unicode RegExp pattern parsing conform to the spec
        https://bugs.webkit.org/show_bug.cgi?id=154988

        Reviewed by Benjamin Poulain.

        Added tests cases.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:
        (shouldThrowInvalidEscape):


        [ES6] Add support for Symbol.toPrimitive
        https://bugs.webkit.org/show_bug.cgi?id=154877

        Reviewed by Saam Barati.

        Update test for Symbol.toPrimitive.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-03-02  Ryosuke Niwa  <rniwa@webkit.org>

        Disallow custom elements inside template elements and share the registry for windowless documents
        https://bugs.webkit.org/show_bug.cgi?id=154944
        <rdar://problem/24944875>

        Reviewed by Antti Koivisto.

        Added various tests to ensure the custom elements registry is not shared between documents with
        distinct browsing context (e.g. iframes) but shared among the ones that share a single browsing context
        (e.g. documents created by DOMImplementation).

        Also added a test case for defineCustomElement to ensure it throws NotSupportedError when it's called on
        a template element's inert owner document as well as a basic test case for document.write.

        * fast/custom-elements/Document-defineCustomElement-expected.txt:
        * fast/custom-elements/Document-defineCustomElement.html: Added a new test case.
        * fast/custom-elements/parser/parser-constructs-custom-element-in-document-write-expected.txt: Added.
        * fast/custom-elements/parser/parser-constructs-custom-element-in-document-write.html: Added.
        * fast/custom-elements/parser/parser-uses-registry-of-owner-document-expected.txt: Added.
        * fast/custom-elements/parser/parser-uses-registry-of-owner-document.html: Added.

2016-03-03  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make collapsed borders painting subpixel aware.
        https://bugs.webkit.org/show_bug.cgi?id=154980

        Reviewed by David Hyatt.

        This patch enables collapsed borders with odd pixel width paint on subpixel position.
        Currently borders with odd pixels are split at integral position so that border-width: 3px;
        paints 1px on the left(top) and 2px on the right(bottom) side. With this patch
        we paint 1.5px on both sides(on 2x display).

        * fast/table/hidpi-collapsed-border-with-odd-pixel-width-expected.html: Added.
        * fast/table/hidpi-collapsed-border-with-odd-pixel-width.html: Added.

2016-03-03  Filip Pizlo  <fpizlo@apple.com>

        DFG should be able to compile StringReplace
        https://bugs.webkit.org/show_bug.cgi?id=154979

        Reviewed by Benjamin Poulain.

        Add a microbenchmark for a case of StringReplace that we hadn't covered with a microbenchmark
        yet: using something absurd for the replace value. This is interesting for implementing the
        32_64 version of StringReplace, which gets really weird in the absurd case because of how it
        consumes the entire register file while making the call on x86-32.

        * js/regress/script-tests/string-replace-generic.js: Added.
        * js/regress/string-replace-generic-expected.txt: Added.
        * js/regress/string-replace-generic.html: Added.

2016-03-03  Dave Hyatt  <hyatt@apple.com>

        Add support for the "last" value of hanging-punctuation
        https://bugs.webkit.org/show_bug.cgi?id=154977

        Reviewed by Darin Adler and Simon Fraser.

        * fast/text/hanging-punctuation-first-and-last-together-expected.html: Added.
        * fast/text/hanging-punctuation-first-and-last-together.html: Added.
        * fast/text/hanging-punctuation-first-ws-expected.html: Added.
        * fast/text/hanging-punctuation-first-ws.html: Added.
        * fast/text/hanging-punctuation-last-expected.html: Added.
        * fast/text/hanging-punctuation-last-rtl-expected.html: Added.
        * fast/text/hanging-punctuation-last-rtl.html: Added.
        * fast/text/hanging-punctuation-last-ws-expected.html: Added.
        * fast/text/hanging-punctuation-last-ws.html: Added.
        * fast/text/hanging-punctuation-last.html: Added.

2016-03-03  Brady Eidson  <beidson@apple.com>

        storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=154747

        Reviewed by Alex Christensen.
        
        This callback coming out of order like this is okay, so the test should just allow it.

        It makes sense that the flake is WK2-only, since WK1 has a much more well defined order 
        with thread-hopping versus process-hopping.

        * storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-expected.txt:
        * storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private-expected.txt:
        * storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:

2016-03-03  Brady Eidson  <beidson@apple.com>

        storage/indexeddb/intversion-open-in-upgradeneeded.html is flaky on mac-wk2 debug.
        https://bugs.webkit.org/show_bug.cgi?id=154706

        Rubberstamped by Alex Christensen.

        This test was fixed by http://trac.webkit.org/changeset/197474.
        
        Unskipping it now.
        
        * platform/mac-wk2/TestExpectations:

2016-03-03  Chris Dumez  <cdumez@apple.com>

        Drop [TreatNullAs=EmptyString] from URL interface attributes
        https://bugs.webkit.org/show_bug.cgi?id=154951

        Reviewed by Darin Adler.

        Update existing tests now that URL interface attributes no longer treat
        null as the empty string.

        * fast/dom/DOMURL/set-href-attribute-hash-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-hash.html:
        * fast/dom/DOMURL/set-href-attribute-host-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-host.html:
        * fast/dom/DOMURL/set-href-attribute-hostname-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-hostname.html:
        * fast/dom/DOMURL/set-href-attribute-pathname-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-pathname.html:
        * fast/dom/DOMURL/set-href-attribute-protocol-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-protocol.html:
        * fast/dom/DOMURL/set-href-attribute-search-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-search.html:

2016-03-03  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Box Alignment] New CSS Value 'normal' for Content Alignment
        https://bugs.webkit.org/show_bug.cgi?id=154282

        The Box Alignment specification defines a new value 'normal' to be used
        as default for the different layout models, which will define the
        specific behavior for each case. This patch adds a new CSS value in the
        parsing logic and adapts the Content Alignment properties to the new
        value.

        Since the 'normal' vlaue, initial/default for both justify-content
        and align-content CSS properties, behaves now as 'stretch' instead
        of o'start' we have to rebaseline those tests affected by the new
        default value.

        Reviewed by David Hyatt.

        * css3/flexbox/css-properties-expected.txt:
        * css3/flexbox/css-properties.html:
        * css3/parse-align-content-expected.txt:
        * css3/parse-align-content.html:
        * css3/parse-justify-content-expected.txt:
        * css3/parse-justify-content.html:
        * css3/resources/alignment-parsing-utils.js:
        (checkBadValues):
        * fast/css-grid-layout/auto-content-resolution-columns.html:
        * fast/css-grid-layout/grid-auto-columns-rows-update.html:
        * fast/css-grid-layout/grid-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
        * fast/css-grid-layout/grid-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
        * fast/css-grid-layout/grid-content-sized-columns-resolution.html:
        * fast/css-grid-layout/grid-dynamic-updates-relayout.html:
        * fast/css-grid-layout/grid-element-min-max-width.html:
        * fast/css-grid-layout/grid-element-repeat-get-set.html:
        * fast/css-grid-layout/grid-initialize-span-one-items.html:
        * fast/css-grid-layout/grid-item-addition-auto-placement-update.html:
        * fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
        * fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html:
        * fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
        * fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
        * fast/css-grid-layout/grid-item-negative-indexes.html:
        * fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html:
        * fast/css-grid-layout/grid-item-removal-auto-placement-update.html:
        * fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
        * fast/css-grid-layout/grid-update-sizes-after-distributing-all.html:
        * fast/css-grid-layout/implicit-columns-auto-resolution.html:
        * fast/css-grid-layout/implicit-position-dynamic-change.html:
        * fast/css-grid-layout/mark-as-infinitely-growable.html:
        * fast/css-grid-layout/maximize-tracks-definite-indefinite-width.html:
        * fast/css-grid-layout/minmax-spanning-resolution-columns.html:
        * fast/css-grid-layout/named-grid-line-get-set.html:
        * fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
        * fast/css-grid-layout/percent-intrinsic-track-breadth.html:
        * fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
        * fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:
        (checkGridTemplatesSetJSValues):
        * fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js:
        (checkGridDefinitionsSetJSValues):
        (testGridDefinitionsSetBadJSValues):
        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

2016-03-02  Chris Dumez  <cdumez@apple.com>

        HTMLFormElement's named property getter does not return a RadioNodelist
        https://bugs.webkit.org/show_bug.cgi?id=154949

        Reviewed by Ryosuke Niwa.

        Add layout test to confirm that HTMLFormElement's named property getter
        does indeed return a RadioNodeList when there are several matches.

        * fast/dom/HTMLFormElement/named-property-getter-radionodelist-expected.txt: Added.
        * fast/dom/HTMLFormElement/named-property-getter-radionodelist.html: Added.

2016-03-02  Chris Dumez  <cdumez@apple.com>

        Drop [TreatNullAs=LegacyNullString] from HTMLBaseElement.href
        https://bugs.webkit.org/show_bug.cgi?id=154952

        Reviewed by Ryosuke Niwa.

        Update existing layout test now that HTMLBaseElement.href setter no
        longer treats null as the empty string.

        * fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document-expected.txt:
        * fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html:

2016-03-02  Zalan Bujtas  <zalan@apple.com>

        Paint table borders on empty cells even in quirks mode.
        https://bugs.webkit.org/show_bug.cgi?id=154928

        Reviewed by David Hyatt.

        Enable border painting for empty cells unless 'empty-cells: hide' is set. 
        This is inline with FF and Chrome behaviour.

        * fast/table/border-on-empty-table-cells-quirks-mode-expected.html: Added.
        * fast/table/border-on-empty-table-cells-quirks-mode.html: Added.

2016-03-02  Ryan Haddad  <ryanhaddad@apple.com>

        Marking storage/indexeddb/odd-strings.html as flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=154619

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-03-02  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * platform/wk2/TestExpectations: Mark two tests that are very slow as [ Slow ].

2016-03-02  Ryan Haddad  <ryanhaddad@apple.com>

        Skip unsupported test fast/text/complex-small-caps-non-bmp-capitalize.html on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-03-02  Brady Eidson  <beidson@apple.com>

        Modern IDB: Close UniqueIDBDatabases once they become unused.
        https://bugs.webkit.org/show_bug.cgi?id=154922

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/256-open-databases-expected.txt: Added.
        * storage/indexeddb/modern/256-open-databases.html: Added.
        * storage/indexeddb/modern/exceed-open-file-limit-expected.txt: Added.
        * storage/indexeddb/modern/exceed-open-file-limit.html: Added.
        * storage/indexeddb/modern/resources/256-open-databases.js: Added.
        * storage/indexeddb/modern/resources/exceed-open-file-limit.js: Added.

2016-03-02  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/transforms/bounding-rect-zoom.html for ios-simulator after r197450

        Unreviewed test gardening.

        * platform/ios-simulator/fast/transforms/bounding-rect-zoom-expected.txt:

2016-03-02  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/reflection-forms.html for ios-simulator after r197458

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:

2016-03-02  Ryosuke Niwa  <rniwa@webkit.org>

        Add a custom element test for synchronous element construction in HTML parser
        https://bugs.webkit.org/show_bug.cgi?id=154932

        Reviewed by Antti Koivisto.

        Added a test.

        * fast/custom-elements/parser/parser-constructs-custom-element-synchronously-expected.txt: Added.
        * fast/custom-elements/parser/parser-constructs-custom-element-synchronously.html: Added.

2016-03-02  Filip Pizlo  <fpizlo@apple.com>

        Add a benchmark for string transcoding.

        Rubber stamped by Saam Barati.

        I wrote some code like this while working on
        https://github.com/WebAssembly/design/pull/573. I thought I'd add it as a benchmark since
        it stresses things that we may not have good bench coverage for.

        * js/regress/script-tests/string-transcoding.js: Added.
        (decodeUTF8):
        (encodeUTF8):
        (arraysEqual):
        (arrayToString):
        (setHeader):
        (print):
        (tryArray):
        (doSteps):
        * js/regress/string-transcoding-expected.txt: Added.
        * js/regress/string-transcoding.html: Added.

2016-03-02  Dave Hyatt  <hyatt@apple.com>

        Add support for the "first" value of the hanging-punctuation property.
        https://bugs.webkit.org/show_bug.cgi?id=154919

        Reviewed by Simon Fraser.

        * fast/text/hanging-punctuation-first-expected.html: Added.
        * fast/text/hanging-punctuation-first-rtl-expected.html: Added.
        * fast/text/hanging-punctuation-first-rtl.html: Added.
        * fast/text/hanging-punctuation-first.html: Added.

2016-03-01  Ryosuke Niwa  <rniwa@webkit.org>

        Make HTML parser construct custom elements
        https://bugs.webkit.org/show_bug.cgi?id=154908

        Reviewed by Antti Koivisto.

        Added W3C testharness.js based tests for instantiating custom elements inside the HTML parser.

        * fast/custom-elements/parser: Added.
        * fast/custom-elements/parser/parser-constructs-custom-elements-expected.txt: Added.
        * fast/custom-elements/parser/parser-constructs-custom-elements.html: Added.
        * fast/custom-elements/parser/parser-fallsback-to-unknown-element-expected.txt: Added.
        * fast/custom-elements/parser/parser-fallsback-to-unknown-element.html: Added.
        * fast/custom-elements/parser/parser-sets-attributes-and-children-expected.txt: Added.
        * fast/custom-elements/parser/parser-sets-attributes-and-children.html: Added.
        * fast/custom-elements/parser/parser-uses-constructed-element-expected.txt: Added.
        * fast/custom-elements/parser/parser-uses-constructed-element.html: Added.

2016-03-02  Chris Dumez  <cdumez@apple.com>

        Align HTMLInputElement.maxLength with the specification
        https://bugs.webkit.org/show_bug.cgi?id=154906

        Reviewed by Ryosuke Niwa.

        Update test now that input.maxLength initially returns -1
        instead of 524288.

        * fast/forms/input-maxlength-expected.txt:
        * fast/forms/input-maxlength.html:

2016-03-02  Zalan Bujtas  <zalan@apple.com>

        Subpixel layout: Enable vertical/horizontal subpixel spacing for tables.
        https://bugs.webkit.org/show_bug.cgi?id=154899

        Reviewed by Simon Fraser.

        This patch enables authors to specify device pixel values for table border spacing.
        (see border-spacing)

        * fast/table/hidpi-vertical-and-horizontal-spacing-expected.html: Added.
        * fast/table/hidpi-vertical-and-horizontal-spacing.html: Added.

2016-03-02  Joanmarie Diggs  <jdiggs@igalia.com>

        [AX][GTK] Position-related tests need new baseline after r196439
        https://bugs.webkit.org/show_bug.cgi?id=154917

        The tests in question include the position accessed via the component
        interface. The result changed by one pixel after r196439.

        Unreviewed gardening.

        * platform/gtk/accessibility/image-link-expected.txt: new baseline
        * platform/gtk/accessibility/math-multiscript-attributes-expected.txt: new baseline
        * platform/gtk/accessibility/table-attributes-expected.txt: new baseline
        * platform/gtk/accessibility/table-cell-spans-expected.txt: new baseline
        * platform/gtk/accessibility/table-cells-expected.txt: new baseline
        * platform/gtk/accessibility/table-detection-expected.txt: new baseline
        * platform/gtk/accessibility/table-sections-expected.txt: new baseline

2016-02-26  Ryosuke Niwa  <rniwa@webkit.org>

        Contents inside a shadow host with a negative tabindex should not be tab focusable
        https://bugs.webkit.org/show_bug.cgi?id=154769

        Reviewed by Antti Koivisto.

        Added a test for navigating across shadow boundaries.

        * fast/shadow-dom/negative-tabindex-on-shadow-host-expected.txt: Added.
        * fast/shadow-dom/negative-tabindex-on-shadow-host.html: Added.
        * platform/ios-simulator/TestExpectations:

2016-03-01  Myles C. Maxfield  <mmaxfield@apple.com>

        Small-caps non-BMP characters are garbled in the complex text codepath
        https://bugs.webkit.org/show_bug.cgi?id=154875

        Reviewed by Michael Saboff.

        * fast/text/complex-small-caps-non-bmp-capitalize-expected.html: Added.
        * fast/text/complex-small-caps-non-bmp-capitalize.html: Added.
        * fast/text/regress-154875-expected.txt: Deleted
        * fast/text/regress-154875.html: Deleted

2016-03-01  Michael Saboff  <msaboff@apple.com>

        [ES6] Add support for Unicode regular expressions
        https://bugs.webkit.org/show_bug.cgi?id=154842

        Reviewed by Filip Pizlo.

        Added a new test for the added unicode regular expression processing.

        Updated several tests for the y flag changes and "unicode" property.

        * js/regexp-unicode-expected.txt: Added.
        * js/regexp-unicode.html: Added.
        * js/script-tests/regexp-unicode.js: Added.
        New test.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/regexp-flags-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/regexp-flags.js:
        (RegExp.prototype.hasOwnProperty):
        Updated tests.

2016-03-01  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/text/crash-complex-text-surrogate.html as flaky on mac
        https://bugs.webkit.org/show_bug.cgi?id=154709

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-03-01  Michael Saboff  <msaboff@apple.com>

        ASSERT in platform/graphics/mac/ComplexTextController.cpp::capitalize()
        https://bugs.webkit.org/show_bug.cgi?id=154875

        Reviewed by Myles C. Maxfield.

        New test.

        * fast/text/regress-154875-expected.txt: Added.
        * fast/text/regress-154875.html: Added.

2016-03-01  Filip Pizlo  <fpizlo@apple.com>

        FTL should simplify StringReplace with an empty replacement string
        https://bugs.webkit.org/show_bug.cgi?id=154871

        Reviewed by Michael Saboff.

        Really add this new test.

        * js/regress/script-tests/string-replace-empty.js: Added.
        * js/regress/string-replace-empty-expected.txt: Added.
        * js/regress/string-replace-empty.html: Added.

2016-02-29  Filip Pizlo  <fpizlo@apple.com>

        Turn String.prototype.replace into an intrinsic
        https://bugs.webkit.org/show_bug.cgi?id=154835

        Reviewed by Michael Saboff.

        * js/regress/script-tests/string-replace.js: Added.
        * js/regress/string-replace-expected.txt: Added.
        * js/regress/string-replace.html: Added.

2016-03-01  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline isplaylists/extent-includes tests for mac-wk1

        Unreviewed test gardening.

        * platform/mac-wk1/displaylists/extent-includes-shadow-expected.txt:
        * platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt:

2016-02-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webgl/1.0.2/conformance/extensions/get-extension.html as flaky on mac, removing wk1 specific flakiness expectation.
        https://bugs.webkit.org/show_bug.cgi?id=152506

        Unreviewed test gardening.

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

2016-02-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html as flaky on mac
        https://bugs.webkit.org/show_bug.cgi?id=154748

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-29  Ryan Haddad  <ryanhaddad@apple.com>

        Re-enable passing fast/multicol/newmulticol tests on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-02-29  Ryan Haddad  <ryanhaddad@apple.com>

        Removing unnecessary ios-simulator-wk2 expectation file.

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Removed.

2016-02-29  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/reflection-forms.html after r197355

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:

2016-02-29  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/reflection-embedded.html for ios-simulator after r197237 

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:

2016-02-28  Filip Pizlo  <fpizlo@apple.com>

        B3 should have global store elimination
        https://bugs.webkit.org/show_bug.cgi?id=154658

        Reviewed by Benjamin Poulain.

        These two benchmarks both speed up significantly with this change.

        * js/regress/build-large-object-expected.txt: Added.
        * js/regress/build-large-object.html: Added.
        * js/regress/many-repeat-stores-expected.txt: Added.
        * js/regress/many-repeat-stores.html: Added.
        * js/regress/script-tests/build-large-object.js: Added.
        * js/regress/script-tests/many-repeat-stores.js: Added.

2016-02-29  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        streams/pipe-to.html flaky on mac-wk1 debug
        https://bugs.webkit.org/show_bug.cgi?id=154687

        Reviewed by Darin Adler.

        * TestExpectations: Marking streams/pipe-to.html as slow.
        * streams/pipe-to.html: Increasing the timeout value.

2016-02-29  Adrien Plazas  <aplazas@igalia.com>

        [GTK] Touch slider test fails due to assertion in webkitWebViewBaseTouchEvent()
        https://bugs.webkit.org/show_bug.cgi?id=153829

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations:
        Remove now passing tests from the expected failures.

2016-02-28  Antti Koivisto  <antti@apple.com>

        ::slotted doesn't work in nested shadow trees
        https://bugs.webkit.org/show_bug.cgi?id=154765
        <rdar://problem/24870995>

        Reviewed by Ryosuke Niwa.

        * fast/shadow-dom/css-scoping-shadow-slotted-nested-expected.html: Added.
        * fast/shadow-dom/css-scoping-shadow-slotted-nested.html: Added.

2016-02-28  Tim Horton  <timothy_horton@apple.com>

        Switch to application/vnd.apple.folder for <attachment> folder special-case
        https://bugs.webkit.org/show_bug.cgi?id=154786
        <rdar://problem/24416632>

        Reviewed by Anders Carlsson.

        * fast/attachment/attachment-folder-icon-expected.html:
        * fast/attachment/attachment-folder-icon.html:

2016-02-28  Tim Horton  <timothy_horton@apple.com>

        Variables can resolve to the wrong value when elements differ in nothing but inherited variable value
        https://bugs.webkit.org/show_bug.cgi?id=154785

        Reviewed by Antti Koivisto.

        * fast/css/variables/avoid-matched-property-cache-expected.html: Added.
        * fast/css/variables/avoid-matched-property-cache.html: Added.
        Add a test. The non-standard element is necessary because the resolved property
        cache is already disabled when using the "simple" default style sheet, and
        it seems better to use a totally non-standard element than one that might
        end up in the "simple" default style sheet in the future and would silently
        invalidate the test.

2016-02-28  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Emit loading&putting this/super only if they are used in arrow function
        https://bugs.webkit.org/show_bug.cgi?id=153981

        Reviewed by Saam Barati.

        Added new benchmark tests for invoking arrow function within function, class's constructor and method

        * js/regress/arrowfunction-call-in-class-constructor-expected.txt: Added.
        * js/regress/arrowfunction-call-in-class-constructor.html: Added.
        * js/regress/arrowfunction-call-in-class-method-expected.txt: Added.
        * js/regress/arrowfunction-call-in-class-method.html: Added.
        * js/regress/arrowfunction-call-in-function-expected.txt: Added.
        * js/regress/arrowfunction-call-in-function.html: Added.
        * js/regress/script-tests/arrowfunction-call-in-class-constructor.js: Added.
        * js/regress/script-tests/arrowfunction-call-in-class-method.js: Added.
        * js/regress/script-tests/arrowfunction-call-in-function.js: Added.
        * js/regress/script-tests/arrowfunction-call.js:

2016-02-27  Sukolsak Sakshuwong  <sukolsak@gmail.com>

        Removing ios-simulator baseline for js/number-toLocaleString.html
        https://bugs.webkit.org/show_bug.cgi?id=154524

        Reviewed by Darin Adler.

        The default locale issue has been fixed in r197261.
        Infinity.toLocaleString() should return "∞" as expected.

        * platform/ios-simulator/js/number-toLocaleString-expected.txt: Removed.

2016-02-27  Chris Dumez  <cdumez@apple.com>

        Prevent cross-origin access to Location.assign() / Location.reload()
        https://bugs.webkit.org/show_bug.cgi?id=154779

        Reviewed by Darin Adler.

        Update existing layout tests now that we prevent cross-origin access to
        Location.assign() / Location.reload().

        * http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
        * http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
        * 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-get-override.html:
        * http/tests/security/cross-frame-access-location-get.html:
        * http/tests/security/xss-DENIED-defineProperty-expected.txt:

2016-02-27  Andy VanWagoner  <thetalecrafter@gmail.com>

        Intl.Collator uses POSIX locale (detected by js/intl-collator.html on iOS Simulator)
        https://bugs.webkit.org/show_bug.cgi?id=152448

        Reviewed by Darin Adler.

        Add tests for default locale in test runner to be en-US.

        * js/intl-collator-expected.txt:
        * js/intl-datetimeformat-expected.txt:
        * js/intl-numberformat-expected.txt:
        * js/script-tests/intl-collator.js:
        * js/script-tests/intl-datetimeformat.js:
        * js/script-tests/intl-numberformat.js:

2016-02-27  Chris Dumez  <cdumez@apple.com>

        Align HTMLMarqueeElement.scrollAmount / scrollDelay with the specification
        https://bugs.webkit.org/show_bug.cgi?id=154781

        Reviewed by Darin Adler.

        Update existing test to reflect the behavior changes.

        * fast/html/marquee-element-expected.txt:
        * fast/html/marquee-element.html:

2016-02-27  Alexey Proskuryakov  <ap@apple.com>

        Mark failing reftests as such, now that we detect reftest failures.

        * platform/ios-simulator/TestExpectations:

2016-02-27  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION(r195795): [WK2] fast/text/crash-complex-text-surrogate.html is flakey
        https://bugs.webkit.org/show_bug.cgi?id=154709

        The test has been made made non-flaky, but it also needs new results.

        * platform/mac/fast/text/crash-complex-text-surrogate-expected.txt:

2016-02-26  Chris Dumez  <cdumez@apple.com>

        Fix the behavior of reflecting IDL attributes of type unsigned long
        https://bugs.webkit.org/show_bug.cgi?id=154771

        Reviewed by Ryosuke Niwa.

        Add test coverage for the behavior of reflecting IDL attributes of type
        unsigned long.

        * fast/dom/reflect-unsigned-long-expected.txt: Added.
        * fast/dom/reflect-unsigned-long.html: Added.

2016-02-26  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (188611): Search field Cancel button should not overlap search text on extensions page.
        https://bugs.webkit.org/show_bug.cgi?id=154692
        <rdar://problem/22840453>

        Reviewed by Brent Fulgham.

        Adjust the cancel button position using the actual size of the cancel button.

        When the input box and the font height trigger different cancel button sizes, we need to readjust
        the rectangle returned by cancelButtonRectForBounds.
        This fixes both the mispositioned cancel button and the squared off icon when the input field is zoomed all the way in.

        * fast/forms/search/search-padding-cancel-results-buttons-expected.txt:
        * platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt:
        * platform/mac/fast/css/text-input-with-webkit-border-radius-expected.txt:
        * platform/mac/fast/css/text-overflow-input-expected.txt:
        * platform/mac/fast/forms/box-shadow-override-expected.txt:
        * platform/mac/fast/forms/control-restrict-line-height-expected.txt:
        * platform/mac/fast/forms/input-appearance-height-expected.txt:
        * platform/mac/fast/forms/placeholder-position-expected.txt:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/search-styled-expected.txt:
        * platform/mac/fast/forms/search-vertical-alignment-expected.txt:
        * platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
        * platform/mac/fast/forms/searchfield-heights-expected.txt:
        * platform/mac/fast/repaint/search-field-cancel-expected.txt:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.txt:

2016-02-26  Commit Queue  <commit-queue@webkit.org>

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

        Test simply needs updated result (Requested by litherum on
        #webkit).

        Reverted changeset:

        "Unreviewed, rolling out r197158."
        https://bugs.webkit.org/show_bug.cgi?id=154758
        http://trac.webkit.org/changeset/197216

2016-02-26  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for ios-simulator after r197162

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-expected.txt: Added.

2016-02-26  Commit Queue  <commit-queue@webkit.org>

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

        This change did not fix the failing test (Requested by
        ryanhaddad on #webkit).

        Reverted changeset:

        "REGRESSION(r195795): [WK2] fast/text/crash-complex-text-
        surrogate.html is flakey"
        https://bugs.webkit.org/show_bug.cgi?id=154709
        http://trac.webkit.org/changeset/197158

2016-02-26  Commit Queue  <commit-queue@webkit.org>

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

        This change causes editing/mac/attributed-string/font-
        size.html to fail on El Capitan WK1 (Requested by ryanhaddad
        on #webkit).

        Reverted changeset:

        "Font size computed style is innaccurate"
        https://bugs.webkit.org/show_bug.cgi?id=154705
        http://trac.webkit.org/changeset/197160

2016-02-26  Ryan Haddad  <ryanhaddad@apple.com>

        Skip js/basic-map.html on Mac since it is already run in JSC tests
        https://bugs.webkit.org/show_bug.cgi?id=154753

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-26  Mark Lam  <mark.lam@apple.com>

        Function.name and Function.length should be configurable.
        https://bugs.webkit.org/show_bug.cgi?id=154604

        Reviewed by Saam Barati.

        * ietestcenter/Javascript/TestCases/15.2.3.3-4-187.js:
        (ES5Harness.registerTest.test):
        * ietestcenter/Javascript/TestCases/15.3.4.5-15-2.js:
        (ES5Harness.registerTest.test):
        * js/dom/function-name-expected.txt:
        * js/dom/getOwnPropertyDescriptor-expected.txt:
        * js/dom/script-tests/function-name.js:
        * js/mozilla/strict/15.3.5.1-expected.txt:
        * js/mozilla/strict/function-name-arity-expected.txt:
        * js/mozilla/strict/script-tests/15.3.5.1.js:
        * js/mozilla/strict/script-tests/function-name-arity.js:
        * js/resources/getOwnPropertyDescriptor.js:
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.1_eval/S15.1.2.1_A4.2.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.2_parseInt/S15.1.2.2_A9.2.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.3_parseFloat/S15.1.2.3_A7.2.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.4_isNaN/S15.1.2.4_A2.2.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.5_isFinite/S15.1.2.5_A2.2.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.3_encodeURI/S15.1.3.3_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.2_Object.prototype.toString/S15.2.4.2_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.2_Function.prototype.toString/S15.3.4.2_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.3_Function.prototype.apply/S15.3.4.3_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.4_Function.prototype.call/S15.3.4.4_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T1.html:
        * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T3.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.2.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.4_String.prototype.charAt/S15.5.4.4_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A9.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.4/15.9.4.2_Date.parse/S15.9.4.2_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.4/15.9.4.3_Date.UTC/S15.9.4.3_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.2_Date.prototype.toString/S15.9.5.2_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A3_T2.html:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A3_T2.html:

2016-02-26  Chris Dumez  <cdumez@apple.com>

        Unreviewed, fix flaky test introduced in r197156.

        * fast/dom/Node/nullable-parameters-expected.txt:
        * fast/dom/Node/nullable-parameters.html:
        * fast/dom/Node/resources/testdoc.xml: Removed.
        * fast/dom/Node/resources/testdoc2.xml: Removed.

2016-02-26  Said Abou-Hallawa  <sabouhallawa@apple.com>

        <g> wrapping <symbol> causes display of hidden <symbol>
        https://bugs.webkit.org/show_bug.cgi?id=154576

        Reviewed by Darin Adler.

        Ensure the <symbol> element is not displayed when it's wrapped in a <g>
        element and this <g> element is referenced by a <use> element.

        * platform/gtk/svg/custom/use-on-g-containing-symbol-expected.png: Removed.
        * platform/gtk/svg/custom/use-on-g-containing-symbol-expected.txt: Removed.
        * platform/ios-simulator/svg/custom/use-on-g-containing-symbol-expected.txt: Removed.
        * platform/mac/svg/custom/use-on-g-containing-symbol-expected.png: Removed.
        * platform/mac/svg/custom/use-on-g-containing-symbol-expected.txt: Removed.
        * platform/win/svg/custom/use-on-g-containing-symbol-expected.txt: Removed.
        * svg/custom/use-on-g-containing-symbol-expected.svg: Added.
        * svg/custom/use-on-g-containing-symbol.svg:
        The original test was wrong. It had the following definition:
            "<g id='symbol'><symbol>...</symbol></g>"
        And it was expecting to have the symbol drawn if the <g> element was
        referenced like that
            "<use xlink:href='#symbol'/>"
        FireFox does not render anything for this <use> element which is correct.
        With this patch, this test failed so it had to be modified to test the right
        behavior. Also it is now converted to a ref test.

2016-02-26  Commit Queue  <commit-queue@webkit.org>

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

        This change broke the Mac build (Requested by ryanhaddad on
        #webkit).

        Reverted changeset:

        "REGRESSION (188611): Search field Cancel button should not
        overlap search text on extensions page."
        https://bugs.webkit.org/show_bug.cgi?id=154692
        http://trac.webkit.org/changeset/197167

2016-02-26  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (188611): Search field Cancel button should not overlap search text on extensions page.
        https://bugs.webkit.org/show_bug.cgi?id=154692
        <rdar://problem/22840453>

        Reviewed by Brent Fulgham.

        Adjust the cancel button position using the actual size of the cancel button.

        When the input box and the font height trigger different cancel button sizes, we need to readjust
        the rectangle returned by cancelButtonRectForBounds.
        This fixes both the mispositioned cancel button and the squared off icon when the input field is zoomed all the way in.

        Covered by existing tests.

        * fast/forms/search/search-padding-cancel-results-buttons-expected.txt:
        * platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt:
        * platform/mac/fast/css/text-input-with-webkit-border-radius-expected.txt:
        * platform/mac/fast/css/text-overflow-input-expected.txt:
        * platform/mac/fast/forms/box-shadow-override-expected.txt:
        * platform/mac/fast/forms/control-restrict-line-height-expected.txt:
        * platform/mac/fast/forms/input-appearance-height-expected.txt:
        * platform/mac/fast/forms/placeholder-position-expected.txt:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/search-styled-expected.txt:
        * platform/mac/fast/forms/search-vertical-alignment-expected.txt:
        * platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
        * platform/mac/fast/forms/searchfield-heights-expected.txt:
        * platform/mac/fast/repaint/search-field-cancel-expected.txt:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.txt:

2016-02-26  Antti Koivisto  <antti@apple.com>

        Implement ::slotted pseudo element
        https://bugs.webkit.org/show_bug.cgi?id=149441
        <rdar://problem/22731987>

        Reviewed by Andreas Kling.

        * fast/shadow-dom/css-scoping-shadow-slotted-rule.html:

            Enable the test, fix it and update it to the current spec.

        * fast/shadow-dom/slotted-pseudo-element-css-text-expected.txt: Added.
        * fast/shadow-dom/slotted-pseudo-element-css-text.html: Added.

            Add parsing/cssText test based on a Blink test.
            There are a few failures due to * not roundtripping and the parser being too lenient with pseudo elements.

        * platform/mac/TestExpectations:

2016-02-26  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Sync web-platform-tests up to revision 5ca8b46
        https://bugs.webkit.org/show_bug.cgi?id=154678

        Reviewed by Chris Dumez.

        * platform/mac/TestExpectations: Renaming test filenames, and adding test expectation to area-coords.html.

2016-02-25  Myles C. Maxfield  <mmaxfield@apple.com>

        Font size computed style is innaccurate
        https://bugs.webkit.org/show_bug.cgi?id=154705
        <rdar://problem/23474068>

        Reviewed by Timothy Hatcher.

        Update expected results.

        * css3/calc/font-size-fractional-expected.txt:
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html:
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size-expected.txt:
        * editing/mac/attributed-string/font-size-expected.txt:
        * editing/mac/attributed-string/vertical-align-expected.txt:
        * platform/mac-mavericks/editing/mac/attributed-string/font-size-expected.txt:
        * platform/mac-mavericks/editing/mac/attributed-string/vertical-align-expected.txt:
        * platform/mac-yosemite/editing/mac/attributed-string/font-size-expected.txt:
        * platform/mac-yosemite/editing/mac/attributed-string/vertical-align-expected.txt:

2016-02-25  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r195795): [WK2] fast/text/crash-complex-text-surrogate.html is flakey
        https://bugs.webkit.org/show_bug.cgi?id=154709
        <rdar://problem/24483596>

        Reviewed by Dan Bernstein.

        * platform/mac-wk2/TestExpectations:

2016-02-25  Chris Dumez  <cdumez@apple.com>

        [Web IDL] Mark DOMString parameters as nullable when they should be
        https://bugs.webkit.org/show_bug.cgi?id=154666

        Reviewed by Darin Adler.

        Add test coverage for minor behavioral changes in this patch.

        * fast/dom/Element/getElementsByTagNameNS-nullable-expected.txt: Added.
        * fast/dom/Element/getElementsByTagNameNS-nullable.html: Added.
        * fast/dom/Node/nullable-parameters-expected.txt: Added.
        * fast/dom/Node/nullable-parameters.html: Added.
        * fast/dom/Node/resources/testdoc.xml: Added.
        * fast/dom/Node/resources/testdoc2.xml: Added.
        * fast/events/storageevent-initStorageEvent-nullable-expected.txt: Added.
        * fast/events/storageevent-initStorageEvent-nullable.html: Added.

2016-02-25  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping flaky test storage/indexeddb/intversion-open-in-upgradeneeded.html on mac-wk2
        https://bugs.webkit.org/show_bug.cgi?id=154706

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-02-25  Daniel Bates  <dabates@apple.com>

        [iOS Simulator] http/tests/security/contentSecurityPolicy/1.1/plugintypes tests failing
        https://bugs.webkit.org/show_bug.cgi?id=154652

        Skip Content Security Policy plugin-types tests when run in the iOS simulator app because
        plugins are not supported on iOS.

        * platform/ios-simulator/TestExpectations:

2016-02-25  Myles C. Maxfield  <mmaxfield@apple.com>

        [Win] [SVG -> OTF Converter] Support the SVG -> OTF Font Converter
        https://bugs.webkit.org/show_bug.cgi?id=143402

        Reviewed by Alex Christensen.

        Rebaseline many tests.

        There are some known bugs (which are marked in platform/win/TestExpecations):
        webkit.org/b/137204 The SVG -> OTF Font converter outputs 'kern' tables instead of 'GPOS' tables
        webkit.org/b/154690 SVG Fonts don't draw multibyte characters
        webkit.org/b/137096 The SVG -> OTF Font Converter does not work with SVG's "altglyph" facility
        webkit.org/b/137093 Same thing with the "lang" attribute

        * platform/win/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.txt: Added.
        * platform/win/svg/W3C-SVG-1.1/text-text-06-t-expected.txt: Added.
        * platform/win/TestExpectations:
        * platform/win/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt:
        * platform/win/svg/batik/text/textEffect-expected.txt:
        * platform/win/svg/batik/text/textEffect3-expected.txt:
        * platform/win/svg/custom/glyph-selection-arabic-forms-expected.txt:
        * platform/win/svg/custom/svg-fonts-in-html-expected.txt:
        * platform/win/svg/custom/svg-fonts-with-no-element-reference-expected.txt: Added.
        * platform/win/svg/custom/svg-fonts-word-spacing-expected.txt:
        * platform/win/svg/foreignObject/text-tref-02-b-expected.txt:
        * platform/win/svg/hixie/intrinsic/003-expected.txt:
        * platform/win/svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures-expected.txt:
        * platform/win/svg/text/text-text-04-t-expected.txt:
        * platform/win/svg/text/text-text-05-t-expected.txt:
        * platform/win/svg/text/text-text-06-t-expected.txt:
        * platform/win/svg/wicd/test-rightsizing-b-expected.txt:
        * platform/win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
        * platform/win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:

2016-02-25  Daniel Bates  <dabates@apple.com>

        CSP: Remove SecurityPolicy script interface
        https://bugs.webkit.org/show_bug.cgi?id=154694
        <rdar://problem/24846482>

        Reviewed by Andy Estes.

        Remove SecurityPolicy tests and update platform-specific expected results as needed.

        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowconnectionto-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowconnectionto.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-alloweval-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-alloweval.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowfontfrom-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowfontfrom.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowformaction-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowformaction.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowframefrom-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowframefrom.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowimagefrom-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowimagefrom.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowinlinescript-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowinlinescript.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowinlinestyle-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowinlinestyle.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowmediafrom-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowmediafrom.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowobjectfrom-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowobjectfrom.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowplugintype-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowplugintype.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowscriptfrom-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowscriptfrom.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowstylefrom-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowstylefrom.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-isactive-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-isactive.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-reporturi-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicy-reporturi.html: Removed.
        * http/tests/security/contentSecurityPolicy/resources/securitypolicy-tests-base.js: Removed.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt: Update expected result as needed.
        * platform/win/js/dom/global-constructors-attributes-expected.txt: Ditto.

2016-02-25  Chris Dumez  <cdumez@apple.com>

        Drop [TreatReturnedNullStringAs=Undefined] WebKit-specific IDL attribute
        https://bugs.webkit.org/show_bug.cgi?id=154662

        Reviewed by Darin Adler.

        Add layout test to cover the return value of document.defaultCharset before
        and after its frame is detached.

        * fast/frames/detached-frame-document-defaultCharset-expected.txt: Added.
        * fast/frames/detached-frame-document-defaultCharset.html: Added.

2016-02-25  Ryan Haddad  <ryanhaddad@apple.com>

        Removing failure expectation for 26 editing tests that now pass on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152131

        Unreviewed test gardening.

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

2016-02-25  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        Fix a test flake where order doesn't matter.

        * platform/wk2/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt: Removed.
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private-expected.txt:
        * storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
        (prepareDatabase.request.onblocked):
        (onOpenSuccess):

2016-02-25  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * TestExpectations: Skip a web inspector IndexedDB test for now.

2016-02-25  Ryan Haddad  <ryanhaddad@apple.com>

        Removing a pass expectation for inspector/indexeddb/requestDatabaseNames.html that overrides the skip r197122

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-25  Brady Eidson  <beidson@apple.com>

        Modern IDB: WebKit 2 IPC layer.
        https://bugs.webkit.org/show_bug.cgi?id=153808

        Reviewed by Alex Christensen.

        - Consolidate all test failures to the platform agnostic TestExpectations file.
        - Remove all existing WK2-specific results.
        - Add one new WK2-specific result.
        - Skip two WK2-only failures.
        
        * TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/wk2/TestExpectations:
        * platform/wk2/imported/w3c/indexeddb/abort-in-initial-upgradeneeded-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor-advance-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_advance_index5-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_advance_index9-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_advance_objectstore5-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index5-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index6-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index8-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_invalid-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_objectstore6-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_delete_index4-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_delete_objectstore4-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbdatabase_close2-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbdatabase_deleteObjectStore4-not_reused-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbfactory_deleteDatabase3-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbfactory_open12-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbindex-multientry-big-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbindex_get3-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbindex_get7-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbindex_getKey7-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbindex_openCursor2-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbindex_openKeyCursor3-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_add4-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex2-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex4-deleteIndex-event_order-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex7-event_order-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_put4-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbtransaction_abort-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/idbversionchangeevent-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/keygenerator-constrainterror-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/keygenerator-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/keygenerator-overflow-expected.txt: Removed.
        * platform/wk2/imported/w3c/indexeddb/transaction-requestqueue-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/aborted-versionchange-closes-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/bad-keypath-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/basics-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/clear-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/create-and-remove-object-store-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/create-objectstore-basics-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/cursor-continue-dir-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/cursor-continue-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/cursor-finished-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/cursors-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/database-basics-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/deleteIndex-bug110792-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt: Added.
        * platform/wk2/storage/indexeddb/index-count-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/invalid-keys-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/key-requirements-delete-null-key-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/key-requirements-inline-and-passed-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/key-requirements-put-no-key-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/key-requirements-put-null-key-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/key-type-array-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/keypath-arrays-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/keypath-edges-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/keyrange-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/bad-keypath-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/clear-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/cursors-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/mozilla/readonly-transactions-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/object-lookups-in-versionchange-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/objectstore-count-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/open-cursor-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/readonly-transactions-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/request-result-cache-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/transaction-abort-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/transaction-active-flag-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/transaction-after-close-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/transaction-read-only-expected.txt: Removed.
        * platform/wk2/storage/indexeddb/version-change-exclusive-expected.txt: Removed.

2016-02-25  Daniel Bates  <dabates@apple.com>

        CSP: Make SecurityPolicyViolationEvent more closely conform to CSP spec and enable it by default
        https://bugs.webkit.org/show_bug.cgi?id=154522
        <rdar://problem/24762078>

        Reviewed by Brent Fulgham.

        Add new test http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-https.html
        to ensure that SecurityPolicyViolationEvent.statusCode is 0 when dispatched for a violation on an HTTPS-served
        document per section Reporting of the Content Security Policy 2.0 spec, <https://www.w3.org/TR/2015/CR-CSP2-20150721/>.
        Update existing test results and mark more tests as PASS in file LayoutTests/TestExpectations.

        * TestExpectations: Mark tests http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation*.html as PASS
        so that we run them.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics-expected.txt: Update expected result to
        reflect failing sub-test. We do not support the experimental JavaScript event listener onsecuritypolicyviolation when
        building with ENABLE(CSP_NEXT) disabled.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-expected.txt: Update line and column numbers.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-from-script-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-from-script.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html: Update line and column numbers.
        * js/dom/global-constructors-attributes-expected.txt: Update expected results now that we expose SecurityPolicyViolationEvent.
        * platform/efl/js/dom/global-constructors-attributes-expected.txt: Ditto.
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt: Ditto.
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt: Ditto.
        * platform/mac/js/dom/global-constructors-attributes-expected.txt: Ditto.

2016-02-25  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] MediaDeviceInfo deviceId and groupId must be unique to the page's origin
        https://bugs.webkit.org/show_bug.cgi?id=153163
        <rdar://problem/24334526>

        Reviewed by Tim Horton.

        * fast/mediastream/MediaDevices-enumerateDevices-expected.txt:
        * fast/mediastream/MediaDevices-enumerateDevices.html:
        * http/tests/media/media-stream/enumerate-devices-source-id-expected.txt: Added.
        * http/tests/media/media-stream/enumerate-devices-source-id-persistent-expected.txt: Added.
        * http/tests/media/media-stream/enumerate-devices-source-id-persistent.html: Added.
        * http/tests/media/media-stream/enumerate-devices-source-id.html: Added.
        * http/tests/media/media-stream/resources/enumerate-devices-source-id-frame.html: Added.

2016-02-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Expose Proxy target and handler internal properties to Inspector
        https://bugs.webkit.org/show_bug.cgi?id=154663

        Reviewed by Timothy Hatcher.

        * inspector/model/remote-object.html:
        * platform/mac/inspector/model/remote-object-expected.txt:
        Test that a Proxy object includes the internal properties.

2016-02-24  Ryan Haddad  <ryanhaddad@apple.com>

        Marking storage/indexeddb/odd-strings.html as flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=154619

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-02-24  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/indexeddb/idbcursor-advance.htm as flaky on Yosemite Release WK2
        https://bugs.webkit.org/show_bug.cgi?id=154618

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-02-24  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Implement Fetch API Response
        https://bugs.webkit.org/show_bug.cgi?id=154536

        Reviewed by Alex Christensen.

        Adding Response as constructor in global and worker scopes.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-02-24  Commit Queue  <commit-queue@webkit.org>

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

        "It broke JSC tests when 'this' was loaded from global scope"
        (Requested by saamyjoon on #webkit).

        Reverted changeset:

        "[ES6] Arrow function syntax. Emit loading&putting this/super
        only if they are used in arrow function"
        https://bugs.webkit.org/show_bug.cgi?id=153981
        http://trac.webkit.org/changeset/197033

2016-02-24  Daniel Bates  <dabates@apple.com>

        CSP: Enable plugin-types directive by default
        https://bugs.webkit.org/show_bug.cgi?id=154420
        <rdar://problem/24730322>

        Reviewed by Brent Fulgham.

        * TestExpectations: Mark http/tests/security/contentSecurityPolicy/1.1/plugintypes*.html tests as PASS so that we run them.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid-expected.txt: Update expected result.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid.html: Call runTests() following changes to multiple-iframe-plugin-test.js.
        Also add closing tags for <body> and <html> to make the document well-formed.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-data.html: Substitute "Content-Security-Policy" for "X-WebKit-CSP";
        no behavior change.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-url.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url-expected.txt: Update expected result.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url.html: Substitute "Content-Security-Policy" for "X-WebKit-CSP";
        no behavior change.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-allowed.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-01.html: Call runTests() following changes to multiple-iframe-plugin-test.js.
        Also add closing tags for <body> and <html> to make the document well-formed.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-02.html: Ditto.
        * http/tests/security/contentSecurityPolicy/resources/echo-object-data.pl: Remove logic to support Content Security Policy header X-WebKit-CSP
        as it is sufficient to make use of the standardized header Content-Security-Policy.
        * http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js: Simplify code now that we do not pass query string parameter
        experimental to script echo-object-data.pl.
        (runTests): Runs all the sub-tests.
        (runNextTest.iframe.onload): Formerly named testImpl.iframe.onload.
        (runNextTest): Formerly named testImpl. Runs the next sub-test.
        (testExperimentalPolicy): Deleted.
        (test): Deleted.
        (testImpl.iframe.onload): Deleted.
        (testImpl): Deleted.
        (finishTesting): Deleted.
        * http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon-expected.txt: Update expected result based on change to test (below).
        * http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html: Modified to test that we emit
        a console warning when plugin-types is used as a source expression.

2016-02-24  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline two W3C tests for ios-simulator after r197014

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:

2016-02-24  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Emit loading&putting this/super only if they are used in arrow function
        https://bugs.webkit.org/show_bug.cgi?id=153981

        Reviewed by Saam Barati.

        Added new benchmark tests for invoking arrow function within function, class's constructor and method

        * js/regress/arrowfunction-call-in-class-constructor-expected.txt: Added.
        * js/regress/arrowfunction-call-in-class-constructor.html: Added.
        * js/regress/arrowfunction-call-in-class-method-expected.txt: Added.
        * js/regress/arrowfunction-call-in-class-method.html: Added.
        * js/regress/arrowfunction-call-in-function-expected.txt: Added.
        * js/regress/arrowfunction-call-in-function.html: Added.
        * js/regress/script-tests/arrowfunction-call-in-class-constructor.js: Added.
        * js/regress/script-tests/arrowfunction-call-in-class-method.js: Added.
        * js/regress/script-tests/arrowfunction-call-in-function.js: Added.
        * js/regress/script-tests/arrowfunction-call.js:

2016-02-24  Zalan Bujtas  <zalan@apple.com>

        Background of an absolutely positioned inline element inside text-indented parent is positioned statically.
        https://bugs.webkit.org/show_bug.cgi?id=154019

        Reviewed by Simon Fraser.

        This patch ensures that statically positioned out-of-flow renderers are also text-aligned
        even when none of the renderers on the first line generate a linebox (so we end up with no bidi runs at all).
        The fix is to pass IndentTextOrNot information to startAlignedOffsetForLine through updateStaticInlinePositionForChild
        so that we can compute the left position for this statically positioned out of flow renderer.

        * fast/css3-text/css3-text-indent/text-indent-with-absolute-pos-child-expected.html: Added.
        * fast/css3-text/css3-text-indent/text-indent-with-absolute-pos-child.html: Added.

2016-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r195949): [GTK] Test /webkit2/WebKitWebView/insert/link is failing since r195949
        https://bugs.webkit.org/show_bug.cgi?id=153747

        Reviewed by Michael Catanzaro.

        Add test to check that moving to line boundary clears the
        selection even if the cursor is already at the boundary.

        * editing/selection/move-to-line-boundary-clear-selection-expected.txt: Added.
        * editing/selection/move-to-line-boundary-clear-selection.html: Added.

2016-02-23  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Swap the order of columns/rows in grid-gap shorthand
        https://bugs.webkit.org/show_bug.cgi?id=154584

        Reviewed by Darin Adler.

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

2016-02-24  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: RTCPeerConnection: Sort out responsibilities of close() and stop()
        https://bugs.webkit.org/show_bug.cgi?id=154581

        Reviewed by Eric Carlson.

        Updated test with replaceTrack() call after the RTCPeerConnection object, that
        created the RTCRtpSender, is closed.

        * fast/mediastream/RTCRtpSender-replaceTrack-expected.txt:
        * fast/mediastream/RTCRtpSender-replaceTrack.html:

2016-02-23  Chris Dumez  <cdumez@apple.com>

        Align our implementation of Range.createContextualFragment with the specification
        https://bugs.webkit.org/show_bug.cgi?id=154627

        Reviewed by Ryosuke Niwa.

        Import some more layout tests from blink to improve coverage for
        Range.createContextualFragment().

        * imported/blink/fast/dom/Range/create-contextual-fragment-from-bodyless-document-range-expected.txt: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-bodyless-document-range.html: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-detached-text-node-range-expected.txt: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-detached-text-node-range.html: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-document-fragment-range-expected.txt: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-document-fragment-range.html: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-document-range-expected.txt: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-document-range.html: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-xhtml-document-range-expected.txt: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-from-xhtml-document-range.xhtml: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-script-not-ran-expected.txt: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-script-not-ran.html: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-script-unmark-already-started-expected.txt: Added.
        * imported/blink/fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html: Added.

2016-02-23  Dean Jackson  <dino@apple.com>

        [WebGL] iOS doesn't respect the alpha:false context creation attribute
        https://bugs.webkit.org/show_bug.cgi?id=154617
        <rdar://problem/13417023>

        Reviewed by Sam Weinig.

        Add a test that draws contexts with and without alpha, and then a reference
        version that hard-codes the non-alpha colors.

        * fast/canvas/webgl/context-attributes-alpha-expected.html: Added.
        * fast/canvas/webgl/context-attributes-alpha.html: Added.

2016-02-23  Daniel Bates  <dabates@apple.com>

        CSP: Enable base-uri directive by default
        https://bugs.webkit.org/show_bug.cgi?id=154521
        <rdar://problem/24762032>

        Reviewed by Brent Fulgham.

        Copy test http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html to
        http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-base-uri-deny.html,
        making some minor stylistic changes, and update TestExpectations to skip it because it depends
        on the firing of event SecurityPolicyViolationEvent, which is disabled as of the time of writing.
        We will enable the firing of this event in <https://bugs.webkit.org/show_bug.cgi?id=154522>.
        Repurpose test name base-uri-deny.html to test that the base-uri directive prevents the use of
        document base URL without depending on the firing of event SecurityPolicyViolationEvent.

        Additionally, add test http/tests/security/contentSecurityPolicy/1.1/base-uri-default-ignored.html
        to ensure that we do not fall back to enforcing the default-src directive in absence of
        a base-uri directive as per section base-uri of the Content Security Policy 2.0 spec.,
        <https://www.w3.org/TR/2015/CR-CSP2-20150721/>.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/1.1/base-uri-default-ignored-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/base-uri-default-ignored.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/base-uri-deny-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html: Repurpose test.
        * http/tests/security/contentSecurityPolicy/1.1/resources/base-href/resources/safe-script.js: Added.
        * http/tests/security/contentSecurityPolicy/1.1/resources/safe-script.js: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-base-uri-deny-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/base-uri-deny-expected.txt.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-base-uri-deny.html: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html.
        * http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon-expected.txt: Update expected result based on change to test (below).
        * http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html: Modified to test that we emit
        a console warning when base-uri is used as a source expression.

2016-02-22  Ryosuke Niwa  <rniwa@webkit.org>

        Calling importNode on shadow root causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=154570

        Reviewed by Anders Carlsson.

        Added W3C-style testharness tests for calling cloneNode on a shadow root.

        Also added tests for adoptNode and importNode.

        * fast/shadow-dom/Document-prototype-adoptNode-expected.txt: Added.
        * fast/shadow-dom/Document-prototype-adoptNode.html: Added.
        * fast/shadow-dom/Document-prototype-importNode-expected.txt: Added.
        * fast/shadow-dom/Document-prototype-importNode.html: Added.
        * fast/shadow-dom/Node-prototype-cloneNode-expected.txt: Added.
        * fast/shadow-dom/Node-prototype-cloneNode.html: Added.

2016-02-23  Daniel Bates  <dabates@apple.com>

        REGRESSION (r196892): No longer emit error message when CSP form-action directive is used as a source expression
        https://bugs.webkit.org/show_bug.cgi?id=154555
        <rdar://problem/24776777>

        Reviewed by Andy Estes.

        Test that we emit a console error message when form-action is used as a source expression.

        * http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon-expected.txt:
        * http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html: Use form-action as a
        source expression. Also, use a double quoted (") string literal instead of a single quoted (') string
        literal to represent the CSP policy so as to avoid the need to escape embedded single quote characters.

2016-02-22  Dean Jackson  <dino@apple.com>

        Add tests for fast click change in r196679
        https://bugs.webkit.org/show_bug.cgi?id=154568
        <rdar://problem/24782479>

        Reviewed by Myles Maxfield.

        Bug http://webkit.org/b/154318 made some changes to the fast
        click behaviour, but didn't include any tests. Here they are!

        * fast/events/ios/fast-click-double-tap-sends-click-expected.txt: Added.
        * fast/events/ios/fast-click-double-tap-sends-click.html: Checks that a double tap on a clickable element sends a click.
        * fast/events/ios/fast-click-double-tap-zooms-on-image-expected.txt: Added.
        * fast/events/ios/fast-click-double-tap-zooms-on-image.html: Checks that a double tap on an image can trigger a zoom if there
        isn't anything else listening.
        * fast/events/ios/fast-click-double-tap-zooms-on-text-expected.txt: Added.
        * fast/events/ios/fast-click-double-tap-zooms-on-text.html: Checks that a double tap on a block of text can trigger a zoom
        if there isn't anything else listening.
        * fast/events/ios/no-fast-click-double-tap-causes-zoom-expected.txt: Added.
        * fast/events/ios/no-fast-click-double-tap-causes-zoom.html: When we are not in fast click mode, a double tap should
        trigger a zoom. This is checking the inverse behaviour to fast-click-double-tap-sends-click.
        * fast/events/ios/viewport-device-width-allows-double-tap-zoom-out.html: Removed some code that could never be called.
        * fast/events/ios/viewport-zooms-from-element-to-initial-scale.html: Ditto.
        * platform/ios-simulator/TestExpectations: Add the new tests.

2016-02-23  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r192251): http/tests/navigation/page-cache-xhr.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=154589

        Reviewed by Youenn Fablet.

        * http/tests/navigation/page-cache-xhr.html: Load a file that exists. The content
        doesn't matter, as we expect to navigate away before the load occurs.

        * http/tests/resources/load-and-stall.cgi: Added cache control, just for a good measure.

2016-02-23  Mark Lam  <mark.lam@apple.com>

        Debug assertion failure while loading http://kangax.github.io/compat-table/es6/.
        https://bugs.webkit.org/show_bug.cgi?id=154542

        Reviewed by Saam Barati.

        * js/Promise-types-expected.txt:
        * js/basic-map-expected.txt:
        * js/basic-set-expected.txt:
        * js/dom/basic-weakmap-expected.txt:
        * js/dom/basic-weakset-expected.txt:
        * js/script-tests/Promise-types.js:
        * js/typedarray-constructors-expected.txt:
        - Updated error message string.

2016-02-23  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Rows track sizes are optional in grid-template shorthand
        https://bugs.webkit.org/show_bug.cgi?id=154586

        Reviewed by Sergio Villar Senin.

        You can omit the size of the rows in grid-template shorthand,
        even if you specify a named grid line for the end of the row,
        due to a change in the spec back in 2014:
        https://github.com/w3c/csswg-drafts/commit/9f660c4183c73c1f5279c46904dc6cb314f76194

        Before if you want to specify a named grid line,
        you need to set the row size.

        Update parsing, so it nows accepts things like:
            grid-template: 100px / "a" [bottom];

2016-02-23  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>

        [SVG] Update SVG source to return string literals as ASCIILiteral and add test cases for case sensitivity
        https://bugs.webkit.org/show_bug.cgi?id=154373

        Reviewed by Youenn Fablet.

        Add test cases for case-sensitivity for SVGAnimatedEnumeration elements.

        * svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt: Added.
        * svg/dom/SVGAnimatedEnumeration-case-sensitive.html: Added.
        * svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js: Added.
        (testCaseSensitivity):

2016-02-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Font features specified in @font-face blocks don't apply to local() families
        https://bugs.webkit.org/show_bug.cgi?id=154554

        Reviewed by Dean Jackson.

        * css3/font-feature-font-face-local-expected.html: Added.
        * css3/font-feature-font-face-local.html: Added.

2016-02-22  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r196563): Images not loading on https://klim.co.nz/blog/paypal-sans-design-information/
        https://bugs.webkit.org/show_bug.cgi?id=154547
        <rdar://problem/24772167>

        Reviewed by Gavin Barraclough.

        Add regression test for <rdar://problem/24772167>.

        * fast/dom/Window/addEventListener-implicit-this-expected.txt:
        * fast/dom/Window/addEventListener-implicit-this.html:

2016-02-22  Simon Fraser  <simon.fraser@apple.com>

        Repeated background images have the wrong position when using bottom/right-relative background-position
        https://bugs.webkit.org/show_bug.cgi?id=154478

        Reviewed by Dave Hyatt.
        
        Enhanced background-position-serialize.html to test values that use right/bottom edge specifiers.
        
        Ref test for background-position.

        * fast/css/background-position-serialize-expected.txt:
        * fast/css/background-position-serialize.html:
        * fast/images/background-position-expected.html: Added.
        * fast/images/background-position.html: Added.
        * fast/images/resources/checker.png: Added.

2016-02-22  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] Split CSSFontSelector into a FontFaceSet implementation and the rest of the class
        https://bugs.webkit.org/show_bug.cgi?id=153347

        Reviewed by Antti Koivisto.

        * fast/text/font-face-javascript.html:
        * fast/text/font-face-set-document-expected.txt: Added.
        * fast/text/font-face-set-document.html: Added.

2016-02-22  Konstantin Tokarev  <annulen@yandex.ru>

        [JSC shell] Don't put empty arguments array to VM.
        https://bugs.webkit.org/show_bug.cgi?id=154516

        Reviewed by Geoffrey Garen.

        This allows arrowfunction-lexical-bind-arguments-top-level test to pass
        in jsc as well as in browser.

        * js/script-tests/arrowfunction-lexical-bind-arguments-top-level.js:
        Removed @ skip annotation.

2016-02-22  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for ios-simulator after W3C HTML/DOM re-sync in r196883

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:

2016-02-22  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/reflection-forms.html for ios-simulator after r196893

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:

2016-02-22  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Swap columns and rows in grid-template shorthand
        https://bugs.webkit.org/show_bug.cgi?id=154472

        Reviewed by Darin Adler.

        The spec was modified past December to change the order of
        columns and rows in the grid-template shorthand:
        https://github.com/w3c/csswg-drafts/commit/f6c7691679a519017a80ebae44fd86c3eae5c5f9

        Updated the parsing and modified the tests to follow the new syntax.

        * fast/css-grid-layout/absolute-positioning-definite-sizes.html:
        * fast/css-grid-layout/flex-content-distribution.html:
        * fast/css-grid-layout/grid-align-content-vertical-lr.html:
        * fast/css-grid-layout/grid-align-content-vertical-rl.html:
        * fast/css-grid-layout/grid-align-content.html:
        * fast/css-grid-layout/grid-gutters-and-alignment.html:
        * fast/css-grid-layout/grid-gutters-and-flex-content.html:
        * fast/css-grid-layout/grid-gutters-and-tracks.html:
        * fast/css-grid-layout/grid-justify-content-vertical-lr.html:
        * fast/css-grid-layout/grid-justify-content-vertical-rl.html:
        * fast/css-grid-layout/grid-justify-content.html:
        * fast/css-grid-layout/grid-shorthand-get-set.html:
        * fast/css-grid-layout/grid-template-shorthand-get-set.html:
        * fast/css-grid-layout/relayout-align-items-changed.html:
        * fast/css-grid-layout/relayout-align-self-changed.html:
        * fast/css-grid-layout/relayout-indefinite-heights.html:
        * fast/css-grid-layout/relayout-justify-items-changed.html:
        * fast/css-grid-layout/relayout-justify-self-changed.html:
        * fast/repaint/align-items-overflow-change.html:
        * fast/repaint/align-self-change.html:
        * fast/repaint/align-self-overflow-change.html:
        * fast/repaint/justify-items-change.html:
        * fast/repaint/justify-items-overflow-change.html:
        * fast/repaint/justify-self-change.html:
        * fast/repaint/justify-self-overflow-change.html:

2016-02-22  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Swap columns and rows in grid shorthand
        https://bugs.webkit.org/show_bug.cgi?id=154449

        Reviewed by Darin Adler.

        The spec was modified past December to change the order of
        columns and rows in the grid shorthand:
        https://github.com/w3c/csswg-drafts/commit/7454c7c8c5857b61bbbe2ee5f07803c264bf37e4

        Updated the parsing and modified the tests to follow the new syntax.

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

2016-02-21  Chris Dumez  <cdumez@apple.com>

        Make HTMLSelectElement.size behave as per the specification
        https://bugs.webkit.org/show_bug.cgi?id=154504

        Reviewed by Darin Adler.

        Update test that was covering the case of an HTMLSelectElement with an
        invalid size attribute. The test was expecting the bad "size" attribute
        value to get corrected so that the select element looks like a menu list.
        This workaround was added back in 2007 to workaround a bug on
        www.chainreaction.com (rdar://problem/4697438). This patch drops the
        workaround in HTMLSelectElement::parseAttribute() because:
        1. This is not standard behavior as per the HTML specification
        2. This behavior does not match Firefox either
        3. The workaround is no longer needed for www.chainreaction.com.

        * fast/forms/select-size-expected.html: Added.
        * fast/forms/select-size.html:
        * platform/efl/fast/forms/select-size-expected.txt: Removed.
        * platform/gtk/fast/forms/select-size-expected.txt: Removed.
        * platform/ios-simulator/fast/forms/select-size-expected.txt: Removed.
        * platform/mac/fast/forms/select-size-expected.png: Removed.
        * platform/mac/fast/forms/select-size-expected.txt: Removed.
        * platform/win/fast/forms/select-size-expected.txt: Removed.

2016-02-21  Daniel Bates  <dabates@apple.com>

        CSP: Enable form-action directive by default
        https://bugs.webkit.org/show_bug.cgi?id=154520
        <rdar://problem/24762029>

        Reviewed by Sam Weinig.

        Mark form-action tests as Pass so that we run them.

        * TestExpectations:

2016-02-21  Chris Dumez  <cdumez@apple.com>

        Add username / password attributes to HTMLAnchorElement / HTMLAreaElement
        https://bugs.webkit.org/show_bug.cgi?id=154519

        Reviewed by Sam Weinig.

        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-hash.js:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-host.js:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-hostname.js:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-pathname.js:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-protocol.js:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-search.js:
        * fast/dom/HTMLAnchorElement/set-href-attribute-hash-expected.txt:
        * fast/dom/HTMLAnchorElement/set-href-attribute-host-expected.txt:
        * fast/dom/HTMLAnchorElement/set-href-attribute-hostname-expected.txt:
        * fast/dom/HTMLAnchorElement/set-href-attribute-pathname-expected.txt:
        * fast/dom/HTMLAnchorElement/set-href-attribute-protocol-expected.txt:
        * fast/dom/HTMLAnchorElement/set-href-attribute-search-expected.txt:
        Update / rebaseline tests now that we no longer treat null as the empty string.

        * fast/dom/HTMLAnchorElement/set-href-attribute-user-pass-expected.txt: Added.
        * fast/dom/HTMLAnchorElement/set-href-attribute-user-pass.html: Added.
        Add test coverage for setting the username / password attributes.

        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        Rebaseline now that HTMLAnchorElement / HTMLAreaElement have 2 additional
        attributes: username and password.

2016-02-21  Chris Dumez  <cdumez@apple.com>

        iframe/frame/object.contentDocument should be on the prototype
        https://bugs.webkit.org/show_bug.cgi?id=154409

        Reviewed by Sam Weinig.

        Add test coverage for trying to access iframe.contentDocument cross origin
        to make sure it still fails and logs a security error.

        * http/tests/security/cross-origin-iframe-contentDocument-expected.txt: Added.
        * http/tests/security/cross-origin-iframe-contentDocument.html: Added.

2016-02-21  Daniel Bates  <dabates@apple.com>

        CSP: sandbox directive should be ignored when contained in a policy defined via a meta element
        https://bugs.webkit.org/show_bug.cgi?id=154299
        <rdar://problem/24680433>

        Add iOS Simulator-specific expected result for test http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-inherited-by-subframe.html.

        * platform/ios-simulator/http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-inherited-by-subframe-expected.txt: Added.

2016-02-21  Ryan Haddad  <ryanhaddad@apple.com>

        Adding ios-simulator baseline for js/number-toLocaleString.html
        https://bugs.webkit.org/show_bug.cgi?id=154524

        Unreviewed test gardening.

        * platform/ios-simulator/js/number-toLocaleString-expected.txt: Added.

2016-02-21  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/reflection-forms.html for ios-simulator after r196846

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:

2016-02-21  Daniel Bates  <dabates@apple.com>

        Another attempt to fix the Content Extension test failures following <https://trac.webkit.org/changeset/196875>
        (https://bugs.webkit.org/show_bug.cgi?id=154307) 

        Rename Content Extension JSON files so that they are associated with tests http/tests/contentextensions/block-cookies-in-csp-report.php
        http/tests/contentextensions/block-csp-report.php and http/tests/contentextensions/hide-on-csp-report.php. These
        files were formerly named block-cookies-in-csp-report.html, block-csp-report.html, and hide-on-csp-report.html,
        respectively, prior to <https://trac.webkit.org/changeset/196878>. Also, update expected result for test block-csp-report.html
        following <https://trac.webkit.org/changeset/196878>.

        * http/tests/contentextensions/block-cookies-in-csp-report.php.json: Renamed from LayoutTests/http/tests/contentextensions/block-cookies-in-csp-report.html.json.
        * http/tests/contentextensions/block-csp-report-expected.txt:
        * http/tests/contentextensions/block-csp-report.php.json: Renamed from LayoutTests/http/tests/contentextensions/block-csp-report.html.json.
        * http/tests/contentextensions/hide-on-csp-report.php.json: Renamed from LayoutTests/http/tests/contentextensions/hide-on-csp-report.html.json.

2016-02-21  Daniel Bates  <dabates@apple.com>

        Attempt to fix the Content Extension test failures following <https://trac.webkit.org/changeset/196875>
        (https://bugs.webkit.org/show_bug.cgi?id=154307)

        Convert Content Extension tests that use the Content Security Policy directive report-uri from HTML files
        to PHP scripts and modified them to define the content security policy for the page via the Content-Security-Policy
        HTTP header instead of via a meta element so that the report-uri directive is honored. Following
        <https://trac.webkit.org/changeset/196875> the directive report-uri is only honored when contained in a
        policy that is delivered via an HTTP header. That is, it is no longer honored when delivered in a meta element.

        * http/tests/contentextensions/block-cookies-in-csp-report.php: Renamed from LayoutTests/http/tests/contentextensions/block-cookies-in-csp-report.html.
        * http/tests/contentextensions/block-csp-report.php: Renamed from LayoutTests/http/tests/contentextensions/block-csp-report.html.
        * http/tests/contentextensions/hide-on-csp-report.php: Renamed from LayoutTests/http/tests/contentextensions/hide-on-csp-report.html.

2016-02-21  Daniel Bates  <dabates@apple.com>

        CSP: Violation report should include column number
        https://bugs.webkit.org/show_bug.cgi?id=154418
        <rdar://problem/24729525>

        Reviewed by Brent Fulgham.

        Update expected results to include source file column information where the violation occurred.

        * http/tests/security/contentSecurityPolicy/report-blocked-file-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:

2016-02-21  Daniel Bates  <dabates@apple.com>

        CSP: Violation report should include HTTP status code and effective-directive of protected resource
        https://bugs.webkit.org/show_bug.cgi?id=154288
        <rdar://problem/24674982>
        And
        https://bugs.webkit.org/show_bug.cgi?id=115707
        <rdar://problem/24383128>

        Reviewed by Brent Fulgham.

        Add new test http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https.html to ensure
        that the CSP report property status-code is 0 when the protected document is delivered over HTTPS. Fix a
        correctness issue in the result for test http/tests/security/contentSecurityPolicy/report-blocked-file-uri.html
        and update the expected results for the following tests now that the CSP violation report includes properties
        status-code and effective-directive:
            http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.php
            http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.php
            http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.php
            http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled.php

        The rest of the changes to the expected results are cosmetic and reflect the difference in wording for inline
        script violations between WebKit and Blink. We will consider adopting wording similar to Blink in
        <https://bugs.webkit.org/show_bug.cgi?id=153242>.

        * TestExpectations: Remove entries for tests that now pass. Add test http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive.php.
        * http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive.html. The report-uri
        directive is only honored when defined in a policy delivered via an HTTP header. We convert this
        HTML file to a PHP script to be able to deliver a Content-Security-Policy HTTP header.
        * http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt: Cosmetic change.
        * http/tests/security/contentSecurityPolicy/report-blocked-file-uri-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled-expected.txt: Update expected result now
        that the report includes properties status-code and effective-directive.
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/report-only-expected.txt: Cosmetic change.
        * http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled-expected.txt: Update expected result now
        that the report includes properties status-code and effective-directive.
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt: Cosmetic change.
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled-expected.txt: Update expected result now
        that the report includes properties status-code and effective-directive.
        * http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https.html: Added.
        * http/tests/security/contentSecurityPolicy/report-uri-expected.txt: Cosmetic change.
        * http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt: Cosmetic change.
        * http/tests/security/contentSecurityPolicy/report-uri-from-child-frame.html: Fix ill-formed markup; substitute </iframe> for </script>.
        * http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt: Cosmetic change.
        * http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt: Ditto.
        * http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt: Ditto.

2016-02-21  Daniel Bates  <dabates@apple.com>

        CSP: report-url directive should be ignored when contained in a policy defined via a meta element
        https://bugs.webkit.org/show_bug.cgi?id=154307
        <rdar://problem/24684817>

        Reviewed by Brent Fulgham.

        Add new test http/tests/security/contentSecurityPolicy/report-uri-in-meta-tag-ignored.html and rename and modify
        existing tests to make them PHP scripts that emit a Content Security Policy HTTP header.

        In addition, remove file http/tests/security/contentSecurityPolicy/resources/generate-csp-report.html that
        is no longer meaningful now that we do not honor the report-uri directive defined in a policy via a meta
        element. Moreover, we have not made use of this file since <http://trac.webkit.org/changeset/176413>.

        * TestExpectations: Update entries for renames.
        * http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-and-enforce.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-and-enforce.html.
        * http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-data-uri.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-blocked-data-uri.html.
        * http/tests/security/contentSecurityPolicy/report-blocked-file-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-file-uri.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-blocked-file-uri.html.
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html.
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-uri.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-blocked-uri.html.
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.html.
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.html.
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.html.
        * http/tests/security/contentSecurityPolicy/report-only-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-only.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-only.html.
        * http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.html.
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled.html.
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies.html.
        * http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.html.
        * http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-javascript.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html.
        * http/tests/security/contentSecurityPolicy/report-uri-in-meta-tag-ignored-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/report-uri-in-meta-tag-ignored.html: Added.
        * http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-scheme-relative.html: Removed.
        * http/tests/security/contentSecurityPolicy/report-uri-scheme-relative.php: Added.
        * http/tests/security/contentSecurityPolicy/report-uri.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-uri.html.
        * http/tests/security/contentSecurityPolicy/resources/generate-csp-report.html: Removed. For completeness, we have
        not made use of this file since <http://trac.webkit.org/changeset/176413>.
        * http/tests/security/contentSecurityPolicy/resources/generate-csp-report.php:
        * http/tests/security/contentSecurityPolicy/user-style-sheet-font-crasher.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/user-style-sheet-font-crasher.html.
        * platform/wk2/TestExpectations: Update entries for renames.

2016-02-21  Daniel Bates  <dabates@apple.com>

        CSP: sandbox directive should be ignored when contained in a policy defined via a meta element
        https://bugs.webkit.org/show_bug.cgi?id=154299
        <rdar://problem/24680433>

        Reviewed by Brent Fulgham.

        Add test http/tests/security/contentSecurityPolicy/sandbox-in-meta-tag-ignored.html to ensure that we ignore
        the sandbox directive when delivered via an HTML meta element and log a message to the Web Inspector console.

        Remove tests http/tests/security/contentSecurityPolicy/sandbox-{allow-scripts-subframe, empty, empty-subframe}.html
        that are no longer meaningful now that we ignore the sandbox directive when delivered via an HTML meta element and
        create analogous tests for when the sandbox directive is delivered via an HTTP header.

        * http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header2-expected.txt: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-expected.txt.
        * http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header2.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html.

        * http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html: Removed.
        This test is no longer meaningful now that we ignore the sandbox directive when delivered via an HTML meta element.
        An analogous test for when the directive is delivered via an HTTP header is http/tests/security/contentSecurityPolicy//sandbox-allow-scripts-in-http-header.html.

        * http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-inherited-by-subframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-inherited-by-subframe.php: Added. Derived from test http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html.

        * http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header.php: Added. Derived from test http/tests/security/contentSecurityPolicy/sandbox-empty.html.

        * http/tests/security/contentSecurityPolicy/sandbox-empty-subframe-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html: Removed.
        This test is no longer meaningful now that we ignore the sandbox directive when delivered via an HTML meta element.
        The analogous test for when the directive is delivered via an HTTP header is http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-inherited-by-subframe.php.

        * http/tests/security/contentSecurityPolicy/sandbox-empty-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/sandbox-empty.html: Removed.
        This test is no longer meaningful now that we ignore the sandbox directive when delivered via an HTML meta element.
        The analogous test for when the directive is delivered via an HTTP header is http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header.php.

        * http/tests/security/contentSecurityPolicy/sandbox-in-meta-tag-ignored-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/sandbox-in-meta-tag-ignored.html: Added.

2016-02-21  Commit Queue  <commit-queue@webkit.org>

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

        still crashy on EFL/GTK (Requested by smfr on #webkit).

        Reverted changeset:

        "Wheel event callback removing the window causes crash in
        WebCore."
        https://bugs.webkit.org/show_bug.cgi?id=150871
        http://trac.webkit.org/changeset/196866

2016-02-20  Simon Fraser  <simon.fraser@apple.com>

        Wheel event callback removing the window causes crash in WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=150871

        Reviewed by Brent Fulgham.

        * fast/events/wheel-event-destroys-frame-expected.txt: Added.
        * fast/events/wheel-event-destroys-frame.html: Added.

2016-02-20  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline inspector/model/remote-object.html for Mac after r196846

        Unreviewed test gardening.

        * platform/mac/inspector/model/remote-object-expected.txt:

2016-02-20  Commit Queue  <commit-queue@webkit.org>

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

        It caused a lot of crashes in EFL and GTK bots (Requested by
        KaL on #webkit).

        Reverted changeset:

        "Wheel event callback removing the window causes crash in
        WebCore."
        https://bugs.webkit.org/show_bug.cgi?id=150871
        http://trac.webkit.org/changeset/196837

2016-02-19  Doug Russell  <d_russell@apple.com>

        Bug 154366: AX: AXObjectCache::visiblePositionForTextMarkerData() doesn't account for visibly equivalent positions
        https://bugs.webkit.org/show_bug.cgi?id=154366

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-line-boundary-expected.txt: Added.
        * accessibility/mac/text-marker-line-boundary.html: Added.

2016-02-19  Sukolsak Sakshuwong  <sukolsak@gmail.com>

        [INTL] Implement Number Format Functions
        https://bugs.webkit.org/show_bug.cgi?id=147605

        Reviewed by Darin Adler.

        * js/intl-numberformat-expected.txt:
        * js/intl-numberformat.html:
        * js/number-toLocaleString-expected.txt:
        * js/script-tests/intl-numberformat.js:
        * js/script-tests/number-toLocaleString.js:

2016-02-18  Gavin Barraclough  <barraclough@apple.com>

        JSObject::getPropertySlot - index-as-propertyname, override on prototype, & shadow
        https://bugs.webkit.org/show_bug.cgi?id=154416

        Reviewed by Geoff Garen.

        * js/index-property-shadows-overriden-get-own-property-slot-expected.txt: Added.
        * js/index-property-shadows-overriden-get-own-property-slot.html: Added.
        * js/script-tests/index-property-shadows-overriden-get-own-property-slot.js: Added.
        (test):
            - added test case.

2016-02-19  Chris Dumez  <cdumez@apple.com>

        HTMLFormElement.autocomplete should only return known values
        https://bugs.webkit.org/show_bug.cgi?id=154247
        <rdar://problem/24658195>

        Reviewed by Ryosuke Niwa.

        Update test to expect Form.autocomplete to return "on" by
        default instead of the empty string.

        * fast/forms/autocomplete-expected.txt:
        * fast/forms/autocomplete.html:

2016-02-19  Simon Fraser  <simon.fraser@apple.com>

        Wheel event callback removing the window causes crash in WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=150871

        Reviewed by Brent Fulgham.

        * fast/events/wheel-event-destroys-frame-expected.txt: Added.
        * fast/events/wheel-event-destroys-frame.html: Added.

2016-02-19  Antti Koivisto  <antti@apple.com>

        ComposedTreeIterator traverses normal children for elements with empty shadow root
        https://bugs.webkit.org/show_bug.cgi?id=154464

        Reviewed by Ryosuke Niwa.

        * fast/shadow-dom/composed-tree-basic-expected.txt: Added.
        * fast/shadow-dom/composed-tree-basic.html: Added.

2016-02-19  Nan Wang  <n_wang@apple.com>

        AX: Inconsistency between CharacterOffset and VisiblePostition
        https://bugs.webkit.org/show_bug.cgi?id=154431

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-word-nav-expected.txt:
        * accessibility/mac/text-marker-word-nav.html:
        * accessibility/text-marker/text-marker-previous-next.html:

2016-02-19  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196797

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-19  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout Refactoring some layout tests
        https://bugs.webkit.org/show_bug.cgi?id=154291

        Refactored several tests so they use the shared sizing keywords
        instead of specific CSS rules.

        Reviewed by Sergio Villar Senin.

        * fast/css-grid-layout/calc-resolution-grid-item.html:
        * fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt:
        * fast/css-grid-layout/flex-and-intrinsic-sizes.html:
        * fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html:
        * fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html:
        * fast/css-grid-layout/grid-align-justify-margin-border-padding.html:
        * fast/css-grid-layout/grid-align-justify-overflow.html:
        * fast/css-grid-layout/grid-align-justify-stretch.html:
        * fast/css-grid-layout/grid-align.html:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
        * fast/css-grid-layout/grid-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-container-margin-border-padding-scrollbar.html:
        * fast/css-grid-layout/grid-content-alignment-and-self-alignment.html:
        * fast/css-grid-layout/grid-content-alignment-overflow.html:
        * fast/css-grid-layout/grid-content-alignment-with-span-vertical-lr.html:
        * fast/css-grid-layout/grid-content-alignment-with-span-vertical-rl.html:
        * fast/css-grid-layout/grid-content-alignment-with-span.html:
        * fast/css-grid-layout/grid-element-change-columns-repaint.html:
        * fast/css-grid-layout/grid-element-change-rows-repaint.html:
        * fast/css-grid-layout/grid-element-repeat-get-set.html:
        * fast/css-grid-layout/grid-gutters-and-alignment.html:
        * fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr.html:
        * fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl.html:
        * fast/css-grid-layout/grid-item-auto-margins-alignment.html:
        * fast/css-grid-layout/grid-item-auto-margins-and-stretch.html:
        * fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding.html:
        * fast/css-grid-layout/grid-item-change-column-repaint.html:
        * fast/css-grid-layout/grid-item-order-paint-order.html:
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-expected.txt: Added.
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-vertical-lr-expected.txt: Added.
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-vertical-lr.html: Added.
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-vertical-rl-expected.txt: Added.
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-vertical-rl.html: Added.
        * fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding.html: Added.
        * fast/css-grid-layout/grid-item-z-index-stacking-context-expected.html:
        * fast/css-grid-layout/grid-item-z-index-stacking-context.html:
        * fast/css-grid-layout/grid-items-should-not-be-stretched-when-height-or-width-or-margin-change.html:
        * fast/css-grid-layout/grid-justify-content-distribution.html:
        * fast/css-grid-layout/grid-justify-content-vertical-lr.html:
        * fast/css-grid-layout/grid-justify-content-vertical-rl.html:
        * fast/css-grid-layout/justify-self-cell.html:
        * fast/css-grid-layout/min-width-height-auto-and-margins.html:
        * fast/css-grid-layout/minmax-fixed-logical-height-only.html:
        * fast/css-grid-layout/minmax-fixed-logical-width-only.html:
        * fast/css-grid-layout/minmax-max-content-resolution-columns.html:
        * fast/css-grid-layout/minmax-max-content-resolution-rows.html:
        * fast/css-grid-layout/named-grid-line-get-set.html:
        * fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html:
        * fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html:
        * fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
        * fast/css-grid-layout/percent-of-indefinite-track-size.html:
        * fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
        * fast/css-grid-layout/place-cell-by-index.html:
        * fast/css-grid-layout/resources/grid-alignment.css:
        (.alignSelfCenterSafe):
        (.alignSelfCenterUnsafe):
        (.alignSelfEndSafe):
        (.alignSelfEndUnsafe):
        (.alignItemsAuto):
        (.alignItemsStretch):
        (.alignItemsStart):
        (.alignItemsEnd):
        (.alignItemsCenterSafe):
        (.alignItemsCenterUnsafe):
        (.alignItemsEndSafe):
        (.alignItemsEndUnsafe):
        (.justifySelfAuto):
        (.justifySelfStretch):
        (.justifySelfStart):
        (.justifySelfCenter):
        (.justifySelfEnd):
        (.justifySelfRight):
        (.justifySelfLeft):
        (.justifySelfFlexStart):
        (.justifySelfFlexEnd):
        (.justifySelfSelfStart):
        (.justifySelfSelfEnd):
        (.justifySelfCenterSafe):
        (.justifySelfCenterUnsafe):
        (.justifyItemsAuto):
        (.justifyItemsStretch):
        (.justifyItemsStart):
        (.justifyItemsCenter):
        (.justifyItemsEnd):
        (.justifyItemsCenterSafe):
        (.justifyItemsCenterUnsafe):
        (.justifyItemsEndSafe):
        (.justifyItemsEndUnsafe):
        (.selfStretch):
        (.contentStart):
        (.contentCenter):
        (.contentEnd):
        (.contentCenterSafe):
        (.contentCenterUnsafe):
        (.contentEndSafe):
        (.contentEndUnsafe):
        (.contentSpaceBetween):
        (.contentSpaceAround):
        (.contentSpaceEvenly):
        (.contentStretch):
        * fast/css-grid-layout/resources/grid.css:
        (.verticalRL):
        (.verticalLR):
        (.horizontalTB):
        (.horizontalBT):
        (.inline-grid): Deleted.
        (.firstRowFirstColumn): Deleted.
        (.directionRTL): Deleted.

2016-02-18  Andy Estes  <aestes@apple.com>

        Revert to dispatching the popstate event synchronously
        https://bugs.webkit.org/show_bug.cgi?id=153297
        rdar://problem/24092294

        Reviewed by Brent Fulgham.

        Renamed and modified this test to expect synchronous dispatch.

        * fast/loader/stateobjects/popstate-is-synchronous-expected.txt: Renamed from LayoutTests/fast/loader/stateobjects/popstate-is-asynchronous-expected.txt.
        * fast/loader/stateobjects/popstate-is-synchronous.html: Renamed from LayoutTests/fast/loader/stateobjects/popstate-is-asynchronous.html.

2016-02-18  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] Bump internal jhbuild versions to 1.6.3
        https://bugs.webkit.org/show_bug.cgi?id=149594

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Skipping new failing tests for now.

2016-02-18  Commit Queue  <commit-queue@webkit.org>

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

        made fast/events/wheelevent-basic-actual.txt fail in WK2
        (Requested by alexchristensen on #webkit).

        Reverted changeset:

        "Wheel event callback removing the window causes crash in
        WebCore."
        https://bugs.webkit.org/show_bug.cgi?id=150871
        http://trac.webkit.org/changeset/196790

2016-02-18  Chris Dumez  <cdumez@apple.com>

        window.history / window.navigator should not be replaceable
        https://bugs.webkit.org/show_bug.cgi?id=154412

        Reviewed by Ryosuke Niwa.

        Update / rebaseline existing tests now that window.history and
        window.navigator are no longer replaceable.

        * fast/dom/Window/get-set-properties-expected.txt:
        * fast/dom/Window/get-set-properties.html:
        * fast/dom/Window/window-property-shadowing-expected.txt:
        * fast/dom/Window/window-property-shadowing.html:
        * http/tests/history/cross-origin-replace-history-object-child-expected.txt:
        * http/tests/history/resources/cross-origin-replaces-history-object-child-iframe.html:
        * js/dom/var-declarations-shadowing-expected.txt:
        * js/dom/var-declarations-shadowing.html:
        * js/getOwnPropertyDescriptor-window-attributes-expected.txt:
        * js/getOwnPropertyDescriptor-window-attributes.html:

2016-02-18  Simon Fraser  <simon.fraser@apple.com>

        Wheel event callback removing the window causes crash in WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=150871

        Reviewed by Brent Fulgham.

        * fast/events/wheel-event-destroys-frame-expected.txt: Added.
        * fast/events/wheel-event-destroys-frame.html: Added.

2016-02-18  Zalan Bujtas  <zalan@apple.com>

        Soft hyphen is not shown when it is placed at the end of an inline element
        https://bugs.webkit.org/show_bug.cgi?id=153980

        Reviewed by David Hyatt.

        This patch handles the case when the character at the breaking position does not fit the
        line and soft-hyphen, as the first breaking opportunity, is followed by this overflowing character.
        (foo&shy;bar where b overflows the line).
        In such cases we don't yet have an item in the breaking history so we need to take a look at
        the current context instead.    

        * fast/text/soft-hyphen-as-first-breaking-opportunity-expected.html: Added.
        * fast/text/soft-hyphen-as-first-breaking-opportunity.html: Added.

2016-02-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196770

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/reflection-forms.html for ios-simulator after r196769 

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:

2016-02-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196742

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-18  Csaba Osztrogonác  <ossy@webkit.org>

        JSC ARM Linux test gardening after r196625
        https://bugs.webkit.org/show_bug.cgi?id=154392

        Reviewed by Mark Lam.

        * js/script-tests/dfg-float32array.js:
        * js/script-tests/dfg-float64array.js:
        * js/script-tests/dfg-int16array.js:
        * js/script-tests/dfg-int32array-overflow-values.js:
        * js/script-tests/dfg-int32array.js:
        * js/script-tests/dfg-int8array.js:
        * js/script-tests/dfg-osr-entry-hoisted-clobbered-structure-check.js:
        * js/script-tests/dfg-uint16array.js:
        * js/script-tests/dfg-uint32array-overflow-values.js:
        * js/script-tests/dfg-uint32array.js:
        * js/script-tests/dfg-uint8array.js:
        * js/script-tests/dfg-uint8clampedarray.js:
        * js/script-tests/regress-141098.js:

2016-02-17  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] Implement FontFaceSet
        https://bugs.webkit.org/show_bug.cgi?id=153348

        Reviewed by Simon Fraser.

        * fast/text/font-face-set-javascript-expected.txt: Added.
        * fast/text/font-face-set-javascript.html: Added.

2016-02-17  Commit Queue  <commit-queue@webkit.org>

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

        broke css3/calc/transforms-translate.html (Requested by
        alexchristensen on #webkit).

        Reverted changeset:

        "WebKitCSSMatrix transformList with calculated relative length
        crashes Safari."
        https://bugs.webkit.org/show_bug.cgi?id=153333
        http://trac.webkit.org/changeset/196738

2016-02-17  Dean Jackson  <dino@apple.com>

        WebKitCSSMatrix transformList with calculated relative length crashes Safari.
        https://bugs.webkit.org/show_bug.cgi?id=153333
        <rdar://problem/17198383>

        Reviewed by Simon Fraser.

        Update existing tests to exercise the non-absolute lengths for translation
        and perspective functions.

        * transforms/cssmatrix-2d-interface-expected.txt:
        * transforms/cssmatrix-2d-interface.xhtml:
        * transforms/cssmatrix-3d-interface-expected.txt:
        * transforms/cssmatrix-3d-interface.xhtml:

2016-02-17  Keith Miller  <keith_miller@apple.com>

        Spread operator should be allowed when not the first argument of parameter list
        https://bugs.webkit.org/show_bug.cgi?id=152721

        Reviewed by Saam Barati.

        Update tests with new semantics of spread calling. Additionally,
        adjust benchmarks to run in a more reasonable time now that
        spread is implemented correctly.

        * js/basic-spread-expected.txt:
        * js/parser-syntax-check-expected.txt:
        * js/regress/script-tests/deltablue-varargs.js:
        (deltaBlue):
        * js/regress/script-tests/varargs-construct.js:
        * js/script-tests/basic-spread.js:
        * js/script-tests/parser-syntax-check.js:

2016-02-17  Ryan Haddad  <ryanhaddad@apple.com>

        Add ios-simulator baseline for new W3C HTML tests added with r196710

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt: Added.
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt: Added.

2016-02-17  Chris Dumez  <cdumez@apple.com>

        SES selftest page crashes on nightly r196694
        https://bugs.webkit.org/show_bug.cgi?id=154350
        <rdar://problem/24704334>

        Reviewed by Mark Lam.

        Add test coverage for the crash which happens when shadowing window.length
        with a value after the window property and then calling
        Object.getOwnPropertyDescriptor(window, "length").

        * js/window-length-getOwnPropertyDescriptor-crash-expected.txt: Added.
        * js/window-length-getOwnPropertyDescriptor-crash.html: Added.

2016-02-17  Simon Fraser  <simon.fraser@apple.com>

        Add tests for iframe and overflow scrollability after navigating back
        https://bugs.webkit.org/show_bug.cgi?id=154300

        Fix the tests added in r196665 to be agnostic about how many pixels a wheel event scrolls.

        * fast/scrolling/iframe-scrollable-after-back-expected.txt:
        * fast/scrolling/iframe-scrollable-after-back.html:
        * fast/scrolling/overflow-scrollable-after-back-expected.txt:
        * fast/scrolling/overflow-scrollable-after-back.html:

2016-02-17  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function. Arrow function should raise exception ReferenceError only when access to 'arguments'  on top level
        https://bugs.webkit.org/show_bug.cgi?id=152570

        Reviewed by Saam Barati.

        Add tests to ensure that arrrow function return error when it binds arguments on top level

        * js/arrowfunction-lexical-bind-arguments-top-level-expected.txt: Added.
        * js/arrowfunction-lexical-bind-arguments-top-level.html: Added.
        * js/script-tests/arrowfunction-lexical-bind-arguments-top-level.js: Added.

2016-02-17  Chris Dumez  <cdumez@apple.com>

        Import W3C HTML reflection tests
        https://bugs.webkit.org/show_bug.cgi?id=154310
        <rdar://problem/24685826>

        Reviewed by Ryosuke Niwa.

        Skip newly imported tests in Debug builds because they are slow.

        * TestExpectations:

2016-02-17  Alex Christensen  <achristensen@webkit.org>

        Copy http body when being redirected with 308 with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=154348

        Reviewed by Brady Eidson.

        * http/tests/navigation/post-308-response-expected.txt: Copied from LayoutTests/http/tests/navigation/post-307-response-expected.txt.
        * http/tests/navigation/post-308-response.html: Copied from LayoutTests/http/tests/navigation/post-307-response.html.
        * http/tests/navigation/resources/redirection-response.php:
        Added a test verifying data is being sent with post requests after being redirected with an http status code of 308.
        We already had non-CORS tests for 301, 302, 303, and 307, and we already had CORS tests for 301, 302, 303, 307, and 308.
        This fills in the missing non-CORS test.

2016-02-17  Chris Dumez  <cdumez@apple.com>

        Regression(r196648): window.showModalDialog is no longer undefined if the client does not allow showing modal dialog
        https://bugs.webkit.org/show_bug.cgi?id=154330

        Reviewed by Gavin Barraclough.

        Add layout test to make sure that window.showModalDialog is undefined
        when the client does not allow showing modal dialog and to check that
        window.showModalDialog can be shadowed.

        * fast/dom/Window/forbid-showModalDialog-expected.txt: Added.
        * fast/dom/Window/forbid-showModalDialog.html: Added.

2016-02-17  Commit Queue  <commit-queue@webkit.org>

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

         "Causes major slowdowns on deltablue-varargs" (Requested by
        keith_miller on #webkit).

        Reverted changeset:

        "Spread operator should be allowed when not the first argument
        of parameter list"
        https://bugs.webkit.org/show_bug.cgi?id=152721
        http://trac.webkit.org/changeset/196675

2016-02-17  Nan Wang  <n_wang@apple.com>

        AX: Implement sentence related text marker functions using TextIterator
        https://bugs.webkit.org/show_bug.cgi?id=154312

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-paragraph-nav-expected.txt:
        * accessibility/mac/text-marker-paragraph-nav.html:
        * accessibility/mac/text-marker-sentence-nav-expected.txt: Added.
        * accessibility/mac/text-marker-sentence-nav.html: Added.

2016-02-17  Ryan Haddad  <ryanhaddad@apple.com>

        Adding an ios-specific baseline for accessibility/ios-simulator/centerpoint.html during failure investigation
        https://bugs.webkit.org/show_bug.cgi?id=154137

        Unreviewed test gardening.

        * platform/ios-simulator/accessibility/ios-simulator/centerpoint-expected.txt: Added.

2016-02-17  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-17  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping tests added with r196688 on ios-simulator due to reliance on unsupported mouse events.

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-17  Chris Dumez  <cdumez@apple.com>

        Window should have its 'constructor' property on the prototype
        https://bugs.webkit.org/show_bug.cgi?id=154037
        <rdar://problem/24689078>

        Reviewed by Gavin Barraclough.

        * http/tests/security/cross-origin-window-property-access-expected.txt:
        * http/tests/security/cross-origin-window-property-access.html:
        Add checks to make sure it still is not possible to access
        window.constructor cross-origin.

        * js/getOwnPropertyDescriptor-window-attributes-expected.txt:
        * js/getOwnPropertyDescriptor-window-attributes.html:
        Update test now that window has it's "constructor" attribute
        on the prototype.

2016-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Add a way to test ScrollAnimator
        https://bugs.webkit.org/show_bug.cgi?id=153479

        Reviewed by Michael Catanzaro.

        * compositing/overflow/overflow-scrollbar-layer-positions-expected.txt:
        * fast/scrolling/overlay-scrollbars-scroll-corner-expected.html: Added.
        * fast/scrolling/overlay-scrollbars-scroll-corner.html: Added.
        * fast/scrolling/scroll-animator-basic-events-expected.txt: Added.
        * fast/scrolling/scroll-animator-basic-events.html: Added.
        * fast/scrolling/scroll-animator-overlay-scrollbars-hovered-expected.txt: Added.
        * fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html: Added.
        * fast/scrolling/scroll-animator-select-list-events-expected.txt: Added.
        * fast/scrolling/scroll-animator-select-list-events.html: Added.
        * fast/scrolling/scrollbar-tickmarks-hittest.html:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/fast/scrolling/scroll-animator-basic-events-expected.txt: Added.
        * platform/mac-wk1/fast/scrolling/scroll-animator-select-list-events-expected.txt: Added.

2016-02-16  Gavin Barraclough  <barraclough@apple.com>

        JSDOMWindow::getOwnPropertySlot should not search photo chain
        https://bugs.webkit.org/show_bug.cgi?id=154102

        Reviewed by Chris Dumez.

        Should only return *own* properties.

        * fast/dom/Window/es52-globals-expected.txt:
        * http/tests/security/window-named-valueOf-expected.txt:
        * imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
            - update test results.

2016-02-16  Keith Miller  <keith_miller@apple.com>

        Spread operator should be allowed when not the first argument of parameter list
        https://bugs.webkit.org/show_bug.cgi?id=152721

        Reviewed by Saam Barati.

        Update tests with new semantics of spread calling.

        * js/basic-spread-expected.txt:
        * js/parser-syntax-check-expected.txt:
        * js/script-tests/basic-spread.js:
        * js/script-tests/parser-syntax-check.js:

2016-02-16  Chris Dumez  <cdumez@apple.com>

        Navigator.geolocation should not be marked a [Replaceable] and should be on the prototype
        https://bugs.webkit.org/show_bug.cgi?id=154304
        <rdar://problem/24685092>

        Reviewed by Gavin Barraclough.

        * fast/dom/Geolocation/enabled-expected.txt:
        * fast/dom/Geolocation/script-tests/enabled.js:
        * js/dom/delete-syntax-expected.txt:
        * js/dom/script-tests/delete-syntax.js:
        Update tests as they expected the navigator properties to be on the
        instance rather than the prototype.

        * js/dom/script-tests/shadow-navigator-geolocation-in-strict-mode-does-not-throw.js: Removed.
        * js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw-expected.txt: Removed.
        * js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw.html: Removed.
        Drop outdated test.

        * js/navigator-set-geolocation-expected.txt: Added.
        * js/navigator-set-geolocation.html: Added.
        Add test to make sure that Navigator.geolocation cannot be set. I verified that
        this test passes in both Firefox and Chrome.

2016-02-16  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION (r190430): WTFCrashWithSecurityImplication in:void SVGRootInlineBox::layoutCharactersInTextBoxes()
        https://bugs.webkit.org/show_bug.cgi?id=154185

        Reviewed by Ryosuke Niwa.
        
        Ensure that adding an HTMLSlotElement with text to an SVGTextElement will
        not create a renderer and we won't crash.

        * fast/shadow-dom/text-slot-child-crash-expected.txt: Added.
        * fast/shadow-dom/text-slot-child-crash.svg: Added.

2016-02-16  Simon Fraser  <simon.fraser@apple.com>

        Add tests for iframe and overflow scrollability after navigating back
        https://bugs.webkit.org/show_bug.cgi?id=154300

        Reviewed by Brent Fulgham.
        
        Test that sends mousewheel events to overflow and iframe, before and after navigating
        forward then back.
        
        These tests detect the regression caused by r188659.

        * fast/scrolling/iframe-scrollable-after-back-expected.txt: Added.
        * fast/scrolling/iframe-scrollable-after-back.html: Added.
        * fast/scrolling/overflow-scrollable-after-back-expected.txt: Added.
        * fast/scrolling/overflow-scrollable-after-back.html: Added.
        * fast/scrolling/resources/scroll-notifying-page.html: Added.
        * platform/ios-simulator/TestExpectations: Skip on iOS.

2016-02-16  Daniel Bates  <dabates@apple.com>

        CSP: Update violation report 'Content-Type' header
        https://bugs.webkit.org/show_bug.cgi?id=153166
        <rdar://problem/24383327>

        Reviewed by Brent Fulgham.

        Update expected results now that we post the Content Security Policy violation report with
        Content-Type application/csp-report.

        * TestExpectations: Update associated bugs for entries that still fail.
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt: Fix up HTTP_REFERER and csp-report
        to reflect the correct value for HTTP_REFERER and the correct values for the report-uri and document-uri keys in the CSP
        report JSON object.

2016-02-16  Ryan Haddad  <ryanhaddad@apple.com>

        Marking pageoverlay/overlay-installation.html  as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153337

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-16  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196648

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-16  Daniel Bates  <dabates@apple.com>

        CSP: Fix parsing of 'host/path' source expressions
        https://bugs.webkit.org/show_bug.cgi?id=153170
        <rdar://problem/24383407>

        Reviewed by Brent Fulgham.

        Remove entry for test http/tests/security/contentSecurityPolicy/source-list-parsing-paths-03.html
        as it now passes.

        * TestExpectations:

2016-02-16  Joseph Pecoraro  <pecoraro@apple.com>

        JSContext Inspector: Support for inline source maps
        https://bugs.webkit.org/show_bug.cgi?id=154303
        <rdar://problem/24670392>

        Reviewed by Timothy Hatcher.

        * inspector/unit-tests/url-utilities-expected.txt: Added.
        * inspector/unit-tests/url-utilities.html: Added.

2016-02-16  Daniel Bates  <dabates@apple.com>

        CSP: Disallow an empty host in a host-source source expression
        https://bugs.webkit.org/show_bug.cgi?id=153168
        <rdar://problem/24383366>

        Reviewed by Brent Fulgham.

        Remove entry for test http/tests/security/contentSecurityPolicy/source-list-parsing-07.html
        as it now passes.

        * TestExpectations:

2016-02-16  Chris Dumez  <cdumez@apple.com>

        [Web IDL] Operations should be on the instance for global objects or if [Unforgeable]
        https://bugs.webkit.org/show_bug.cgi?id=154120
        <rdar://problem/24613231>

        Reviewed by Gavin Barraclough.

        * inspector/model/remote-object-get-properties-expected.txt:
        Rebaseline test because the order of static properties has changed:
        functions are now before constants instead of after.

2016-02-16  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webarchive/loading/missing-data.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=153380

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-02-16  Keith Miller  <keith_miller@apple.com>

        ClonedArguments should not materialize its special properties unless they are being changed or deleted
        https://bugs.webkit.org/show_bug.cgi?id=154128

        Reviewed by Filip Pizlo.

        Have argumnets-strict-mode test the speed of spreading the arguments object.

        * js/regress/script-tests/arguments-strict-mode.js:
        (foo):

2016-02-16  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/events/keydown-1.html as flaky on mac-wk1 debug
        https://bugs.webkit.org/show_bug.cgi?id=154297

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-02-16  Filip Pizlo  <fpizlo@apple.com>

        FTL should support StringFromCharCode
        https://bugs.webkit.org/show_bug.cgi?id=154267

        Reviewed by Mark Lam.

        * js/regress/script-tests/string-from-char-code.js: Added.
        (result):
        * js/regress/script-tests/untyped-string-from-char-code.js: Added.
        (result):
        * js/regress/string-from-char-code-expected.txt: Added.
        * js/regress/string-from-char-code.html: Added.
        * js/regress/untyped-string-from-char-code-expected.txt: Added.
        * js/regress/untyped-string-from-char-code.html: Added.

2016-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] No hover-horizontal scrolling available
        https://bugs.webkit.org/show_bug.cgi?id=122859

        Reviewed by Michael Catanzaro.

        * platform/gtk/scrollbars/main-frame-scrollbar-horizontal-wheel-scroll-expected.html: Added.
        * platform/gtk/scrollbars/main-frame-scrollbar-horizontal-wheel-scroll.html: Added.

2016-02-16  Antti Koivisto  <antti@apple.com>

        Factor id mutation style invalidation code into a class
        https://bugs.webkit.org/show_bug.cgi?id=154287

        Reviewed by Andreas Kling.

        * fast/css/style-invalidation-id-change-descendants-expected.txt: Added.
        * fast/css/style-invalidation-id-change-descendants.html: Added.

2016-02-16  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196621

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-15  Antti Koivisto  <antti@apple.com>

        Optimize style invalidations for attribute selectors
        https://bugs.webkit.org/show_bug.cgi?id=154242

        Reviewed by Andreas Kling.

        * fast/css/style-invalidation-attribute-change-descendants-expected.txt: Added.
        * fast/css/style-invalidation-attribute-change-descendants.html: Added.

2016-02-16  Chris Dumez  <cdumez@apple.com>

        Do security checks early in JSDOMWindow::put*()
        https://bugs.webkit.org/show_bug.cgi?id=154270

        Reviewed by Gavin Barraclough.

        * http/tests/security/cross-frame-access-put-expected.txt:
        Rebaseline. The extra security warnings are for the following properties:
        closed, crypto, frameElement, pageXOffset and pageYOffset.
        All these properties are read-only and therefore cannot be set (cross-origin
        or not). The previous code was not doing an explicit check and ended up
        trying to set these properties. However, since they are read-only, we would
        silently fail to set them. The new code does the explicit check and therefore
        will warn and NOT attempt to set.

        * http/tests/security/cross-origin-reified-window-location-setting-expected.txt: Added.
        * http/tests/security/cross-origin-reified-window-location-setting.html: Added.
        Add test to check that setting window.location cross-origin still works after the
        window object has been reified.

2016-02-15  Mark Lam  <mark.lam@apple.com>

        [ARMv7] Some JSC test fails due to exhausting the JIT code heap on the no LLINT test configuration.
        https://bugs.webkit.org/show_bug.cgi?id=151611

        Reviewed by Saam Barati.

        These tests are only failing because they are compiling too much with the LLINT
        disabled.  As a result, they are using more JIT code heap space than is allowed
        by the OS.

        This patch excludes these tests from the noLLINT configuration on 32-bit ARM.

        * js/script-tests/dfg-float32array.js:
        * js/script-tests/dfg-float64array.js:
        * js/script-tests/dfg-int16array.js:
        * js/script-tests/dfg-int32array-overflow-values.js:
        * js/script-tests/dfg-int32array.js:
        * js/script-tests/dfg-int8array.js:
        * js/script-tests/dfg-osr-entry-hoisted-clobbered-structure-check.js:
        * js/script-tests/dfg-uint16array.js:
        * js/script-tests/dfg-uint32array-overflow-values.js:
        * js/script-tests/dfg-uint32array.js:
        * js/script-tests/dfg-uint8array.js:
        * js/script-tests/dfg-uint8clampedarray.js:
        * js/script-tests/regress-141098.js:

2016-02-15  Brent Fulgham  <bfulgham@apple.com>

        [Mac] Gather some rudimentary statistics during resource load 
        https://bugs.webkit.org/show_bug.cgi?id=153575
        <rdar://problem/24075254>

        Reviewed by Brady Eidson.

        * http/tests/navigation/resources/redirect-on-reload-updates-history-item-statistics.php: Added.
        * http/tests/navigation/resources/redirect-updates-history-item-done-statistics.html: Added.
        * http/tests/navigation/statistics-expected.txt: Added.
        * http/tests/navigation/statistics.html: Added.

2016-02-15  Chris Dumez  <cdumez@apple.com>

        The following properties should exist on the global object: AudioTrackList, AudioTrack, VideoTrackList, VideoTrack
        https://bugs.webkit.org/show_bug.cgi?id=154250
        <rdar://problem/24660829>

        Reviewed by Eric Carlson.

        Rebaseline now that AudioTrackList, AudioTrack, VideoTrackList and VideoTrack
        are exposed on the global Window object.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2016-02-15  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] Rebaseline after r196244.

        Unreviewed test gardening.

        * platform/efl/compositing/geometry/clipping-foreground-expected.txt:
        * platform/efl/compositing/geometry/root-layer-update-expected.txt:
        * platform/efl/compositing/overflow/ancestor-overflow-expected.txt:
        * platform/efl/compositing/overflow/nested-scrolling-expected.txt:
        * platform/efl/compositing/overflow/overflow-scroll-expected.txt:
        * platform/efl/compositing/overflow/parent-overflow-expected.txt:
        * platform/efl/compositing/overflow/scrollbar-painting-expected.txt:
        * platform/efl/compositing/reflections/nested-reflection-on-overflow-expected.txt:
        * platform/efl/compositing/sibling-positioning-expected.txt:
        * platform/efl/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/efl/fast/block/positioning/auto/vertical-rl/007-expected.txt:
        * platform/efl/fast/block/positioning/vertical-rl/fixed-positioning-expected.txt:
        * platform/efl/fast/borders/border-antialiasing-expected.txt:
        * platform/efl/fast/clip/001-expected.txt:
        * platform/efl/fast/clip/013-expected.txt:
        * platform/efl/fast/clip/014-expected.txt:
        * platform/efl/fast/clip/016-expected.txt:
        * platform/efl/fast/clip/outline-overflowClip-expected.txt:
        * platform/efl/fast/css/clip-zooming-expected.txt:
        * platform/efl/fast/forms/validation-message-appearance-expected.txt:
        * platform/efl/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt:
        * platform/efl/fast/line-grid/line-grid-inside-columns-expected.txt:
        * platform/efl/fast/line-grid/line-grid-into-columns-expected.txt:
        * platform/efl/fast/lists/scrolled-marker-paint-expected.txt:
        * platform/efl/fast/multicol/client-rects-expected.txt:
        * platform/efl/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/efl/fast/multicol/column-rules-expected.txt:
        * platform/efl/fast/multicol/column-rules-stacking-expected.txt:
        * platform/efl/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/efl/fast/multicol/float-paginate-complex-expected.txt:
        * platform/efl/fast/multicol/float-paginate-empty-lines-expected.txt:
        * platform/efl/fast/multicol/float-paginate-expected.txt:
        * platform/efl/fast/multicol/layers-in-multicol-expected.txt:
        * platform/efl/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/efl/fast/multicol/max-height-columns-block-expected.txt:
        * platform/efl/fast/multicol/nested-columns-expected.txt:
        * platform/efl/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/efl/fast/multicol/overflow-across-columns-expected.txt:
        * platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/efl/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/efl/fast/multicol/paginate-block-replaced-expected.txt:
        * platform/efl/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/efl/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/efl/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/efl/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/efl/fast/multicol/pagination/LeftToRight-bt-expected.txt:
        * platform/efl/fast/multicol/pagination/LeftToRight-rl-expected.txt:
        * platform/efl/fast/multicol/pagination/LeftToRight-tb-expected.txt:
        * platform/efl/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/efl/fast/multicol/pagination/TopToBottom-bt-expected.txt:
        * platform/efl/fast/multicol/pagination/TopToBottom-lr-expected.txt:
        * platform/efl/fast/multicol/pagination/TopToBottom-rl-expected.txt:
        * platform/efl/fast/multicol/positive-leading-expected.txt:
        * platform/efl/fast/multicol/scrolling-column-rules-expected.txt:
        * platform/efl/fast/multicol/scrolling-overflow-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
        * platform/efl/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/efl/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/efl/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/efl/fast/multicol/table-vertical-align-expected.txt:
        * platform/efl/fast/multicol/tall-image-behavior-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/column-rules-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/float-paginate-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/nested-columns-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/float-paginate-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/nested-columns-expected.txt:
        * platform/efl/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
        * platform/efl/fast/overflow/float-in-relpositioned-expected.txt:
        * platform/efl/fast/overflow/overflow-auto-position-absolute-expected.txt:
        * platform/efl/fast/overflow/overflow-rtl-expected.txt:
        * platform/efl/fast/overflow/paged-x-div-expected.txt:
        * platform/efl/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/efl/fast/overflow/paged-x-on-root-expected.txt:
        * platform/efl/fast/overflow/paged-x-with-column-gap-expected.txt:
        * platform/efl/fast/overflow/paged-y-div-expected.txt:
        * platform/efl/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
        * platform/efl/fast/regions/repaint/region-painting-via-layout-expected.txt:
        * platform/efl/fast/repaint/box-shadow-h-expected.txt:
        * platform/efl/fast/repaint/box-shadow-v-expected.txt:
        * platform/efl/fast/repaint/layer-outline-expected.txt:
        * platform/efl/fast/repaint/layer-outline-horizontal-expected.txt:
        * platform/efl/fast/table/edge-offsets-expected.txt:
        * platform/efl/fast/transforms/overflow-with-transform-expected.txt:
        * platform/efl/fast/transforms/rotated-transform-affects-scrolling-1-expected.txt: Added.
        * platform/efl/fast/transforms/rotated-transform-affects-scrolling-2-expected.txt: Added.
        * platform/efl/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
        * platform/efl/scrollbars/scrollbars-on-positioned-content-expected.txt:
        * platform/efl/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.txt: Added.
        * platform/efl/svg/custom/image-rescale-clip-expected.txt: Added.

2016-02-15  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196607

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-15  Myles C. Maxfield  <mmaxfield@apple.com>

        [Font Loading] Implement FontFace JavaScript object
        https://bugs.webkit.org/show_bug.cgi?id=153345

        Reviewed by Antti Koivisto.

        * fast/text/font-face-javascript-expected.txt: Added.
        * fast/text/font-face-javascript.html: Added.
        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-02-15  Chris Dumez  <cdumez@apple.com>

        XMLHttpRequest / XMLHttpRequestUpload should inherit XMLHttpRequestEventTarget
        https://bugs.webkit.org/show_bug.cgi?id=154230

        Reviewed by Alex Christensen.

        Rebaseline tests now that XMLHttpRequestEventTarget is exposed on the
        global objects.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-02-15  Jiewen Tan  <jiewen_tan@apple.com>

        Refine SimulatedMouseEvent to support Event.isTrusted
        https://bugs.webkit.org/show_bug.cgi?id=154133
        <rdar://problem/24616246>

        Reviewed by Darin Adler.

        * imported/blink/fast/events/event-trusted-expected.txt:
        * imported/blink/fast/events/event-trusted.html:

2016-02-15  Ryan Haddad  <ryanhaddad@apple.com>

        Marking animations/animation-delay-changed.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=154253

        Unreviewed test gardening.

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

2016-02-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Web Workers have no access to console for debugging
        https://bugs.webkit.org/show_bug.cgi?id=26237

        Reviewed by Timothy Hatcher.

        * inspector/console/messageAdded-from-worker-expected.txt: Added.
        * inspector/console/messageAdded-from-worker.html: Added.
        * inspector/console/resources/worker-console-log.js: Added.

2016-02-15  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: CSS variables are not formatted correctly
        https://bugs.webkit.org/show_bug.cgi?id=154217
        rdar://problem/24644154

        Reviewed by Joseph Pecoraro.

        * inspector/codemirror/prettyprinting-css-rules-expected.txt:
        * inspector/codemirror/prettyprinting-css-rules.html:
        * inspector/codemirror/resources/prettyprinting/css-rule-tests/css-variables-expected.css: Added.
        * inspector/codemirror/resources/prettyprinting/css-rule-tests/css-variables.css: Added.

2016-02-15  Chris Dumez  <cdumez@apple.com>

        Regression(r196563): It is no longer possible to call window.addEventListener without an explicit 'this'
        https://bugs.webkit.org/show_bug.cgi?id=154245

        Reviewed by Ryosuke Niwa.

        Add a layout test to cover the use of the EventListener API without an
        explicit 'this' value.

        * fast/dom/Window/addEventListener-implicit-this-expected.txt: Added.
        * fast/dom/Window/addEventListener-implicit-this.html: Added.

2016-02-15  Daniel Bates  <dabates@apple.com>

        CSP: 'sandbox' should be ignored in report-only mode
        https://bugs.webkit.org/show_bug.cgi?id=153167
        <rdar://problem/22708669>

        Reviewed by Brent Fulgham.

        Remove the entry from the TestExpectations file for the test
        http/tests/security/contentSecurityPolicy/sandbox-report-only.html as it now passes.

        * TestExpectations:

2016-02-15  Daniel Bates  <dabates@apple.com>

        CSP: Allow schemeless source expressions to match an HTTP or HTTPS resource
        https://bugs.webkit.org/show_bug.cgi?id=154177
        <rdar://problem/22708772>

        Reviewed by Brent Fulgham.

        Update test case and expected result to test that a schemeless source expression
        matches an HTTPS subresource (and does not trigger a Content Security Policy violation)
        when the page is served over HTTP.

        * http/tests/security/contentSecurityPolicy/source-list-parsing-10-expected.txt:
        * http/tests/security/contentSecurityPolicy/source-list-parsing-10.html: Change "no" to "yes"
        so that we consider it a success (and continue printing "PASS") when we load and execute the
        script, <https://127.0.0.1:8443/security/contentSecurityPolicy/resources/script.js>.

2016-02-15  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196563

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-15  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed. EFL gardening after r195740.

        * platform/efl/tables/mozilla/bugs/bug10269-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug10269-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug10296-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug103533-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug106158-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug108340-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug110566-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug11321-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug113235-3-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug11944-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug119786-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug12384-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1261-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug12910-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug13105-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug13118-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug133756-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug133756-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug13484-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug13526-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug138725-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug14159-3-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug149275-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug17130-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1828-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug18558-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2050-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug20579-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug21299-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug21918-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug221784-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug221784-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug22246-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug22246-2a-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2267-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug23072-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug23151-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug23299-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug24503-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug24627-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2469-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2479-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug24880-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug25086-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2516-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug25367-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2585-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug26178-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug27038-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug27038-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug275625-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2757-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug278266-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug278385-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2886-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug29157-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2973-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3037-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3037-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug30418-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug30985-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3191-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug32205-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug32205-5-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug32447-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3263-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3309-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug34538-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug35662-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3718-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug39209-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug40828-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4284-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4429-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug44523-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug45055-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4520-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46268-3-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46268-5-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46268-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46480-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46480-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4739-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug48028-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug48028-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug51140-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug55527-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug55545-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug55694-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug56405-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug57300-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug57378-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug57828-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug5798-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug5799-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug5838-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug58402-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug60013-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug60749-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug60992-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug63785-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug650-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug67864-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug67915-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug69187-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug709-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug7112-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug7112-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug75250-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug8032-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug82946-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug8361-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug83786-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug8381-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug9072-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug9271-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug93363-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug96343-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug965-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug97138-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug99923-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug99948-expected.txt:
        * platform/efl/tables/mozilla/collapsing_borders/bug127040-expected.txt:
        * platform/efl/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
        * platform/efl/tables/mozilla/core/captions-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_auto_auto-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_auto_autoPer-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_fix_autoPer-expected.txt:
        * platform/efl/tables/mozilla/core/row_span-expected.txt:
        * platform/efl/tables/mozilla/dom/appendCol2-expected.txt:
        * platform/efl/tables/mozilla/dom/appendRowsExpand1-expected.txt:
        * platform/efl/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteCellsRebuild1-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteCol1-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteCol2-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteCol3-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteColGroup1-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteColGroup2-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
        * platform/efl/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCellsExpand1-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCellsExpand2-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
        * platform/efl/tables/mozilla/dom/insertRowsExpand1-expected.txt:
        * platform/efl/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
        * platform/efl/tables/mozilla/dom/tableDom-expected.txt:
        * platform/efl/tables/mozilla/marvin/body_col-expected.txt:
        * platform/efl/tables/mozilla/marvin/body_tbody-expected.txt:
        * platform/efl/tables/mozilla/marvin/body_tfoot-expected.txt:
        * platform/efl/tables/mozilla/marvin/body_thead-expected.txt:
        * platform/efl/tables/mozilla/marvin/col_span-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_frame_border-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_frame_box-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_rules_all-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_rules_none-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_border_0-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_border_1-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_border_2-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_border_3-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_cellspacing-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_default-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_id-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_td_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_td_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_td_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_td_colspan-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_td_height-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_th_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_th_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_th_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_th_colspan-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_th_height-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_align_justify-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_align_justify-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_align_justify-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_caption_align_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_caption_align_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_border-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_border_none-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_border_px-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_cellpadding-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_cellpadding_pct-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_cellspacing-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_cellspacing_pct-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_frame_void-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_rules_groups-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_rules_none-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_table_style-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_class-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_id-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_style-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_class-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_colspan-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_height-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_id-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_nowrap-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_rowspan-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_style-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_class-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_id-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_style-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_class-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_colspan-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_height-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_id-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_nowrap-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_style-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_class-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_id-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_style-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_class-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_id-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_style-expected.txt:
        * platform/efl/tables/mozilla/other/body_col-expected.txt:
        * platform/efl/tables/mozilla/other/cellspacing-expected.txt:
        * platform/efl/tables/mozilla/other/move_row-expected.txt:
        * platform/efl/tables/mozilla/other/padding-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug101759-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug104898-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug106336-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug11945-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug14159-2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug178855-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug24880-1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug25707-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug3166-11-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug3166-12-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug3166-13-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug3166-14-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug3166-16-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug3166-17-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug3166-18-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug32205-1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug4294-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug46268-4-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug51000-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug7113-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug73629-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/backgrounds-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/conflicts-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_frame_above-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_frame_below-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_frame_hsides-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_frame_void-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_frame_vsides-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_rules_rows-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_caption_align_left-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_caption_align_right-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_colgroup_width_px-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_frame_above-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_frame_below-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_frame_border-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_frame_box-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_frame_hsides-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_frame_lhs-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_frame_rhs-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_frame_vsides-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_rules_all-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_rules_cols-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/x_table_rules_rows-expected.txt:

2016-02-14  Antti Koivisto  <antti@apple.com>

        Add test for class change style invalidation optimization
        https://bugs.webkit.org/show_bug.cgi?id=154226

        Reviewed by Myles Maxfield.

        Test for https://trac.webkit.org/r196383

        * fast/css/style-invalidation-class-change-descendants-expected.txt: Added.
        * fast/css/style-invalidation-class-change-descendants.html: Added.

2016-02-15  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed. EFL gardening. Mark more video tests to failure.

        * platform/efl/TestExpectations: Added more crash tests and moved the tests to upper position.

2016-02-14  Simon Fraser  <simon.fraser@apple.com>

        [CSS Filters] When applying an SVG filter on a composited image using CSS the image is rendered without the filter
        https://bugs.webkit.org/show_bug.cgi?id=154108

        Reviewed by Sam Weinig.

        * compositing/filters/simple-image-with-svg-filter-expected.html: Added.
        * compositing/filters/simple-image-with-svg-filter.html: Added.

2016-02-14  Chris Dumez  <cdumez@apple.com>

        Window and WorkerGlobalScope should inherit EventTarget
        https://bugs.webkit.org/show_bug.cgi?id=154170
        <rdar://problem/24642377>

        Reviewed by Darin Adler.

        * fast/frames/detached-frame-eventListener-expected.txt: Added.
        * fast/frames/detached-frame-eventListener.html: Added.
        Add test case to cover the use of the EventListener API on a detached
        frame.

        * fast/loader/window-clearing-expected.txt:
        Rebaseline now that window has one more object in its prototype chain.

        * http/tests/security/cross-frame-access-call-expected.txt:
        * http/tests/security/cross-frame-access-call.html:
        Add test coverage for cross-origin access to window.dispatchEvent() which
        should not be allowed, in addition to window.addEventListener() and
        window.removeEventListener() which were already tested.

2016-02-12  Nan Wang  <n_wang@apple.com>

        AX: Implement paragraph related text marker functions using TextIterator
        https://bugs.webkit.org/show_bug.cgi?id=154098
        <rdar://problem/24269675>

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-paragraph-nav-expected.txt: Added.
        * accessibility/mac/text-marker-paragraph-nav.html: Added.
        * accessibility/text-marker/text-marker-previous-next-expected.txt:
        * accessibility/text-marker/text-marker-previous-next.html:

2016-02-12  Saam barati  <sbarati@apple.com>

        [ES6] we have an incorrect syntax error when a callee of a function expression has the same name as a top-level lexical declaration
        https://bugs.webkit.org/show_bug.cgi?id=154143

        Reviewed by Benjamin Poulain.

        * js/basic-strict-mode-expected.txt:
        * js/let-syntax-expected.txt:
        * js/script-tests/let-syntax.js:

2016-02-12  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, build fix after r196520

        * inspector/model/remote-object-get-properties-expected.txt:
        * platform/mac/inspector/model/remote-object-expected.txt:

2016-02-12  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196520

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-12  Daniel Bates  <dabates@apple.com>

        CSP: 'blob:' URLs should not match 'self' in CSP source expression lists.
        https://bugs.webkit.org/show_bug.cgi?id=153158
        <rdar://problem/24383264>

        Reviewed by Brent Fulgham.

        Add test http/tests/security/contentSecurityPolicy/blob-url-matches-source-blob.html to ensure that a
        blob URL matches source "blob:".

        Replaced text-only test http/tests/security/contentSecurityPolicy/blob-urls-match-self.html with an
        analogous reference test http/tests/security/contentSecurityPolicy/blob-url-does-not-match-source-self.html
        so as ensure that we do not regress the behavior that source 'self' should not match a blob URL
        without considering the Content Security Policy violation message as part of the expected result.
        The Content Security Policy violation message will differ between test runs because it references
        the blob URL that triggered the violation, which is cryptographically random.

        * TestExpectations: Remove entry for test http/tests/security/contentSecurityPolicy/blob-urls-match-self.html as the analogous test
        blob-url-does-not-match-source-self.htm now passes.
        * http/tests/security/contentSecurityPolicy/blob-url-does-not-match-source-self-expected.html: Added.
        * http/tests/security/contentSecurityPolicy/blob-url-does-not-match-source-self.html: Added.
        * http/tests/security/contentSecurityPolicy/blob-url-matches-source-blob-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/blob-url-matches-source-blob.html: Added.
        * http/tests/security/contentSecurityPolicy/blob-urls-match-self-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/blob-urls-match-self.html: Removed. See the analogous test blob-url-does-not-match-source-self.html.

2016-02-12  Daniel Bates  <dabates@apple.com>

        CSP: Implement child-src directive
        https://bugs.webkit.org/show_bug.cgi?id=153562
        <rdar://problem/24610087>

        Reviewed by Brent Fulgham.

        Add new tests, un-skip now passing tests and update incorrect expected result for test http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked.html. 

        * TestExpectations: Remove entry for test http/tests/security/contentSecurityPolicy/worker-script-src.html as it now passes.
        Mark all tests in http/tests/security/contentSecurityPolicy/1.1/child-src as PASS so that we run them except for tests
        frame-fires-load-event-when-blocked.html and frame-fires-load-event-when-redirect-blocked.html (formerly named frame-blocked.html
        and frame-redirect-blocked.html, respectively) as they depend on the fix for <https://bugs.webkit.org/show_bug.cgi?id=153150>.
        Skip all other CSP 1.1 tests until we fix <https://bugs.webkit.org/show_bug.cgi?id=85558>. Group some CSP 1.1 entries together.
        * fast/workers/worker-inherits-csp-blocks-eval-expected.txt: Update expected result based on change to worker-inherits-csp-blocks-eval.html.
        * fast/workers/worker-inherits-csp-blocks-eval.html: Remove source 'self' from script-src directive. This was needed as
        a workaround for <https://bugs.webkit.org/show_bug.cgi?id=153158> when the script URL for a worker was checked against the
        script-src directive. Now that the script URL is checked against the child-src directive we do not need this workaround.
        * fast/workers/worker-inherits-csp-blocks-xhr.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-about-blank-allowed.html: Use js-test-{pre, post}.js as opposed to
        js-test.js to avoid duplicate "TEST COMPLETE" output.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-allowed.html: Ditto.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt: Update expected result based on changes to frame-blocked.html.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked.html: Update test to work without the fix for <https://bugs.webkit.org/show_bug.cgi?id=153150>.

        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-fires-load-event-when-blocked-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-fires-load-event-when-blocked.html: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked.html.
        Keep a copy of the original test for when we fix <https://bugs.webkit.org/show_bug.cgi?id=153150>.

        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-fires-load-event-when-redirect-blocked-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked-expected.txt.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-fires-load-event-when-redirect-blocked.html: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked.html.
        Keep a copy of the original test for when we fix <https://bugs.webkit.org/show_bug.cgi?id=153150>.

        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked-expected.txt: Update expected result based on changes to frame-redirect-blocked.html.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked.html: Update test to work without the fix for <https://bugs.webkit.org/show_bug.cgi?id=153150>.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-src-takes-precedence-over-child-src-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-src-takes-precedence-over-child-src.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-allowed.html: Use js-test-{pre, post}.js as opposed to
        js-test.js to avoid duplicate "TEST COMPLETE" output.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked-expected.txt: Update incorrect expected result to
        reflect WebKit error message. The current result reflects the error message used by Blink.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked.html: Use js-test-{pre, post}.js as opposed to
        js-test.js to avoid duplicate "TEST COMPLETE" output.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-allowed-expected.txt: Removed; WebKit does not support shared Web Workers.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-allowed.html: Removed; WebKit does not support shared Web Workers.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-blocked-expected.txt: Removed; WebKit does not support shared Web Workers.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-blocked.html: Removed; WebKit does not support shared Web Workers.
        * http/tests/security/contentSecurityPolicy/resources/child-src-test.js: Remove logic for testing shared Web Workers as WebKit does not support such workers.
        (window.onload): Deleted.
        (injectSharedWorker): Deleted.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval-expected.txt: Update expected result based on change to worker-blob-inherits-csp-blocks-eval.html.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html: Remove source 'self' from script-src directive.
        This was needed as a workaround for <https://bugs.webkit.org/show_bug.cgi?id=153158> when the script URL for a worker was checked
        against the script-src directive. Now that the script URL is checked against the child-src directive we do not need this workaround.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports-expected.txt: Update
        expected result based on change to worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports.html.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports.html:
        Remove source 'self' from script-src directive. This was needed as a workaround for <https://bugs.webkit.org/show_bug.cgi?id=153158> when
        the script URL for a worker was checked against the script-src directive. Now that the script URL is checked against the child-src directive
        we do not need this workaround.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked.html: Ditto.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker.html: Add child-src 'none' and remove FIXME comment.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect.html: Added.
        * platform/ios-simulator/TestExpectations: Remove skip entry for tests in http/tests/security/contentSecurityPolicy/1.1 from this file.
        Instead we will skip these tests from LayoutTests/TestExpectations since they fail for all ports.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.
        * platform/wk2/TestExpectations: Ditto.

2016-02-11  Ryan Haddad  <ryanhaddad@apple.com>

        Re-enable skipped animations tests on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152131

        Unreviewed test gardening.

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

2016-02-12  Jiewen Tan  <jiewen_tan@apple.com>

        WebKit should expose the DOM 4 Event.isTrusted property
        https://bugs.webkit.org/show_bug.cgi?id=76121
        <rdar://problem/22558494>

        Reviewed by Darin Adler.

        * fast/dom/unforgeable-attributes-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
        * http/tests/workers/worker-importScriptsOnError-expected.txt:
        * imported/blink/fast/events/event-trusted-expected.txt: Added.
        * imported/blink/fast/events/event-trusted.html: Added.
        * platform/ios-simulator/TestExpectations:

2016-02-12  Brady Eidson  <beidson@apple.com>

        Modern IDB: Simplify the relationship between IDBObjectStore and IDBIndex.
        https://bugs.webkit.org/show_bug.cgi?id=154187

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/deleteindex-3-expected.txt: Added.
        * storage/indexeddb/modern/deleteindex-3-private-expected.txt: Added.
        * storage/indexeddb/modern/deleteindex-3-private.html: Added.
        * storage/indexeddb/modern/deleteindex-3.html: Added.
        * storage/indexeddb/modern/resources/deleteindex-3.js: Added.

2016-02-12  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Implement @@search
        https://bugs.webkit.org/show_bug.cgi?id=143889

        Reviewed by Darin Adler.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/dom/string-prototype-properties-expected.txt:
        * js/regress/script-tests/v8-regexp-search.js: Added.
        (runRegExpBenchmark.runBlock0):
        (runRegExpBenchmark.runBlock1):
        (runRegExpBenchmark):
        (runRegExpBenchmark.runBlock3):
        (runRegExpBenchmark.runBlock4):
        * js/regress/v8-regexp-search-expected.txt: Added.
        * js/regress/v8-regexp-search.html: Added.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:

2016-02-12  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196466

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-11  Chris Dumez  <cdumez@apple.com>

        [Web IDL] interfaces should inherit EventTarget instead of duplicating the EventTarget API
        https://bugs.webkit.org/show_bug.cgi?id=154121
        <rdar://problem/24613234>

        Reviewed by Gavin Barraclough.

        Rebaseline a couple of layout tests now that interfaces inherit EventTarget
        instead of duplicating the EventTarget API in their IDL.

        * fast/dom/Window/window-properties-performance-expected.txt:
        * fast/dom/prototype-chain-expected.txt:

2016-02-11  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make focusring painting subpixel aware.
        https://bugs.webkit.org/show_bug.cgi?id=154111

        Reviewed by David Hyatt.

        Do not integral snap focusring rects while collecting them (use device pixel snapping instead
        right before passing them to GraphicsContext::drawFocusRing).

        * platform/mac/accessibility/image-link-expected.txt:
        * platform/mac/accessibility/mac/aria-columnrowheaders-expected.txt: Copied from LayoutTests/platform/mac/accessibility/table-cells-expected.txt.
        * platform/mac/accessibility/mac/document-links-expected.txt: Added.
        * platform/mac/accessibility/table-attributes-expected.txt:
        * platform/mac/accessibility/table-cells-expected.txt:
        * platform/mac/accessibility/table-sections-expected.txt:
        * platform/mac/accessibility/table-with-rules-expected.txt:

2016-02-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>

        [INTL] Implement Intl.NumberFormat.prototype.resolvedOptions ()
        https://bugs.webkit.org/show_bug.cgi?id=147602

        Reviewed by Darin Adler.

        * js/intl-numberformat-expected.txt:
        * js/script-tests/intl-numberformat.js:
        (testNumberFormat):

2016-02-11  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196423

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-11  Chris Dumez  <cdumez@apple.com>

        Move 'length' property to the prototype
        https://bugs.webkit.org/show_bug.cgi?id=154051
        <rdar://problem/24577385>

        Reviewed by Darin Adler.

        Rebaseline a couple of existing layout tests now that 'length' is
        on the prototype.

        * fast/dom/htmlcollection-getownpropertynames-expected.txt:
        * storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:

2016-02-11  Frederic Wang  <fred.wang@free.fr>

        Use Testharness.js for the MathML script tests
        https://bugs.webkit.org/show_bug.cgi?id=154065

        Reviewed by Darin Adler.

        * mathml/opentype/large-operators-munderover-expected.txt:
        * mathml/opentype/large-operators-munderover.html:
        * mathml/presentation/inferred-mrow-baseline-expected.txt:
        * mathml/presentation/inferred-mrow-baseline.html:
        * mathml/presentation/inferred-mrow-stretchy-expected.txt:
        * mathml/presentation/inferred-mrow-stretchy.html:
        * mathml/presentation/stretchy-depth-height-expected.txt:
        * mathml/presentation/stretchy-depth-height-symmetric-expected.txt:
        * mathml/presentation/stretchy-depth-height-symmetric.html:
        * mathml/presentation/stretchy-depth-height.html:

2016-02-10  Ryan Haddad  <ryanhaddad@apple.com>

        Removing deleted tests from ios-simulator TestExpectations

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-10  Ryan Haddad  <ryanhaddad@apple.com>

        Adding an ios-simulator expectation for fast/dom/event-handler-attributes.html
        https://bugs.webkit.org/show_bug.cgi?id=153763

        Unreviewed test gardening.

        * platform/ios-simulator/fast/dom/event-handler-attributes-expected.txt: Added.

2016-02-10  Eric Carlson  <eric.carlson@apple.com>

        Update "manual" caption track logic
        https://bugs.webkit.org/show_bug.cgi?id=154084
        <rdar://problem/24530516>

        Reviewed by Dean Jackson.

        * media/track/track-manual-mode-expected.txt:
        * media/track/track-manual-mode.html:

2016-02-10  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after 196392

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-10  Chris Dumez  <cdumez@apple.com>

        [Web IDL] interface objects should be Function objects
        https://bugs.webkit.org/show_bug.cgi?id=154038
        <rdar://problem/24569358>

        Reviewed by Geoffrey Garen.

        Rebaseline / update existing layout tests now that interface objects
        are now Function objects. Also add a layout test to cover various
        aspects of interface objects.

        * css3/blending/background-blend-mode-property-parsing-expected.txt:
        * css3/blending/blend-mode-property-parsing-expected.txt:
        * css3/blending/script-tests/background-blend-mode-property-parsing.js:
        (shouldBeType):
        * css3/blending/script-tests/blend-mode-property-parsing.js:
        (shouldBeType):
        * css3/filters/backdrop/backdropfilter-property-parsing-expected.txt:
        * css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js:
        (shouldBeType):
        * css3/filters/filter-property-parsing-expected.txt:
        * css3/filters/script-tests/filter-property-parsing.js:
        (shouldBeType):
        * fast/css/image-set-parsing-expected.txt:
        * fast/css/script-tests/image-set-parsing.js:
        (shouldBeType):
        * fast/dom/DOMException/XPathException-expected.txt:
        * fast/dom/DOMException/prototype-object-expected.txt:
        * fast/dom/DOMException/prototype-object.html:
        * fast/dom/DOMException/resources/XPathException.js:
        * fast/dom/MutationObserver/mutation-record-constructor-expected.txt:
        * fast/dom/MutationObserver/mutation-record-constructor.html:
        * fast/dom/Window/element-constructors-on-window-expected.txt:
        * fast/dom/call-a-constructor-as-a-function-expected.txt:
        * fast/dom/constructor-proto-expected.txt:
        * fast/dom/constructor-proto.html:
        * fast/dom/wrapper-classes-expected.txt:
        * fast/dom/wrapper-classes.html:
        * fast/mediastream/MediaStreamConstructor-expected.txt:
        * fast/mediastream/MediaStreamConstructor.html:
        * fast/workers/constructor-proto-expected.txt:
        * fast/workers/worker-location-expected.txt:
        * http/tests/xmlhttprequest/XMLHttpRequestException-expected.txt:
        * http/tests/xmlhttprequest/XMLHttpRequestException.html:
        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * js/dom/script-tests/global-constructors-attributes-idb.js:
        (constructorPropertiesOnGlobalObject):
        * js/dom/script-tests/global-constructors-attributes.js:
        (constructorPropertiesOnGlobalObject):
        * js/interface-objects-expected.txt: Added.
        * js/interface-objects.html: Added.
        * media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
        * media/encrypted-media/encrypted-media-v2-syntax.html:
        * media/track/track-vttcue-expected.txt:
        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * svg/custom/SVGException-expected.txt:
        * svg/custom/global-constructors-expected.txt:
        * svg/custom/script-tests/SVGException.js:
        * svg/custom/script-tests/global-constructors.js:
        (shouldBeDefined):
        * transforms/2d/transform-value-types-expected.txt:
        * transforms/2d/transform-value-types.html:

2016-02-10  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/css-generated-content/details-summary-before-after.html as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153029

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-10  Ryan Haddad  <ryanhaddad@apple.com>

        Reaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196374

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-10  Chris Dumez  <cdumez@apple.com>

        Attributes on the Window instance should be configurable unless [Unforgeable]
        https://bugs.webkit.org/show_bug.cgi?id=153920
        <rdar://problem/24563211>

        Reviewed by Darin Adler.

        * fast/dom/Window/window-properties-configurable-expected.txt: Added.
        * fast/dom/Window/window-properties-configurable.html: Added.
        Add a test to check that Window properties are reported as configurable
        unless the [Unforgeable] ones and that deleting them actually works.

        * fast/dom/global-constructors.html:
        Update test so it no longer expects window.Node to be shadowable. As per
        the specification, the "Node" property is on the window instance, not its
        prototype. Therefore, it should cannot be shadowed and setting it to
        something actually overwites the previous value, given that the property
        is writable as per:
        - http://heycam.github.io/webidl/#es-interfaces
        I have verified that the new behavior is consistent with Firefox.

        * http/tests/security/cross-origin-reified-window-property-access-expected.txt: Added.
        * http/tests/security/cross-origin-reified-window-property-access.html: Added.
        * http/tests/security/resources/reify-window.html: Added.
        Add a test case to cover cross-origin access of Window properties after
        reification.

        * js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt:
        * js/getOwnPropertyDescriptor-unforgeable-attributes.html:
        Drop window.self from the list of unforgeable attributes. This attribute
        is not unforgeable in our implementation or in the specification:
        - https://html.spec.whatwg.org/multipage/browsers.html#the-window-object

        * js/getOwnPropertyDescriptor-window-attributes-expected.txt:
        * js/getOwnPropertyDescriptor-window-attributes.html:
        - Add coverage for window.self which is a regular Window property.
        - Add coverage for window.Node which is a constructor property
        - Add coverage for window.constructor. It should really be on the prototype
          as per the specification but this at least checks that the property is
          configurable, as per the specification.
        - Rebaseline the test as more checks are passing now that Window properties
          are marked as configurable.

2016-02-10  Ryan Haddad  <ryanhaddad@apple.com>

        Skop fast/regions/text-break-properties.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153762

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-09  Nan Wang  <n_wang@apple.com>

        AX: Implement word related text marker functions using TextIterator
        https://bugs.webkit.org/show_bug.cgi?id=153939
        <rdar://problem/24269605>

        Reviewed by Chris Fleizach.

        * accessibility/mac/text-marker-word-nav-expected.txt: Added.
        * accessibility/mac/text-marker-word-nav.html: Added.
        * accessibility/text-marker/text-marker-previous-next-expected.txt:
        * accessibility/text-marker/text-marker-previous-next.html:

2016-02-09  Ryan Haddad  <ryanhaddad@apple.com>

        Mark perf/adding-radio-buttons.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=154055

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-09  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for ios-simulator after r196222
        https://bugs.webkit.org/show_bug.cgi?id=154053

        Reviewed by Zalan Bujtas.

        * platform/ios-simulator-wk2/compositing/geometry/composited-in-columns-expected.txt:
        * platform/ios-simulator-wk2/compositing/layer-creation/overlap-animation-container-expected.txt: Added.
        * platform/ios-simulator-wk2/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
        * platform/ios-simulator-wk2/fast/inline/continuation-outlines-with-layers-expected.txt: Added.
        * platform/ios-simulator-wk2/fast/layers/scroll-rect-to-visible-expected.txt:

2016-02-09  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline compositing/overflow/scrollbar-painting.html for ios-simulator after r196244

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/compositing/overflow/scrollbar-painting-expected.txt:

2016-02-09  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196303

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-09  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline more tests for ios-simulator after r196244

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/compositing/overflow/overflow-scroll-expected.txt:
        * platform/ios-simulator-wk2/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt:
        * platform/ios-simulator-wk2/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt:
        * platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt:
        * platform/ios-simulator-wk2/fast/clip/014-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
        * platform/ios-simulator-wk2/fast/overflow/float-in-relpositioned-expected.txt:
        * platform/ios-simulator-wk2/fast/overflow/overflow-auto-position-absolute-expected.txt:
        * platform/ios-simulator-wk2/fast/overflow/paged-x-div-expected.txt:
        * platform/ios-simulator-wk2/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/ios-simulator-wk2/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:

2016-02-09  Zalan Bujtas  <zalan@apple.com>

        Outline corners do not align properly for multiline inlines.
        https://bugs.webkit.org/show_bug.cgi?id=154025

        Reviewed by David Hyatt.

        Adjust border position when outline-offset > 0. This patch also
        removes integral pixelsnapping (drawLineForBoxSide takes care of
        device pixelsnapping). 

        * fast/inline/outline-corners-with-offset-expected.html: Added.
        * fast/inline/outline-corners-with-offset.html: Added.

2016-02-09  Zalan Bujtas  <zalan@apple.com>

        [Win] Rebaseline after r196244.

        Unreviewed test gardening.

        * platform/win/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/win/fast/block/float/overhanging-tall-block-expected.txt:
        * platform/win/fast/block/positioning/auto/vertical-rl/007-expected.txt:
        * platform/win/fast/borders/border-antialiasing-expected.txt:
        * platform/win/fast/clip/001-expected.txt:
        * platform/win/fast/clip/013-expected.txt:
        * platform/win/fast/clip/014-expected.txt:
        * platform/win/fast/clip/outline-overflowClip-expected.txt:
        * platform/win/fast/css/clip-zooming-expected.txt:
        * platform/win/fast/frames/flattening/iframe-flattening-offscreen-expected.txt: Added.
        * platform/win/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt:
        * platform/win/fast/line-grid/line-grid-inside-columns-expected.txt:
        * platform/win/fast/line-grid/line-grid-into-columns-expected.txt:
        * platform/win/fast/lists/scrolled-marker-paint-expected.txt:
        * platform/win/fast/multicol/client-rects-expected.txt:
        * platform/win/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/win/fast/multicol/column-rules-expected.txt:
        * platform/win/fast/multicol/column-rules-stacking-expected.txt:
        * platform/win/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/win/fast/multicol/float-paginate-complex-expected.txt:
        * platform/win/fast/multicol/float-paginate-empty-lines-expected.txt:
        * platform/win/fast/multicol/float-paginate-expected.txt:
        * platform/win/fast/multicol/layers-in-multicol-expected.txt:
        * platform/win/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/win/fast/multicol/max-height-columns-block-expected.txt:
        * platform/win/fast/multicol/nested-columns-expected.txt:
        * platform/win/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/win/fast/multicol/overflow-across-columns-expected.txt:
        * platform/win/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/win/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/win/fast/multicol/paginate-block-replaced-expected.txt:
        * platform/win/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/win/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/win/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/win/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/win/fast/multicol/pagination/LeftToRight-bt-expected.txt:
        * platform/win/fast/multicol/pagination/LeftToRight-rl-expected.txt:
        * platform/win/fast/multicol/pagination/LeftToRight-tb-expected.txt:
        * platform/win/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt:
        * platform/win/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/win/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/win/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt:
        * platform/win/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/win/fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt:
        * platform/win/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/win/fast/multicol/pagination/TopToBottom-bt-expected.txt:
        * platform/win/fast/multicol/pagination/TopToBottom-lr-expected.txt:
        * platform/win/fast/multicol/pagination/TopToBottom-rl-expected.txt:
        * platform/win/fast/multicol/positive-leading-expected.txt:
        * platform/win/fast/multicol/scrolling-column-rules-expected.txt:
        * platform/win/fast/multicol/scrolling-overflow-expected.txt:
        * platform/win/fast/multicol/span/anonymous-style-inheritance-expected.txt:
        * platform/win/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/win/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
        * platform/win/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
        * platform/win/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
        * platform/win/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/win/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
        * platform/win/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/win/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/win/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/win/fast/multicol/table-vertical-align-expected.txt:
        * platform/win/fast/multicol/tall-image-behavior-expected.txt:
        * platform/win/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/win/fast/multicol/vertical-lr/column-rules-expected.txt:
        * platform/win/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/win/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/win/fast/multicol/vertical-lr/float-paginate-expected.txt:
        * platform/win/fast/multicol/vertical-lr/nested-columns-expected.txt:
        * platform/win/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/win/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/win/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/win/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
        * platform/win/fast/multicol/vertical-rl/float-paginate-expected.txt:
        * platform/win/fast/multicol/vertical-rl/nested-columns-expected.txt:
        * platform/win/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
        * platform/win/fast/overflow/float-in-relpositioned-expected.txt:
        * platform/win/fast/overflow/overflow-auto-position-absolute-expected.txt:
        * platform/win/fast/overflow/overflow-rtl-expected.txt:
        * platform/win/fast/overflow/paged-x-div-expected.txt:
        * platform/win/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/win/fast/overflow/paged-x-on-root-expected.txt:
        * platform/win/fast/overflow/paged-x-with-column-gap-expected.txt:
        * platform/win/fast/overflow/paged-y-div-expected.txt:
        * platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
        * platform/win/fast/repaint/box-shadow-h-expected.txt:
        * platform/win/fast/repaint/box-shadow-v-expected.txt:
        * platform/win/fast/repaint/layer-outline-expected.txt:
        * platform/win/fast/repaint/layer-outline-horizontal-expected.txt:
        * platform/win/fast/table/edge-offsets-expected.txt:
        * platform/win/fast/transforms/overflow-with-transform-expected.txt:
        * platform/win/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
        * platform/win/scrollbars/scrollbars-on-positioned-content-expected.txt:
        * platform/win/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.txt:
        * platform/win/svg/custom/image-rescale-clip-expected.txt:

2016-02-09  Zalan Bujtas  <zalan@apple.com>

        [iOS] Rebaseline after r196244.

        Unreviewed test gardening.

        * platform/ios-simulator/compositing/geometry/clipping-foreground-expected.txt:
        * platform/ios-simulator/compositing/geometry/root-layer-update-expected.txt:
        * platform/ios-simulator/compositing/overflow/overflow-scroll-expected.txt:
        * platform/ios-simulator/compositing/overflow/parent-overflow-expected.txt:
        * platform/ios-simulator/compositing/overflow/scrollbar-painting-expected.txt:
        * platform/ios-simulator/compositing/sibling-positioning-expected.txt:
        * platform/ios-simulator/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Added.
        * platform/ios-simulator/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Added.
        * platform/ios-simulator/css3/blending/blend-mode-overflow-expected.txt:
        * platform/ios-simulator/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/ios-simulator/fast/block/float/overhanging-tall-block-expected.txt:
        * platform/ios-simulator/fast/borders/border-antialiasing-expected.txt:
        * platform/ios-simulator/fast/clip/001-expected.txt:
        * platform/ios-simulator/fast/clip/013-expected.txt:
        * platform/ios-simulator/fast/clip/014-expected.txt:
        * platform/ios-simulator/fast/clip/016-expected.txt:
        * platform/ios-simulator/fast/clip/outline-overflowClip-expected.txt:
        * platform/ios-simulator/fast/css/clip-zooming-expected.txt:
        * platform/ios-simulator/fast/frames/flattening/iframe-flattening-offscreen-expected.txt:
        * platform/ios-simulator/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt:
        * platform/ios-simulator/fast/line-grid/line-grid-inside-columns-expected.txt:
        * platform/ios-simulator/fast/line-grid/line-grid-into-columns-expected.txt:
        * platform/ios-simulator/fast/lists/scrolled-marker-paint-expected.txt:
        * platform/ios-simulator/fast/multicol/client-rects-expected.txt:
        * platform/ios-simulator/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/ios-simulator/fast/multicol/column-rules-expected.txt:
        * platform/ios-simulator/fast/multicol/column-rules-stacking-expected.txt:
        * platform/ios-simulator/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/ios-simulator/fast/multicol/float-paginate-complex-expected.txt:
        * platform/ios-simulator/fast/multicol/float-paginate-empty-lines-expected.txt:
        * platform/ios-simulator/fast/multicol/float-paginate-expected.txt:
        * platform/ios-simulator/fast/multicol/layers-in-multicol-expected.txt:
        * platform/ios-simulator/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/ios-simulator/fast/multicol/max-height-columns-block-expected.txt:
        * platform/ios-simulator/fast/multicol/nested-columns-expected.txt:
        * platform/ios-simulator/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/ios-simulator/fast/multicol/overflow-across-columns-expected.txt:
        * platform/ios-simulator/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/ios-simulator/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/ios-simulator/fast/multicol/paginate-block-replaced-expected.txt:
        * platform/ios-simulator/fast/multicol/pagination/BottomToTop-bt-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/TopToBottom-bt-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/BottomToTop-lr-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/TopToBottom-lr-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/BottomToTop-rl-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/TopToBottom-rl-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/BottomToTop-tb-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/TopToBottom-bt-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/LeftToRight-bt-expected.txt:
        * platform/ios-simulator/fast/multicol/pagination/LeftToRight-rl-expected.txt:
        * platform/ios-simulator/fast/multicol/pagination/LeftToRight-tb-expected.txt:
        * platform/ios-simulator/fast/multicol/pagination/RightToLeft-bt-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/LeftToRight-tb-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/RightToLeft-lr-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/LeftToRight-rl-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/LeftToRight-rl-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/RightToLeft-rl-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/LeftToRight-rl-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/RightToLeft-tb-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/pagination/LeftToRight-tb-expected.txt.
        * platform/ios-simulator/fast/multicol/pagination/TopToBottom-bt-expected.txt:
        * platform/ios-simulator/fast/multicol/pagination/TopToBottom-lr-expected.txt:
        * platform/ios-simulator/fast/multicol/pagination/TopToBottom-rl-expected.txt:
        * platform/ios-simulator/fast/multicol/positive-leading-expected.txt:
        * platform/ios-simulator/fast/multicol/scrolling-column-rules-expected.txt:
        * platform/ios-simulator/fast/multicol/scrolling-overflow-expected.txt:
        * platform/ios-simulator/fast/multicol/span/anonymous-style-inheritance-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/ios-simulator/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/ios-simulator/fast/multicol/table-vertical-align-expected.txt:
        * platform/ios-simulator/fast/multicol/tall-image-behavior-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-lr/column-rules-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-lr/float-paginate-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-lr/nested-columns-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt.
        * platform/ios-simulator/fast/multicol/vertical-rl/column-rules-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/vertical-lr/column-rules-expected.txt.
        * platform/ios-simulator/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-rl/float-paginate-complex-expected.txt: Copied from LayoutTests/platform/ios-simulator/fast/multicol/vertical-lr/float-paginate-complex-expected.txt.
        * platform/ios-simulator/fast/multicol/vertical-rl/float-paginate-expected.txt:
        * platform/ios-simulator/fast/multicol/vertical-rl/nested-columns-expected.txt:
        * platform/ios-simulator/fast/overflow/float-in-relpositioned-expected.txt:
        * platform/ios-simulator/fast/overflow/overflow-auto-position-absolute-expected.txt:
        * platform/ios-simulator/fast/overflow/overflow-rtl-expected.txt:
        * platform/ios-simulator/fast/overflow/paged-x-div-expected.txt:
        * platform/ios-simulator/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/ios-simulator/fast/overflow/paged-x-on-root-expected.txt:
        * platform/ios-simulator/fast/overflow/paged-x-with-column-gap-expected.txt:
        * platform/ios-simulator/fast/overflow/paged-y-div-expected.txt:
        * platform/ios-simulator/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
        * platform/ios-simulator/fast/regions/repaint/region-painting-via-layout-expected.txt:
        * platform/ios-simulator/fast/table/edge-offsets-expected.txt:
        * platform/ios-simulator/fast/transforms/overflow-with-transform-expected.txt:
        * platform/ios-simulator/svg/custom/image-rescale-clip-expected.txt:

2016-02-08  Chris Dumez  <cdumez@apple.com>

        Attribute getters should not require an explicit 'this' value for Window properties
        https://bugs.webkit.org/show_bug.cgi?id=153968

        Reviewed by Darin Adler.

        Rebaseline existing tests now that more checks are passing.

        * fast/dom/Window/getOwnPropertyDescriptor-other-window-expected.txt:
        * fast/dom/Window/getOwnPropertyDescriptor-other-window.html:
        * js/getOwnPropertyDescriptor-window-attributes-expected.txt:

2016-02-08  Nan Wang  <n_wang@apple.com>

        AX: crash at WebCore::Range::selectNodeContents(WebCore::Node*, int&)
        https://bugs.webkit.org/show_bug.cgi?id=154018

        Reviewed by Chris Fleizach.

        * accessibility/text-marker/text-marker-range-stale-node-crash-expected.txt: Added.
        * accessibility/text-marker/text-marker-range-stale-node-crash.html: Added.

2016-02-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Zooming in on the timeline graph does not increase its time resolution from minutes
        https://bugs.webkit.org/show_bug.cgi?id=154013
        <rdar://problem/23844527>

        Reviewed by Brian Burg.

        * inspector/unit-tests/number-utilities-expected.txt: Added.
        * inspector/unit-tests/number-utilities.html: Added.
        Basic tests for our Number utilities methods.

2016-02-08  Daniel Bates  <dabates@apple.com>

        CSP connect-src directive should block redirects
        https://bugs.webkit.org/show_bug.cgi?id=69359
        <rdar://problem/24383025>

        Reviewed by Brent Fulgham.

        Add more tests, update erroneous expected results, and remove some entries from TestExpectations for tests
        that now pass.

        * TestExpectations: Remove entries for tests that now pass. The failure of test http/tests/security/contentSecurityPolicy/worker-importscripts-blocked.html
        was erroneously attributed to <https://bugs.webkit.org/show_bug.cgi?id=153562>.
        * http/tests/security/contentSecurityPolicy/resources/determine-content-security-policy-header.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/script-set-value.js: Use global variable self instead of window so as to
        make this script work both from a Document and a Web Worker. In a document, self refers to the Window object and in a worker
        it refers to the WorkerGlobalScope object.
        * http/tests/security/contentSecurityPolicy/resources/worker-importScript-redirect-cross-origin-allowed.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/worker-importScript-redirect-cross-origin-blocked.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/worker-xhr-allowed.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/worker-xhr-redirect-cross-origin-allowed.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/worker-xhr-redirect-cross-origin-blocked.php: Added.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-expected.txt: Remove Blink-specific messages so that the test passes.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-importscripts-blocked-expected.txt: Substitute Blink-specific error text with the analogous WebKit error text.
        * http/tests/security/contentSecurityPolicy/worker-importscripts-blocked.html: Ditto.
        * http/tests/security/contentSecurityPolicy/worker-without-csp-importScripts-redirect-cross-origin-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-without-csp-importScripts-redirect-cross-origin-allowed.html: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr-redirect-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr-redirect.html: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-importScript-redirect-cross-origin-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-importScript-redirect-cross-origin.html: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-importScripts-redirect-cross-origin-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-importScript-redirect-cross-origin-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-importScripts-redirect-cross-origin-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-importScripts-redirect-cross-origin.html: Added.
        * http/tests/security/isolatedWorld/bypass-worker-csp-for-xhr-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-worker-csp-for-xhr-redirect-cross-origin-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-worker-csp-for-xhr-redirect-cross-origin.html: Added.
        * http/tests/security/isolatedWorld/bypass-worker-csp-for-xhr.html: Added.

2016-02-08  Yusuke Suzuki  <utatane.tea@gmail.com>

        {Map,Set}.prototype.forEach should be visible as own properties
        https://bugs.webkit.org/show_bug.cgi?id=153974

        Reviewed by Darin Adler.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-02-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: copy({x:1}) should copy "{x:1}", not "[object Object]"
        https://bugs.webkit.org/show_bug.cgi?id=148605

        Reviewed by Brian Burg.

        * inspector/console/command-line-api-copy-expected.txt: Added.
        * inspector/console/command-line-api-copy.html: Added.
        * http/tests/inspector/console/cross-domain-inspected-node-access-expected.txt:

2016-02-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/text/crash-complex-text-surrogate.html as flaky on mac-wk2
        https://bugs.webkit.org/show_bug.cgi?id=154005

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-02-08  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION(r181345): SVG polyline and polygon leak page
        https://bugs.webkit.org/show_bug.cgi?id=152759

        Reviewed by Darin Adler.

        * TestExpectations: Remove flaky tests from test expectation.
        
        * svg/animations/smil-leak-list-property-instances-expected.txt: Added.
        * svg/animations/smil-leak-list-property-instances.svg: Added.
        Ensure if SVGPolylineElement.points is requested from JS, the document will
        not leak.

2016-02-08  Brady Eidson  <beidson@apple.com>

        IndexedDB: No test covers cursor.delete() setting the source of the request to the cursor.
        https://bugs.webkit.org/show_bug.cgi?id=153992

        Reviewed by Jer Noble.

        * storage/indexeddb/cursor-delete-expected.txt:
        * storage/indexeddb/cursor-delete-private-expected.txt:
        * storage/indexeddb/resources/cursor-delete.js:

2016-02-08  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Using 'super' in arrow function that declared out of the class should lead to Syntax error
        https://bugs.webkit.org/show_bug.cgi?id=150893

        Reviewed by Saam Barati.
       
        Adding tests for using of the 'super' inside of the arrow function
 
        * js/arrowfunction-superproperty-expected.txt:
        * js/arrowfunction-syntax-errors-expected.txt:
        * js/script-tests/arrowfunction-superproperty.js:
        * js/script-tests/arrowfunction-syntax-errors.js:

2016-02-08  Adrien Plazas  <aplazas@igalia.com>

        Timeouts in tests because of non implemented UIScriptController::singleTapAtPoint()
        https://bugs.webkit.org/show_bug.cgi?id=153833

        Unreviewed.

        * platform/gtk/TestExpectations:

2016-02-07  Zalan Bujtas  <zalan@apple.com>

        Outline does not clip when ancestor has overflow: hidden and requires layer.
        https://bugs.webkit.org/show_bug.cgi?id=153901

        Now that outline is part of visual overflow, we no longer need the special outline cliprect.
        PaintPhaseChildOutlines drawing will switch to foreground cliprect. It ensures proper overflow clipping
        at parent level. PaintPhaseSelfOutline drawing will start using the visual overflow inflated background cliprect.
        With this change, outline will be using the same cliprects as the other visual overflow properties (box-shadow etc). 

        Reviewed by David Hyatt.

        * compositing/geometry/limit-layer-bounds-overflow-repaint-expected.txt:
        * compositing/masks/mask-of-clipped-layer-expected.txt:
        * css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt:
        * css2.1/20110323/abspos-replaced-width-margin-000-expected.txt:
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer2-expected.txt:
        * css3/blending/blend-mode-isolation-turn-on-self-painting-layer-expected.txt:
        * fast/block/positioning/negative-rel-position-expected.txt:
        * fast/dynamic/staticY-expected.txt:
        * fast/inline/absolute-positioned-block-in-centred-block-expected.txt:
        * fast/multicol/flipped-blocks-border-after-expected.txt:
        * fast/multicol/pagination-h-horizontal-bt-expected.txt:
        * fast/multicol/pagination-h-horizontal-tb-expected.txt:
        * fast/multicol/pagination-h-vertical-rl-expected.txt:
        * fast/multicol/pagination-v-horizontal-bt-expected.txt:
        * fast/multicol/pagination-v-vertical-lr-expected.txt:
        * fast/multicol/pagination-v-vertical-rl-expected.txt:
        * fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt:
        * fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt:
        * fast/multicol/progression-reverse-expected.txt:
        * fast/multicol/vertical-rl/rules-with-border-before-expected.txt:
        * fast/overflow/overflow-update-transform-expected.txt:
        * fast/overflow/position-relative-expected.txt:
        * fast/repaint/focus-ring-expected.txt:
        * fast/repaint/focus-ring-repaint.html:
        * fast/repaint/outline-with-overflow-hidden-ancestor-expected.html: Added.
        * fast/repaint/outline-with-overflow-hidden-ancestor.html: Added.
        * fast/table/overflow-table-collapsed-borders-cell-painting-expected.txt:
        * fast/table/overflow-table-collapsed-borders-cell-painting-table-self-painting-layer-expected.txt:
        * fast/table/overflow-table-collapsed-borders-section-layer-painting-expected.txt:
        * fast/table/overflow-table-collapsed-borders-section-layer-table-self-painting-layer-expected.txt:
        * fast/table/overflow-table-collapsed-borders-section-self-painting-layer-painting-expected.txt:
        * fast/table/overflow-table-collapsed-borders-section-self-painting-layer-table-self-painting-layer-expected.txt:
        * platform/mac/compositing/geometry/clipping-foreground-expected.txt:
        * platform/mac/compositing/geometry/root-layer-update-expected.txt:
        * platform/mac/compositing/overflow/ancestor-overflow-expected.txt:
        * platform/mac/compositing/overflow/nested-scrolling-expected.txt:
        * platform/mac/compositing/overflow/overflow-scroll-expected.txt:
        * platform/mac/compositing/overflow/parent-overflow-expected.txt:
        * platform/mac/compositing/overflow/scrollbar-painting-expected.txt:
        * platform/mac/compositing/reflections/nested-reflection-on-overflow-expected.txt:
        * platform/mac/compositing/sibling-positioning-expected.txt:
        * platform/mac/css3/blending/blend-mode-overflow-expected.txt:
        * platform/mac/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
        * platform/mac/fast/block/positioning/auto/vertical-rl/007-expected.txt:
        * platform/mac/fast/block/positioning/vertical-rl/fixed-positioning-expected.txt:
        * platform/mac/fast/borders/border-antialiasing-expected.txt:
        * platform/mac/fast/clip/001-expected.txt:
        * platform/mac/fast/clip/013-expected.txt:
        * platform/mac/fast/clip/014-expected.txt:
        * platform/mac/fast/clip/016-expected.txt:
        * platform/mac/fast/clip/outline-overflowClip-expected.txt:
        * platform/mac/fast/css/clip-zooming-expected.txt:
        * platform/mac/fast/forms/validation-message-appearance-expected.txt:
        * platform/mac/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt:
        * platform/mac/fast/line-grid/line-grid-inside-columns-expected.txt:
        * platform/mac/fast/line-grid/line-grid-into-columns-expected.txt:
        * platform/mac/fast/lists/scrolled-marker-paint-expected.txt:
        * platform/mac/fast/multicol/client-rects-expected.txt:
        * platform/mac/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/column-rules-expected.txt:
        * platform/mac/fast/multicol/column-rules-stacking-expected.txt:
        * platform/mac/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/mac/fast/multicol/float-paginate-complex-expected.txt:
        * platform/mac/fast/multicol/float-paginate-empty-lines-expected.txt:
        * platform/mac/fast/multicol/float-paginate-expected.txt:
        * platform/mac/fast/multicol/layers-in-multicol-expected.txt:
        * platform/mac/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/mac/fast/multicol/max-height-columns-block-expected.txt:
        * platform/mac/fast/multicol/nested-columns-expected.txt:
        * platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/mac/fast/multicol/overflow-across-columns-expected.txt:
        * platform/mac/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/mac/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/mac/fast/multicol/paginate-block-replaced-expected.txt:
        * platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.txt:
        * platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.txt:
        * platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.txt:
        * platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.txt:
        * platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.txt:
        * platform/mac/fast/multicol/positive-leading-expected.txt:
        * platform/mac/fast/multicol/scrolling-column-rules-expected.txt:
        * platform/mac/fast/multicol/scrolling-overflow-expected.txt:
        * platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/mac/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/mac/fast/multicol/table-vertical-align-expected.txt:
        * platform/mac/fast/multicol/tall-image-behavior-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/column-rules-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-paginate-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/nested-columns-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-paginate-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/nested-columns-expected.txt:
        * platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
        * platform/mac/fast/overflow/float-in-relpositioned-expected.txt:
        * platform/mac/fast/overflow/overflow-auto-position-absolute-expected.txt:
        * platform/mac/fast/overflow/overflow-rtl-expected.txt:
        * platform/mac/fast/overflow/paged-x-div-expected.txt:
        * platform/mac/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/mac/fast/overflow/paged-x-on-root-expected.txt:
        * platform/mac/fast/overflow/paged-x-with-column-gap-expected.txt:
        * platform/mac/fast/overflow/paged-y-div-expected.txt:
        * platform/mac/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
        * platform/mac/fast/regions/repaint/region-painting-via-layout-expected.txt:
        * platform/mac/fast/repaint/box-shadow-h-expected.txt:
        * platform/mac/fast/repaint/box-shadow-v-expected.txt:
        * platform/mac/fast/repaint/layer-outline-expected.txt:
        * platform/mac/fast/repaint/layer-outline-horizontal-expected.txt:
        * platform/mac/fast/table/edge-offsets-expected.txt:
        * platform/mac/fast/transforms/overflow-with-transform-expected.txt:
        * platform/mac/fast/transforms/rotated-transform-affects-scrolling-1-expected.txt:
        * platform/mac/fast/transforms/rotated-transform-affects-scrolling-2-expected.txt:
        * platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
        * platform/mac/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
        * platform/mac/scrollbars/scrollbars-on-positioned-content-expected.txt:
        * platform/mac/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.txt:
        * platform/mac/svg/custom/image-rescale-clip-expected.txt:
        * svg/overflow/overflow-on-foreignObject-expected.txt:

2016-02-07  Saam barati  <sbarati@apple.com>

        [ES6] bound functions .name property should be "bound " + the target function's name
        https://bugs.webkit.org/show_bug.cgi?id=153796

        Reviewed by Darin Adler.

        * js/bound-function-name-expected.txt: Added.
        * js/bound-function-name.html: Added.
        * js/script-tests/bound-function-name.js: Added.
        (assert):
        (assert.foo):
        (bar):

2016-02-07  Daniel Bates  <dabates@apple.com>

        CSP: Allow Web Workers initiated from an isolated world to bypass the main world Content Security Policy
        https://bugs.webkit.org/show_bug.cgi?id=153622
        <rdar://problem/24400023>

        Reviewed by Gavin Barraclough and Andy Estes.

        Add tests to ensure that a Web Worker initiated from an isolated world can bypass the main world
        Content Security Policy.

        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-eval-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-eval.html: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-xhr-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-xhr.html: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-expected.txt: Added.
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker.html: Added.

2016-02-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r195661): [GTK] Scrollbar tests crashing after overlay scrollbar groundwork
        https://bugs.webkit.org/show_bug.cgi?id=153695

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations:

2016-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, update several layout tests for WK1 after r196227.

        * http/tests/security/cross-frame-access-enumeration-expected.txt:
        * http/tests/security/cross-frame-access-enumeration.html:
        * http/tests/security/cross-frame-access-get-expected.txt:
        * http/tests/security/cross-frame-access-get.html:
        * 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-get-override.html:
        * http/tests/security/cross-frame-access-history-get.html:

2016-02-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Rebaseline some tests and update expectations after r196222

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/clip/outline-overflowClip-expected.txt:
        * platform/gtk/fast/repaint/layer-outline-expected.txt:
        * platform/gtk/fast/repaint/layer-outline-horizontal-expected.txt:

2016-02-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] imported/blink/compositing/squashing/abspos-under-abspos-overflow-scroll.html is flaky

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-02-06  Chris Dumez  <cdumez@apple.com>

        Prevent cross-origin access to window.history
        https://bugs.webkit.org/show_bug.cgi?id=153931

        Reviewed by Darin Adler.

        Update / rebaseline several layout tests now that cross-origin access to
        window.history is prevented.

        * fast/frames/sandboxed-iframe-history-denied-expected.txt:
        * http/tests/history/cross-origin-replace-history-object-child-expected.txt:
        * http/tests/security/cross-frame-access-call-expected.txt:
        * http/tests/security/cross-frame-access-call.html:
        * http/tests/security/cross-frame-access-delete-expected.txt:
        * http/tests/security/cross-frame-access-delete.html:
        * http/tests/security/cross-frame-access-history-prototype-expected.txt:
        * http/tests/security/cross-frame-access-history-put.html: Removed.
        * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf.html:
        * http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-setPrototypeOf.html:
        * http/tests/security/resources/cross-frame-iframe-for-history-put-test.html: Removed.

2016-02-06  Zalan Bujtas  <zalan@apple.com>

        Outline should contribute to visual overflow.
        https://bugs.webkit.org/show_bug.cgi?id=153299

        This patch eliminates the special outline handling (RenderView::setMaximalOutlineSize).
        Now that outline is part of visual overflow, we don't have to inflate the layers to accomodate
        outline borders.
        This patch fixes several focusring related repaint issues. However when both the outline: auto
        and the descendant renderer are composited, we still don't paint properly in certain cases. -not a regression.
        (Also when parent renderer has overflow: hidden repaint does not take outline into account. -regression.)
        It changes column behavior (see TestExpectations) since outline behaves now like any other visual overflow properties.

        Reviewed by David Hyatt.

        * fast/repaint/focus-ring-repaint-expected.txt: Added.
        * fast/repaint/focus-ring-repaint.html: Added.
        * fast/repaint/focus-ring-repaint-expected-with-negative-offset.txt: Added.
        * fast/repaint/focus-ring-repaint-with-negative-offset.html: Added.
        * TestExpectations:
        * platform/mac/TestExpectations:
        * platform/mac/compositing/geometry/ancestor-overflow-change-expected.txt:
        * platform/mac/compositing/geometry/composited-in-columns-expected.txt:
        * platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
        * platform/mac/compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
        * platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
        * platform/mac/fast/clip/outline-overflowClip-expected.txt:
        * platform/mac/fast/inline/continuation-outlines-with-layers-expected.txt:
        * platform/mac/fast/repaint/4776765-expected.txt: Added.
        * platform/mac/fast/repaint/focus-ring-expected.txt: Added.
        * platform/mac/fast/repaint/layer-outline-expected.txt:
        * platform/mac/fast/repaint/layer-outline-horizontal-expected.txt:
        * platform/mac/svg/custom/focus-ring-expected.txt:

2016-02-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Various tests are flaky

        More unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-02-06  Chris Dumez  <cdumez@apple.com>

        Object.getOwnPropertyDescriptor() does not work on sub-frame's window
        https://bugs.webkit.org/show_bug.cgi?id=153925

        Reviewed by Darin Adler.

        * fast/dom/Window/getOwnPropertyDescriptor-other-window-expected.txt: Added.
        * fast/dom/Window/getOwnPropertyDescriptor-other-window.html: Added.
        Add test case to test calling Object.getOwnPropertyDescriptor() on a
        sub-frame's window.

        * http/tests/security/cross-origin-window-property-access-expected.txt:
        * http/tests/security/cross-origin-window-property-access.html:
        - Update test use use an iframe instead of opening a Window for convenience.
        - Use an actual cross-origin URL. The previous URL was same-origin and therefore
          the test would have failed if window.location was a proper getter/setter
          instead of a 'value' descriptor.
        - Add more tests to cover other Window properties (such as 'name') which are
          actual getter / setters to make sure using the current window's getter on
          a cross origin window does not bypass the security origin checks.

        * http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
        * http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
        - Drop checks for properties for which cross-origin access via
        getOwnPropertyDescriptor() now works. They used to not work because of the bug
        this patch fixes, and not due to security checks.
        - Most of these properties are part of the properties that the specification
        states can be accessed cross-origin:
          https://html.spec.whatwg.org/multipage/browsers.html#security-window
        - ALL of these properties could already be accessed cross origin via regular
        property getters (e.g. crossOriginWindow.blur) in Safari 9 so there should not
        be any reason for getOwnPropertyDescriptor() not to work.
        - I have also verified that Firefox allows cross-origin access for all these
          properties (via regular getters or getOwnPropertyDescriptor), except for
          the 'history' property. We may want to align our behavior here and prevent
          cross-origin access to 'window.history' but this is not a regression in this
          patch. You could already access crossOriginWindow.history in Safari 9.

2016-02-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Various tests are flaky

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-02-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Gardening for unexpected passes

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-02-05  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed test expectations gardening.

        * platform/gtk/TestExpectations:

2016-02-05  Ryan Haddad  <ryanhaddad@apple.com>

        Mark css3/filters/multiple-filters-invalidation.html  as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153933

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-05  Ryan Haddad  <ryanhaddad@apple.com>

        Marking pageoverlay/overlay-small-frame-paints.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153898

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-05  Ryan Haddad  <ryanhaddad@apple.com>

        Marking css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position.html as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153315

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-05  Chris Dumez  <cdumez@apple.com>

        Instance property getters / setters cannot be called on another instance of the same type
        https://bugs.webkit.org/show_bug.cgi?id=153895

        Reviewed by Gavin Barraclough.

        * js/dom/script-tests/shadow-navigator-geolocation-in-strict-mode-does-not-throw.js:
        * js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw-expected.txt:
        Extend this layout test coverage to cover the getter case in addition to the
        setter case. This test covers the compatibility mode where we don't throw.
        I made sure to maintain this behavior when refactoring the bindings to avoid
        breakage.

        * js/instance-property-getter-other-instance-expected.txt:
        Rebaseline now that this test passes.

        * js/instance-property-setter-other-instance-expected.txt: Added.
        * js/instance-property-setter-other-instance.html: Added.
        Add test to cover the setter case.


2016-02-05  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/security/cross-frame-access-custom.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=153050

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-02-05  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping js/basic-set.html on Mac since it is already runs as a part of run-jsc-stress-tests
        https://bugs.webkit.org/show_bug.cgi?id=153879

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-05  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153929

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-05  Saam barati  <sbarati@apple.com>

        Web Inspector: Include SamplingProfiler's expression-level data for stack frames in the protocol
        https://bugs.webkit.org/show_bug.cgi?id=153455
        <rdar://problem/24335884>

        Reviewed by Joseph Pecoraro.

        * inspector/sampling-profiler/expression-location-info-expected.txt: Added.
        * inspector/sampling-profiler/expression-location-info.html: Added.

2016-02-05  Nan Wang  <n_wang@apple.com>

        AX: WebKit hanging when VoiceOver attempts to focus in on page
        https://bugs.webkit.org/show_bug.cgi?id=153899
        <rdar://problem/24506603>

        Reviewed by Chris Fleizach.

        * accessibility/text-marker/character-offset-visible-position-conversion-hang-expected.txt: Added.
        * accessibility/text-marker/character-offset-visible-position-conversion-hang.html: Added.

2016-02-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: InspectorTimelineAgent doesn't need to recompile functions because it now uses the sampling profiler
        https://bugs.webkit.org/show_bug.cgi?id=153500
        <rdar://problem/24352458>

        Reviewed by Timothy Hatcher.

        * fast/profiler/*.html
        Be more explicit about enabling legacy profiling.

        * inspector/sampling-profiler/eval-source-url.html
        Remove an inner loop that was causing tail call optimizations
        to eliminate the sourceURL we were expecting.

2016-02-04  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed. EFL gardening. Mark some video tests to failure.

        * platform/efl/TestExpectations:

2016-02-04  Ryan Haddad  <ryanhaddad@apple.com>

        Remove ios-simulator-wk2 specific expectation for imported/w3c/web-platform-tests/html/dom/interfaces.html
        https://bugs.webkit.org/show_bug.cgi?id=153844

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Removed.

2016-02-04  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153844

        Reviewed by Chris Dumez.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2016-02-04  Eric Carlson  <eric.carlson@apple.com>

        media/video-size.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=124932
        <rdar://problem/23336430>

        Reviewed by Jer Noble.

        * media/video-size.html: Add logic to retry each stage silently twice before logging
          failure because we can't predict how long it will take to load the poster frame.

2016-02-04  Chris Dumez  <cdumez@apple.com>

        Object.getOwnPropertyDescriptor() returns incomplete descriptor for instance properties
        https://bugs.webkit.org/show_bug.cgi?id=153817

        Reviewed by Geoffrey Garen.

        Add layout test coverage for calling Object.getOwnPropertyDescriptor()
        on instance properties (e.g. Unforgeable properties and Window properties).

        * http/tests/security/cross-origin-window-property-access-expected.txt:
        * http/tests/security/cross-origin-window-property-access.html:
        - Fix bug causing the onload function to not find the crossOriginWindow variable.
        - Update the case for accessing crossOriginWindow.location property as this is
          actually expected to work as per the specification:
          https://html.spec.whatwg.org/multipage/browsers.html#security-window

        * js/dom/dom-as-prototype-assignment-exception-expected.txt:
        * js/dom/getOwnPropertyDescriptor-expected.txt:
        * js/dom/script-tests/dom-as-prototype-assignment-exception.js:
        * js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt: Added.
        * js/getOwnPropertyDescriptor-unforgeable-attributes.html: Added.
        * js/getOwnPropertyDescriptor-window-attributes-expected.txt: Added.
        * js/getOwnPropertyDescriptor-window-attributes.html: Added.
        * js/instance-property-getter-other-instance-expected.txt: Added.
        * js/instance-property-getter-other-instance.html: Added.
        * js/resources/getOwnPropertyDescriptor.js:

2016-02-04  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=153871

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-04  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webgl/1.0.3/conformance/extensions/oes-texture-half-float-linear.html as flaky on mac
        https://bugs.webkit.org/show_bug.cgi?id=153883

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: LayoutTest imported/w3c/indexeddb/keyorder-private.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=153438.

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations: Re-enable the flaky test.
        * resources/js-test.js:
        * storage/indexeddb/modern/idbkey-array-equality-expected.txt: Added.
        * storage/indexeddb/modern/idbkey-array-equality-private-expected.txt: Added.
        * storage/indexeddb/modern/idbkey-array-equality-private.html: Added.
        * storage/indexeddb/modern/idbkey-array-equality.html: Added.
        * storage/indexeddb/modern/resources/idbkey-array-equality.js: Added.

2016-02-04  Ryan Haddad  <ryanhaddad@apple.com>

        Skip two flaky indexeddb tests on Yosemite Release WK2

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2016-02-04  Eric Carlson  <eric.carlson@apple.com>

        Don't discard in-band cues with negative start times
        https://bugs.webkit.org/show_bug.cgi?id=153867
        <rdar://problem/19588632>

        Reviewed by Jer Noble.

        * http/tests/media/track-in-band-hls-metadata-expected.txt:
        * http/tests/media/track-in-band-hls-metadata.html: Test more attributes for correctness,
          fail test immediately if cue.value is undefined so the test doesn't generate an exception
          and exit without any results.
        * platform/mac/TestExpectations: Unskip test.

2016-02-04  Hyemi Shin  <hyemi.sin@samsung.com>

        Specify an exception for createChannelMerger, createChannelSplitter and createPeriodicWave
        https://bugs.webkit.org/show_bug.cgi?id=150925

        Reviewed by Darin Adler.

        createChannelMerger and createChannelSplitter should throw INDEX_SIZE_ERR
        for invalid numberOfInputs value.
        createPeriodicWave should throw INDEX_SIZE_ERR for invalid lengths of parameters.

        * webaudio/audiochannelmerger-basic-expected.txt: numberOfInputs could be 32.
        * webaudio/audiochannelmerger-basic.html: Ditto.
        * webaudio/audiochannelsplitter-expected.txt: Ditto.
        * webaudio/audiochannelsplitter.html: Ditto.
        * webaudio/periodicwave-lengths-expected.txt: Added.
        * webaudio/periodicwave-lengths.html: Added.

2016-02-04  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-ask-for-reset.html for ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153850

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-ask-for-reset-expected.txt: Added.

2016-02-04  Chris Dumez  <cdumez@apple.com>

        Merge DOMTokenList and DOMSettableTokenList
        https://bugs.webkit.org/show_bug.cgi?id=153677
        <rdar://problem/24419675>

        Reviewed by Sam Weinig.

        Update / rebaseline several tests now that relList attributes
        use [PutForward=value].

        * fast/dom/HTMLElement/class-list-expected.txt:
        * fast/dom/HTMLElement/class-list-quirks-expected.txt:
        * fast/dom/HTMLElement/script-tests/class-list.js:
        * fast/dom/rel-list-expected.txt:
        * fast/dom/rel-list.html:

2016-02-04  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed. EFL gardening after r195740.

        * platform/efl/accessibility/table-attributes-expected.txt:
        * platform/efl/accessibility/table-cell-spans-expected.txt:
        * platform/efl/accessibility/table-cells-expected.txt:
        * platform/efl/accessibility/table-sections-expected.txt:
        * platform/efl/accessibility/table-with-rules-expected.txt:
        * platform/efl/css2.1/20110323/table-height-algorithm-023-expected.txt:
        * platform/efl/css2.1/20110323/table-height-algorithm-024-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-43b-expected.txt:
        * platform/efl/editing/deleting/5099303-expected.txt:
        * platform/efl/editing/deleting/5144139-2-expected.txt:
        * platform/efl/editing/deleting/5483370-expected.txt:
        * platform/efl/editing/deleting/delete-to-select-table-expected.txt:
        * platform/efl/editing/deleting/table-cells-expected.txt:
        * platform/efl/fast/text/atsui-multiple-renderers-expected.txt:

2016-02-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Do not show context menu when right clicking on a scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=153493

        Reviewed by Michael Catanzaro.

        Add a test to check that context menu event is not sent when right
        clicking on a scrollbar.

        * fast/events/contextmenu-on-scrollbars-expected.txt: Added.
        * fast/events/contextmenu-on-scrollbars.html: Added.

2016-02-03  Beth Dakin  <bdakin@apple.com>

        Accepted candidates should not be autocorrected
        https://bugs.webkit.org/show_bug.cgi?id=153813
        -and corresponding-
        rdar://problem/24066924

        Reviewed by Darin Adler.

        * editing/mac/spelling/accept-misspelled-candidate-expected.txt: Added.
        * editing/mac/spelling/accept-misspelled-candidate.html: Added.

2016-02-03  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/history/back-to-post.php as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153314

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-03  Ryan Haddad  <ryanhaddad@apple.com>

        Skip imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-ask-for-reset.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153850

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-03  Ryan Haddad  <ryanhaddad@apple.com>

        Marking displaylists tests as flaky on ios-simulator. Previous attempt was unsuccessful.
        https://bugs.webkit.org/show_bug.cgi?id=153656

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-03  Ryan Haddad  <ryanhaddad@apple.com>

        Marking transitions/clip-path-transitions.html and transitions/clip-path-path-transitions.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=153809

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: JS PrettyPrinting unary - and + issues
        https://bugs.webkit.org/show_bug.cgi?id=134007
        <rdar://problem/17351953>

        Reviewed by Timothy Hatcher.

        * inspector/codemirror/prettyprinting-javascript-expected.txt:
        * inspector/codemirror/prettyprinting-javascript.html:
        * inspector/codemirror/resources/prettyprinting/javascript-tests/unary-binary-operators-expected.js: Added.
        * inspector/codemirror/resources/prettyprinting/javascript-tests/unary-binary-operators.js: Added.
        New tests for unary and some binary operators in JavaScript pretty printing.

2016-02-03  Brent Fulgham  <bfulgham@apple.com>

        REGRESSION: LayoutTest http/tests/plugins/visible_plugins.html failing on Yosemite WK1
        https://bugs.webkit.org/show_bug.cgi?id=153752

        Reviewed by Alexey Proskuryakov.

        Revise test to skip the plugins we expect to be displayed, and only display plugins
        that are surprising.

        * http/tests/plugins/visible_plugins.html:
        * http/tests/plugins/visible_plugins-expected.txt:
        * platform/mac-wk2/http/tests/plugins/visible_plugins-expected.txt: Removed.

2016-02-03  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/contentdispositionattachmentsandbox/form-submission-disabled.html on ios-simulator until it can be rewritten.
        https://bugs.webkit.org/show_bug.cgi?id=152993

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-03  Dave Hyatt  <hyatt@apple.com>

        Implement hanging-punctuation property parsing.
        https://bugs.webkit.org/show_bug.cgi?id=18109.

        Reviewed by Zalan Bujtas.

        * fast/css/parsing-hanging-punctuation-expected.txt: Added.
        * fast/css/parsing-hanging-punctuation.html: Added.
        * fast/css/resources/parsing-hanging-punctuation.js: Added.
        (test):

2016-02-03  Ryan Haddad  <ryanhaddad@apple.com>

        Skip fast/forms/input-user-input-sanitization.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152306

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-03  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed. EFL gardening: rebaseline tests after r195740.

        * platform/efl/css1/box_properties/border_width_inline-expected.txt:
        * platform/efl/css1/formatting_model/floating_elements-expected.txt:
        * platform/efl/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
        * platform/efl/css2.1/t0805-c5511-brdr-tw-00-b-expected.txt:
        * platform/efl/css2.1/t0805-c5513-brdr-bw-00-b-expected.txt:
        * platform/efl/css2.1/t0805-c5518-brdr-t-01-e-expected.txt:
        * platform/efl/css2.1/t0805-c5519-brdr-r-01-e-expected.txt:
        * platform/efl/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:
        * platform/efl/css2.1/t0805-c5521-brdr-l-01-e-expected.txt:
        * platform/efl/css2.1/t0805-c5522-brdr-02-e-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-00-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-01-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-02-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-03-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-05-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-07-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-09-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-10-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-11-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-12-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-15-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-19-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-20-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-21-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-22-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-23-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-26-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-27-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-28-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-29-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-32-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-33-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-35-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-36-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-37-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-38-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-39-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-40-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-41-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-42-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-43-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-45-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-46-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-47-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-48-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-49-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-50-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-51-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-53-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-55-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-56-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-57-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-58-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-60-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-61-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-62-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-63-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-66-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-67-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-68-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-69-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-72-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-73-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-75-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-76-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-77-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-78-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-79-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-80-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-81-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-82-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-83-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-86-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-87-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-88-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-89-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-90-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-91-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-92-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-93-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-95-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-96-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-97-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-98-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-99-d-expected.txt:
        * platform/efl/css3/css3-modsel-33-expected.txt:
        * platform/efl/css3/flexbox/flexbox-baseline-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-161-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-18b-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-28-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-28b-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-32-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-43-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-43b-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-44-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-44b-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-74-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-74b-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-78-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-78b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-18b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-28-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-28b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-32-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-43-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-43b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-44-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-44b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-74-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-74b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-78-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-78b-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-161-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-18b-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-28-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-28b-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-32-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-43-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-44-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-44b-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-74-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-74b-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-78-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-78b-expected.txt:
        * platform/efl/editing/inserting/5058163-1-expected.txt:
        * platform/efl/editing/inserting/insert-paragraph-01-expected.txt:
        * platform/efl/editing/inserting/insert-paragraph-02-expected.txt:
        * platform/efl/editing/inserting/paragraph-separator-in-table-2-expected.txt:
        * platform/efl/editing/selection/4818145-expected.txt:
        * platform/efl/editing/selection/4889598-expected.txt:
        * platform/efl/editing/selection/4895428-2-expected.txt:
        * platform/efl/editing/selection/5076323-1-expected.txt:
        * platform/efl/editing/selection/5076323-2-expected.txt:
        * platform/efl/editing/selection/5076323-3-expected.txt:
        * platform/efl/editing/selection/7152-1-expected.txt:
        * platform/efl/editing/selection/7152-2-expected.txt:
        * platform/efl/editing/selection/display-table-text-expected.txt:
        * platform/efl/editing/selection/iframe-expected.txt:
        * platform/efl/editing/selection/inline-table-expected.txt:
        * platform/efl/editing/selection/mixed-editability-3-expected.txt:
        * platform/efl/editing/selection/mixed-editability-4-expected.txt:
        * platform/efl/editing/selection/mixed-editability-5-expected.txt:
        * platform/efl/editing/selection/mixed-editability-8-expected.txt:
        * platform/efl/editing/selection/mixed-editability-9-expected.txt:
        * platform/efl/editing/selection/table-caret-1-expected.txt:
        * platform/efl/editing/selection/table-caret-2-expected.txt:
        * platform/efl/editing/selection/table-caret-3-expected.txt:
        * platform/efl/editing/style/5017613-1-expected.txt:
        * platform/efl/editing/style/5017613-2-expected.txt:
        * platform/efl/editing/style/apple-style-editable-mix-expected.txt:
        * platform/efl/editing/style/table-selection-expected.txt:
        * platform/efl/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.txt:
        * platform/efl/fast/block/float/011-expected.txt:
        * platform/efl/fast/block/margin-collapse/001-expected.txt:
        * platform/efl/fast/block/margin-collapse/005-expected.txt:
        * platform/efl/fast/block/margin-collapse/104-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/001-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/005-expected.txt:
        * platform/efl/fast/block/positioning/053-expected.txt:
        * platform/efl/fast/borders/bidi-009a-expected.txt:
        * platform/efl/fast/box-shadow/basic-shadows-expected.txt:
        * platform/efl/fast/css-generated-content/015-expected.txt:
        * platform/efl/fast/css-generated-content/inline-display-types-expected.txt:
        * platform/efl/fast/css-generated-content/table-before-after-child-add-expected.txt:
        * platform/efl/fast/css-generated-content/table-cell-before-content-expected.txt:
        * platform/efl/fast/css-generated-content/table-row-before-after-child-add-expected.txt:
        * platform/efl/fast/css-generated-content/table-row-before-after-expected.txt:
        * platform/efl/fast/css-generated-content/table-table-before-after-child-add-expected.txt:
        * platform/efl/fast/css/first-letter-float-expected.txt:
        * platform/efl/fast/dynamic/007-expected.txt:
        * platform/efl/fast/dynamic/014-expected.txt:
        * platform/efl/fast/dynamic/015-expected.txt:
        * platform/efl/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
        * platform/efl/fast/forms/button-white-space-expected.txt:
        * platform/efl/fast/forms/file/file-input-direction-expected.txt:
        * platform/efl/fast/forms/form-added-to-table-expected.txt:
        * platform/efl/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/efl/fast/forms/input-value-expected.txt:
        * platform/efl/fast/invalid/table-inside-stray-table-content-expected.txt:
        * platform/efl/fast/invalid/td-inside-object-expected.txt:
        * platform/efl/fast/lists/ordered-list-with-no-ol-tag-expected.txt:
        * platform/efl/fast/overflow/overflow-auto-table-expected.txt:
        * platform/efl/fast/replaced/width100percent-button-expected.txt:
        * platform/efl/fast/ruby/ruby-inline-table-expected.txt:
        * platform/efl/fast/selectors/018-expected.txt:
        * platform/efl/fast/selectors/018b-expected.txt:
        * platform/efl/fast/selectors/032-expected.txt:
        * platform/efl/fast/selectors/043-expected.txt:
        * platform/efl/fast/selectors/043b-expected.txt:
        * platform/efl/fast/selectors/044-expected.txt:
        * platform/efl/fast/selectors/044b-expected.txt:
        * platform/efl/fast/selectors/078b-expected.txt:
        * platform/efl/fast/table/001-expected.txt:
        * platform/efl/fast/table/004-expected.txt:
        * platform/efl/fast/table/006-expected.txt:
        * platform/efl/fast/table/010-expected.txt:
        * platform/efl/fast/table/011-expected.txt:
        * platform/efl/fast/table/015-expected.txt:
        * platform/efl/fast/table/016-expected.txt:
        * platform/efl/fast/table/022-expected.txt:
        * platform/efl/fast/table/026-expected.txt:
        * platform/efl/fast/table/033-expected.txt:
        * platform/efl/fast/table/035-expected.txt:
        * platform/efl/fast/table/035-vertical-expected.txt:
        * platform/efl/fast/table/037-expected.txt:
        * platform/efl/fast/table/041-expected.txt:
        * platform/efl/fast/table/auto-with-percent-height-expected.txt:
        * platform/efl/fast/table/auto-with-percent-height-vertical-expected.txt:
        * platform/efl/fast/table/border-collapsing/002-vertical-expected.txt:
        * platform/efl/fast/table/cell-coalescing-expected.txt:
        * platform/efl/fast/table/cellindex-expected.txt:
        * platform/efl/fast/table/colgroup-preceded-by-caption-expected.txt:
        * platform/efl/fast/table/colgroup-spanning-groups-rules-expected.txt:
        * platform/efl/fast/table/dynamic-descendant-percentage-height-expected.txt:
        * platform/efl/fast/table/floating-th-expected.txt:
        * platform/efl/fast/table/generated-caption-expected.txt:
        * platform/efl/fast/table/insert-before-anonymous-ancestors-expected.txt:
        * platform/efl/fast/table/insert-cell-before-form-expected.txt:
        * platform/efl/fast/table/insert-row-before-form-expected.txt:
        * platform/efl/fast/table/multiple-captions-display-expected.txt:
        * platform/efl/fast/table/nested-percent-height-table-expected.txt:
        * platform/efl/fast/table/quote-text-around-iframe-expected.txt:
        * platform/efl/fast/table/rowindex-expected.txt:
        * platform/efl/fast/table/rtl-cell-display-none-assert-expected.txt:
        * platform/efl/fast/table/rules-attr-dynchange1-expected.txt:
        * platform/efl/fast/table/rules-attr-dynchange2-expected.txt:
        * platform/efl/fast/table/table-after-child-in-table-expected.txt:
        * platform/efl/fast/table/table-and-parts-outline-expected.txt:
        * platform/efl/fast/table/table-before-child-in-table-expected.txt:
        * platform/efl/fast/table/table-cell-after-child-in-block-expected.txt:
        * platform/efl/fast/table/table-cell-after-child-in-table-expected.txt:
        * platform/efl/fast/table/table-cell-before-child-in-block-expected.txt:
        * platform/efl/fast/table/table-continuation-outline-paint-crash-expected.txt:
        * platform/efl/fast/table/table-hspace-align-center-expected.txt:
        * platform/efl/fast/table/table-row-after-child-in-block-expected.txt:
        * platform/efl/fast/table/table-row-after-child-in-table-expected.txt:
        * platform/efl/fast/table/table-row-before-child-in-block-expected.txt:
        * platform/efl/fast/table/table-row-before-child-in-table-expected.txt:
        * platform/efl/fast/table/tableInsideCaption-expected.txt:
        * platform/efl/fast/table/text-field-baseline-expected.txt:
        * platform/efl/fast/table/unbreakable-images-quirk-expected.txt:
        * platform/efl/fast/table/vertical-align-baseline-expected.txt:
        * platform/efl/fast/text/basic/001-expected.txt:
        * platform/efl/fast/text/basic/006-expected.txt:
        * platform/efl/fast/text/basic/007-expected.txt:
        * platform/efl/fast/text/capitalize-boundaries-expected.txt:
        * platform/efl/fast/text/hyphenate-locale-expected.txt:
        * platform/efl/fast/text/international/bidi-layout-across-linebreak-expected.txt:
        * platform/efl/fast/text/whitespace/024-expected.txt:
        * platform/efl/fast/text/whitespace/027-expected.txt:
        * platform/efl/fast/text/word-break-expected.txt:
        * platform/efl/fast/transforms/transform-table-row-expected.txt:

2016-02-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Layout Test http/tests/appcache/different-https-origin-resource-main.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=145253

        Reviewed by Michael Catanzaro.

        Update test expectation.

        * platform/gtk/TestExpectations:

2016-02-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r191948): [GStreamer] 4 new timeouts on layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=152797

        Reviewed by Darin Adler.

        Update test expectations.

        * platform/gtk/TestExpectations:

2016-02-02  Fujii Hironori  <Hironori.Fujii@jp.sony.com>

        ASSERTION FAILED: roundedIntPoint(rendererMappedResult) == roundedIntPoint(result)
        https://bugs.webkit.org/show_bug.cgi?id=153576

        Reviewed by Darin Adler.

        * fast/block/geometry-map-assertion-with-rounding-negative-half-expected.txt: Added.
        * fast/block/geometry-map-assertion-with-rounding-negative-half.html: Added.

2016-02-02  Darin Adler  <darin@apple.com>

        Follow up for:
        Cut down on calls to String::lower; mostly replace with convertToASCIILowercase
        https://bugs.webkit.org/show_bug.cgi?id=153732

        * fast/viewport/viewport-warnings-7-expected.txt: Updated expected results now that
        viewport parsing doesn't lowercase the string to parse it.

2016-02-02  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed. EFL gardening: rebaseline tests after r195740.

        * platform/efl/fast/replaced/005-expected.txt:
        * platform/efl/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt:
        * platform/efl/fast/replaced/selection-rect-in-table-cell-expected.txt:
        * platform/efl/fast/replaced/table-percent-height-positioned-expected.txt:
        * platform/efl/fast/replaced/width100percent-checkbox-expected.txt:
        * platform/efl/fast/replaced/width100percent-image-expected.txt:
        * platform/efl/fast/replaced/width100percent-menulist-expected.txt:
        * platform/efl/fast/replaced/width100percent-radio-expected.txt:
        * platform/efl/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/efl/fast/replaced/width100percent-textarea-expected.txt:
        * platform/efl/fast/replaced/width100percent-textfield-expected.txt:
        * platform/efl/fast/selectors/077-expected.txt:
        * platform/efl/fast/selectors/077b-expected.txt:
        * platform/efl/fast/table/002-expected.txt:
        * platform/efl/fast/table/003-expected.txt:
        * platform/efl/fast/table/005-expected.txt:
        * platform/efl/fast/table/007-expected.txt:
        * platform/efl/fast/table/008-expected.txt:
        * platform/efl/fast/table/009-expected.txt:
        * platform/efl/fast/table/012-expected.txt:
        * platform/efl/fast/table/013-expected.txt:
        * platform/efl/fast/table/021-expected.txt:
        * platform/efl/fast/table/023-expected.txt:
        * platform/efl/fast/table/024-expected.txt:
        * platform/efl/fast/table/025-expected.txt:
        * platform/efl/fast/table/028-expected.txt:
        * platform/efl/fast/table/028-vertical-expected.txt:
        * platform/efl/fast/table/029-expected.txt:
        * platform/efl/fast/table/031-expected.txt:
        * platform/efl/fast/table/032-expected.txt:
        * platform/efl/fast/table/034-expected.txt:
        * platform/efl/fast/table/038-expected.txt:
        * platform/efl/fast/table/038-vertical-expected.txt:
        * platform/efl/fast/table/039-expected.txt:
        * platform/efl/fast/table/040-expected.txt:
        * platform/efl/fast/table/040-vertical-expected.txt:
        * platform/efl/fast/table/100-percent-cell-width-expected.txt:
        * platform/efl/fast/table/add-before-anonymous-child-expected.txt:
        * platform/efl/fast/table/border-collapsing/001-expected.txt:
        * platform/efl/fast/table/border-collapsing/001-vertical-expected.txt:
        * platform/efl/fast/table/border-collapsing/002-expected.txt:
        * platform/efl/fast/table/border-collapsing/003-expected.txt:
        * platform/efl/fast/table/border-collapsing/003-vertical-expected.txt:
        * platform/efl/fast/table/border-collapsing/004-expected.txt:
        * platform/efl/fast/table/border-collapsing/004-vertical-expected.txt:
        * platform/efl/fast/table/border-collapsing/border-collapsing-head-foot-expected.txt:
        * platform/efl/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.txt:
        * platform/efl/fast/table/border-collapsing/bug14274-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-69296-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-cell-append-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-cell-remove-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-cell-border-color-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-cell-sl-border-color-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-col-border-color-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-col-border-width-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-row-border-color-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-table-border-color-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-table-border-width-expected.txt:
        * platform/efl/fast/table/border-collapsing/cached-change-tbody-border-color-expected.txt:
        * platform/efl/fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.txt:
        * platform/efl/fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.txt:
        * platform/efl/fast/table/border-collapsing/equal-precedence-resolution-expected.txt:
        * platform/efl/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt:
        * platform/efl/fast/table/border-collapsing/rtl-border-collapsing-expected.txt:
        * platform/efl/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.txt:
        * platform/efl/fast/table/caption-relayout-expected.txt:
        * platform/efl/fast/table/cell-absolute-child-expected.txt:
        * platform/efl/fast/table/cell-width-auto-expected.txt:
        * platform/efl/fast/table/colspan-with-all-percent-cells-expected.txt:
        * platform/efl/fast/table/colspanMinWidth-expected.txt:
        * platform/efl/fast/table/colspanMinWidth-vertical-expected.txt:
        * platform/efl/fast/table/dynamic-cellpadding-expected.txt:
        * platform/efl/fast/table/edge-offsets-expected.txt:
        * platform/efl/fast/table/empty-cells-expected.txt:
        * platform/efl/fast/table/frame-and-rules-expected.txt:
        * platform/efl/fast/table/giantRowspan-expected.txt:
        * platform/efl/fast/table/growCellForImageQuirk-expected.txt:
        * platform/efl/fast/table/growCellForImageQuirk-vertical-expected.txt:
        * platform/efl/fast/table/height-percent-test-expected.txt:
        * platform/efl/fast/table/height-percent-test-vertical-expected.txt:
        * platform/efl/fast/table/invisible-cell-background-expected.txt:
        * platform/efl/fast/table/large-width-expected.txt:
        * platform/efl/fast/table/max-width-integer-overflow-expected.txt:
        * platform/efl/fast/table/mozilla-bug10296-vertical-align-1-expected.txt:
        * platform/efl/fast/table/mozilla-bug10296-vertical-align-2-expected.txt:
        * platform/efl/fast/table/nobr-expected.txt:
        * platform/efl/fast/table/overflowHidden-expected.txt:
        * platform/efl/fast/table/percent-heights-expected.txt:
        * platform/efl/fast/table/percent-widths-stretch-expected.txt:
        * platform/efl/fast/table/percent-widths-stretch-vertical-expected.txt:
        * platform/efl/fast/table/prepend-in-anonymous-table-expected.txt:
        * platform/efl/fast/table/relative-position-containment-expected.txt:
        * platform/efl/fast/table/relative-position-offsets-expected.txt:
        * platform/efl/fast/table/relative-position-stacking-expected.txt:
        * platform/efl/fast/table/replaced-percent-height-expected.txt:
        * platform/efl/fast/table/row-height-recalc-expected.txt:
        * platform/efl/fast/table/rowspan-paint-order-expected.txt:
        * platform/efl/fast/table/rowspan-paint-order-vertical-expected.txt:
        * platform/efl/fast/table/simple_paint-expected.txt:
        * platform/efl/fast/table/spanOverlapRepaint-expected.txt:
        * platform/efl/fast/table/stale-grid-crash-expected.txt:
        * platform/efl/fast/table/table-anonymous-cell-bug-expected.txt:
        * platform/efl/fast/table/table-anonymous-row-bug-expected.txt:
        * platform/efl/fast/table/table-anonymous-section-bug-expected.txt:
        * platform/efl/fast/table/table-before-child-style-update-expected.txt:
        * platform/efl/fast/table/table-cell-before-after-content-around-table-block-expected.txt:
        * platform/efl/fast/table/table-cell-before-after-content-around-table-expected.txt:
        * platform/efl/fast/table/table-cell-before-after-content-around-table-row-expected.txt:
        * platform/efl/fast/table/table-cell-before-child-in-table-expected.txt:
        * platform/efl/fast/table/table-cell-split-expected.txt:
        * platform/efl/fast/table/table-display-types-expected.txt:
        * platform/efl/fast/table/table-display-types-strict-expected.txt:
        * platform/efl/fast/table/table-display-types-vertical-expected.txt:
        * platform/efl/fast/table/table-insert-before-non-anonymous-block-expected.txt:
        * platform/efl/fast/table/table-row-before-after-content-around-block-expected.txt:
        * platform/efl/fast/table/table-row-before-after-content-around-table-cell-expected.txt:
        * platform/efl/fast/table/table-row-before-after-content-around-table-expected.txt:
        * platform/efl/fast/table/table-row-before-child-style-update-expected.txt:
        * platform/efl/fast/table/table-row-outline-paint-expected.txt:
        * platform/efl/fast/table/table-row-split2-expected.txt:
        * platform/efl/fast/table/table-row-style-not-updated-expected.txt:
        * platform/efl/fast/table/table-row-style-not-updated-with-after-content-expected.txt:
        * platform/efl/fast/table/table-row-style-not-updated-with-before-content-expected.txt:
        * platform/efl/fast/table/table-section-split2-expected.txt:
        * platform/efl/fast/table/table-split-expected.txt:
        * platform/efl/fast/table/table-split2-expected.txt:
        * platform/efl/fast/table/table-style-not-updated-expected.txt:
        * platform/efl/fast/table/wide-colspan-expected.txt:
        * platform/efl/fast/table/wide-column-expected.txt:
        * platform/efl/fast/text/atsui-negative-spacing-features-expected.txt:
        * platform/efl/fast/text/atsui-spacing-features-expected.txt:
        * platform/efl/fast/text/basic/generic-family-reset-expected.txt:
        * platform/efl/fast/text/international/003-expected.txt:
        * platform/efl/fast/text/international/bidi-LDB-2-CSS-expected.txt:
        * platform/efl/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/efl/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
        * platform/efl/fast/text/international/bidi-override-expected.txt:
        * platform/efl/fast/text/wbr-expected.txt:
        * platform/efl/fast/text/whitespace/002-expected.txt:
        * platform/efl/fast/text/whitespace/003-expected.txt:
        * platform/efl/fast/text/whitespace/004-expected.txt:
        * platform/efl/fast/text/whitespace/005-expected.txt:
        * platform/efl/fast/text/whitespace/010-expected.txt:
        * platform/efl/fast/text/whitespace/011-expected.txt:
        * platform/efl/fast/text/whitespace/013-expected.txt:
        * platform/efl/fast/text/whitespace/014-expected.txt:
        * platform/efl/fast/text/whitespace/015-expected.txt:
        * platform/efl/fast/text/whitespace/016-expected.txt:
        * platform/efl/fast/text/whitespace/025-expected.txt:
        * platform/efl/fast/text/whitespace/026-expected.txt:
        * platform/efl/fast/writing-mode/table-percent-width-quirk-expected.txt:
        * platform/efl/fast/writing-mode/vertical-align-table-baseline-expected.txt:
        * platform/efl/http/tests/misc/acid2-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
        * platform/efl/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
        * platform/efl/tables/layering/paint-test-layering-1-expected.txt:
        * platform/efl/tables/layering/paint-test-layering-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug10009-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug10036-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug101201-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug10296-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1055-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug10565-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug10633-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1067-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1067-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug106795-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug106816-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug113424-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1163-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug12008-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug120107-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug120364-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1224-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug12268-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug12709-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1271-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug12908-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug12908-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1296-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1302-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug13169-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug137388-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug137388-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug137388-3-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug139524-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug139524-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug139524-3-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug139524-4-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1430-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug14323-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug14929-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug15247-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug154780-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug15544-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug159108-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug15933-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug16012-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug16252-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug17138-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug175455-4-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug17548-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug17587-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1800-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1802-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1802s-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug1809-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug18440-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug18664-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug18955-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug19061-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug19061-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug19356-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug20804-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2123-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug215629-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug219693-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug219693-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug22019-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug220536-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug222336-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug22246-3-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug22246-3a-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug22513-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2296-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug23235-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug25004-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug25074-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug25663-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug26553-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2684-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug269566-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug277062-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2773-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug27993-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2886-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug28933-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug29058-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug29314-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug29429-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2954-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2981-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2981-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug2997-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug30273-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3103-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug32205-3-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3260-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug33137-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug33855-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3454-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug38916-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug3977-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4093-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug42187-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4385-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4427-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug44505-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4501-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug45350-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug45486-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4576-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46268-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46268-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46623-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug46623-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug47432-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4803-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4849-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug4849-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug5188-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug53690-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug53690-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug53891-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug5538-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug55789-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug56201-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug57828-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug5797-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug5835-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug60804-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug60807-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug6184-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug6304-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug6404-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug647-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug6674-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug68998-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug69382-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug69382-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug72359-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug7714-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug78162-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug82946-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug8950-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug9123-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug9123-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug92143-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug92647-2-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug963-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug97383-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug9879-1-expected.txt:
        * platform/efl/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
        * platform/efl/tables/mozilla/core/bloomberg-expected.txt:
        * platform/efl/tables/mozilla/core/borders-expected.txt:
        * platform/efl/tables/mozilla/core/cell_heights-expected.txt:
        * platform/efl/tables/mozilla/core/col_span-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_auto_autoFixPer-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_auto_fix-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_auto_fixPer-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_auto_per-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_fix_autoFix-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_fix_fix-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
        * platform/efl/tables/mozilla/core/col_widths_fix_per-expected.txt:
        * platform/efl/tables/mozilla/core/margins-expected.txt:
        * platform/efl/tables/mozilla/core/misc-expected.txt:
        * platform/efl/tables/mozilla/core/nested1-expected.txt:
        * platform/efl/tables/mozilla/core/one_row-expected.txt:
        * platform/efl/tables/mozilla/core/table_frame-expected.txt:
        * platform/efl/tables/mozilla/core/table_heights-expected.txt:
        * platform/efl/tables/mozilla/core/table_rules-expected.txt:
        * platform/efl/tables/mozilla/core/table_widths-expected.txt:
        * platform/efl/tables/mozilla/dom/insertColGroups1-expected.txt:
        * platform/efl/tables/mozilla/dom/insertColGroups2-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCols1-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCols2-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCols3-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCols4-expected.txt:
        * platform/efl/tables/mozilla/dom/insertCols5-expected.txt:
        * platform/efl/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
        * platform/efl/tables/mozilla/marvin/backgr_position-table-expected.txt:
        * platform/efl/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
        * platform/efl/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
        * platform/efl/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
        * platform/efl/tables/mozilla/marvin/backgr_simple-table-expected.txt:
        * platform/efl/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
        * platform/efl/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png:
        * platform/efl/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_span-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
        * platform/efl/tables/mozilla/marvin/colgroup_width_px-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_overflow_hidden_td-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_row_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_row_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_row_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/table_rules_groups-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_aqua-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_black-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_blue-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_gray-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_green-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_lime-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_maroon-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_navy-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_olive-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_purple-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_red-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_silver-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_white-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_cellpadding-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_td_width-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_th_width-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_width_percent-expected.txt:
        * platform/efl/tables/mozilla/marvin/tables_width_px-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/tbody_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/td_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/td_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/td_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/td_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/th_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/th_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/th_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/th_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/thead_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/tr_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_col_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_col_span-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_col_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_col_width_px-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_col_width_rel-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_colgroup_span-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_align_justify-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_td_width-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_align_center-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_align_justify-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_align_left-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_align_right-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_rowspan-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_th_width-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_align_char-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
        * platform/efl/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
        * platform/efl/tables/mozilla/other/cell_widths-expected.txt:
        * platform/efl/tables/mozilla/other/ms-expected.txt:
        * platform/efl/tables/mozilla/other/nested2-expected.txt:
        * platform/efl/tables/mozilla/other/nestedTables-expected.txt:
        * platform/efl/tables/mozilla/other/slashlogo-expected.txt:
        * platform/efl/tables/mozilla/other/test3-expected.txt:
        * platform/efl/tables/mozilla/other/test6-expected.txt:
        * platform/efl/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/efl/tables/mozilla/other/wa_table_tr_align-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/97619-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug1164-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug128876-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug14007-1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug1647-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug27993-2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug3105-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug7121-2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug72393-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/col_span2-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/cols1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/columns-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/core/standards1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
        * platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt:

2016-02-02  Caitlin Potter  <caitp@igalia.com>

        [JSC] Implement Object.getOwnPropertyDescriptors() proposal
        https://bugs.webkit.org/show_bug.cgi?id=153799

        Reviewed by Darin Adler.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-02-02  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/cursor-primary-key-order.html fails with SQLite backend.
        https://bugs.webkit.org/show_bug.cgi?id=153800

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-02-02  Tim Horton  <timothy_horton@apple.com>

        <attachment> should attempt to guess the icon from the file extension if all else fails
        https://bugs.webkit.org/show_bug.cgi?id=153804
        <rdar://problem/24448146>

        Reviewed by Anders Carlsson.

        * fast/attachment/attachment-icon-from-file-extension-expected.html: Added.
        * fast/attachment/attachment-icon-from-file-extension.html: Added.

2016-02-02  Saam barati  <sbarati@apple.com>

        [ES6] bound functions .name property should be "bound " + the target function's name
        https://bugs.webkit.org/show_bug.cgi?id=153796

        Reviewed by Mark Lam.

        * inspector/runtime/getProperties-expected.txt:
        * platform/mac/http/tests/media/media-source/SourceBuffer-abort-readyState-expected.txt:
        * platform/mac/http/tests/media/media-source/SourceBuffer-abort-removed-expected.txt:
        * platform/mac/http/tests/media/media-source/SourceBuffer-abort-updating-expected.txt:
        * platform/mac/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt:

2016-02-02  Ryan Haddad  <ryanhaddad@apple.com>

        Marking perf/show-hide-table-rows.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153803

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-02  Tim Horton  <timothy_horton@apple.com>

        <attachment> icon should be a folder for the custom MIME type multipart/x-folder
        https://bugs.webkit.org/show_bug.cgi?id=153795
        <rdar://problem/24416632>

        Reviewed by Anders Carlsson.

        * fast/attachment/attachment-folder-icon-expected.html: Added.
        * fast/attachment/attachment-folder-icon.html: Added.
        Make sure that the rendering of an attachment with multipart/x-folder
        matches that of a file reference pointing at a folder.

2016-02-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        [GTK] Layout Test fast/images/animated-gif-no-layout.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=153798

        Unreviewed gardening.

        * platform/gtk/TestExpectations: mark a couple tests as failing. The
        green frame of the gif is being rendered in a slightly lighter green.

2016-02-02  Zalan Bujtas  <zalan@apple.com>

        [Win] gardening after r195740.

        Unreviewed.

        * platform/win/editing/selection/5057506-2-expected.txt:
        * platform/win/fast/block/margin-collapse/021-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-row-border-color-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_style-expected.txt:

2016-02-02  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/cursor-continue-validity.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=153791

        Reviewed by Alex Christensen.

        In addition to unskipping the test, I augmented it to print out more of what was going on.
        
        The additional printed info is what helped me track down the bug, and will make it more
        likely to catch any future regressions.
        
        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/cursor-continue-validity-expected.txt:
        * storage/indexeddb/cursor-continue-validity-private-expected.txt:
        * storage/indexeddb/resources/cursor-continue-validity.js:

2016-02-01  Dave Hyatt  <hyatt@apple.com>

        Add a line grid pagination SPI to WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=153757
        <rdar://problem/23041598>

        Reviewed by Anders Carlsson.

        * platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.png: Added.
        * platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.png: Added.
        * platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.png: Added.
        * platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.png: Added.
        * platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.png: Added.
        * platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.png: Added.
        * platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.png: Added.
        * platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.png: Added.
        * platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.png: Added.
        * platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.png: Added.
        * platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.png: Added.
        * platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.png: Added.
        * platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.png: Added.
        * platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.png: Added.
        * platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.png: Added.
        * platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.png: Added.
        * platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/nested-transforms-expected.png:

2016-02-02  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/dont-wedge.html sometimes ASSERTs.
        https://bugs.webkit.org/show_bug.cgi?id=153790

        Reviewed by Tim Horton.

        * platform/mac-wk1/TestExpectations:

2016-02-02  Zalan Bujtas  <zalan@apple.com>

        [Win] gardening after r195740.

        Unreviewed.

        * platform/win/tables/mozilla/marvin/x_tbody_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_class-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_id-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_align_justify-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_class-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_colspan-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_height-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_id-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_nowrap-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_rowspan-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_style-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_td_width-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_class-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_id-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_style-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_align_justify-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_class-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_colspan-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_height-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_id-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_nowrap-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_rowspan-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_style-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_width-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_class-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_id-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_style-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_class-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_id-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_style-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
        * platform/win/tables/mozilla/other/body_col-expected.txt:
        * platform/win/tables/mozilla/other/cell_widths-expected.txt:
        * platform/win/tables/mozilla/other/cellspacing-expected.txt:
        * platform/win/tables/mozilla/other/move_row-expected.txt:
        * platform/win/tables/mozilla/other/ms-expected.txt:
        * platform/win/tables/mozilla/other/nested2-expected.txt:
        * platform/win/tables/mozilla/other/nestedTables-expected.txt:
        * platform/win/tables/mozilla/other/padding-expected.txt:
        * platform/win/tables/mozilla/other/slashlogo-expected.txt:
        * platform/win/tables/mozilla/other/test3-expected.txt:
        * platform/win/tables/mozilla/other/test6-expected.txt:
        * platform/win/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/win/tables/mozilla/other/wa_table_tr_align-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/97619-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug101759-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug104898-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug106336-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug1164-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug11945-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug128876-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug14007-1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug14159-2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug1647-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug178855-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug24880-1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug25707-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug27993-2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug3105-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug3166-11-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug3166-12-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug3166-13-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug3166-14-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug3166-16-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug3166-17-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug3166-18-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug32205-1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug4294-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug46268-4-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug51000-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug7113-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug7121-2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug72393-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug73629-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/backgrounds-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/captions3-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/col_span2-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/cols1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/columns-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/conflicts-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core/standards1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_frame_above-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_frame_below-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_frame_hsides-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_frame_void-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_frame_vsides-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/table_rules_rows-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_caption_align_left-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_caption_align_right-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_colgroup_width_px-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_above-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_below-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_border-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_box-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_hsides-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_lhs-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_rhs-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_vsides-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_rules_all-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_rules_cols-expected.txt:
        * platform/win/tables/mozilla_expected_failures/marvin/x_table_rules_rows-expected.txt:
        * platform/win/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
        * platform/win/tables/mozilla_expected_failures/other/test4-expected.txt:

2016-02-02  Dan Bernstein  <mitz@apple.com>

        Layout Test fast/parser/external-entities-in-xslt.xml is flaky on El Capitan (but fails most of the time)
        https://bugs.webkit.org/show_bug.cgi?id=153683

        Reviewed by Alexey Proskuryakov.

        * platform/mac/TestExpectations: Removed the failure expectation for this test.

2016-02-02  Eric Carlson  <eric.carlson@apple.com>

        Allow ports to disable automatic text track selection
        https://bugs.webkit.org/show_bug.cgi?id=153761
        <rdar://problem/24416768>

        Reviewed by Darin Adler.

        * media/track/track-manual-mode-expected.txt: Added.
        * media/track/track-manual-mode.html: Added.

2016-02-02  Zalan Bujtas  <zalan@apple.com>

        [Win] gardening after r195740. (more to follow)

        Unreviewed.

        * platform/win/tables/mozilla/bugs/bug101201-expected.txt:
        * platform/win/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/win/tables/mozilla/bugs/bug103533-expected.txt:
        * platform/win/tables/mozilla/bugs/bug106158-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug106795-expected.txt:
        * platform/win/tables/mozilla/bugs/bug106816-expected.txt:
        * platform/win/tables/mozilla/bugs/bug108340-expected.txt:
        * platform/win/tables/mozilla/bugs/bug110566-expected.txt:
        * platform/win/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug113235-3-expected.txt:
        * platform/win/tables/mozilla/bugs/bug113424-expected.txt:
        * platform/win/tables/mozilla/bugs/bug119786-expected.txt:
        * platform/win/tables/mozilla/bugs/bug120107-expected.txt:
        * platform/win/tables/mozilla/bugs/bug120364-expected.txt:
        * platform/win/tables/mozilla/bugs/bug133756-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug133756-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug137388-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug137388-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug137388-3-expected.txt:
        * platform/win/tables/mozilla/bugs/bug138725-expected.txt:
        * platform/win/tables/mozilla/bugs/bug139524-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug139524-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug139524-3-expected.txt:
        * platform/win/tables/mozilla/bugs/bug139524-4-expected.txt:
        * platform/win/tables/mozilla/bugs/bug149275-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug154780-expected.txt:
        * platform/win/tables/mozilla/bugs/bug159108-expected.txt:
        * platform/win/tables/mozilla/bugs/bug175455-4-expected.txt:
        * platform/win/tables/mozilla/bugs/bug20579-expected.txt:
        * platform/win/tables/mozilla/bugs/bug20804-expected.txt:
        * platform/win/tables/mozilla/bugs/bug21299-expected.txt:
        * platform/win/tables/mozilla/bugs/bug215629-expected.txt:
        * platform/win/tables/mozilla/bugs/bug21918-expected.txt:
        * platform/win/tables/mozilla/bugs/bug219693-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug219693-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug22019-expected.txt:
        * platform/win/tables/mozilla/bugs/bug220536-expected.txt:
        * platform/win/tables/mozilla/bugs/bug221784-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug221784-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug222336-expected.txt:
        * platform/win/tables/mozilla/bugs/bug22246-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug22246-2a-expected.txt:
        * platform/win/tables/mozilla/bugs/bug22246-3-expected.txt:
        * platform/win/tables/mozilla/bugs/bug22246-3a-expected.txt:
        * platform/win/tables/mozilla/bugs/bug22513-expected.txt:
        * platform/win/tables/mozilla/bugs/bug23072-expected.txt:
        * platform/win/tables/mozilla/bugs/bug23151-expected.txt:
        * platform/win/tables/mozilla/bugs/bug23235-expected.txt:
        * platform/win/tables/mozilla/bugs/bug23299-expected.txt:
        * platform/win/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/win/tables/mozilla/bugs/bug24503-expected.txt:
        * platform/win/tables/mozilla/bugs/bug24627-expected.txt:
        * platform/win/tables/mozilla/bugs/bug24880-expected.txt:
        * platform/win/tables/mozilla/bugs/bug25004-expected.txt:
        * platform/win/tables/mozilla/bugs/bug25074-expected.txt:
        * platform/win/tables/mozilla/bugs/bug25086-expected.txt:
        * platform/win/tables/mozilla/bugs/bug25367-expected.txt:
        * platform/win/tables/mozilla/bugs/bug25663-expected.txt:
        * platform/win/tables/mozilla/bugs/bug26178-expected.txt:
        * platform/win/tables/mozilla/bugs/bug26553-expected.txt:
        * platform/win/tables/mozilla/bugs/bug269566-expected.txt:
        * platform/win/tables/mozilla/bugs/bug27038-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug27038-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug275625-expected.txt:
        * platform/win/tables/mozilla/bugs/bug277062-expected.txt:
        * platform/win/tables/mozilla/bugs/bug278266-expected.txt:
        * platform/win/tables/mozilla/bugs/bug278385-expected.txt:
        * platform/win/tables/mozilla/bugs/bug27993-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/win/tables/mozilla/bugs/bug28933-expected.txt:
        * platform/win/tables/mozilla/bugs/bug29058-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug29157-expected.txt:
        * platform/win/tables/mozilla/bugs/bug29314-expected.txt:
        * platform/win/tables/mozilla/bugs/bug29429-expected.txt:
        * platform/win/tables/mozilla/bugs/bug30273-expected.txt:
        * platform/win/tables/mozilla/bugs/bug30418-expected.txt:
        * platform/win/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/win/tables/mozilla/bugs/bug30985-expected.txt:
        * platform/win/tables/mozilla/bugs/bug32205-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug32205-3-expected.txt:
        * platform/win/tables/mozilla/bugs/bug32205-5-expected.txt:
        * platform/win/tables/mozilla/bugs/bug32447-expected.txt:
        * platform/win/tables/mozilla/bugs/bug33137-expected.txt:
        * platform/win/tables/mozilla/bugs/bug33855-expected.txt:
        * platform/win/tables/mozilla/bugs/bug34538-expected.txt:
        * platform/win/tables/mozilla/bugs/bug35662-expected.txt:
        * platform/win/tables/mozilla/bugs/bug38916-expected.txt:
        * platform/win/tables/mozilla/bugs/bug39209-expected.txt:
        * platform/win/tables/mozilla/bugs/bug40828-expected.txt:
        * platform/win/tables/mozilla/bugs/bug42187-expected.txt:
        * platform/win/tables/mozilla/bugs/bug44505-expected.txt:
        * platform/win/tables/mozilla/bugs/bug44523-expected.txt:
        * platform/win/tables/mozilla/bugs/bug45055-expected.txt:
        * platform/win/tables/mozilla/bugs/bug45350-expected.txt:
        * platform/win/tables/mozilla/bugs/bug45486-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46268-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46268-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46268-3-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46268-5-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46268-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46480-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46480-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46623-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug46623-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug47432-expected.txt:
        * platform/win/tables/mozilla/bugs/bug48028-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug48028-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/win/tables/mozilla/bugs/bug51140-expected.txt:
        * platform/win/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/win/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/win/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/win/tables/mozilla/bugs/bug53690-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug53690-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug53891-expected.txt:
        * platform/win/tables/mozilla/bugs/bug55545-expected.txt:
        * platform/win/tables/mozilla/bugs/bug55694-expected.txt:
        * platform/win/tables/mozilla/bugs/bug55789-expected.txt:
        * platform/win/tables/mozilla/bugs/bug56201-expected.txt:
        * platform/win/tables/mozilla/bugs/bug56405-expected.txt:
        * platform/win/tables/mozilla/bugs/bug57300-expected.txt:
        * platform/win/tables/mozilla/bugs/bug57378-expected.txt:
        * platform/win/tables/mozilla/bugs/bug57828-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug57828-expected.txt:
        * platform/win/tables/mozilla/bugs/bug58402-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/win/tables/mozilla/bugs/bug60013-expected.txt:
        * platform/win/tables/mozilla/bugs/bug60749-expected.txt:
        * platform/win/tables/mozilla/bugs/bug60804-expected.txt:
        * platform/win/tables/mozilla/bugs/bug60807-expected.txt:
        * platform/win/tables/mozilla/bugs/bug60992-expected.txt:
        * platform/win/tables/mozilla/bugs/bug63785-expected.txt:
        * platform/win/tables/mozilla/bugs/bug67864-expected.txt:
        * platform/win/tables/mozilla/bugs/bug67915-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug68998-expected.txt:
        * platform/win/tables/mozilla/bugs/bug69187-expected.txt:
        * platform/win/tables/mozilla/bugs/bug69382-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug69382-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug72359-expected.txt:
        * platform/win/tables/mozilla/bugs/bug75250-expected.txt:
        * platform/win/tables/mozilla/bugs/bug78162-expected.txt:
        * platform/win/tables/mozilla/bugs/bug82946-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug82946-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug83786-expected.txt:
        * platform/win/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/win/tables/mozilla/bugs/bug92143-expected.txt:
        * platform/win/tables/mozilla/bugs/bug92647-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug93363-expected.txt:
        * platform/win/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/win/tables/mozilla/bugs/bug96343-expected.txt:
        * platform/win/tables/mozilla/bugs/bug97138-expected.txt:
        * platform/win/tables/mozilla/bugs/bug97383-expected.txt:
        * platform/win/tables/mozilla/bugs/bug99923-expected.txt:
        * platform/win/tables/mozilla/bugs/bug99948-expected.txt:
        * platform/win/tables/mozilla/collapsing_borders/bug127040-expected.txt:
        * platform/win/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
        * platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
        * platform/win/tables/mozilla/core/bloomberg-expected.txt:
        * platform/win/tables/mozilla/core/borders-expected.txt:
        * platform/win/tables/mozilla/core/captions-expected.txt:
        * platform/win/tables/mozilla/core/cell_heights-expected.txt:
        * platform/win/tables/mozilla/core/col_span-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_auto_auto-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_auto_autoFixPer-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_auto_autoPer-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_auto_fix-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_auto_fixPer-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_auto_per-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_fix_autoFix-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_fix_autoPer-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_fix_fix-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
        * platform/win/tables/mozilla/core/col_widths_fix_per-expected.txt:
        * platform/win/tables/mozilla/core/margins-expected.txt:
        * platform/win/tables/mozilla/core/misc-expected.txt:
        * platform/win/tables/mozilla/core/nested1-expected.txt:
        * platform/win/tables/mozilla/core/one_row-expected.txt:
        * platform/win/tables/mozilla/core/row_span-expected.txt:
        * platform/win/tables/mozilla/core/table_frame-expected.txt:
        * platform/win/tables/mozilla/core/table_heights-expected.txt:
        * platform/win/tables/mozilla/core/table_rules-expected.txt:
        * platform/win/tables/mozilla/core/table_widths-expected.txt:
        * platform/win/tables/mozilla/dom/appendCol2-expected.txt:
        * platform/win/tables/mozilla/dom/appendRowsExpand1-expected.txt:
        * platform/win/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
        * platform/win/tables/mozilla/dom/deleteCellsRebuild1-expected.txt:
        * platform/win/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
        * platform/win/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
        * platform/win/tables/mozilla/dom/deleteCol1-expected.txt:
        * platform/win/tables/mozilla/dom/deleteCol2-expected.txt:
        * platform/win/tables/mozilla/dom/deleteCol3-expected.txt:
        * platform/win/tables/mozilla/dom/deleteColGroup1-expected.txt:
        * platform/win/tables/mozilla/dom/deleteColGroup2-expected.txt:
        * platform/win/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
        * platform/win/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
        * platform/win/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
        * platform/win/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
        * platform/win/tables/mozilla/dom/insertCellsExpand1-expected.txt:
        * platform/win/tables/mozilla/dom/insertCellsExpand2-expected.txt:
        * platform/win/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
        * platform/win/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
        * platform/win/tables/mozilla/dom/insertColGroups1-expected.txt:
        * platform/win/tables/mozilla/dom/insertColGroups2-expected.txt:
        * platform/win/tables/mozilla/dom/insertCols1-expected.txt:
        * platform/win/tables/mozilla/dom/insertCols2-expected.txt:
        * platform/win/tables/mozilla/dom/insertCols3-expected.txt:
        * platform/win/tables/mozilla/dom/insertCols4-expected.txt:
        * platform/win/tables/mozilla/dom/insertCols5-expected.txt:
        * platform/win/tables/mozilla/dom/insertRowsExpand1-expected.txt:
        * platform/win/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
        * platform/win/tables/mozilla/dom/tableDom-expected.txt:
        * platform/win/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
        * platform/win/tables/mozilla/marvin/backgr_position-table-expected.txt:
        * platform/win/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
        * platform/win/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
        * platform/win/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
        * platform/win/tables/mozilla/marvin/backgr_simple-table-expected.txt:
        * platform/win/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
        * platform/win/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
        * platform/win/tables/mozilla/marvin/body_col-expected.txt:
        * platform/win/tables/mozilla/marvin/body_tbody-expected.txt:
        * platform/win/tables/mozilla/marvin/body_tfoot-expected.txt:
        * platform/win/tables/mozilla/marvin/body_thead-expected.txt:
        * platform/win/tables/mozilla/marvin/col_span-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_span-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
        * platform/win/tables/mozilla/marvin/colgroup_width_px-expected.txt:
        * platform/win/tables/mozilla/marvin/table_frame_border-expected.txt:
        * platform/win/tables/mozilla/marvin/table_frame_box-expected.txt:
        * platform/win/tables/mozilla/marvin/table_overflow_hidden_td-expected.txt:
        * platform/win/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/win/tables/mozilla/marvin/table_row_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/table_row_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/table_row_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/table_rules_all-expected.txt:
        * platform/win/tables/mozilla/marvin/table_rules_groups-expected.txt:
        * platform/win/tables/mozilla/marvin/table_rules_none-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_aqua-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_black-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_blue-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_gray-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_green-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_lime-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_maroon-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_navy-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_olive-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_purple-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_red-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_silver-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_white-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_border_0-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_border_1-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_border_2-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_border_3-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_cellpadding-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_cellspacing-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_default-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_id-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_td_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_td_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_td_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_td_colspan-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_td_height-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_td_width-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_th_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_th_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_th_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_th_colspan-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_th_height-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_th_width-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_width_percent-expected.txt:
        * platform/win/tables/mozilla/marvin/tables_width_px-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_align_justify-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_char-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/tbody_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/td_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/td_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/td_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/td_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_align_justify-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_char-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/th_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/th_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/th_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/th_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_align_justify-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_char-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/thead_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/tr_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_caption_align_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_caption_align_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_col_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/x_col_span-expected.txt:
        * platform/win/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/x_col_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_col_width_px-expected.txt:
        * platform/win/tables/mozilla/marvin/x_col_width_rel-expected.txt:
        * platform/win/tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
        * platform/win/tables/mozilla/marvin/x_colgroup_span-expected.txt:
        * platform/win/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
        * platform/win/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
        * platform/win/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
        * platform/win/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_align_left-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_align_right-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_border-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_border_none-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_border_px-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_cellpadding-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_cellpadding_pct-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_cellspacing-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_cellspacing_pct-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_frame_void-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_rules_groups-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_rules_none-expected.txt:
        * platform/win/tables/mozilla/marvin/x_table_style-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_align_center-expected.txt:
        * platform/win/tables/mozilla/marvin/x_tbody_align_char-expected.txt:

2016-02-02  Alejandro G. Castro  <alex@igalia.com>

        [GTK][EFL] Upgrade OpenWebRTC dependency
        https://bugs.webkit.org/show_bug.cgi?id=153489

        Reviewed by Philippe Normand.

        Skiped the mediastream tests by default, until we have the code
        ready and gstreamer dependency is bumped.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:

2016-02-01  Chris Dumez  <cdumez@apple.com>

        object.__lookupGetter__() / object.__lookupSetter__() does not work for native bindings
        https://bugs.webkit.org/show_bug.cgi?id=153765
        <rdar://problem/24439699>

        Reviewed by Oliver Hunt.

        Add layout tests to test that object.__lookupGetter__() / object.__lookupSetter__()
        works for native bindings.

        * js/lookupGetterGetter-native-bindings-expected.txt: Added.
        * js/lookupGetterGetter-native-bindings.html: Added.

2016-02-01  Chris Dumez  <cdumez@apple.com>

        Unreviewed, fix http/tests/security/cross-origin-window-property-access.html

        Update http/tests/security/cross-origin-window-property-access.html that was
        introduced in r196001 so that it does not assert on Mac DRT. Mac DRT asserts
        that testRunner.waitUntilDone() must be called *BEFORE* calling window.open().

        * http/tests/security/cross-origin-window-property-access.html:

2016-02-01  Chris Dumez  <cdumez@apple.com>

        Native Bindings Descriptors are Incomplete
        https://bugs.webkit.org/show_bug.cgi?id=140575
        <rdar://problem/19506502>

        Reviewed by Oliver Hunt.

        Add test coverage.

        * http/tests/security/cross-origin-window-property-access-expected.txt: Added.
        * http/tests/security/cross-origin-window-property-access.html: Added.
        * inspector/runtime/getProperties-expected.txt:
        * js/dom/native-bindings-descriptors-expected.txt: Added.
        * js/dom/native-bindings-descriptors.html: Added.
        * js/dom/native-bindings-descriptors2-expected.txt: Added.
        * js/dom/native-bindings-descriptors2.html: Added.
        * js/dom/native-bindings-descriptors3-expected.txt: Added.
        * js/dom/native-bindings-descriptors3.html: Added.
        * js/dom/native-bindings-descriptors4-expected.txt: Added.
        * js/dom/native-bindings-descriptors4.html: Added.
        * js/dom/native-bindings-descriptors5-expected.txt: Added.
        * js/dom/native-bindings-descriptors5.html: Added.

2016-02-01  Ryosuke Niwa  <rniwa@webkit.org>

        [GTK] [EFL] [AppleWin] Layout Test fast/shadow-dom/slot-removal-crash-2.html timeouts
        https://bugs.webkit.org/show_bug.cgi?id=153772

        Reviewed by Michael Catanzaro.

        Don't call wait untilDone if attachShadow is not available.

        * fast/shadow-dom/slot-removal-crash-2.html:

2016-02-01  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: High Level Memory Overview Instrument
        https://bugs.webkit.org/show_bug.cgi?id=153516
        <rdar://problem/24356378>

        Reviewed by Brian Burg.

        * inspector/memory/tracking-expected.txt: Added.
        * inspector/memory/tracking.html: Added.
        Basic test for the new domain tracking commands and events.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/win/TestExpectations:
        Skip the directory on ports that have not implemented ENABLE(RESOURCE_USAGE).

2016-02-01  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping http/tests/plugins/visible_plugins.html on Yosemite during investigation.
        https://bugs.webkit.org/show_bug.cgi?id=153752

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-01  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection-1.html as flaky on Mac debug
        https://bugs.webkit.org/show_bug.cgi?id=153781

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-02-01  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK+ Gardening.

        * platform/efl/TestExpectations: Add fast/shadow-dom/slot-removal-crash-2.html timeout expectation.
        * platform/gtk/TestExpectations: Report and update a bunch of test expectations.
        * platform/win/TestExpectations: Add fast/shadow-dom/slot-removal-crash-2.html timeout expectation.

2016-02-01  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153336

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-01  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/appcache/404-resource-with-slow-main-resource.php as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=153503

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-01  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/replaced/preferred-widths.html as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153311

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-01  Ryan Haddad  <ryanhaddad@apple.com>

        Skip fast/shadow-dom/touch-event-ios.html on ios-simulator since touch events are not supported.
        https://bugs.webkit.org/show_bug.cgi?id=149592

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-02-01  Chris Dumez  <cdumez@apple.com>

        Move properties that use custom bindings to the prototype
        https://bugs.webkit.org/show_bug.cgi?id=153735

        Reviewed by Darin Adler.

        Rebaseline / update existing tests now that properties using custom
        bindings are on the prototype, as expected.

        * fast/mediastream/MediaStream-video-element-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-properties-prototype-expected.txt:
        * inspector/model/remote-object-get-properties-expected.txt:
        * js/dom/dom-attributes-on-mismatch-type-expected.txt:
        * js/dom/dom-attributes-on-mismatch-type.html:
        * platform/mac/inspector/model/remote-object-expected.txt:

2016-02-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Implement Fetch API Request
        https://bugs.webkit.org/show_bug.cgi?id=153437

        Reviewed by Darin Adler.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-01-31  Jeremy Jones  <jeremyj@apple.com>

        Add resize event for HTMLMediaElement
        https://bugs.webkit.org/show_bug.cgi?id=125715

        Reviewed by Darin Adler.
        
        Update test for change: move resize javascript event from DOMWindow.idl to GlobalEventHandlers.idl
        per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

        * fast/dom/event-handler-attributes-expected.txt: Rebaselined.
        * fast/dom/event-handler-attributes.html:
            Move resize from uniqueWindowEvents to eventsInGlobalEventHandlers.
        * http/tests/media/hls/hls-video-resize-expected.txt: Added.
        * http/tests/media/hls/hls-video-resize.html: Added.
        * js/dom/dom-static-property-for-in-iteration-expected.txt: Rebaselined.
        * media/video-resize-expected.txt: Added.
        * media/video-resize.html: Added.
        * media/video-test.js:
        (requiredEvents): Deleted global. Value is now captured by closure.
        (waitForEventsAndCall): Remove dependence on global variable, and fix event observation leak.

2016-01-31  Brent Fulgham  <bfulgham@apple.com>

        Add "WebKit built-in PDF" Plugin to set of publicly visible plugins
        https://bugs.webkit.org/show_bug.cgi?id=153657
        <rdar://problem/24413107>

        Reviewed by Darin Adler.

        * http/tests/plugins/visible_plugins-expected.txt: Added.
        * http/tests/plugins/visible_plugins.html: Added.
        * platform/mac-wk2/http/tests/plugins: Added.
        * platform/mac-wk2/http/tests/plugins/visible_plugins-expected.txt: Added.

2016-01-31  Doug Russell  <d_russell@apple.com>

        AX: Add a boundary value to AXTextStateChangeType
        https://bugs.webkit.org/show_bug.cgi?id=153085

        Reviewed by Darin Adler.

        Post an AT notification when navigation is attempted past
        an editable element's boundaries.

        * accessibility/mac/selection-boundary-userinfo-expected.txt: Added.
        * accessibility/mac/selection-boundary-userinfo.html: Added.

2016-01-31  Daniel Bates  <dabates@apple.com>

        CSP: Use the served CSP header for dedicated workers
        https://bugs.webkit.org/show_bug.cgi?id=153157
        <rdar://problem/24383254>
        And
        https://bugs.webkit.org/show_bug.cgi?id=153156
        <rdar://problem/24383246>

        Reviewed by Brent Fulgham.

        Add new tests to ensure we block eval() in blob-, file-URL workers and block XHR in a file-URL worker.

        * TestExpectations: Remove now passing tests http/tests/security/contentSecurityPolicy/worker-{multiple-csp-headers, without-own-csp}.html
        and update the associated bug # for tests that fail.
        * fast/workers/resources/worker-inherits-csp-blocks-eval.js: Added.
        (catch):
        * fast/workers/resources/worker-inherits-csp-blocks-xhr.js: Added.
        (catch):
        * fast/workers/worker-inherits-csp-blocks-eval-expected.txt: Added.
        * fast/workers/worker-inherits-csp-blocks-eval.html: Added.
        * fast/workers/worker-inherits-csp-blocks-xhr-expected.txt: Added.
        * fast/workers/worker-inherits-csp-blocks-xhr.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers-expected.txt: Updated expected results as
        the result was incorrect.
        * http/tests/security/contentSecurityPolicy/worker-without-own-csp-expected.txt: Ditto.

2016-01-27  Daniel Bates  <dabates@apple.com>

        CSP: Use the served CSP header for dedicated workers
        https://bugs.webkit.org/show_bug.cgi?id=153157
        And
        https://bugs.webkit.org/show_bug.cgi?id=153156

        Reviewed by Brent Fulgham.

        Remove some tests that now pass and update the expected results of existing tests.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-without-own-csp-expected.txt:

2016-01-31  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed. EFL gardening: rebaseline tests after r195740. (more to follow)

        * platform/efl/css1/basic/containment-expected.txt:
        * platform/efl/css1/basic/contextual_selectors-expected.txt:
        * platform/efl/css1/basic/grouping-expected.txt:
        * platform/efl/css1/basic/id_as_selector-expected.txt:
        * platform/efl/css1/basic/inheritance-expected.txt:
        * platform/efl/css1/box_properties/border-expected.txt:
        * platform/efl/css1/box_properties/border_bottom-expected.txt:
        * platform/efl/css1/box_properties/border_bottom_inline-expected.txt:
        * platform/efl/css1/box_properties/border_bottom_width-expected.txt:
        * platform/efl/css1/box_properties/border_bottom_width_inline-expected.txt:
        * platform/efl/css1/box_properties/border_color-expected.txt:
        * platform/efl/css1/box_properties/border_color_inline-expected.txt:
        * platform/efl/css1/box_properties/border_inline-expected.txt:
        * platform/efl/css1/box_properties/border_left-expected.txt:
        * platform/efl/css1/box_properties/border_left_inline-expected.txt:
        * platform/efl/css1/box_properties/border_left_width-expected.txt:
        * platform/efl/css1/box_properties/border_left_width_inline-expected.txt:
        * platform/efl/css1/box_properties/border_right-expected.txt:
        * platform/efl/css1/box_properties/border_right_inline-expected.txt:
        * platform/efl/css1/box_properties/border_right_width-expected.txt:
        * platform/efl/css1/box_properties/border_right_width_inline-expected.txt:
        * platform/efl/css1/box_properties/border_style-expected.txt:
        * platform/efl/css1/box_properties/border_style_inline-expected.txt:
        * platform/efl/css1/box_properties/border_top-expected.txt:
        * platform/efl/css1/box_properties/border_top_inline-expected.txt:
        * platform/efl/css1/box_properties/border_top_width-expected.txt:
        * platform/efl/css1/box_properties/border_top_width_inline-expected.txt:
        * platform/efl/css1/box_properties/clear-expected.txt:
        * platform/efl/css1/box_properties/clear_float-expected.txt:
        * platform/efl/css1/box_properties/float-expected.txt:
        * platform/efl/css1/box_properties/float_elements_in_series-expected.txt:
        * platform/efl/css1/box_properties/float_margin-expected.txt:
        * platform/efl/css1/box_properties/height-expected.txt:
        * platform/efl/css1/box_properties/margin-expected.txt:
        * platform/efl/css1/box_properties/margin_bottom-expected.txt:
        * platform/efl/css1/box_properties/margin_bottom_inline-expected.txt:
        * platform/efl/css1/box_properties/margin_inline-expected.txt:
        * platform/efl/css1/box_properties/margin_left-expected.txt:
        * platform/efl/css1/box_properties/margin_left_inline-expected.txt:
        * platform/efl/css1/box_properties/margin_right-expected.txt:
        * platform/efl/css1/box_properties/margin_right_inline-expected.txt:
        * platform/efl/css1/box_properties/margin_top-expected.txt:
        * platform/efl/css1/box_properties/margin_top_inline-expected.txt:
        * platform/efl/css1/box_properties/padding-expected.txt:
        * platform/efl/css1/box_properties/padding_bottom-expected.txt:
        * platform/efl/css1/box_properties/padding_bottom_inline-expected.txt:
        * platform/efl/css1/box_properties/padding_inline-expected.txt:
        * platform/efl/css1/box_properties/padding_left-expected.txt:
        * platform/efl/css1/box_properties/padding_left_inline-expected.txt:
        * platform/efl/css1/box_properties/padding_right-expected.txt:
        * platform/efl/css1/box_properties/padding_right_inline-expected.txt:
        * platform/efl/css1/box_properties/padding_top-expected.txt:
        * platform/efl/css1/box_properties/padding_top_inline-expected.txt:
        * platform/efl/css1/box_properties/width-expected.txt:
        * platform/efl/css1/cascade/cascade_order-expected.txt:
        * platform/efl/css1/cascade/important-expected.txt:
        * platform/efl/css1/classification/display-expected.txt:
        * platform/efl/css1/classification/list_style-expected.txt:
        * platform/efl/css1/classification/list_style_image-expected.txt:
        * platform/efl/css1/classification/list_style_position-expected.txt:
        * platform/efl/css1/classification/list_style_type-expected.txt:
        * platform/efl/css1/classification/white_space-expected.txt:
        * platform/efl/css1/color_and_background/background-expected.txt:
        * platform/efl/css1/color_and_background/background_attachment-expected.txt:
        * platform/efl/css1/color_and_background/background_color-expected.txt:
        * platform/efl/css1/color_and_background/background_image-expected.txt:
        * platform/efl/css1/color_and_background/background_position-expected.txt:
        * platform/efl/css1/color_and_background/background_repeat-expected.txt:
        * platform/efl/css1/color_and_background/color-expected.txt:
        * platform/efl/css1/conformance/forward_compatible_parsing-expected.txt:
        * platform/efl/css1/font_properties/font-expected.txt:
        * platform/efl/css1/font_properties/font_family-expected.txt:
        * platform/efl/css1/font_properties/font_size-expected.txt:
        * platform/efl/css1/font_properties/font_style-expected.txt:
        * platform/efl/css1/font_properties/font_variant-expected.txt:
        * platform/efl/css1/font_properties/font_weight-expected.txt:
        * platform/efl/css1/formatting_model/canvas-expected.txt:
        * platform/efl/css1/formatting_model/height_of_lines-expected.txt:
        * platform/efl/css1/formatting_model/inline_elements-expected.txt:
        * platform/efl/css1/formatting_model/replaced_elements-expected.txt:
        * platform/efl/css1/formatting_model/vertical_formatting-expected.txt:
        * platform/efl/css1/pseudo/anchor-expected.txt:
        * platform/efl/css1/pseudo/firstletter-expected.txt:
        * platform/efl/css1/pseudo/firstline-expected.txt:
        * platform/efl/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/efl/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
        * platform/efl/css1/text_properties/letter_spacing-expected.txt:
        * platform/efl/css1/text_properties/line_height-expected.txt:
        * platform/efl/css1/text_properties/text_align-expected.txt:
        * platform/efl/css1/text_properties/text_decoration-expected.txt:
        * platform/efl/css1/text_properties/text_indent-expected.txt:
        * platform/efl/css1/text_properties/text_transform-expected.txt:
        * platform/efl/css1/text_properties/vertical_align-expected.txt:
        * platform/efl/css1/text_properties/word_spacing-expected.txt:
        * platform/efl/css1/units/color_units-expected.txt:
        * platform/efl/css1/units/length_units-expected.txt:
        * platform/efl/css1/units/percentage_units-expected.txt:
        * platform/efl/css1/units/urls-expected.txt:
        * platform/efl/css2.1/20110323/border-collapse-offset-002-expected.txt:
        * platform/efl/css2.1/20110323/border-conflict-style-079-expected.txt:
        * platform/efl/css2.1/20110323/border-conflict-style-088-expected.txt:
        * platform/efl/css2.1/20110323/dynamic-top-change-002-expected.txt:
        * platform/efl/css2.1/20110323/dynamic-top-change-003-expected.txt:
        * platform/efl/css2.1/20110323/inline-table-001-expected.txt:
        * platform/efl/css2.1/20110323/inline-table-002a-expected.txt:
        * platform/efl/css2.1/20110323/inline-table-003-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-001-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-002-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-003-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-004-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-005-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-006-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-007-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-013-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-014-expected.txt:
        * platform/efl/css2.1/20110323/margin-applies-to-015-expected.txt:
        * platform/efl/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt:
        * platform/efl/css2.1/20110323/table-caption-001-expected.txt:
        * platform/efl/css2.1/20110323/table-caption-optional-001-expected.txt:
        * platform/efl/css2.1/20110323/table-caption-optional-002-expected.txt:
        * platform/efl/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
        * platform/efl/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt:
        * platform/efl/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt:
        * platform/efl/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt:
        * platform/efl/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt:
        * platform/efl/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt:
        * platform/efl/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-30-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-70-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
        * platform/efl/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-18-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-29-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-29b-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-33-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-73-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-73b-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-77-expected.txt:
        * platform/efl/css3/selectors3/html/css3-modsel-77b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-29-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-29b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-33-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-73-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-73b-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-77-expected.txt:
        * platform/efl/css3/selectors3/xhtml/css3-modsel-77b-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-18-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-29-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-29b-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-33-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-73-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-73b-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-77-expected.txt:
        * platform/efl/css3/selectors3/xml/css3-modsel-77b-expected.txt:
        * platform/efl/editing/deleting/4922367-expected.txt:
        * platform/efl/editing/deleting/5126166-expected.txt:
        * platform/efl/editing/deleting/5206311-1-expected.txt:
        * platform/efl/editing/deleting/5433862-2-expected.txt:
        * platform/efl/editing/inserting/paragraph-separator-in-table-1-expected.txt:
        * platform/efl/editing/selection/3690703-2-expected.txt:
        * platform/efl/editing/selection/3690703-expected.txt:
        * platform/efl/editing/selection/3690719-expected.txt:
        * platform/efl/editing/selection/5057506-2-expected.txt:
        * platform/efl/editing/selection/5057506-expected.txt:
        * platform/efl/editing/selection/5131716-1-expected.txt:
        * platform/efl/editing/selection/5131716-2-expected.txt:
        * platform/efl/editing/selection/5131716-3-expected.txt:
        * platform/efl/editing/selection/5131716-4-expected.txt:
        * platform/efl/editing/selection/move-by-line-001-expected.txt:
        * platform/efl/editing/selection/select-all-004-expected.txt:
        * platform/efl/editing/unsupported-content/table-type-after-expected.txt:
        * platform/efl/editing/unsupported-content/table-type-before-expected.txt:
        * platform/efl/fast/block/basic/016-expected.txt:
        * platform/efl/fast/block/basic/quirk-percent-height-table-cell-expected.txt:
        * platform/efl/fast/block/float/015-expected.txt:
        * platform/efl/fast/block/margin-collapse/006-expected.txt:
        * platform/efl/fast/block/margin-collapse/010-expected.txt:
        * platform/efl/fast/block/margin-collapse/011-expected.txt:
        * platform/efl/fast/block/margin-collapse/012-expected.txt:
        * platform/efl/fast/block/margin-collapse/015-expected.txt:
        * platform/efl/fast/block/margin-collapse/016-expected.txt:
        * platform/efl/fast/block/margin-collapse/017-expected.txt:
        * platform/efl/fast/block/margin-collapse/018-expected.txt:
        * platform/efl/fast/block/margin-collapse/019-expected.txt:
        * platform/efl/fast/block/margin-collapse/020-expected.txt:
        * platform/efl/fast/block/margin-collapse/021-expected.txt:
        * platform/efl/fast/block/margin-collapse/022-expected.txt:
        * platform/efl/fast/block/margin-collapse/025-expected.txt:
        * platform/efl/fast/block/margin-collapse/032-expected.txt:
        * platform/efl/fast/block/margin-collapse/033-expected.txt:
        * platform/efl/fast/block/margin-collapse/034-expected.txt:
        * platform/efl/fast/block/margin-collapse/041-expected.txt:
        * platform/efl/fast/block/margin-collapse/042-expected.txt:
        * platform/efl/fast/block/margin-collapse/055-expected.txt:
        * platform/efl/fast/block/margin-collapse/056-expected.txt:
        * platform/efl/fast/block/margin-collapse/057-expected.txt:
        * platform/efl/fast/block/margin-collapse/058-expected.txt:
        * platform/efl/fast/block/margin-collapse/059-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/006-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/010-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/011-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/012-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/015-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/016-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/017-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/018-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/019-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/020-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/021-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/022-expected.txt:
        * platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
        * platform/efl/fast/block/positioning/negative-right-pos-expected.txt:
        * platform/efl/fast/block/positioning/table-cell-static-position-expected.txt:
        * platform/efl/fast/borders/border-antialiasing-expected.txt:
        * platform/efl/fast/borders/border-radius-different-width-001-expected.txt:
        * platform/efl/fast/borders/table-borders-expected.txt:
        * platform/efl/fast/css-generated-content/first-letter-in-nested-before-expected.txt:
        * platform/efl/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
        * platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
        * platform/efl/fast/css-generated-content/table-cell-before-after-child-add-expected.txt:
        * platform/efl/fast/css-generated-content/table-parts-before-and-after-expected.txt:
        * platform/efl/fast/css-generated-content/table-row-group-with-before-expected.txt:
        * platform/efl/fast/css-generated-content/table-row-with-before-expected.txt:
        * platform/efl/fast/css-generated-content/table-with-before-expected.txt:
        * platform/efl/fast/css/003-expected.txt:
        * platform/efl/fast/css/absolute-poition-in-rtl-parent-expected.txt:
        * platform/efl/fast/css/acid2-expected.txt:
        * platform/efl/fast/css/acid2-pixel-expected.txt:
        * platform/efl/fast/css/bidi-override-in-anonymous-block-expected.txt:
        * platform/efl/fast/css/box-shadow-and-border-radius-expected.txt:
        * platform/efl/fast/css/caption-width-absolute-position-expected.txt:
        * platform/efl/fast/css/caption-width-absolute-position-offset-top-expected.txt:
        * platform/efl/fast/css/caption-width-fixed-position-expected.txt:
        * platform/efl/fast/css/caption-width-fixed-position-offset-top-expected.txt:
        * platform/efl/fast/css/caption-width-relative-position-expected.txt:
        * platform/efl/fast/css/caption-width-relative-position-offset-top-expected.txt:
        * platform/efl/fast/css/css3-nth-child-expected.txt:
        * platform/efl/fast/css/focus-ring-detached-expected.txt:
        * platform/efl/fast/css/focus-ring-multiline-expected.txt:
        * platform/efl/fast/css/h1-in-section-elements-expected.txt:
        * platform/efl/fast/css/image-rendering-expected.txt:
        * platform/efl/fast/css/min-width-with-spanned-cell-expected.txt:
        * platform/efl/fast/css/percentage-non-integer-expected.txt:
        * platform/efl/fast/css/table-text-align-quirk-expected.txt:
        * platform/efl/fast/css/table-text-align-strict-expected.txt:
        * platform/efl/fast/dom/34176-expected.txt:
        * platform/efl/fast/dom/HTMLTableElement/colSpan-expected.txt:
        * platform/efl/fast/dom/HTMLTableElement/createCaption-expected.txt:
        * platform/efl/fast/dom/row-inner-text-expected.txt:
        * platform/efl/fast/dynamic/001-expected.txt:
        * platform/efl/fast/dynamic/containing-block-change-expected.txt:
        * platform/efl/fast/dynamic/float-withdrawal-expected.txt:
        * platform/efl/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
        * platform/efl/fast/dynamic/subtree-table-cell-height-expected.txt:
        * platform/efl/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/efl/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/efl/fast/forms/001-expected.txt:
        * platform/efl/fast/forms/005-expected.txt:
        * platform/efl/fast/forms/basic-buttons-expected.txt:
        * platform/efl/fast/forms/form-element-geometry-expected.txt:
        * platform/efl/fast/forms/form-hides-table-expected.txt:
        * platform/efl/fast/forms/form-in-malformed-markup-expected.txt:
        * platform/efl/fast/forms/formmove3-expected.txt:
        * platform/efl/fast/forms/input-table-expected.txt:
        * platform/efl/fast/forms/listbox-bidi-align-expected.txt:
        * platform/efl/fast/forms/preserveFormDuringResidualStyle-expected.txt:
        * platform/efl/fast/forms/select-dirty-parent-pref-widths-expected.txt:
        * platform/efl/fast/html/details-writing-mode-expected.txt:
        * platform/efl/fast/inline-block/001-expected.txt:
        * platform/efl/fast/inline-block/overflow-clip-expected.txt:
        * platform/efl/fast/invalid/012-expected.txt:
        * platform/efl/fast/invalid/018-expected.txt:
        * platform/efl/fast/lists/004-expected.txt:
        * platform/efl/fast/lists/list-marker-before-content-table-expected.txt:
        * platform/efl/fast/multicol/span/before-child-anonymous-column-block-expected.txt:
        * platform/efl/fast/overflow/002-expected.txt:
        * platform/efl/fast/overflow/overflow-rtl-expected.txt:
        * platform/efl/fast/overflow/overflow-rtl-vertical-expected.txt:
        * platform/efl/fast/overflow/table-overflow-float-expected.txt:
        * platform/efl/fast/reflections/table-cell-expected.txt:
        * platform/efl/fast/repaint/block-selection-gap-in-table-cell-expected.txt:
        * platform/efl/fast/repaint/float-overflow-expected.txt:
        * platform/efl/fast/repaint/float-overflow-right-expected.txt:
        * platform/efl/fast/repaint/subtree-root-clip-3-expected.txt:
        * platform/efl/fast/repaint/table-cell-collapsed-border-expected.txt:
        * platform/efl/fast/repaint/table-cell-collapsed-border-scroll-expected.txt:
        * platform/efl/fast/repaint/table-cell-move-expected.txt:
        * platform/efl/fast/repaint/table-cell-overflow-expected.txt:
        * platform/efl/fast/repaint/table-cell-vertical-overflow-expected.txt:
        * platform/efl/fast/repaint/table-col-background-expected.txt:
        * platform/efl/fast/repaint/table-collapsed-border-expected.txt:
        * platform/efl/fast/repaint/table-extra-bottom-grow-expected.txt:
        * platform/efl/fast/repaint/table-outer-border-expected.txt:
        * platform/efl/fast/repaint/table-row-expected.txt:
        * platform/efl/fast/repaint/table-section-overflow-expected.txt:
        * platform/efl/fast/repaint/table-section-repaint-expected.txt:
        * platform/efl/fast/repaint/table-two-pass-layout-overpaint-expected.txt:
        * platform/efl/fast/repaint/table-writing-modes-h-expected.txt:
        * platform/efl/fast/repaint/table-writing-modes-v-expected.txt:

2016-01-30  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r195799 and r195828.
        https://bugs.webkit.org/show_bug.cgi?id=153722

        Caused assertion failures, severely affecting EWS (Requested
        by ap on #webkit).

        Reverted changesets:

        "Web Inspector: InspectorTimelineAgent doesn't need to
        recompile functions because it now uses the sampling profiler"
        https://bugs.webkit.org/show_bug.cgi?id=153500
        http://trac.webkit.org/changeset/195799

        "Attempt to fix the Windows build after r195799"
        http://trac.webkit.org/changeset/195828

2016-01-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: Some tests crash with specific odd database names.
        https://bugs.webkit.org/show_bug.cgi?id=153688

        Reviewed by Darin Adler.

        * platform/mac-wk1/TestExpectations:

2016-01-30  Eric Carlson  <eric.carlson@apple.com>

        More than one audio and/or text track sometimes selected in media controls menu
        https://bugs.webkit.org/show_bug.cgi?id=153664

        Reviewed by Jer Noble.

        * media/controls/controls-test-helpers.js:
        (ControlsTest.prototype.get currentState):
        (ControlsTest.prototype.get video):
        (ControlsTest.prototype.stateForControlsElement):
        (ControlsTest.prototype.handleEvent):
        (ControlsTest.prototype.setup):
        (ControlsTest.prototype.start):
        (ControlsTest.prototype.isEqualTo):
        (ControlsTest.prototype.isNotEqualTo):
        (ControlsTest.prototype.contains):
        * media/controls/track-menu-expected.txt: Added.
        * media/controls/track-menu.html: Added.

2016-01-30  Chris Dumez  <cdumez@apple.com>

        [JS Bindings] prototype.constructor should be writable
        https://bugs.webkit.org/show_bug.cgi?id=149412
        <rdar://problem/22545096>

        Reviewed by Darin Adler.

        * fast/dom/HTMLDocument/constructor-setter-crash-expected.txt: Added.
        * fast/dom/HTMLDocument/constructor-setter-crash.html: Added.
        Add regression test for crash at <rdar://problem/22825602>.

        * fast/dom/prototype-constructor-setter-expected.txt: Added.
        * fast/dom/prototype-constructor-setter.html: Added.
        Add new test checking that prototype.constructor is writable.

        * js/dom/constructor-attributes-expected.txt:
        Rebaseline existing test now that prototype.constructor is writable.

2016-01-30  Chris Dumez  <cdumez@apple.com>

        Move more 'constructor' properties to the prototype
        https://bugs.webkit.org/show_bug.cgi?id=153667

        Reviewed by Darin Adler.

        Rebaseline a couple of tests now that 'constructor' is on the prototype
        for more interfaces.

        * fast/dom/htmlcollection-getownpropertynames-expected.txt:
        * storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:

2016-01-30  Ryosuke Niwa  <rniwa@webkit.org>

        TouchList should be retargeted
        https://bugs.webkit.org/show_bug.cgi?id=149592

        Reviewed by Antti Koivisto.

        Added a regression test for retargeting touch targets on iOS.

        * fast/shadow-dom/touch-event-ios-expected.txt: Added.
        * fast/shadow-dom/touch-event-ios.html: Added.
        * platform/mac/TestExpectations: Added the failing expectation on Mac since touch support is not enabled.

2016-01-30  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Two disk cache tests are failing

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-01-30  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Some W3C DOM tests are failing

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-01-30  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] IndexedDB expectations gardening

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-01-30  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html is failing

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-01-30  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Some organization in the test expectations file

        Unreviewed.

        * platform/gtk/TestExpectations:

2016-01-30  Dave Hyatt  <hyatt@apple.com>

        Support break-after, break-before and break-inside.
        https://bugs.webkit.org/show_bug.cgi?id=148814

        Reviewed by Dean Jackson.

        * TestExpectations:
        * fast/multicol/standardized-break-properties-expected.txt: Added.
        * fast/multicol/standardized-break-properties.html: Added.
        * fast/multicol/vertical-lr/standardized-break-properties-expected.txt: Added.
        * fast/multicol/vertical-lr/standardized-break-properties.html: Added.
        * fast/multicol/vertical-rl/standardized-break-properties-expected.txt: Added.
        * fast/multicol/vertical-rl/standardized-break-properties.html: Added.
        * fast/regions/text-break-properties-expected.txt: Added.
        * fast/regions/text-break-properties.html: Added.
        * printing/allowed-breaks-expected.txt: Added.
        * printing/allowed-breaks.html: Added.
        * printing/break-after-avoid-expected.txt: Added.
        * printing/break-after-avoid-page-expected.txt: Added.
        * printing/break-after-avoid-page.html: Added.
        * printing/break-after-avoid.html: Added.
        * printing/break-always-expected.txt: Added.
        * printing/break-always.html: Added.
        * printing/break-avoid-expected.txt: Added.
        * printing/break-avoid-page-expected.txt: Added.
        * printing/break-avoid-page.html: Added.
        * printing/break-avoid.html: Added.
        * printing/break-display-none-expected.txt: Added.
        * printing/break-display-none.html: Added.
        * printing/break-inside-avoid-expected.txt: Added.
        * printing/break-inside-avoid-page-expected.txt: Added.
        * printing/break-inside-avoid-page.html: Added.
        * printing/break-inside-avoid.html: Added.
        * printing/script-tests/allowed-breaks.js: Added.
        (test):
        * printing/script-tests/break-after-avoid-page.js: Added.
        (test):
        * printing/script-tests/break-after-avoid.js: Added.
        (test):
        * printing/script-tests/break-always.js: Added.
        (test):
        * printing/script-tests/break-avoid-page.js: Added.
        (test):
        * printing/script-tests/break-avoid.js: Added.
        (test):
        * printing/script-tests/break-display-none.js: Added.
        (test):
        * printing/script-tests/break-inside-avoid-page.js: Added.
        (test):
        * printing/script-tests/break-inside-avoid.js: Added.
        (test):

2016-01-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Mark two CSS multicolumn tests as failing

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-01-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Mark two scrollbar tests as crashing

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-01-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Really mark imported/blink/fast/css/first-letter-float-block.html as crashing

        Unreviewed test gardening. Copypaste error in the previous commit.

        * platform/gtk/TestExpectations:

2016-01-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Mark imported/blink/fast/css/first-letter-float-block.html as crashing

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-01-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Mark some accessibility role tests as failing

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-01-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Mark some content security policy tests as failing

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-01-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Mark Ruby expansion tests as failing

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2016-01-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Add expectations for media source SourceBuffer tests

        Unreviewed test gardening.

        * platform/gtk/http/tests/media/media-source/SourceBuffer-abort-expected.txt: Added.
        * platform/gtk/http/tests/media/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
        * platform/gtk/http/tests/media/media-source/SourceBuffer-abort-removed-expected.txt: Added.
        * platform/gtk/http/tests/media/media-source/SourceBuffer-abort-updating-expected.txt: Added.

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/block/basic/016.html for ios-simulator after r195740

        Unreviewed test gardening.

        * platform/ios-simulator/fast/block/basic/016-expected.txt:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Last commit should have marked fast/text/fallback-language-han-2.html as an ImageOnlyFailure. Fixing that.
        https://bugs.webkit.org/show_bug.cgi?id=152438

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/text/fallback-language-han-2.html as failing on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=152438

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking two WPT dom-tree-accessors/document.getElementsByName tests as failing on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=153370

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webarchive/loading/object.html as flaky on ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=153380

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking all displaylists tests as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153656

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/parser/external-entities-in-xslt.xml as flaky on El Capitan
        https://bugs.webkit.org/show_bug.cgi?id=153683

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-01-29  Ryosuke Niwa  <rniwa@webkit.org>

        fast/shadow-dom/Element-interface-attachShadow.html fails on iOS
        https://bugs.webkit.org/show_bug.cgi?id=153681

        Reviewed by Antti Koivisto.

        Enable shadow DOM and custom elements tests on iOS; matches that's in platform/mac/TestExpectations.

        * platform/ios-simulator/TestExpectations:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Missed one rebaseline for ios-simulator after r195740 in the last patch.

        Unreviewed test gardening.

        * platform/ios-simulator/fast/forms/form-in-malformed-markup-expected.txt:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining tests on ios-simulator after r195740

        Unreviewed test gardning.

        * platform/ios-simulator-wk2/editing/inserting/paragraph-separator-in-table-1-expected.txt: Removed.
        * platform/ios-simulator/compositing/contents-opaque/table-parts-expected.txt:
        * platform/ios-simulator/fast/text/emoji-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_align_center-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_align_left-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_align_right-expected.txt:

2016-01-29  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations: Break out some IDB failures with better descriptions.

2016-01-29  Brady Eidson  <beidson@apple.com>

        Modern IDB: Getting records for key ranges with null keys aren't properly handled in SQLite backend
        https://bugs.webkit.org/show_bug.cgi?id=153666

        Reviewed by Tim Horton.

        * platform/mac-wk1/TestExpectations:

2016-01-29  Simon Fraser  <simon.fraser@apple.com>

        image-rendering: -webkit-optimize-contrast not working for background images
        https://bugs.webkit.org/show_bug.cgi?id=97991

        Reviewed by Darin Adler.

        * fast/images/image-rendering-interpolation-expected.html: Added.
        * fast/images/image-rendering-interpolation.html: Added.

2016-01-29  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/modern/index-3.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=153661

        Reviewed by Tim Horton.

        * platform/mac-wk1/TestExpectations:

2015-12-22  Pranjal Jumde  <pjumde@apple.com>

        Test to check for stack recursion when indexed propertyNames defined using Object.defineProperty are deleted.
        https://bugs.webkit.org/show_bug.cgi?id=149179
        <rdar://problem/22708019>.

        Reviewed by Dean Jackson.

        * storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt: Added.
        * storage/domstorage/localstorage/delete-defineproperty-removal.html: Added.

2016-01-29  Brent Fulgham  <bfulgham@apple.com>

        [WebGL] Check vertex array bounds before permitting a glDrawArrays to execute
        https://bugs.webkit.org/show_bug.cgi?id=153643
        <rdar://problem/23424456>

        Reviewed by Dean Jackson.

        * fast/canvas/webgl/webgl-drawarrays-crash-expected.txt: Added.
        * fast/canvas/webgl/webgl-drawarrays-crash.html: Added.

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/forms tests after r195700
        https://bugs.webkit.org/show_bug.cgi?id=153618

        Unreviewed test gardening.

        * fast/forms/date/ValidityState-rangeOverflow-date-expected.txt:
        * fast/forms/date/ValidityState-rangeUnderflow-date-expected.txt:
        * fast/forms/datetimelocal/ValidityState-rangeOverflow-datetimelocal-expected.txt:
        * fast/forms/datetimelocal/ValidityState-rangeUnderflow-datetimelocal-expected.txt:
        * fast/forms/month/ValidityState-rangeOverflow-month-expected.txt:
        * fast/forms/month/ValidityState-rangeUnderflow-month-expected.txt:
        * fast/forms/time/time-validity-rangeoverflow-expected.txt:
        * fast/forms/time/time-validity-rangeunderflow-expected.txt:
        * fast/forms/week/ValidityState-rangeOverflow-week-expected.txt:
        * fast/forms/week/ValidityState-rangeUnderflow-week-expected.txt:

2016-01-29  Brady Eidson  <beidson@apple.com>

        Modern IDB: Fix logging that overwhelms python with strings of excessive length.
        https://bugs.webkit.org/show_bug.cgi?id=153652

        Reviewed by Tim Horton.

        * platform/mac-wk1/TestExpectations:

2016-01-29  Saam barati  <sbarati@apple.com>

        Exits from exceptions shouldn't jettison code
        https://bugs.webkit.org/show_bug.cgi?id=153564

        Reviewed by Geoffrey Garen.

        * js/regress/script-tests/v8-raytrace-with-try-catch-high-frequency-throws.js: Added.
        (randomException):
        (Class.create):
        (Object.extend):
        (Flog.RayTracer.Color.prototype.initialize):
        (Flog.RayTracer.Color.prototype.add):
        (Flog.RayTracer.Color.prototype.addScalar):
        (Flog.RayTracer.Color.prototype.subtract):
        (Flog.RayTracer.Color.prototype.multiply):
        (Flog.RayTracer.Color.prototype.multiplyScalar):
        (Flog.RayTracer.Color.prototype.divideFactor):
        (Flog.RayTracer.Color.prototype.limit):
        (Flog.RayTracer.Color.prototype.distance):
        (Flog.RayTracer.Color.prototype.blend):
        (Flog.RayTracer.Color.prototype.brightness):
        (Flog.RayTracer.Color.prototype.toString):
        (Flog.RayTracer.Light.prototype.initialize):
        (Flog.RayTracer.Light.prototype.toString):
        (Flog.RayTracer.Vector.prototype.initialize):
        (Flog.RayTracer.Vector.prototype.copy):
        (Flog.RayTracer.Vector.prototype.normalize):
        (Flog.RayTracer.Vector.prototype.magnitude):
        (Flog.RayTracer.Vector.prototype.cross):
        (Flog.RayTracer.Vector.prototype.dot):
        (Flog.RayTracer.Vector.prototype.add):
        (Flog.RayTracer.Vector.prototype.subtract):
        (Flog.RayTracer.Vector.prototype.multiplyVector):
        (Flog.RayTracer.Vector.prototype.multiplyScalar):
        (Flog.RayTracer.Vector.prototype.toString):
        (Flog.RayTracer.Ray.prototype.initialize):
        (Flog.RayTracer.Ray.prototype.toString):
        (Flog.RayTracer.Scene.prototype.initialize):
        (Flog.RayTracer.Material.BaseMaterial.prototype.initialize):
        (Flog.RayTracer.Material.BaseMaterial.prototype.getColor):
        (Flog.RayTracer.Material.BaseMaterial.prototype.wrapUp):
        (Flog.RayTracer.Material.BaseMaterial.prototype.toString):
        (Flog.RayTracer.Material.Solid.prototype.Object.extend.new.Flog.RayTracer.Material.BaseMaterial.initialize):
        (Flog.RayTracer.Material.Solid.prototype.Object.extend.new.Flog.RayTracer.Material.BaseMaterial.getColor):
        (Flog.RayTracer.Material.Solid.prototype.Object.extend.new.Flog.RayTracer.Material.BaseMaterial.toString):
        (Flog.RayTracer.Material.Solid.prototype.Object.extend.new.Flog.RayTracer.Material.BaseMaterial):
        (Flog.RayTracer.Material.Chessboard.prototype.Object.extend.new.Flog.RayTracer.Material.BaseMaterial.initialize):
        (Flog.RayTracer.Material.Chessboard.prototype.Object.extend.new.Flog.RayTracer.Material.BaseMaterial.getColor):
        (Flog.RayTracer.Material.Chessboard.prototype.Object.extend.new.Flog.RayTracer.Material.BaseMaterial.toString):
        (Flog.RayTracer.Material.Chessboard.prototype.Object.extend.new.Flog.RayTracer.Material.BaseMaterial):
        (Flog.RayTracer.Shape.Sphere.prototype.initialize):
        (Flog.RayTracer.Shape.Sphere.prototype.intersect):
        (Flog.RayTracer.Shape.Sphere.prototype.toString):
        (Flog.RayTracer.Shape.Plane.prototype.initialize):
        (Flog.RayTracer.Shape.Plane.prototype.intersect):
        (Flog.RayTracer.Shape.Plane.prototype.toString):
        (Flog.RayTracer.IntersectionInfo.prototype.initialize):
        (Flog.RayTracer.IntersectionInfo.prototype.toString):
        (Flog.RayTracer.Camera.prototype.initialize):
        (Flog.RayTracer.Camera.prototype.getRay):
        (Flog.RayTracer.Camera.prototype.toString):
        (Flog.RayTracer.Background.prototype.initialize):
        (Flog.RayTracer.Engine.prototype.initialize):
        (Flog.RayTracer.Engine.prototype.setPixel):
        (Flog.RayTracer.Engine.prototype.renderScene):
        (Flog.RayTracer.Engine.prototype.getPixelColor):
        (Flog.RayTracer.Engine.prototype.testIntersection):
        (Flog.RayTracer.Engine.prototype.getReflectionRay):
        (Flog.RayTracer.Engine.prototype.rayTrace):
        (renderScene):
        * js/regress/v8-raytrace-with-try-catch-high-frequency-throws-expected.txt: Added.
        * js/regress/v8-raytrace-with-try-catch-high-frequency-throws.html: Added.

2016-01-29  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed gardening after r195740 (v2).
        https://bugs.webkit.org/show_bug.cgi?id=153654

        Rebaseline another 652 tests after r195740.
        Unreviewed.

        * platform/gtk/accessibility/table-attributes-expected.txt:
        * platform/gtk/accessibility/table-cell-spans-expected.txt:
        * platform/gtk/accessibility/table-cells-expected.txt:
        * platform/gtk/accessibility/table-sections-expected.txt:
        * platform/gtk/accessibility/table-with-rules-expected.txt:
        * platform/gtk/css2.1/20110323/inline-table-002a-expected.txt:
        * platform/gtk/css2.1/20110323/table-height-algorithm-023-expected.txt:
        * platform/gtk/css2.1/20110323/table-height-algorithm-024-expected.txt:
        * platform/gtk/css2.1/t0805-c5511-brdr-tw-00-b-expected.txt:
        * platform/gtk/css2.1/t0805-c5513-brdr-bw-00-b-expected.txt:
        * platform/gtk/css2.1/t0805-c5518-brdr-t-01-e-expected.png:
        * platform/gtk/css2.1/t0805-c5518-brdr-t-01-e-expected.txt:
        * platform/gtk/css2.1/t0805-c5519-brdr-r-01-e-expected.txt:
        * platform/gtk/css2.1/t0805-c5520-brdr-b-01-e-expected.png:
        * platform/gtk/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:
        * platform/gtk/css2.1/t0805-c5521-brdr-l-01-e-expected.txt:
        * platform/gtk/css2.1/t0805-c5522-brdr-02-e-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-00-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-00-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-01-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-01-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-02-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-02-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-03-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-03-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-05-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-05-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-07-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-07-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-09-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-09-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-10-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-10-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-11-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-11-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-12-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-12-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-15-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-15-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-19-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-19-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-20-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-20-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-21-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-21-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-22-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-22-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-23-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-23-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-26-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-26-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-27-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-27-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-28-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-28-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-29-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-29-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-32-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-32-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-33-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-33-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-35-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-35-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-36-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-36-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-37-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-37-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-38-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-38-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-39-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-39-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-40-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-40-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-41-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-41-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-42-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-42-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-43-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-43-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-45-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-45-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-46-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-46-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-47-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-47-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-48-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-48-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-49-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-49-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-50-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-50-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-51-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-51-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-53-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-53-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-55-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-55-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-56-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-56-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-57-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-57-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-58-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-58-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-60-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-60-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-61-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-61-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-62-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-62-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-63-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-63-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-66-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-66-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-67-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-67-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-68-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-68-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-69-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-69-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-72-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-72-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-73-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-73-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-75-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-75-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-76-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-76-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-77-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-77-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-78-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-78-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-79-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-79-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-80-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-80-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-81-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-81-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-82-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-82-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-83-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-83-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-86-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-86-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-87-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-87-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-88-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-88-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-89-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-89-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-90-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-90-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-91-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-91-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-92-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-92-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-93-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-93-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-95-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-95-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-96-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-96-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-97-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-97-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-98-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-98-d-expected.txt:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-99-d-expected.png:
        * platform/gtk/css2.1/t170602-bdr-conflct-w-99-d-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-015-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-015-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-016-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-016-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-023-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-023-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-024-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-024-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-035-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-035-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-036-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-036-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-037-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-037-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-038-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-038-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-045-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-045-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-046-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-046-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-047-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-047-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-048-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-048-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-049-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-049-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-050-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-050-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-055-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-055-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-056-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-056-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-091-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-091-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-092-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-092-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-099-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-099-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-100-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-100-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-103-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-103-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-104-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-104-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-105-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-105-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-106-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-106-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-107-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-107-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-108-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-108-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-109-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-109-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-110-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-110-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-111-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-111-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-112-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-112-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-113-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-113-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-114-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-114-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-123-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-123-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-124-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-124-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-139-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-139-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-140-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-140-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-149-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-149-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-150-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-150-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-155-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-155-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-156-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-156-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-159-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-159-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-160-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-160-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-165-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-165-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-166-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-166-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-207-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-207-expected.txt:
        * platform/gtk/css2.1/tables/table-anonymous-objects-208-expected.png: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-208-expected.txt:
        * platform/gtk/css3/flexbox/flexbox-baseline-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-18b-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-28-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-28-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-28b-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-28b-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-32-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-32-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-43-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-43b-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-44-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-44b-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-74-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-74-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-74b-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-74b-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-78-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-78-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-78b-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-78b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-18b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-28-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-28-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-28b-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-28b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-32-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-32-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-43-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-43b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-44-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-44b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-74-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-74-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-74b-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-74b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-78-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-78-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-78b-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-78b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-18b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-28-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-28-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-28b-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-28b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-32-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-32-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-43-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-43b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-44-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-44b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-74-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-74-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-74b-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-74b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-78-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-78-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-78b-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-78b-expected.txt:
        * platform/gtk/editing/deleting/5099303-expected.png:
        * platform/gtk/editing/deleting/5099303-expected.txt:
        * platform/gtk/editing/deleting/5483370-expected.png:
        * platform/gtk/editing/deleting/5483370-expected.txt:
        * platform/gtk/editing/deleting/delete-to-select-table-expected.png:
        * platform/gtk/editing/deleting/delete-to-select-table-expected.txt:
        * platform/gtk/editing/deleting/table-cells-expected.png:
        * platform/gtk/editing/deleting/table-cells-expected.txt:
        * platform/gtk/editing/execCommand/5481523-expected.png:
        * platform/gtk/editing/execCommand/5481523-expected.txt:
        * platform/gtk/editing/inserting/5058163-1-expected.png:
        * platform/gtk/editing/inserting/5058163-1-expected.txt:
        * platform/gtk/editing/inserting/insert-paragraph-01-expected.png:
        * platform/gtk/editing/inserting/insert-paragraph-01-expected.txt:
        * platform/gtk/editing/inserting/insert-paragraph-02-expected.png:
        * platform/gtk/editing/inserting/insert-paragraph-02-expected.txt:
        * platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.png:
        * platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.txt:
        * platform/gtk/editing/pasteboard/5156401-1-expected.png:
        * platform/gtk/editing/pasteboard/5156401-1-expected.txt:
        * platform/gtk/editing/pasteboard/5387578-expected.png:
        * platform/gtk/editing/pasteboard/5387578-expected.txt:
        * platform/gtk/editing/selection/4818145-expected.png:
        * platform/gtk/editing/selection/4818145-expected.txt:
        * platform/gtk/editing/selection/4889598-expected.png:
        * platform/gtk/editing/selection/4889598-expected.txt:
        * platform/gtk/editing/selection/4895428-2-expected.png:
        * platform/gtk/editing/selection/4895428-2-expected.txt:
        * platform/gtk/editing/selection/5076323-1-expected.png:
        * platform/gtk/editing/selection/5076323-1-expected.txt:
        * platform/gtk/editing/selection/5076323-2-expected.png:
        * platform/gtk/editing/selection/5076323-2-expected.txt:
        * platform/gtk/editing/selection/5076323-3-expected.png:
        * platform/gtk/editing/selection/5076323-3-expected.txt:
        * platform/gtk/editing/selection/7152-1-expected.png:
        * platform/gtk/editing/selection/7152-1-expected.txt:
        * platform/gtk/editing/selection/7152-2-expected.png:
        * platform/gtk/editing/selection/7152-2-expected.txt:
        * platform/gtk/editing/selection/display-table-text-expected.png:
        * platform/gtk/editing/selection/display-table-text-expected.txt:
        * platform/gtk/editing/selection/iframe-expected.png:
        * platform/gtk/editing/selection/iframe-expected.txt:
        * platform/gtk/editing/selection/inline-table-expected.png:
        * platform/gtk/editing/selection/inline-table-expected.txt:
        * platform/gtk/editing/selection/mixed-editability-3-expected.png:
        * platform/gtk/editing/selection/mixed-editability-3-expected.txt:
        * platform/gtk/editing/selection/mixed-editability-4-expected.png:
        * platform/gtk/editing/selection/mixed-editability-4-expected.txt:
        * platform/gtk/editing/selection/mixed-editability-5-expected.png:
        * platform/gtk/editing/selection/mixed-editability-5-expected.txt:
        * platform/gtk/editing/selection/mixed-editability-8-expected.png:
        * platform/gtk/editing/selection/mixed-editability-8-expected.txt:
        * platform/gtk/editing/selection/mixed-editability-9-expected.png:
        * platform/gtk/editing/selection/mixed-editability-9-expected.txt:
        * platform/gtk/editing/selection/table-caret-1-expected.png:
        * platform/gtk/editing/selection/table-caret-1-expected.txt:
        * platform/gtk/editing/selection/table-caret-2-expected.png:
        * platform/gtk/editing/selection/table-caret-2-expected.txt:
        * platform/gtk/editing/selection/table-caret-3-expected.png:
        * platform/gtk/editing/selection/table-caret-3-expected.txt:
        * platform/gtk/editing/style/5017613-1-expected.png:
        * platform/gtk/editing/style/5017613-1-expected.txt:
        * platform/gtk/editing/style/5017613-2-expected.png:
        * platform/gtk/editing/style/5017613-2-expected.txt:
        * platform/gtk/editing/style/apple-style-editable-mix-expected.png:
        * platform/gtk/editing/style/apple-style-editable-mix-expected.txt:
        * platform/gtk/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
        * platform/gtk/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.txt:
        * platform/gtk/fast/block/float/011-expected.txt:
        * platform/gtk/fast/block/margin-collapse/001-expected.txt:
        * platform/gtk/fast/block/margin-collapse/005-expected.txt:
        * platform/gtk/fast/block/margin-collapse/104-expected.txt:
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/001-expected.txt:
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/005-expected.txt:
        * platform/gtk/fast/block/positioning/053-expected.txt:
        * platform/gtk/fast/borders/bidi-009a-expected.png:
        * platform/gtk/fast/borders/bidi-009a-expected.txt:
        * platform/gtk/fast/box-shadow/basic-shadows-expected.png:
        * platform/gtk/fast/box-shadow/basic-shadows-expected.txt:
        * platform/gtk/fast/css-generated-content/015-expected.txt:
        * platform/gtk/fast/css-generated-content/inline-display-types-expected.txt:
        * platform/gtk/fast/css-generated-content/table-before-after-child-add-expected.txt:
        * platform/gtk/fast/css-generated-content/table-cell-before-content-expected.txt:
        * platform/gtk/fast/css-generated-content/table-row-before-after-child-add-expected.txt:
        * platform/gtk/fast/css-generated-content/table-row-before-after-expected.txt:
        * platform/gtk/fast/css-generated-content/table-table-before-after-child-add-expected.txt:
        * platform/gtk/fast/css/first-letter-float-expected.png:
        * platform/gtk/fast/css/first-letter-float-expected.txt:
        * platform/gtk/fast/css/layerZOrderCrash-expected.txt:
        * platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
        * platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
        * platform/gtk/fast/dynamic/007-expected.txt:
        * platform/gtk/fast/dynamic/014-expected.txt:
        * platform/gtk/fast/dynamic/015-expected.png:
        * platform/gtk/fast/dynamic/015-expected.txt:
        * platform/gtk/fast/dynamic/create-renderer-for-whitespace-only-text-expected.png:
        * platform/gtk/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
        * platform/gtk/fast/forms/button-white-space-expected.png:
        * platform/gtk/fast/forms/button-white-space-expected.txt:
        * platform/gtk/fast/forms/file/file-input-direction-expected.png:
        * platform/gtk/fast/forms/file/file-input-direction-expected.txt:
        * platform/gtk/fast/forms/form-added-to-table-expected.png:
        * platform/gtk/fast/forms/form-added-to-table-expected.txt:
        * platform/gtk/fast/forms/input-double-click-selection-gap-bug-expected.png:
        * platform/gtk/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/gtk/fast/forms/input-value-expected.png:
        * platform/gtk/fast/forms/input-value-expected.txt:
        * platform/gtk/fast/invalid/table-inside-stray-table-content-expected.png:
        * platform/gtk/fast/invalid/table-inside-stray-table-content-expected.txt:
        * platform/gtk/fast/invalid/td-inside-object-expected.txt:
        * platform/gtk/fast/lists/ordered-list-with-no-ol-tag-expected.png:
        * platform/gtk/fast/lists/ordered-list-with-no-ol-tag-expected.txt:
        * platform/gtk/fast/overflow/overflow-auto-table-expected.txt:
        * platform/gtk/fast/replaced/width100percent-button-expected.png:
        * platform/gtk/fast/replaced/width100percent-button-expected.txt:
        * platform/gtk/fast/ruby/ruby-inline-table-expected.txt:
        * platform/gtk/fast/selectors/018-expected.png:
        * platform/gtk/fast/selectors/018-expected.txt:
        * platform/gtk/fast/selectors/018b-expected.txt:
        * platform/gtk/fast/selectors/032-expected.png:
        * platform/gtk/fast/selectors/032-expected.txt:
        * platform/gtk/fast/selectors/043-expected.txt:
        * platform/gtk/fast/selectors/043b-expected.txt:
        * platform/gtk/fast/selectors/044-expected.txt:
        * platform/gtk/fast/selectors/044b-expected.txt:
        * platform/gtk/fast/selectors/078b-expected.png:
        * platform/gtk/fast/selectors/078b-expected.txt:
        * platform/gtk/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.txt:
        * platform/gtk/fast/table/001-expected.txt:
        * platform/gtk/fast/table/004-expected.png:
        * platform/gtk/fast/table/004-expected.txt:
        * platform/gtk/fast/table/006-expected.png:
        * platform/gtk/fast/table/006-expected.txt:
        * platform/gtk/fast/table/010-expected.txt:
        * platform/gtk/fast/table/011-expected.png:
        * platform/gtk/fast/table/011-expected.txt:
        * platform/gtk/fast/table/015-expected.txt:
        * platform/gtk/fast/table/016-expected.txt:
        * platform/gtk/fast/table/022-expected.png:
        * platform/gtk/fast/table/022-expected.txt:
        * platform/gtk/fast/table/026-expected.txt:
        * platform/gtk/fast/table/033-expected.txt:
        * platform/gtk/fast/table/035-expected.png:
        * platform/gtk/fast/table/035-expected.txt:
        * platform/gtk/fast/table/035-vertical-expected.png:
        * platform/gtk/fast/table/035-vertical-expected.txt:
        * platform/gtk/fast/table/037-expected.txt:
        * platform/gtk/fast/table/041-expected.png:
        * platform/gtk/fast/table/041-expected.txt:
        * platform/gtk/fast/table/auto-with-percent-height-expected.txt:
        * platform/gtk/fast/table/auto-with-percent-height-vertical-expected.txt:
        * platform/gtk/fast/table/cell-coalescing-expected.txt:
        * platform/gtk/fast/table/cellindex-expected.txt:
        * platform/gtk/fast/table/click-near-anonymous-table-expected.png:
        * platform/gtk/fast/table/click-near-anonymous-table-expected.txt:
        * platform/gtk/fast/table/colgroup-preceded-by-caption-expected.txt:
        * platform/gtk/fast/table/colgroup-spanning-groups-rules-expected.txt:
        * platform/gtk/fast/table/dynamic-descendant-percentage-height-expected.txt:
        * platform/gtk/fast/table/floating-th-expected.txt:
        * platform/gtk/fast/table/generated-caption-expected.png:
        * platform/gtk/fast/table/generated-caption-expected.txt:
        * platform/gtk/fast/table/insert-before-anonymous-ancestors-expected.png:
        * platform/gtk/fast/table/insert-before-anonymous-ancestors-expected.txt:
        * platform/gtk/fast/table/insert-cell-before-form-expected.png:
        * platform/gtk/fast/table/insert-cell-before-form-expected.txt:
        * platform/gtk/fast/table/insert-row-before-form-expected.png:
        * platform/gtk/fast/table/insert-row-before-form-expected.txt:
        * platform/gtk/fast/table/nested-percent-height-table-expected.png:
        * platform/gtk/fast/table/nested-percent-height-table-expected.txt:
        * platform/gtk/fast/table/quote-text-around-iframe-expected.png:
        * platform/gtk/fast/table/quote-text-around-iframe-expected.txt:
        * platform/gtk/fast/table/rowindex-expected.png:
        * platform/gtk/fast/table/rowindex-expected.txt:
        * platform/gtk/fast/table/rtl-cell-display-none-assert-expected.png:
        * platform/gtk/fast/table/rtl-cell-display-none-assert-expected.txt:
        * platform/gtk/fast/table/rules-attr-dynchange1-expected.txt:
        * platform/gtk/fast/table/rules-attr-dynchange2-expected.txt:
        * platform/gtk/fast/table/table-after-child-in-table-expected.txt:
        * platform/gtk/fast/table/table-and-parts-outline-expected.png:
        * platform/gtk/fast/table/table-and-parts-outline-expected.txt:
        * platform/gtk/fast/table/table-before-child-in-table-expected.txt:
        * platform/gtk/fast/table/table-cell-after-child-in-block-expected.txt:
        * platform/gtk/fast/table/table-cell-after-child-in-table-expected.txt:
        * platform/gtk/fast/table/table-cell-before-child-in-block-expected.txt:
        * platform/gtk/fast/table/table-continuation-outline-paint-crash-expected.txt:
        * platform/gtk/fast/table/table-hspace-align-center-expected.png:
        * platform/gtk/fast/table/table-hspace-align-center-expected.txt:
        * platform/gtk/fast/table/table-row-after-child-in-block-expected.txt:
        * platform/gtk/fast/table/table-row-after-child-in-table-expected.txt:
        * platform/gtk/fast/table/table-row-before-child-in-block-expected.txt:
        * platform/gtk/fast/table/table-row-before-child-in-table-expected.txt:
        * platform/gtk/fast/table/tableInsideCaption-expected.png:
        * platform/gtk/fast/table/tableInsideCaption-expected.txt:
        * platform/gtk/fast/table/text-field-baseline-expected.png:
        * platform/gtk/fast/table/text-field-baseline-expected.txt:
        * platform/gtk/fast/table/unbreakable-images-quirk-expected.png:
        * platform/gtk/fast/table/unbreakable-images-quirk-expected.txt:
        * platform/gtk/fast/table/vertical-align-baseline-expected.png:
        * platform/gtk/fast/table/vertical-align-baseline-expected.txt:
        * platform/gtk/fast/text/atsui-multiple-renderers-expected.png:
        * platform/gtk/fast/text/atsui-multiple-renderers-expected.txt:
        * platform/gtk/fast/text/basic/001-expected.png:
        * platform/gtk/fast/text/basic/001-expected.txt:
        * platform/gtk/fast/text/basic/006-expected.png:
        * platform/gtk/fast/text/basic/006-expected.txt:
        * platform/gtk/fast/text/basic/007-expected.png:
        * platform/gtk/fast/text/basic/007-expected.txt:
        * platform/gtk/fast/text/capitalize-boundaries-expected.png:
        * platform/gtk/fast/text/capitalize-boundaries-expected.txt:
        * platform/gtk/fast/text/international/bidi-layout-across-linebreak-expected.png:
        * platform/gtk/fast/text/international/bidi-layout-across-linebreak-expected.txt:
        * platform/gtk/fast/text/textIteratorNilRenderer-expected.png:
        * platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
        * platform/gtk/fast/text/whitespace/024-expected.png:
        * platform/gtk/fast/text/whitespace/024-expected.txt:
        * platform/gtk/fast/text/whitespace/027-expected.png:
        * platform/gtk/fast/text/whitespace/027-expected.txt:
        * platform/gtk/fast/text/word-break-expected.png:
        * platform/gtk/fast/text/word-break-expected.txt:
        * platform/gtk/fast/transforms/transform-table-row-expected.png:
        * platform/gtk/fast/transforms/transform-table-row-expected.txt:
        * platform/gtk/http/tests/misc/generated-content-inside-table-expected.txt:
        * platform/gtk/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
        * platform/gtk/svg/as-background-image/background-image-preserveaspectRatio-support-expected.txt:
        * platform/gtk/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
        * platform/gtk/svg/as-image/img-preserveAspectRatio-support-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug10036-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug10036-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug10269-1-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug21918-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug10269-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug10269-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug10296-2-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug12384-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug10296-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug103533-expected.png: Added.
        * platform/gtk/tables/mozilla/bugs/bug103533-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug106158-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug106158-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug108340-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug108340-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug110566-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug110566-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug11321-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug106336-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug11321-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug113235-3-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug113235-3-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug11944-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug11944-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug119786-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug119786-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug12384-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug12384-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug1261-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug1261-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug13105-expected.png: Added.
        * platform/gtk/tables/mozilla/bugs/bug13105-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug13118-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug13118-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug133756-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug133756-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug133756-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug13484-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug13484-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug13526-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug138725-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug138725-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug14159-3-expected.png: Added.
        * platform/gtk/tables/mozilla/bugs/bug14159-3-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug149275-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug149275-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug17130-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug17130-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug1828-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug1828-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug18558-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug18558-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2050-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2050-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug20579-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug20579-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug21299-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug21299-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug21918-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug21918-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug221784-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug221784-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug221784-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug221784-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2267-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2267-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug23072-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug12384-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug23072-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug23151-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug23151-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug23299-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug24503-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug24503-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug24627-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug24627-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2469-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2479-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug24880-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug24880-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug25086-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug25086-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2516-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2516-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug25367-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2585-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2585-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug26178-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug26178-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug27038-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug27038-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug27038-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug27038-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug275625-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug55545-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug275625-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2757-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2757-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug278266-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug278385-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug278385-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2886-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug28928-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug29157-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug29157-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2973-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug3037-1-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug3309-2-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug3037-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug3037-2-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug221784-2-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug3037-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug30418-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug30418-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug30985-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug3191-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug3191-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug32205-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug32205-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug32205-5-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug32205-5-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug32447-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug3309-2-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug32447-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug3263-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug3263-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug3309-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug3309-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug34538-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug3309-2-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug34538-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug35662-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug35662-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug3718-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug3718-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug39209-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug39209-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug40828-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug40828-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4284-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4284-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4429-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4429-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug44523-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug44523-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug45055-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4520-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4520-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46268-3-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug46268-3-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46268-5-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug46268-5-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46268-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug46268-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46480-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46480-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4739-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4739-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug48028-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug48028-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug48028-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug48028-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug51037-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug51140-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug51140-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug55527-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug55545-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug55545-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug55694-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug55694-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug56405-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug3309-2-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug56405-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug57300-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug57300-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug57378-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug57378-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug57828-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug57828-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug5798-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug5798-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug5799-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug5799-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug5838-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug5838-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug58402-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug58402-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug60013-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug60013-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug60749-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug60749-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug60992-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug60992-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug63785-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug650-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug67864-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug67915-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug67915-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug69187-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug69187-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug709-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug7112-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug7112-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug7112-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug7112-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug75250-expected.png: Added.
        * platform/gtk/tables/mozilla/bugs/bug75250-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug8032-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug82946-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug82946-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug8361-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug3309-2-expected.png.
        * platform/gtk/tables/mozilla/bugs/bug8361-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug83786-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug8381-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug8381-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug9072-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug9271-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug9271-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug93363-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug96343-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug965-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug965-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug97138-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug97138-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug99923-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug99923-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug99948-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug99948-expected.txt:
        * platform/gtk/tables/mozilla/collapsing_borders/bug127040-expected.txt:
        * platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.png:
        * platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
        * platform/gtk/tables/mozilla/core/captions-expected.png:
        * platform/gtk/tables/mozilla/core/captions-expected.txt:
        * platform/gtk/tables/mozilla/core/col_widths_auto_auto-expected.png:
        * platform/gtk/tables/mozilla/core/col_widths_auto_auto-expected.txt:
        * platform/gtk/tables/mozilla/core/col_widths_auto_autoPer-expected.png:
        * platform/gtk/tables/mozilla/core/col_widths_auto_autoPer-expected.txt:
        * platform/gtk/tables/mozilla/core/col_widths_fix_autoPer-expected.png:
        * platform/gtk/tables/mozilla/core/col_widths_fix_autoPer-expected.txt:
        * platform/gtk/tables/mozilla/core/row_span-expected.png:
        * platform/gtk/tables/mozilla/core/row_span-expected.txt:
        * platform/gtk/tables/mozilla/dom/appendCol2-expected.png:
        * platform/gtk/tables/mozilla/dom/appendCol2-expected.txt:
        * platform/gtk/tables/mozilla/dom/appendRowsExpand1-expected.png:
        * platform/gtk/tables/mozilla/dom/appendRowsExpand1-expected.txt:
        * platform/gtk/tables/mozilla/dom/appendTbodyExpand1-expected.png:
        * platform/gtk/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteCellsRebuild1-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteCellsRebuild1-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteCellsShrink1-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteCellsShrink2-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteCol1-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteCol1-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteCol2-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteCol2-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteCol3-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteCol3-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteColGroup1-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteColGroup1-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteColGroup2-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteColGroup2-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteRowsRebuild1-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteRowsShrink1-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteTbodyExpand1-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
        * platform/gtk/tables/mozilla/dom/deleteTbodyRebuild1-expected.png:
        * platform/gtk/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
        * platform/gtk/tables/mozilla/dom/insertCellsExpand1-expected.png:
        * platform/gtk/tables/mozilla/dom/insertCellsExpand1-expected.txt:
        * platform/gtk/tables/mozilla/dom/insertCellsExpand2-expected.png:
        * platform/gtk/tables/mozilla/dom/insertCellsExpand2-expected.txt:
        * platform/gtk/tables/mozilla/dom/insertCellsRebuild1-expected.png:
        * platform/gtk/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
        * platform/gtk/tables/mozilla/dom/insertCellsRebuild2-expected.png:
        * platform/gtk/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
        * platform/gtk/tables/mozilla/dom/insertRowsExpand1-expected.png:
        * platform/gtk/tables/mozilla/dom/insertRowsExpand1-expected.txt:
        * platform/gtk/tables/mozilla/dom/insertRowsRebuild1-expected.png:
        * platform/gtk/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
        * platform/gtk/tables/mozilla/dom/tableDom-expected.txt:
        * platform/gtk/tables/mozilla/marvin/body_col-expected.png:
        * platform/gtk/tables/mozilla/marvin/body_col-expected.txt:
        * platform/gtk/tables/mozilla/marvin/body_tbody-expected.txt:
        * platform/gtk/tables/mozilla/marvin/body_tfoot-expected.png:
        * platform/gtk/tables/mozilla/marvin/body_tfoot-expected.txt:
        * platform/gtk/tables/mozilla/marvin/col_span-expected.png:
        * platform/gtk/tables/mozilla/marvin/col_span-expected.txt:
        * platform/gtk/tables/mozilla/marvin/table_frame_border-expected.png:
        * platform/gtk/tables/mozilla/marvin/table_frame_border-expected.txt:
        * platform/gtk/tables/mozilla/marvin/table_frame_box-expected.png:
        * platform/gtk/tables/mozilla/marvin/table_frame_box-expected.txt:
        * platform/gtk/tables/mozilla/marvin/table_rules_all-expected.png:
        * platform/gtk/tables/mozilla/marvin/table_rules_all-expected.txt:
        * platform/gtk/tables/mozilla/marvin/table_rules_none-expected.png:
        * platform/gtk/tables/mozilla/marvin/table_rules_none-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_border_0-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_border_1-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_border_1-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_border_2-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_border_2-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_border_3-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_border_3-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_caption_align_bot-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_caption_align_top-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_cellpadding-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_cellpadding-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_cellspacing-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_default-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_id-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_id-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_row_th_nowrap-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_td_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_td_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_td_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_td_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_td_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_td_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_td_colspan-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_td_colspan-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_td_height-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_td_height-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_td_nowrap-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_td_rowspan-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_th_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_th_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_th_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_th_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_th_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_th_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_th_height-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_th_height-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tables_th_rowspan-expected.png:
        * platform/gtk/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tbody_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/tbody_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tbody_align_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/tbody_align_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tbody_align_justify-expected.png:
        * platform/gtk/tables/mozilla/marvin/tbody_align_justify-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tbody_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/tbody_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tbody_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/tbody_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tbody_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/tbody_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_justify-expected.png:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_justify-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/tfoot_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/tfoot_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/tfoot_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/thead_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/thead_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/thead_align_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/thead_align_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/thead_align_justify-expected.png:
        * platform/gtk/tables/mozilla/marvin/thead_align_justify-expected.txt:
        * platform/gtk/tables/mozilla/marvin/thead_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/thead_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/thead_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/thead_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/thead_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/thead_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_caption_align_bottom-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_caption_align_bottom-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_caption_align_top-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_caption_align_top-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_bgcolor_name-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_border-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_border-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_border_none-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_border_px-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_border_px-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_cellpadding-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_cellpadding-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_cellpadding_pct-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_cellpadding_pct-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_cellspacing-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_cellspacing-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_cellspacing_pct-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_table_cellspacing_pct-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_frame_void-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_rules_groups-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_rules_none-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_table_style-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tbody_class-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tbody_class-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tbody_id-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tbody_id-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tbody_style-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tbody_style-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_bgcolor_name-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_class-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_class-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_colspan-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_colspan-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_height-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_height-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_id-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_id-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_nowrap-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_nowrap-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_rowspan-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_rowspan-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_td_style-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_td_style-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_class-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_class-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_id-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_id-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_style-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tfoot_style-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_th_bgcolor_name-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_th_class-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_th_class-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_th_colspan-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_th_colspan-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_th_height-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_th_height-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_th_id-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_th_id-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_th_nowrap-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_th_nowrap-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_th_style-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_th_style-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_thead_align_center-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_thead_align_center-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_thead_align_char-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_thead_align_char-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_thead_align_left-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_thead_align_left-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_thead_align_right-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_thead_align_right-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_thead_class-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_thead_class-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_thead_id-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_thead_id-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_thead_style-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_thead_style-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tr_class-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tr_class-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tr_id-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tr_id-expected.txt:
        * platform/gtk/tables/mozilla/marvin/x_tr_style-expected.png:
        * platform/gtk/tables/mozilla/marvin/x_tr_style-expected.txt:
        * platform/gtk/tables/mozilla/other/body_col-expected.png:
        * platform/gtk/tables/mozilla/other/body_col-expected.txt:
        * platform/gtk/tables/mozilla/other/cellspacing-expected.png:
        * platform/gtk/tables/mozilla/other/cellspacing-expected.txt:
        * platform/gtk/tables/mozilla/other/move_row-expected.png:
        * platform/gtk/tables/mozilla/other/move_row-expected.txt:
        * platform/gtk/tables/mozilla/other/padding-expected.png:
        * platform/gtk/tables/mozilla/other/padding-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug101759-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug101759-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug10216-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug104898-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug104898-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug106336-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug106336-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug11945-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug11945-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug178855-expected.png: Copied from LayoutTests/platform/gtk/tables/mozilla/bugs/bug12384-expected.png.
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug178855-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug18770-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug24880-1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug24880-1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug25707-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug25707-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-11-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-12-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-13-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-14-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-14-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-16-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-17-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-17-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3166-18-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug32205-1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug32205-4-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug4294-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug4294-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug46268-4-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug46268-4-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug51000-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug51000-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug65372-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug6933-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug7113-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug7113-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug73629-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug73629-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/core/backgrounds-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/core/backgrounds-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/core/captions3-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/core/conflicts-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/core/conflicts-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/dom/appendCells1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/dom/appendCol1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_above-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_above-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_below-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_below-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_hsides-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_hsides-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_void-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_void-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_vsides-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_frame_vsides-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_rules_rows-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_rules_rows-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_caption_align_left-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_caption_align_left-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_caption_align_right-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_caption_align_right-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_colgroup_width_px-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_colgroup_width_px-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_frame_above-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_frame_below-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_frame_border-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_frame_box-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_frame_hsides-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_frame_lhs-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_frame_rhs-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_frame_vsides-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_rules_all-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_rules_cols-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/x_table_rules_rows-expected.txt:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Marking 3 displaylist tests as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153656

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/forms/auto-fill-button/input-contacts-auto-fill-button.html for ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153567

        Unreviewed test gardening.

        * platform/ios-simulator/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:

2016-01-29  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations: This one still crashes, just flakily. *sigh*

2016-01-29  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations: Enable some IndexedDB tests that pass.

2016-01-29  ChangSeok Oh  <changseok.oh@collabora.com>

        [GStreamer] built-in media player doesn't update
        https://bugs.webkit.org/show_bug.cgi?id=151816

        Reviewed by Xabier Rodriguez-Calvar.

        * media/audio-controls-timeline-in-media-document-expected.txt: Added.
        * media/audio-controls-timeline-in-media-document.html: Added.

2016-01-28  Brady Eidson  <beidson@apple.com>

        Modern IDB: SQLite backend mismanages key generator values.
        https://bugs.webkit.org/show_bug.cgi?id=153625

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:

2016-01-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: InspectorTimelineAgent doesn't need to recompile functions because it now uses the sampling profiler
        https://bugs.webkit.org/show_bug.cgi?id=153500
        <rdar://problem/24352458>

        Reviewed by Timothy Hatcher.

        * fast/profiler/*.html
        Be more explicit about enabling legacy profiling.

        * inspector/sampling-profiler/eval-source-url.html
        Remove an inner loop that was causing tail call optimizations
        to eliminate the sourceURL we were expecting.

2016-01-28  Brady Eidson  <beidson@apple.com>

        Modern IDB: Enabled all of the imported IndexedDB tests that pass in the SQLite backing store.
        https://bugs.webkit.org/show_bug.cgi?id=153623

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations: TONS of these now pass. List of failing tests is now small.

2016-01-28  Zalan Bujtas  <zalan@apple.com>

        [Win] gardening after r195740. (more to follow)

        Unreviewed.

        * platform/win/css1/box_properties/padding_left-expected.txt:
        * platform/win/fast/dom/HTMLTableElement/colSpan-expected.txt:
        * platform/win/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/win/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/win/fast/forms/001-expected.txt:
        * platform/win/fast/forms/005-expected.txt:
        * platform/win/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
        * platform/win/fast/forms/basic-buttons-expected.txt:
        * platform/win/fast/forms/button-white-space-expected.txt:
        * platform/win/fast/forms/file/file-input-direction-expected.txt:
        * platform/win/fast/forms/form-added-to-table-expected.txt:
        * platform/win/fast/forms/form-element-geometry-expected.txt:
        * platform/win/fast/forms/form-hides-table-expected.txt:
        * platform/win/fast/forms/form-in-malformed-markup-expected.txt:
        * platform/win/fast/forms/formmove3-expected.txt:
        * platform/win/fast/forms/input-appearance-spinbutton-expected.txt:
        * platform/win/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/win/fast/forms/input-table-expected.txt:
        * platform/win/fast/forms/input-value-expected.txt:
        * platform/win/fast/forms/listbox-bidi-align-expected.txt:
        * platform/win/fast/forms/preserveFormDuringResidualStyle-expected.txt:
        * platform/win/fast/forms/select-dirty-parent-pref-widths-expected.txt:
        * platform/win/fast/html/details-writing-mode-expected.txt:
        * platform/win/fast/inline-block/001-expected.txt:
        * platform/win/fast/inline-block/overflow-clip-expected.txt:
        * platform/win/fast/invalid/012-expected.txt:
        * platform/win/fast/invalid/018-expected.txt:
        * platform/win/fast/invalid/table-inside-stray-table-content-expected.txt:
        * platform/win/fast/invalid/td-inside-object-expected.txt:
        * platform/win/fast/lists/004-expected.txt:
        * platform/win/fast/lists/list-marker-before-content-table-expected.txt:
        * platform/win/fast/lists/ordered-list-with-no-ol-tag-expected.txt:
        * platform/win/fast/multicol/span/before-child-anonymous-column-block-expected.txt:
        * platform/win/fast/overflow/002-expected.txt:
        * platform/win/fast/overflow/overflow-auto-table-expected.txt:
        * platform/win/fast/overflow/overflow-rtl-expected.txt:
        * platform/win/fast/overflow/overflow-rtl-vertical-expected.txt:
        * platform/win/fast/overflow/table-overflow-float-expected.txt:
        * platform/win/fast/reflections/table-cell-expected.txt:
        * platform/win/fast/repaint/block-selection-gap-in-table-cell-expected.txt:
        * platform/win/fast/repaint/float-overflow-expected.txt:
        * platform/win/fast/repaint/float-overflow-right-expected.txt:
        * platform/win/fast/repaint/subtree-root-clip-3-expected.txt:
        * platform/win/fast/repaint/table-cell-collapsed-border-expected.txt:
        * platform/win/fast/repaint/table-cell-collapsed-border-scroll-expected.txt:
        * platform/win/fast/repaint/table-cell-move-expected.txt:
        * platform/win/fast/repaint/table-cell-overflow-expected.txt:
        * platform/win/fast/repaint/table-cell-vertical-overflow-expected.txt:
        * platform/win/fast/repaint/table-col-background-expected.txt:
        * platform/win/fast/repaint/table-collapsed-border-expected.txt:
        * platform/win/fast/repaint/table-extra-bottom-grow-expected.txt:
        * platform/win/fast/repaint/table-outer-border-expected.txt:
        * platform/win/fast/repaint/table-row-expected.txt:
        * platform/win/fast/repaint/table-section-overflow-expected.txt:
        * platform/win/fast/repaint/table-section-repaint-expected.txt:
        * platform/win/fast/repaint/table-two-pass-layout-overpaint-expected.txt:
        * platform/win/fast/repaint/table-writing-modes-h-expected.txt:
        * platform/win/fast/repaint/table-writing-modes-v-expected.txt:
        * platform/win/fast/replaced/005-expected.txt:
        * platform/win/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt:
        * platform/win/fast/replaced/selection-rect-in-table-cell-expected.txt:
        * platform/win/fast/replaced/table-percent-height-positioned-expected.txt:
        * platform/win/fast/replaced/width100percent-button-expected.txt:
        * platform/win/fast/replaced/width100percent-checkbox-expected.txt:
        * platform/win/fast/replaced/width100percent-image-expected.txt:
        * platform/win/fast/replaced/width100percent-menulist-expected.txt:
        * platform/win/fast/replaced/width100percent-radio-expected.txt:
        * platform/win/fast/ruby/ruby-inline-table-expected.txt:
        * platform/win/fast/selectors/018-expected.txt:
        * platform/win/fast/selectors/018b-expected.txt:
        * platform/win/fast/selectors/032-expected.txt:
        * platform/win/fast/selectors/043-expected.txt:
        * platform/win/fast/selectors/043b-expected.txt:
        * platform/win/fast/selectors/044-expected.txt:
        * platform/win/fast/selectors/044b-expected.txt:
        * platform/win/fast/selectors/077-expected.txt:
        * platform/win/fast/selectors/077b-expected.txt:
        * platform/win/fast/selectors/078b-expected.txt:
        * platform/win/fast/table/001-expected.txt:
        * platform/win/fast/table/002-expected.txt:
        * platform/win/fast/table/003-expected.txt:
        * platform/win/fast/table/004-expected.txt:
        * platform/win/fast/table/005-expected.txt:
        * platform/win/fast/table/006-expected.txt:
        * platform/win/fast/table/007-expected.txt:
        * platform/win/fast/table/008-expected.txt:
        * platform/win/fast/table/009-expected.txt:
        * platform/win/fast/table/010-expected.txt:
        * platform/win/fast/table/011-expected.txt:
        * platform/win/fast/table/012-expected.txt:
        * platform/win/fast/table/013-expected.txt:
        * platform/win/fast/table/015-expected.txt:
        * platform/win/fast/table/016-expected.txt:
        * platform/win/fast/table/021-expected.txt:
        * platform/win/fast/table/022-expected.txt:
        * platform/win/fast/table/023-expected.txt:
        * platform/win/fast/table/024-expected.txt:
        * platform/win/fast/table/025-expected.txt:
        * platform/win/fast/table/026-expected.txt:
        * platform/win/fast/table/028-expected.txt:
        * platform/win/fast/table/028-vertical-expected.txt:
        * platform/win/fast/table/029-expected.txt:
        * platform/win/fast/table/031-expected.txt:
        * platform/win/fast/table/032-expected.txt:
        * platform/win/fast/table/033-expected.txt:
        * platform/win/fast/table/034-expected.txt:
        * platform/win/fast/table/035-expected.txt:
        * platform/win/fast/table/035-vertical-expected.txt:
        * platform/win/fast/table/037-expected.txt:
        * platform/win/fast/table/038-expected.txt:
        * platform/win/fast/table/038-vertical-expected.txt:
        * platform/win/fast/table/039-expected.txt:
        * platform/win/fast/table/040-expected.txt:
        * platform/win/fast/table/040-vertical-expected.txt:
        * platform/win/fast/table/041-expected.txt:
        * platform/win/fast/table/100-percent-cell-width-expected.txt:
        * platform/win/fast/table/add-before-anonymous-child-expected.txt:
        * platform/win/fast/table/auto-with-percent-height-expected.txt:
        * platform/win/fast/table/auto-with-percent-height-vertical-expected.txt:
        * platform/win/fast/table/border-collapsing/001-expected.txt:
        * platform/win/fast/table/border-collapsing/001-vertical-expected.txt:
        * platform/win/fast/table/border-collapsing/002-expected.txt:
        * platform/win/fast/table/border-collapsing/002-vertical-expected.txt:
        * platform/win/fast/table/border-collapsing/003-expected.txt:
        * platform/win/fast/table/border-collapsing/003-vertical-expected.txt:
        * platform/win/fast/table/border-collapsing/004-expected.txt:
        * platform/win/fast/table/border-collapsing/004-vertical-expected.txt:
        * platform/win/fast/table/border-collapsing/border-collapsing-head-foot-expected.txt:
        * platform/win/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.txt:
        * platform/win/fast/table/border-collapsing/bug14274-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-69296-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-cell-append-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-cell-remove-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-cell-border-color-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-cell-sl-border-color-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-col-border-color-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-col-border-width-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-table-border-color-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-table-border-width-expected.txt:
        * platform/win/fast/table/border-collapsing/cached-change-tbody-border-color-expected.txt:
        * platform/win/fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.txt:
        * platform/win/fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.txt:
        * platform/win/fast/table/border-collapsing/equal-precedence-resolution-expected.txt:
        * platform/win/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt:
        * platform/win/fast/table/border-collapsing/rtl-border-collapsing-expected.txt:
        * platform/win/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.txt:
        * platform/win/fast/table/caption-relayout-expected.txt:
        * platform/win/fast/table/cell-absolute-child-expected.txt:
        * platform/win/fast/table/cell-coalescing-expected.txt:
        * platform/win/fast/table/cell-width-auto-expected.txt:
        * platform/win/fast/table/cellindex-expected.txt:
        * platform/win/fast/table/click-near-anonymous-table-expected.txt:
        * platform/win/fast/table/colgroup-preceded-by-caption-expected.txt:
        * platform/win/fast/table/colgroup-spanning-groups-rules-expected.txt:
        * platform/win/fast/table/colspan-with-all-percent-cells-expected.txt:
        * platform/win/fast/table/colspanMinWidth-expected.txt:
        * platform/win/fast/table/colspanMinWidth-vertical-expected.txt:
        * platform/win/fast/table/dynamic-cellpadding-expected.txt:
        * platform/win/fast/table/dynamic-descendant-percentage-height-expected.txt:
        * platform/win/fast/table/edge-offsets-expected.txt:
        * platform/win/fast/table/empty-cells-expected.txt:
        * platform/win/fast/table/floating-th-expected.txt:
        * platform/win/fast/table/frame-and-rules-expected.txt:
        * platform/win/fast/table/generated-caption-expected.txt:
        * platform/win/fast/table/giantRowspan-expected.txt:
        * platform/win/fast/table/growCellForImageQuirk-expected.txt:
        * platform/win/fast/table/growCellForImageQuirk-vertical-expected.txt:
        * platform/win/fast/table/height-percent-test-expected.txt:
        * platform/win/fast/table/height-percent-test-vertical-expected.txt:
        * platform/win/fast/table/insert-before-anonymous-ancestors-expected.txt:
        * platform/win/fast/table/insert-cell-before-form-expected.txt:
        * platform/win/fast/table/insert-row-before-form-expected.txt:
        * platform/win/fast/table/invisible-cell-background-expected.txt:
        * platform/win/fast/table/large-width-expected.txt:
        * platform/win/fast/table/max-width-integer-overflow-expected.txt:
        * platform/win/fast/table/mozilla-bug10296-vertical-align-1-expected.txt:
        * platform/win/fast/table/mozilla-bug10296-vertical-align-2-expected.txt:
        * platform/win/fast/table/multiple-captions-display-expected.txt:
        * platform/win/fast/table/nested-percent-height-table-expected.txt:
        * platform/win/fast/table/nobr-expected.txt:
        * platform/win/fast/table/overflowHidden-expected.txt:
        * platform/win/fast/table/percent-heights-expected.txt:
        * platform/win/fast/table/percent-widths-stretch-expected.txt:
        * platform/win/fast/table/percent-widths-stretch-vertical-expected.txt:
        * platform/win/fast/table/prepend-in-anonymous-table-expected.txt:
        * platform/win/fast/table/quote-text-around-iframe-expected.txt:
        * platform/win/fast/table/relative-position-containment-expected.txt:
        * platform/win/fast/table/relative-position-offsets-expected.txt:
        * platform/win/fast/table/relative-position-stacking-expected.txt:
        * platform/win/fast/table/replaced-percent-height-expected.txt:
        * platform/win/fast/table/row-height-recalc-expected.txt:
        * platform/win/fast/table/rowspan-paint-order-expected.txt:
        * platform/win/fast/table/rowspan-paint-order-vertical-expected.txt:
        * platform/win/fast/table/rtl-cell-display-none-assert-expected.txt:
        * platform/win/fast/table/rules-attr-dynchange1-expected.txt:
        * platform/win/fast/table/rules-attr-dynchange2-expected.txt:
        * platform/win/fast/table/simple_paint-expected.txt:
        * platform/win/fast/table/spanOverlapRepaint-expected.txt:
        * platform/win/fast/table/stale-grid-crash-expected.txt:
        * platform/win/fast/table/table-after-child-in-table-expected.txt:
        * platform/win/fast/table/table-and-parts-outline-expected.txt:
        * platform/win/fast/table/table-anonymous-cell-bug-expected.txt:
        * platform/win/fast/table/table-anonymous-row-bug-expected.txt:
        * platform/win/fast/table/table-anonymous-section-bug-expected.txt:
        * platform/win/fast/table/table-before-child-in-table-expected.txt:
        * platform/win/fast/table/table-before-child-style-update-expected.txt:
        * platform/win/fast/table/table-cell-after-child-in-block-expected.txt:
        * platform/win/fast/table/table-cell-after-child-in-table-expected.txt:
        * platform/win/fast/table/table-cell-before-after-content-around-table-block-expected.txt:
        * platform/win/fast/table/table-cell-before-after-content-around-table-expected.txt:
        * platform/win/fast/table/table-cell-before-after-content-around-table-row-expected.txt:
        * platform/win/fast/table/table-cell-before-child-in-block-expected.txt:
        * platform/win/fast/table/table-cell-before-child-in-table-expected.txt:
        * platform/win/fast/table/table-cell-split-expected.txt:
        * platform/win/fast/table/table-continuation-outline-paint-crash-expected.txt:
        * platform/win/fast/table/table-display-types-expected.txt:
        * platform/win/fast/table/table-display-types-strict-expected.txt:
        * platform/win/fast/table/table-display-types-vertical-expected.txt:
        * platform/win/fast/table/table-hspace-align-center-expected.txt:
        * platform/win/fast/table/table-insert-before-non-anonymous-block-expected.txt:
        * platform/win/fast/table/table-row-after-child-in-block-expected.txt:
        * platform/win/fast/table/table-row-after-child-in-table-expected.txt:
        * platform/win/fast/table/table-row-before-after-content-around-block-expected.txt:
        * platform/win/fast/table/table-row-before-after-content-around-table-cell-expected.txt:
        * platform/win/fast/table/table-row-before-after-content-around-table-expected.txt:
        * platform/win/fast/table/table-row-before-child-in-block-expected.txt:
        * platform/win/fast/table/table-row-before-child-in-table-expected.txt:
        * platform/win/fast/table/table-row-before-child-style-update-expected.txt:
        * platform/win/fast/table/table-row-outline-paint-expected.txt:
        * platform/win/fast/table/table-row-split2-expected.txt:
        * platform/win/fast/table/table-row-style-not-updated-expected.txt:
        * platform/win/fast/table/table-row-style-not-updated-with-after-content-expected.txt:
        * platform/win/fast/table/table-row-style-not-updated-with-before-content-expected.txt:
        * platform/win/fast/table/table-section-split2-expected.txt:
        * platform/win/fast/table/table-split-expected.txt:
        * platform/win/fast/table/table-split2-expected.txt:
        * platform/win/fast/table/table-style-not-updated-expected.txt:
        * platform/win/fast/table/tableInsideCaption-expected.txt:
        * platform/win/fast/table/text-field-baseline-expected.txt:
        * platform/win/fast/table/unbreakable-images-quirk-expected.txt:
        * platform/win/fast/table/vertical-align-baseline-expected.txt:
        * platform/win/fast/table/wide-colspan-expected.txt:
        * platform/win/fast/table/wide-column-expected.txt:
        * platform/win/fast/text/atsui-negative-spacing-features-expected.txt:
        * platform/win/fast/text/atsui-spacing-features-expected.txt:
        * platform/win/fast/text/basic/001-expected.txt:
        * platform/win/fast/text/basic/006-expected.txt:
        * platform/win/fast/text/basic/007-expected.txt:
        * platform/win/fast/text/basic/generic-family-reset-expected.txt:
        * platform/win/fast/text/capitalize-boundaries-expected.txt:
        * platform/win/fast/text/international/bidi-LDB-2-CSS-expected.txt:
        * platform/win/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/win/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
        * platform/win/fast/text/international/bidi-override-expected.txt:
        * platform/win/fast/text/textIteratorNilRenderer-expected.txt:
        * platform/win/fast/text/wbr-expected.txt:
        * platform/win/fast/text/whitespace/002-expected.txt:
        * platform/win/fast/text/whitespace/003-expected.txt:
        * platform/win/fast/text/whitespace/004-expected.txt:
        * platform/win/fast/text/whitespace/005-expected.txt:
        * platform/win/fast/text/whitespace/010-expected.txt:
        * platform/win/fast/text/whitespace/011-expected.txt:
        * platform/win/fast/text/whitespace/013-expected.txt:
        * platform/win/fast/text/whitespace/014-expected.txt:
        * platform/win/fast/text/whitespace/015-expected.txt:
        * platform/win/fast/text/whitespace/016-expected.txt:
        * platform/win/fast/text/whitespace/024-expected.txt:
        * platform/win/fast/text/whitespace/025-expected.txt:
        * platform/win/fast/text/whitespace/026-expected.txt:
        * platform/win/fast/text/whitespace/027-expected.txt:
        * platform/win/fast/text/word-break-expected.txt:
        * platform/win/fast/transforms/transform-table-row-expected.txt:
        * platform/win/fast/writing-mode/table-percent-width-quirk-expected.txt:
        * platform/win/fast/writing-mode/vertical-align-table-baseline-expected.txt:
        * platform/win/http/tests/misc/acid2-expected.txt:
        * platform/win/http/tests/misc/acid2-pixel-expected.txt:
        * platform/win/http/tests/misc/generated-content-inside-table-expected.txt:
        * platform/win/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt:
        * platform/win/svg/as-background-image/background-image-preserveaspectRatio-support-expected.txt:
        * platform/win/tables/layering/paint-test-layering-1-expected.txt:
        * platform/win/tables/layering/paint-test-layering-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug10009-expected.txt:
        * platform/win/tables/mozilla/bugs/bug10036-expected.txt:
        * platform/win/tables/mozilla/bugs/bug10269-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug10269-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug10296-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug10296-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1055-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug10565-expected.txt:
        * platform/win/tables/mozilla/bugs/bug10633-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1067-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1067-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug11321-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1163-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/win/tables/mozilla/bugs/bug11944-expected.txt:
        * platform/win/tables/mozilla/bugs/bug12008-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1224-expected.txt:
        * platform/win/tables/mozilla/bugs/bug12268-expected.txt:
        * platform/win/tables/mozilla/bugs/bug12384-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1261-expected.txt:
        * platform/win/tables/mozilla/bugs/bug12709-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1271-expected.txt:
        * platform/win/tables/mozilla/bugs/bug12908-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug12908-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug12910-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1296-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1302-expected.txt:
        * platform/win/tables/mozilla/bugs/bug13105-expected.txt:
        * platform/win/tables/mozilla/bugs/bug13118-expected.txt:
        * platform/win/tables/mozilla/bugs/bug13169-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/win/tables/mozilla/bugs/bug13484-expected.txt:
        * platform/win/tables/mozilla/bugs/bug13526-expected.txt:
        * platform/win/tables/mozilla/bugs/bug14159-3-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1430-expected.txt:
        * platform/win/tables/mozilla/bugs/bug14323-expected.txt:
        * platform/win/tables/mozilla/bugs/bug14929-expected.txt:
        * platform/win/tables/mozilla/bugs/bug15247-expected.txt:
        * platform/win/tables/mozilla/bugs/bug15544-expected.txt:
        * platform/win/tables/mozilla/bugs/bug15933-expected.txt:
        * platform/win/tables/mozilla/bugs/bug16012-expected.txt:
        * platform/win/tables/mozilla/bugs/bug16252-expected.txt:
        * platform/win/tables/mozilla/bugs/bug17130-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug17138-expected.txt:
        * platform/win/tables/mozilla/bugs/bug17548-expected.txt:
        * platform/win/tables/mozilla/bugs/bug17587-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1800-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1802-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1802s-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1809-expected.txt:
        * platform/win/tables/mozilla/bugs/bug1828-expected.txt:
        * platform/win/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/win/tables/mozilla/bugs/bug18440-expected.txt:
        * platform/win/tables/mozilla/bugs/bug18558-expected.txt:
        * platform/win/tables/mozilla/bugs/bug18664-expected.txt:
        * platform/win/tables/mozilla/bugs/bug18955-expected.txt:
        * platform/win/tables/mozilla/bugs/bug19061-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug19061-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug19356-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2050-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2123-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2267-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2296-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2469-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2479-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2516-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2585-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2684-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2757-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2773-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2886-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2886-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2954-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2973-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2981-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2981-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug2997-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3037-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3037-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3103-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3191-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3260-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3263-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3309-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3454-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3718-expected.txt:
        * platform/win/tables/mozilla/bugs/bug3977-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4093-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4284-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4385-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4427-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4429-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4501-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4520-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4576-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4739-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4803-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4849-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4849-expected.txt:
        * platform/win/tables/mozilla/bugs/bug5188-expected.txt:
        * platform/win/tables/mozilla/bugs/bug5538-expected.txt:
        * platform/win/tables/mozilla/bugs/bug5797-expected.txt:
        * platform/win/tables/mozilla/bugs/bug5798-expected.txt:
        * platform/win/tables/mozilla/bugs/bug5799-expected.txt:
        * platform/win/tables/mozilla/bugs/bug5835-expected.txt:
        * platform/win/tables/mozilla/bugs/bug5838-expected.txt:
        * platform/win/tables/mozilla/bugs/bug6184-expected.txt:
        * platform/win/tables/mozilla/bugs/bug6304-expected.txt:
        * platform/win/tables/mozilla/bugs/bug6404-expected.txt:
        * platform/win/tables/mozilla/bugs/bug647-expected.txt:
        * platform/win/tables/mozilla/bugs/bug650-expected.txt:
        * platform/win/tables/mozilla/bugs/bug6674-expected.txt:
        * platform/win/tables/mozilla/bugs/bug709-expected.txt:
        * platform/win/tables/mozilla/bugs/bug7112-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug7112-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/win/tables/mozilla/bugs/bug7714-expected.txt:
        * platform/win/tables/mozilla/bugs/bug8032-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug8361-expected.txt:
        * platform/win/tables/mozilla/bugs/bug8381-expected.txt:
        * platform/win/tables/mozilla/bugs/bug8950-expected.txt:
        * platform/win/tables/mozilla/bugs/bug9072-expected.txt:
        * platform/win/tables/mozilla/bugs/bug9123-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug9123-2-expected.txt:
        * platform/win/tables/mozilla/bugs/bug9271-1-expected.txt:
        * platform/win/tables/mozilla/bugs/bug963-expected.txt:
        * platform/win/tables/mozilla/bugs/bug965-expected.txt:
        * platform/win/tables/mozilla/bugs/bug9879-1-expected.txt:

2016-01-28  Brady Eidson  <beidson@apple.com>

        Modern IDB: Fix several more problems with object store changes during cursor iteration in SQLite backend.
        https://bugs.webkit.org/show_bug.cgi?id=153616

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-28  Brady Eidson  <beidson@apple.com>

        Modern IDB: SQLite backend doesn't handle mutation during cursor iteration.
        https://bugs.webkit.org/show_bug.cgi?id=153614

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-28  Brady Eidson  <beidson@apple.com>

        Modern IDB: SQLite backend doesn't support deleting ranges with more than one key.
        https://bugs.webkit.org/show_bug.cgi?id=153604

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:

2016-01-28  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed gardening after r195740.

        * platform/gtk/TestExpectations
        * platform/gtk/accessibility/table-detection-expected.txt
        * platform/gtk/css1/basic/containment-expected.png
        * platform/gtk/css1/basic/containment-expected.txt
        * platform/gtk/css1/basic/contextual_selectors-expected.png
        * platform/gtk/css1/basic/contextual_selectors-expected.txt
        * platform/gtk/css1/basic/grouping-expected.png
        * platform/gtk/css1/basic/grouping-expected.txt
        * platform/gtk/css1/basic/id_as_selector-expected.png
        * platform/gtk/css1/basic/id_as_selector-expected.txt
        * platform/gtk/css1/basic/inheritance-expected.png
        * platform/gtk/css1/basic/inheritance-expected.txt
        * platform/gtk/css1/box_properties/border-expected.png
        * platform/gtk/css1/box_properties/border-expected.txt
        * platform/gtk/css1/box_properties/border_bottom-expected.png
        * platform/gtk/css1/box_properties/border_bottom-expected.txt
        * platform/gtk/css1/box_properties/border_bottom_inline-expected.png
        * platform/gtk/css1/box_properties/border_bottom_inline-expected.txt
        * platform/gtk/css1/box_properties/border_bottom_width-expected.png
        * platform/gtk/css1/box_properties/border_bottom_width-expected.txt
        * platform/gtk/css1/box_properties/border_bottom_width_inline-expected.png
        * platform/gtk/css1/box_properties/border_bottom_width_inline-expected.txt
        * platform/gtk/css1/box_properties/border_color-expected.png
        * platform/gtk/css1/box_properties/border_color-expected.txt
        * platform/gtk/css1/box_properties/border_color_inline-expected.png
        * platform/gtk/css1/box_properties/border_color_inline-expected.txt
        * platform/gtk/css1/box_properties/border_inline-expected.png
        * platform/gtk/css1/box_properties/border_inline-expected.txt
        * platform/gtk/css1/box_properties/border_left-expected.png
        * platform/gtk/css1/box_properties/border_left-expected.txt
        * platform/gtk/css1/box_properties/border_left_inline-expected.png
        * platform/gtk/css1/box_properties/border_left_inline-expected.txt
        * platform/gtk/css1/box_properties/border_left_width-expected.png
        * platform/gtk/css1/box_properties/border_left_width-expected.txt
        * platform/gtk/css1/box_properties/border_left_width_inline-expected.png
        * platform/gtk/css1/box_properties/border_left_width_inline-expected.txt
        * platform/gtk/css1/box_properties/border_right-expected.png
        * platform/gtk/css1/box_properties/border_right-expected.txt
        * platform/gtk/css1/box_properties/border_right_inline-expected.png
        * platform/gtk/css1/box_properties/border_right_inline-expected.txt
        * platform/gtk/css1/box_properties/border_right_width-expected.png
        * platform/gtk/css1/box_properties/border_right_width-expected.txt
        * platform/gtk/css1/box_properties/border_right_width_inline-expected.png
        * platform/gtk/css1/box_properties/border_right_width_inline-expected.txt
        * platform/gtk/css1/box_properties/border_style-expected.png
        * platform/gtk/css1/box_properties/border_style-expected.txt
        * platform/gtk/css1/box_properties/border_style_inline-expected.png
        * platform/gtk/css1/box_properties/border_style_inline-expected.txt
        * platform/gtk/css1/box_properties/border_top-expected.png
        * platform/gtk/css1/box_properties/border_top-expected.txt
        * platform/gtk/css1/box_properties/border_top_inline-expected.png
        * platform/gtk/css1/box_properties/border_top_inline-expected.txt
        * platform/gtk/css1/box_properties/border_top_width-expected.png
        * platform/gtk/css1/box_properties/border_top_width-expected.txt
        * platform/gtk/css1/box_properties/border_top_width_inline-expected.png
        * platform/gtk/css1/box_properties/border_top_width_inline-expected.txt
        * platform/gtk/css1/box_properties/border_width-expected.png
        * platform/gtk/css1/box_properties/border_width-expected.txt
        * platform/gtk/css1/box_properties/border_width_inline-expected.png
        * platform/gtk/css1/box_properties/border_width_inline-expected.txt
        * platform/gtk/css1/box_properties/clear-expected.png
        * platform/gtk/css1/box_properties/clear-expected.txt
        * platform/gtk/css1/box_properties/clear_float-expected.png
        * platform/gtk/css1/box_properties/clear_float-expected.txt
        * platform/gtk/css1/box_properties/float-expected.png
        * platform/gtk/css1/box_properties/float-expected.txt
        * platform/gtk/css1/box_properties/float_elements_in_series-expected.png
        * platform/gtk/css1/box_properties/float_elements_in_series-expected.txt
        * platform/gtk/css1/box_properties/float_margin-expected.png
        * platform/gtk/css1/box_properties/float_margin-expected.txt
        * platform/gtk/css1/box_properties/float_on_text_elements-expected.png
        * platform/gtk/css1/box_properties/float_on_text_elements-expected.txt
        * platform/gtk/css1/box_properties/height-expected.png
        * platform/gtk/css1/box_properties/height-expected.txt
        * platform/gtk/css1/box_properties/margin-expected.png
        * platform/gtk/css1/box_properties/margin-expected.txt
        * platform/gtk/css1/box_properties/margin_bottom-expected.png
        * platform/gtk/css1/box_properties/margin_bottom-expected.txt
        * platform/gtk/css1/box_properties/margin_bottom_inline-expected.png
        * platform/gtk/css1/box_properties/margin_bottom_inline-expected.txt
        * platform/gtk/css1/box_properties/margin_inline-expected.png
        * platform/gtk/css1/box_properties/margin_inline-expected.txt
        * platform/gtk/css1/box_properties/margin_left-expected.png
        * platform/gtk/css1/box_properties/margin_left-expected.txt
        * platform/gtk/css1/box_properties/margin_left_inline-expected.png
        * platform/gtk/css1/box_properties/margin_left_inline-expected.txt
        * platform/gtk/css1/box_properties/margin_right-expected.png
        * platform/gtk/css1/box_properties/margin_right-expected.txt
        * platform/gtk/css1/box_properties/margin_right_inline-expected.png
        * platform/gtk/css1/box_properties/margin_right_inline-expected.txt
        * platform/gtk/css1/box_properties/margin_top-expected.png
        * platform/gtk/css1/box_properties/margin_top-expected.txt
        * platform/gtk/css1/box_properties/margin_top_inline-expected.png
        * platform/gtk/css1/box_properties/margin_top_inline-expected.txt
        * platform/gtk/css1/box_properties/padding-expected.txt
        * platform/gtk/css1/box_properties/padding_bottom-expected.png
        * platform/gtk/css1/box_properties/padding_bottom-expected.txt
        * platform/gtk/css1/box_properties/padding_bottom_inline-expected.png
        * platform/gtk/css1/box_properties/padding_bottom_inline-expected.txt
        * platform/gtk/css1/box_properties/padding_inline-expected.png
        * platform/gtk/css1/box_properties/padding_inline-expected.txt
        * platform/gtk/css1/box_properties/padding_left-expected.png
        * platform/gtk/css1/box_properties/padding_left-expected.txt
        * platform/gtk/css1/box_properties/padding_left_inline-expected.png
        * platform/gtk/css1/box_properties/padding_left_inline-expected.txt
        * platform/gtk/css1/box_properties/padding_right-expected.png
        * platform/gtk/css1/box_properties/padding_right-expected.txt
        * platform/gtk/css1/box_properties/padding_right_inline-expected.png
        * platform/gtk/css1/box_properties/padding_right_inline-expected.txt
        * platform/gtk/css1/box_properties/padding_top-expected.txt
        * platform/gtk/css1/box_properties/padding_top_inline-expected.png
        * platform/gtk/css1/box_properties/padding_top_inline-expected.txt
        * platform/gtk/css1/box_properties/width-expected.png
        * platform/gtk/css1/box_properties/width-expected.txt
        * platform/gtk/css1/cascade/cascade_order-expected.png
        * platform/gtk/css1/cascade/cascade_order-expected.txt
        * platform/gtk/css1/cascade/important-expected.png
        * platform/gtk/css1/cascade/important-expected.txt
        * platform/gtk/css1/classification/display-expected.png
        * platform/gtk/css1/classification/display-expected.txt
        * platform/gtk/css1/classification/list_style-expected.png
        * platform/gtk/css1/classification/list_style-expected.txt
        * platform/gtk/css1/classification/list_style_image-expected.png
        * platform/gtk/css1/classification/list_style_image-expected.txt
        * platform/gtk/css1/classification/list_style_position-expected.png
        * platform/gtk/css1/classification/list_style_position-expected.txt
        * platform/gtk/css1/classification/list_style_type-expected.png
        * platform/gtk/css1/classification/list_style_type-expected.txt
        * platform/gtk/css1/classification/white_space-expected.png
        * platform/gtk/css1/classification/white_space-expected.txt
        * platform/gtk/css1/color_and_background/background-expected.png
        * platform/gtk/css1/color_and_background/background-expected.txt
        * platform/gtk/css1/color_and_background/background_attachment-expected.png
        * platform/gtk/css1/color_and_background/background_attachment-expected.txt
        * platform/gtk/css1/color_and_background/background_color-expected.png
        * platform/gtk/css1/color_and_background/background_color-expected.txt
        * platform/gtk/css1/color_and_background/background_image-expected.png
        * platform/gtk/css1/color_and_background/background_image-expected.txt
        * platform/gtk/css1/color_and_background/background_position-expected.png
        * platform/gtk/css1/color_and_background/background_position-expected.txt
        * platform/gtk/css1/color_and_background/background_repeat-expected.png
        * platform/gtk/css1/color_and_background/background_repeat-expected.txt
        * platform/gtk/css1/color_and_background/color-expected.png
        * platform/gtk/css1/color_and_background/color-expected.txt
        * platform/gtk/css1/conformance/forward_compatible_parsing-expected.txt
        * platform/gtk/css1/font_properties/font-expected.png
        * platform/gtk/css1/font_properties/font-expected.txt
        * platform/gtk/css1/font_properties/font_family-expected.png
        * platform/gtk/css1/font_properties/font_family-expected.txt
        * platform/gtk/css1/font_properties/font_size-expected.png
        * platform/gtk/css1/font_properties/font_size-expected.txt
        * platform/gtk/css1/font_properties/font_style-expected.png
        * platform/gtk/css1/font_properties/font_style-expected.txt
        * platform/gtk/css1/font_properties/font_variant-expected.png
        * platform/gtk/css1/font_properties/font_variant-expected.txt
        * platform/gtk/css1/font_properties/font_weight-expected.png
        * platform/gtk/css1/font_properties/font_weight-expected.txt
        * platform/gtk/css1/formatting_model/canvas-expected.png
        * platform/gtk/css1/formatting_model/canvas-expected.txt
        * platform/gtk/css1/formatting_model/floating_elements-expected.png
        * platform/gtk/css1/formatting_model/floating_elements-expected.txt
        * platform/gtk/css1/formatting_model/height_of_lines-expected.png
        * platform/gtk/css1/formatting_model/height_of_lines-expected.txt
        * platform/gtk/css1/formatting_model/inline_elements-expected.png
        * platform/gtk/css1/formatting_model/inline_elements-expected.txt
        * platform/gtk/css1/formatting_model/replaced_elements-expected.png
        * platform/gtk/css1/formatting_model/replaced_elements-expected.txt
        * platform/gtk/css1/formatting_model/vertical_formatting-expected.txt
        * platform/gtk/css1/pseudo/anchor-expected.png
        * platform/gtk/css1/pseudo/anchor-expected.txt
        * platform/gtk/css1/pseudo/firstletter-expected.png
        * platform/gtk/css1/pseudo/firstletter-expected.txt
        * platform/gtk/css1/pseudo/firstline-expected.png
        * platform/gtk/css1/pseudo/firstline-expected.txt
        * platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.png
        * platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt
        * platform/gtk/css1/pseudo/pseudo_elements_in_selectors-expected.png
        * platform/gtk/css1/pseudo/pseudo_elements_in_selectors-expected.txt
        * 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_align-expected.png
        * platform/gtk/css1/text_properties/text_align-expected.txt
        * platform/gtk/css1/text_properties/text_decoration-expected.png
        * platform/gtk/css1/text_properties/text_decoration-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/text_transform-expected.png
        * platform/gtk/css1/text_properties/text_transform-expected.txt
        * platform/gtk/css1/text_properties/vertical_align-expected.png
        * platform/gtk/css1/text_properties/vertical_align-expected.txt
        * platform/gtk/css1/text_properties/word_spacing-expected.png
        * platform/gtk/css1/text_properties/word_spacing-expected.txt
        * platform/gtk/css1/units/color_units-expected.png
        * platform/gtk/css1/units/color_units-expected.txt
        * platform/gtk/css1/units/length_units-expected.png
        * platform/gtk/css1/units/length_units-expected.txt
        * platform/gtk/css1/units/percentage_units-expected.png
        * platform/gtk/css1/units/percentage_units-expected.txt
        * platform/gtk/css1/units/urls-expected.png
        * platform/gtk/css1/units/urls-expected.txt
        * platform/gtk/css2.1/20110323/border-collapse-offset-002-expected.png
        * platform/gtk/css2.1/20110323/border-collapse-offset-002-expected.txt
        * platform/gtk/css2.1/20110323/border-conflict-style-079-expected.png
        * platform/gtk/css2.1/20110323/border-conflict-style-079-expected.txt
        * platform/gtk/css2.1/20110323/border-conflict-style-088-expected.png
        * platform/gtk/css2.1/20110323/border-conflict-style-088-expected.txt
        * platform/gtk/css2.1/20110323/dynamic-top-change-002-expected.txt
        * platform/gtk/css2.1/20110323/dynamic-top-change-003-expected.txt
        * platform/gtk/css2.1/20110323/inline-table-001-expected.txt
        * platform/gtk/css2.1/20110323/inline-table-003-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-001-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-002-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-003-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-004-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-005-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-006-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-007-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-013-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-014-expected.txt
        * platform/gtk/css2.1/20110323/margin-applies-to-015-expected.txt
        * platform/gtk/css2.1/20110323/replaced-intrinsic-ratio-001-expected.png
        * platform/gtk/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt
        * platform/gtk/css2.1/20110323/table-caption-001-expected.txt
        * platform/gtk/css2.1/20110323/table-caption-optional-001-expected.txt
        * platform/gtk/css2.1/20110323/table-caption-optional-002-expected.txt
        * platform/gtk/css2.1/t040302-c61-ex-len-00-b-a-expected.txt
        * platform/gtk/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt
        * platform/gtk/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt
        * platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt
        * platform/gtk/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt
        * platform/gtk/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt
        * platform/gtk/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt
        * platform/gtk/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-04-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-04-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-06-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-06-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-08-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-08-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-13-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-13-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-14-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-14-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-16-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-16-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-17-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-17-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-18-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-18-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-24-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-24-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-25-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-25-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-30-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-30-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-31-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-31-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-34-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-34-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-44-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-44-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-52-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-52-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-54-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-54-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-59-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-59-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-64-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-64-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-65-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-65-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-70-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-70-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-71-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-71-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-74-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-74-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-84-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-84-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-85-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-85-d-expected.txt
        * platform/gtk/css2.1/t170602-bdr-conflct-w-94-d-expected.png
        * platform/gtk/css2.1/t170602-bdr-conflct-w-94-d-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-177-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-178-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-179-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-180-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-181-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-189-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-190-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-191-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-192-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-193-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-194-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-195-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-196-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-205-expected.txt
        * platform/gtk/css2.1/tables/table-anonymous-objects-206-expected.txt
        * platform/gtk/css3/css3-modsel-33-expected.png
        * platform/gtk/css3/css3-modsel-33-expected.txt
        * platform/gtk/css3/selectors3/html/css3-modsel-18-expected.png
        * platform/gtk/css3/selectors3/html/css3-modsel-18-expected.txt
        * platform/gtk/css3/selectors3/html/css3-modsel-29-expected.png
        * platform/gtk/css3/selectors3/html/css3-modsel-29-expected.txt
        * platform/gtk/css3/selectors3/html/css3-modsel-29b-expected.png
        * platform/gtk/css3/selectors3/html/css3-modsel-29b-expected.txt
        * platform/gtk/css3/selectors3/html/css3-modsel-33-expected.png
        * platform/gtk/css3/selectors3/html/css3-modsel-33-expected.txt
        * platform/gtk/css3/selectors3/html/css3-modsel-73-expected.png
        * platform/gtk/css3/selectors3/html/css3-modsel-73-expected.txt
        * platform/gtk/css3/selectors3/html/css3-modsel-73b-expected.png
        * platform/gtk/css3/selectors3/html/css3-modsel-73b-expected.txt
        * platform/gtk/css3/selectors3/html/css3-modsel-77-expected.png
        * platform/gtk/css3/selectors3/html/css3-modsel-77-expected.txt
        * platform/gtk/css3/selectors3/html/css3-modsel-77b-expected.png
        * platform/gtk/css3/selectors3/html/css3-modsel-77b-expected.txt
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-18-expected.png
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-18-expected.txt
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-29-expected.png
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-29-expected.txt
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-29b-expected.png
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-29b-expected.txt
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-33-expected.png
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-33-expected.txt
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-73-expected.png
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-73-expected.txt
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-73b-expected.png
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-73b-expected.txt
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-77-expected.png
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-77-expected.txt
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-77b-expected.png
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-77b-expected.txt
        * platform/gtk/css3/selectors3/xml/css3-modsel-18-expected.png
        * platform/gtk/css3/selectors3/xml/css3-modsel-18-expected.txt
        * platform/gtk/css3/selectors3/xml/css3-modsel-29-expected.png
        * platform/gtk/css3/selectors3/xml/css3-modsel-29-expected.txt
        * platform/gtk/css3/selectors3/xml/css3-modsel-29b-expected.png
        * platform/gtk/css3/selectors3/xml/css3-modsel-29b-expected.txt
        * platform/gtk/css3/selectors3/xml/css3-modsel-33-expected.png
        * platform/gtk/css3/selectors3/xml/css3-modsel-33-expected.txt
        * platform/gtk/css3/selectors3/xml/css3-modsel-73-expected.png
        * platform/gtk/css3/selectors3/xml/css3-modsel-73-expected.txt
        * platform/gtk/css3/selectors3/xml/css3-modsel-73b-expected.png
        * platform/gtk/css3/selectors3/xml/css3-modsel-73b-expected.txt
        * platform/gtk/css3/selectors3/xml/css3-modsel-77-expected.png
        * platform/gtk/css3/selectors3/xml/css3-modsel-77-expected.txt
        * platform/gtk/css3/selectors3/xml/css3-modsel-77b-expected.png
        * platform/gtk/css3/selectors3/xml/css3-modsel-77b-expected.txt
        * platform/gtk/editing/deleting/4922367-expected.txt
        * platform/gtk/editing/deleting/5126166-expected.png
        * platform/gtk/editing/deleting/5126166-expected.txt
        * platform/gtk/editing/deleting/5144139-2-expected.png
        * platform/gtk/editing/deleting/5144139-2-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/inserting/paragraph-separator-in-table-1-expected.png
        * platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.txt
        * platform/gtk/editing/pasteboard/innerText-inline-table-expected.png
        * platform/gtk/editing/pasteboard/innerText-inline-table-expected.txt
        * platform/gtk/editing/selection/3690703-2-expected.png
        * platform/gtk/editing/selection/3690703-2-expected.txt
        * platform/gtk/editing/selection/3690703-expected.png
        * platform/gtk/editing/selection/3690703-expected.txt
        * platform/gtk/editing/selection/3690719-expected.png
        * platform/gtk/editing/selection/3690719-expected.txt
        * platform/gtk/editing/selection/5057506-2-expected.png
        * platform/gtk/editing/selection/5057506-2-expected.txt
        * platform/gtk/editing/selection/5057506-expected.png
        * platform/gtk/editing/selection/5057506-expected.txt
        * platform/gtk/editing/selection/5131716-1-expected.txt
        * platform/gtk/editing/selection/5131716-2-expected.txt
        * platform/gtk/editing/selection/5131716-3-expected.txt
        * platform/gtk/editing/selection/5131716-4-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.png
        * platform/gtk/editing/selection/select-all-004-expected.txt
        * platform/gtk/editing/unsupported-content/table-type-after-expected.png
        * platform/gtk/editing/unsupported-content/table-type-after-expected.txt
        * platform/gtk/editing/unsupported-content/table-type-before-expected.png
        * platform/gtk/editing/unsupported-content/table-type-before-expected.txt
        * platform/gtk/fast/block/basic/016-expected.txt
        * platform/gtk/fast/block/basic/quirk-percent-height-table-cell-expected.png
        * platform/gtk/fast/block/basic/quirk-percent-height-table-cell-expected.txt
        * platform/gtk/fast/block/float/015-expected.png
        * platform/gtk/fast/block/float/015-expected.txt
        * platform/gtk/fast/block/margin-collapse/006-expected.txt
        * platform/gtk/fast/block/margin-collapse/010-expected.txt
        * platform/gtk/fast/block/margin-collapse/011-expected.txt
        * platform/gtk/fast/block/margin-collapse/012-expected.txt
        * platform/gtk/fast/block/margin-collapse/015-expected.txt
        * platform/gtk/fast/block/margin-collapse/016-expected.txt
        * platform/gtk/fast/block/margin-collapse/017-expected.txt
        * platform/gtk/fast/block/margin-collapse/018-expected.txt
        * platform/gtk/fast/block/margin-collapse/019-expected.png
        * platform/gtk/fast/block/margin-collapse/019-expected.txt
        * platform/gtk/fast/block/margin-collapse/020-expected.png
        * platform/gtk/fast/block/margin-collapse/020-expected.txt
        * platform/gtk/fast/block/margin-collapse/021-expected.txt
        * platform/gtk/fast/block/margin-collapse/022-expected.txt
        * platform/gtk/fast/block/margin-collapse/025-expected.txt
        * platform/gtk/fast/block/margin-collapse/032-expected.txt
        * platform/gtk/fast/block/margin-collapse/033-expected.txt
        * platform/gtk/fast/block/margin-collapse/034-expected.txt
        * platform/gtk/fast/block/margin-collapse/041-expected.txt
        * platform/gtk/fast/block/margin-collapse/042-expected.txt
        * platform/gtk/fast/block/margin-collapse/055-expected.txt
        * platform/gtk/fast/block/margin-collapse/056-expected.txt
        * platform/gtk/fast/block/margin-collapse/057-expected.txt
        * platform/gtk/fast/block/margin-collapse/058-expected.txt
        * platform/gtk/fast/block/margin-collapse/059-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/006-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/010-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/011-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/012-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/015-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/016-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/017-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/018-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/019-expected.png
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/019-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/020-expected.png
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/020-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/021-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/022-expected.txt
        * platform/gtk/fast/block/margin-collapse/block-inside-inline/025-expected.txt
        * platform/gtk/fast/block/positioning/table-cell-static-position-expected.txt
        * platform/gtk/fast/borders/border-antialiasing-expected.png
        * platform/gtk/fast/borders/border-antialiasing-expected.txt
        * platform/gtk/fast/borders/border-radius-different-width-001-expected.png
        * platform/gtk/fast/borders/border-radius-different-width-001-expected.txt
        * platform/gtk/fast/borders/table-borders-expected.png
        * platform/gtk/fast/borders/table-borders-expected.txt
        * platform/gtk/fast/css-generated-content/first-letter-in-nested-before-expected.txt
        * platform/gtk/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt
        * platform/gtk/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt
        * platform/gtk/fast/css-generated-content/table-cell-before-after-child-add-expected.txt
        * platform/gtk/fast/css-generated-content/table-parts-before-and-after-expected.txt
        * platform/gtk/fast/css-generated-content/table-row-group-with-before-expected.png
        * platform/gtk/fast/css-generated-content/table-row-group-with-before-expected.txt
        * platform/gtk/fast/css-generated-content/table-row-with-before-expected.png
        * platform/gtk/fast/css-generated-content/table-row-with-before-expected.txt
        * platform/gtk/fast/css-generated-content/table-with-before-expected.png
        * platform/gtk/fast/css-generated-content/table-with-before-expected.txt
        * platform/gtk/fast/css/003-expected.txt
        * platform/gtk/fast/css/absolute-poition-in-rtl-parent-expected.txt
        * platform/gtk/fast/css/acid2-expected.png
        * platform/gtk/fast/css/acid2-expected.txt
        * platform/gtk/fast/css/acid2-pixel-expected.png
        * platform/gtk/fast/css/acid2-pixel-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/box-shadow-and-border-radius-expected.png
        * platform/gtk/fast/css/box-shadow-and-border-radius-expected.txt
        * platform/gtk/fast/css/caption-width-absolute-position-expected.txt
        * platform/gtk/fast/css/caption-width-absolute-position-offset-top-expected.txt
        * platform/gtk/fast/css/caption-width-fixed-position-expected.txt
        * platform/gtk/fast/css/caption-width-fixed-position-offset-top-expected.txt
        * platform/gtk/fast/css/caption-width-relative-position-expected.txt
        * platform/gtk/fast/css/caption-width-relative-position-offset-top-expected.txt
        * platform/gtk/fast/css/css3-nth-child-expected.png
        * platform/gtk/fast/css/css3-nth-child-expected.txt
        * platform/gtk/fast/css/focus-ring-detached-expected.png
        * platform/gtk/fast/css/focus-ring-detached-expected.txt
        * platform/gtk/fast/css/focus-ring-multiline-expected.png
        * platform/gtk/fast/css/focus-ring-multiline-expected.txt
        * platform/gtk/fast/css/h1-in-section-elements-expected.png
        * platform/gtk/fast/css/h1-in-section-elements-expected.txt
        * platform/gtk/fast/css/min-width-with-spanned-cell-expected.txt
        * platform/gtk/fast/css/percentage-non-integer-expected.png
        * platform/gtk/fast/css/percentage-non-integer-expected.txt
        * platform/gtk/fast/css/table-text-align-quirk-expected.txt
        * platform/gtk/fast/css/table-text-align-strict-expected.txt
        * platform/gtk/fast/dom/34176-expected.png
        * platform/gtk/fast/dom/34176-expected.txt
        * platform/gtk/fast/dom/HTMLTableElement/colSpan-expected.png
        * platform/gtk/fast/dom/HTMLTableElement/colSpan-expected.txt
        * platform/gtk/fast/dom/HTMLTableElement/createCaption-expected.png
        * platform/gtk/fast/dom/HTMLTableElement/createCaption-expected.txt
        * platform/gtk/fast/dom/row-inner-text-expected.png
        * platform/gtk/fast/dom/row-inner-text-expected.txt
        * platform/gtk/fast/dynamic/001-expected.txt
        * platform/gtk/fast/dynamic/containing-block-change-expected.png
        * platform/gtk/fast/dynamic/containing-block-change-expected.txt
        * platform/gtk/fast/dynamic/float-withdrawal-expected.png
        * platform/gtk/fast/dynamic/float-withdrawal-expected.txt
        * platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.png
        * platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.txt
        * platform/gtk/fast/dynamic/subtree-table-cell-height-expected.txt
        * platform/gtk/fast/encoding/utf-16-big-endian-expected.png
        * platform/gtk/fast/encoding/utf-16-big-endian-expected.txt
        * platform/gtk/fast/encoding/utf-16-little-endian-expected.png
        * platform/gtk/fast/encoding/utf-16-little-endian-expected.txt
        * platform/gtk/fast/forms/001-expected.png
        * platform/gtk/fast/forms/001-expected.txt
        * platform/gtk/fast/forms/005-expected.txt
        * platform/gtk/fast/forms/basic-buttons-expected.png
        * platform/gtk/fast/forms/basic-buttons-expected.txt
        * platform/gtk/fast/forms/form-element-geometry-expected.png
        * platform/gtk/fast/forms/form-element-geometry-expected.txt
        * platform/gtk/fast/forms/form-hides-table-expected.png
        * platform/gtk/fast/forms/form-hides-table-expected.txt
        * platform/gtk/fast/forms/form-in-malformed-markup-expected.txt
        * platform/gtk/fast/forms/formmove3-expected.png
        * platform/gtk/fast/forms/formmove3-expected.txt
        * platform/gtk/fast/forms/input-table-expected.png
        * platform/gtk/fast/forms/input-table-expected.txt
        * platform/gtk/fast/forms/listbox-bidi-align-expected.png
        * platform/gtk/fast/forms/listbox-bidi-align-expected.txt
        * platform/gtk/fast/forms/preserveFormDuringResidualStyle-expected.txt
        * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.png
        * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.txt
        * platform/gtk/fast/html/details-writing-mode-expected.png
        * platform/gtk/fast/html/details-writing-mode-expected.txt
        * platform/gtk/fast/inline-block/001-expected.txt
        * platform/gtk/fast/inline-block/overflow-clip-expected.png
        * platform/gtk/fast/inline-block/overflow-clip-expected.txt
        * platform/gtk/fast/invalid/012-expected.txt
        * platform/gtk/fast/invalid/018-expected.txt
        * platform/gtk/fast/lists/004-expected.png
        * platform/gtk/fast/lists/004-expected.txt
        * platform/gtk/fast/lists/list-marker-before-content-table-expected.png
        * platform/gtk/fast/lists/list-marker-before-content-table-expected.txt
        * platform/gtk/fast/multicol/span/before-child-anonymous-column-block-expected.txt
        * platform/gtk/fast/multicol/table-vertical-align-expected.png
        * platform/gtk/fast/overflow/002-expected.png
        * platform/gtk/fast/overflow/002-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/overflow/table-overflow-float-expected.txt
        * platform/gtk/fast/reflections/table-cell-expected.txt
        * platform/gtk/fast/repaint/block-selection-gap-in-table-cell-expected.txt
        * platform/gtk/fast/repaint/float-overflow-expected.png
        * platform/gtk/fast/repaint/float-overflow-expected.txt
        * platform/gtk/fast/repaint/float-overflow-right-expected.png
        * platform/gtk/fast/repaint/float-overflow-right-expected.txt
        * platform/gtk/fast/repaint/subtree-root-clip-3-expected.txt
        * platform/gtk/fast/repaint/table-cell-collapsed-border-expected.png
        * platform/gtk/fast/repaint/table-cell-collapsed-border-expected.txt
        * platform/gtk/fast/repaint/table-cell-collapsed-border-scroll-expected.txt
        * platform/gtk/fast/repaint/table-cell-move-expected.png
        * platform/gtk/fast/repaint/table-cell-move-expected.txt
        * platform/gtk/fast/repaint/table-cell-overflow-expected.txt
        * platform/gtk/fast/repaint/table-cell-vertical-overflow-expected.png
        * platform/gtk/fast/repaint/table-cell-vertical-overflow-expected.txt
        * platform/gtk/fast/repaint/table-col-background-expected.txt
        * platform/gtk/fast/repaint/table-collapsed-border-expected.txt
        * platform/gtk/fast/repaint/table-extra-bottom-grow-expected.png
        * platform/gtk/fast/repaint/table-extra-bottom-grow-expected.txt
        * platform/gtk/fast/repaint/table-outer-border-expected.txt
        * platform/gtk/fast/repaint/table-row-expected.txt
        * platform/gtk/fast/repaint/table-section-overflow-expected.txt
        * platform/gtk/fast/repaint/table-section-repaint-expected.txt
        * platform/gtk/fast/repaint/table-two-pass-layout-overpaint-expected.png
        * platform/gtk/fast/repaint/table-two-pass-layout-overpaint-expected.txt
        * platform/gtk/fast/repaint/table-writing-modes-h-expected.txt
        * platform/gtk/fast/repaint/table-writing-modes-v-expected.txt
        * platform/gtk/fast/replaced/005-expected.png
        * platform/gtk/fast/replaced/005-expected.txt
        * platform/gtk/fast/replaced/percent-height-in-anonymous-block-in-table-expected.png
        * platform/gtk/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt
        * platform/gtk/fast/replaced/selection-rect-in-table-cell-expected.png
        * platform/gtk/fast/replaced/selection-rect-in-table-cell-expected.txt
        * platform/gtk/fast/replaced/table-percent-height-positioned-expected.txt
        * platform/gtk/fast/replaced/width100percent-checkbox-expected.png
        * platform/gtk/fast/replaced/width100percent-checkbox-expected.txt
        * platform/gtk/fast/replaced/width100percent-image-expected.png
        * platform/gtk/fast/replaced/width100percent-image-expected.txt
        * platform/gtk/fast/replaced/width100percent-menulist-expected.png
        * platform/gtk/fast/replaced/width100percent-menulist-expected.txt
        * platform/gtk/fast/replaced/width100percent-radio-expected.png
        * platform/gtk/fast/replaced/width100percent-radio-expected.txt
        * platform/gtk/fast/replaced/width100percent-searchfield-expected.png
        * platform/gtk/fast/replaced/width100percent-searchfield-expected.txt
        * platform/gtk/fast/replaced/width100percent-textarea-expected.png
        * platform/gtk/fast/replaced/width100percent-textarea-expected.txt
        * platform/gtk/fast/replaced/width100percent-textfield-expected.png
        * platform/gtk/fast/replaced/width100percent-textfield-expected.txt
        * platform/gtk/fast/selectors/077-expected.png
        * platform/gtk/fast/selectors/077-expected.txt
        * platform/gtk/fast/selectors/077b-expected.png
        * platform/gtk/fast/selectors/077b-expected.txt
        * platform/gtk/fast/table/002-expected.png
        * platform/gtk/fast/table/002-expected.txt
        * platform/gtk/fast/table/005-expected.png
        * platform/gtk/fast/table/005-expected.txt
        * platform/gtk/fast/table/007-expected.png
        * platform/gtk/fast/table/007-expected.txt
        * platform/gtk/fast/table/008-expected.txt
        * platform/gtk/fast/table/009-expected.png
        * platform/gtk/fast/table/009-expected.txt
        * platform/gtk/fast/table/012-expected.txt
        * platform/gtk/fast/table/013-expected.png
        * platform/gtk/fast/table/013-expected.txt
        * platform/gtk/fast/table/021-expected.png
        * platform/gtk/fast/table/021-expected.txt
        * platform/gtk/fast/table/023-expected.png
        * platform/gtk/fast/table/023-expected.txt
        * platform/gtk/fast/table/024-expected.txt
        * platform/gtk/fast/table/025-expected.png
        * platform/gtk/fast/table/025-expected.txt
        * platform/gtk/fast/table/028-expected.png
        * platform/gtk/fast/table/028-expected.txt
        * platform/gtk/fast/table/028-vertical-expected.png
        * platform/gtk/fast/table/028-vertical-expected.txt
        * platform/gtk/fast/table/029-expected.png
        * platform/gtk/fast/table/029-expected.txt
        * platform/gtk/fast/table/031-expected.txt
        * platform/gtk/fast/table/032-expected.txt
        * platform/gtk/fast/table/034-expected.txt
        * platform/gtk/fast/table/038-expected.png
        * platform/gtk/fast/table/038-expected.txt
        * platform/gtk/fast/table/038-vertical-expected.png
        * platform/gtk/fast/table/038-vertical-expected.txt
        * platform/gtk/fast/table/039-expected.png
        * platform/gtk/fast/table/039-expected.txt
        * platform/gtk/fast/table/040-expected.png
        * platform/gtk/fast/table/040-expected.txt
        * platform/gtk/fast/table/040-vertical-expected.png
        * platform/gtk/fast/table/040-vertical-expected.txt
        * platform/gtk/fast/table/100-percent-cell-width-expected.png
        * platform/gtk/fast/table/100-percent-cell-width-expected.txt
        * platform/gtk/fast/table/add-before-anonymous-child-expected.png
        * platform/gtk/fast/table/add-before-anonymous-child-expected.txt
        * platform/gtk/fast/table/border-collapsing/001-expected.png
        * platform/gtk/fast/table/border-collapsing/001-expected.txt
        * platform/gtk/fast/table/border-collapsing/001-vertical-expected.png
        * platform/gtk/fast/table/border-collapsing/001-vertical-expected.txt
        * platform/gtk/fast/table/border-collapsing/002-expected.png
        * platform/gtk/fast/table/border-collapsing/002-expected.txt
        * platform/gtk/fast/table/border-collapsing/002-vertical-expected.png
        * platform/gtk/fast/table/border-collapsing/002-vertical-expected.txt
        * platform/gtk/fast/table/border-collapsing/003-expected.txt
        * platform/gtk/fast/table/border-collapsing/003-vertical-expected.txt
        * platform/gtk/fast/table/border-collapsing/004-expected.png
        * platform/gtk/fast/table/border-collapsing/004-expected.txt
        * platform/gtk/fast/table/border-collapsing/004-vertical-expected.png
        * platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt
        * platform/gtk/fast/table/border-collapsing/border-collapsing-head-foot-expected.png
        * platform/gtk/fast/table/border-collapsing/border-collapsing-head-foot-expected.txt
        * platform/gtk/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.png
        * platform/gtk/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.txt
        * platform/gtk/fast/table/border-collapsing/bug14274-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-69296-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-69296-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-cell-append-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-cell-append-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-cell-remove-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-cell-remove-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-cell-border-color-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-cell-border-width-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-cell-sl-border-color-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-col-border-color-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-col-border-width-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-change-col-border-width-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-row-border-color-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-change-row-border-color-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-row-border-width-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-table-border-color-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-table-border-width-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-tbody-border-color-expected.png
        * platform/gtk/fast/table/border-collapsing/cached-change-tbody-border-color-expected.txt
        * platform/gtk/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt
        * platform/gtk/fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.txt
        * platform/gtk/fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.txt
        * platform/gtk/fast/table/border-collapsing/equal-precedence-resolution-expected.txt
        * platform/gtk/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt
        * platform/gtk/fast/table/border-collapsing/rtl-border-collapsing-expected.png
        * platform/gtk/fast/table/border-collapsing/rtl-border-collapsing-expected.txt
        * platform/gtk/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.png
        * platform/gtk/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.txt
        * platform/gtk/fast/table/caption-relayout-expected.txt
        * platform/gtk/fast/table/cell-absolute-child-expected.png
        * platform/gtk/fast/table/cell-absolute-child-expected.txt
        * platform/gtk/fast/table/cell-width-auto-expected.txt
        * platform/gtk/fast/table/colspan-with-all-percent-cells-expected.png
        * platform/gtk/fast/table/colspan-with-all-percent-cells-expected.txt
        * platform/gtk/fast/table/colspanMinWidth-expected.png
        * platform/gtk/fast/table/colspanMinWidth-expected.txt
        * platform/gtk/fast/table/colspanMinWidth-vertical-expected.png
        * platform/gtk/fast/table/colspanMinWidth-vertical-expected.txt
        * platform/gtk/fast/table/dynamic-cellpadding-expected.png
        * platform/gtk/fast/table/dynamic-cellpadding-expected.txt
        * platform/gtk/fast/table/edge-offsets-expected.png
        * platform/gtk/fast/table/edge-offsets-expected.txt
        * platform/gtk/fast/table/empty-cells-expected.png
        * platform/gtk/fast/table/empty-cells-expected.txt
        * platform/gtk/fast/table/frame-and-rules-expected.png
        * platform/gtk/fast/table/frame-and-rules-expected.txt
        * platform/gtk/fast/table/giantRowspan-expected.png
        * platform/gtk/fast/table/giantRowspan-expected.txt
        * platform/gtk/fast/table/growCellForImageQuirk-expected.txt
        * platform/gtk/fast/table/growCellForImageQuirk-vertical-expected.txt
        * platform/gtk/fast/table/height-percent-test-expected.txt
        * platform/gtk/fast/table/height-percent-test-vertical-expected.txt
        * platform/gtk/fast/table/invisible-cell-background-expected.txt
        * platform/gtk/fast/table/large-width-expected.png
        * platform/gtk/fast/table/large-width-expected.txt
        * platform/gtk/fast/table/max-width-integer-overflow-expected.txt
        * platform/gtk/fast/table/mozilla-bug10296-vertical-align-1-expected.txt
        * platform/gtk/fast/table/mozilla-bug10296-vertical-align-2-expected.txt
        * platform/gtk/fast/table/nobr-expected.png
        * platform/gtk/fast/table/nobr-expected.txt
        * platform/gtk/fast/table/overflowHidden-expected.png
        * platform/gtk/fast/table/overflowHidden-expected.txt
        * platform/gtk/fast/table/percent-heights-expected.png
        * platform/gtk/fast/table/percent-heights-expected.txt
        * platform/gtk/fast/table/percent-widths-stretch-expected.png
        * platform/gtk/fast/table/percent-widths-stretch-expected.txt
        * platform/gtk/fast/table/percent-widths-stretch-vertical-expected.txt
        * platform/gtk/fast/table/prepend-in-anonymous-table-expected.png
        * platform/gtk/fast/table/prepend-in-anonymous-table-expected.txt
        * platform/gtk/fast/table/relative-position-containment-expected.txt
        * platform/gtk/fast/table/relative-position-offsets-expected.txt
        * platform/gtk/fast/table/relative-position-stacking-expected.txt
        * platform/gtk/fast/table/replaced-percent-height-expected.png
        * platform/gtk/fast/table/replaced-percent-height-expected.txt
        * platform/gtk/fast/table/row-height-recalc-expected.png
        * platform/gtk/fast/table/row-height-recalc-expected.txt
        * platform/gtk/fast/table/rowspan-paint-order-expected.png
        * platform/gtk/fast/table/rowspan-paint-order-expected.txt
        * platform/gtk/fast/table/rowspan-paint-order-vertical-expected.png
        * platform/gtk/fast/table/rowspan-paint-order-vertical-expected.txt
        * platform/gtk/fast/table/simple_paint-expected.txt
        * platform/gtk/fast/table/spanOverlapRepaint-expected.png
        * platform/gtk/fast/table/spanOverlapRepaint-expected.txt
        * platform/gtk/fast/table/stale-grid-crash-expected.png
        * platform/gtk/fast/table/stale-grid-crash-expected.txt
        * platform/gtk/fast/table/table-anonymous-cell-bug-expected.txt
        * platform/gtk/fast/table/table-anonymous-row-bug-expected.txt
        * platform/gtk/fast/table/table-anonymous-section-bug-expected.txt
        * platform/gtk/fast/table/table-before-child-style-update-expected.txt
        * platform/gtk/fast/table/table-cell-before-after-content-around-table-block-expected.txt
        * platform/gtk/fast/table/table-cell-before-after-content-around-table-expected.txt
        * platform/gtk/fast/table/table-cell-before-after-content-around-table-row-expected.txt
        * platform/gtk/fast/table/table-cell-before-child-in-table-expected.txt
        * platform/gtk/fast/table/table-cell-split-expected.txt
        * platform/gtk/fast/table/table-display-types-expected.txt
        * platform/gtk/fast/table/table-display-types-strict-expected.txt
        * platform/gtk/fast/table/table-display-types-vertical-expected.txt
        * platform/gtk/fast/table/table-insert-before-non-anonymous-block-expected.txt
        * platform/gtk/fast/table/table-row-before-after-content-around-block-expected.txt
        * platform/gtk/fast/table/table-row-before-after-content-around-table-cell-expected.txt
        * platform/gtk/fast/table/table-row-before-after-content-around-table-expected.txt
        * platform/gtk/fast/table/table-row-before-child-style-update-expected.txt
        * platform/gtk/fast/table/table-row-outline-paint-expected.png
        * platform/gtk/fast/table/table-row-outline-paint-expected.txt
        * platform/gtk/fast/table/table-row-split2-expected.txt
        * platform/gtk/fast/table/table-row-style-not-updated-expected.txt
        * platform/gtk/fast/table/table-row-style-not-updated-with-after-content-expected.txt
        * platform/gtk/fast/table/table-row-style-not-updated-with-before-content-expected.txt
        * platform/gtk/fast/table/table-section-split2-expected.txt
        * platform/gtk/fast/table/table-split-expected.txt
        * platform/gtk/fast/table/table-split2-expected.txt
        * platform/gtk/fast/table/table-style-not-updated-expected.txt
        * platform/gtk/fast/table/wide-colspan-expected.txt
        * platform/gtk/fast/table/wide-column-expected.txt
        * platform/gtk/fast/text/atsui-negative-spacing-features-expected.png
        * platform/gtk/fast/text/atsui-negative-spacing-features-expected.txt
        * platform/gtk/fast/text/atsui-spacing-features-expected.png
        * platform/gtk/fast/text/atsui-spacing-features-expected.txt
        * platform/gtk/fast/text/basic/generic-family-reset-expected.png
        * platform/gtk/fast/text/basic/generic-family-reset-expected.txt
        * platform/gtk/fast/text/international/003-expected.png
        * platform/gtk/fast/text/international/003-expected.txt
        * platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.png
        * platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.txt
        * platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.png
        * platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt
        * platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.png
        * platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt
        * platform/gtk/fast/text/international/bidi-override-expected.txt
        * platform/gtk/fast/text/wbr-expected.txt
        * platform/gtk/fast/text/whitespace/002-expected.txt
        * platform/gtk/fast/text/whitespace/003-expected.txt
        * platform/gtk/fast/text/whitespace/004-expected.txt
        * platform/gtk/fast/text/whitespace/005-expected.txt
        * platform/gtk/fast/text/whitespace/010-expected.txt
        * platform/gtk/fast/text/whitespace/011-expected.txt
        * platform/gtk/fast/text/whitespace/013-expected.txt
        * platform/gtk/fast/text/whitespace/014-expected.txt
        * platform/gtk/fast/text/whitespace/015-expected.txt
        * platform/gtk/fast/text/whitespace/016-expected.txt
        * platform/gtk/fast/text/whitespace/025-expected.txt
        * platform/gtk/fast/text/whitespace/026-expected.txt
        * platform/gtk/fast/writing-mode/table-percent-width-quirk-expected.txt
        * platform/gtk/fast/writing-mode/vertical-align-table-baseline-expected.png
        * platform/gtk/fast/writing-mode/vertical-align-table-baseline-expected.txt
        * platform/gtk/http/tests/misc/acid2-expected.png
        * platform/gtk/http/tests/misc/acid2-pixel-expected.png
        * platform/gtk/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.png
        * platform/gtk/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.png
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt
        * platform/gtk/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt
        * platform/gtk/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png
        * platform/gtk/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
        * platform/gtk/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png
        * platform/gtk/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt
        * platform/gtk/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png
        * platform/gtk/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt
        * platform/gtk/tables/layering/paint-test-layering-1-expected.png
        * platform/gtk/tables/layering/paint-test-layering-1-expected.txt
        * platform/gtk/tables/layering/paint-test-layering-2-expected.png
        * platform/gtk/tables/layering/paint-test-layering-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug10009-expected.png
        * platform/gtk/tables/mozilla/bugs/bug10009-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug101201-expected.png
        * platform/gtk/tables/mozilla/bugs/bug101201-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug101674-expected.png
        * platform/gtk/tables/mozilla/bugs/bug101674-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug10296-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1055-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1055-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug10565-expected.png
        * platform/gtk/tables/mozilla/bugs/bug10565-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug10633-expected.png
        * platform/gtk/tables/mozilla/bugs/bug10633-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1067-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1067-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1067-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug106795-expected.png
        * platform/gtk/tables/mozilla/bugs/bug106795-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug106816-expected.png
        * platform/gtk/tables/mozilla/bugs/bug106816-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug113235-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug113235-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug113424-expected.png
        * platform/gtk/tables/mozilla/bugs/bug113424-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1163-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1188-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1188-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug12008-expected.png
        * platform/gtk/tables/mozilla/bugs/bug12008-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug120107-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug120364-expected.png
        * platform/gtk/tables/mozilla/bugs/bug120364-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1224-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1224-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug12268-expected.png
        * platform/gtk/tables/mozilla/bugs/bug12268-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug12709-expected.png
        * platform/gtk/tables/mozilla/bugs/bug12709-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1271-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug12908-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug12908-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug12908-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug12910-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1296-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1296-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1302-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1302-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug13169-expected.png
        * platform/gtk/tables/mozilla/bugs/bug13169-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1318-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1318-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug137388-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug137388-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug137388-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug137388-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug137388-3-expected.png
        * platform/gtk/tables/mozilla/bugs/bug137388-3-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug139524-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug139524-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug139524-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug139524-3-expected.png
        * platform/gtk/tables/mozilla/bugs/bug139524-3-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug139524-4-expected.png
        * platform/gtk/tables/mozilla/bugs/bug139524-4-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1430-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1430-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug14323-expected.png
        * platform/gtk/tables/mozilla/bugs/bug14323-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1474-expected.png
        * platform/gtk/tables/mozilla/bugs/bug14929-expected.png
        * platform/gtk/tables/mozilla/bugs/bug14929-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug15247-expected.png
        * platform/gtk/tables/mozilla/bugs/bug15247-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug154780-expected.png
        * platform/gtk/tables/mozilla/bugs/bug154780-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug15544-expected.png
        * platform/gtk/tables/mozilla/bugs/bug15544-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug159108-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug15933-expected.png
        * platform/gtk/tables/mozilla/bugs/bug15933-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug16012-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug16252-expected.png
        * platform/gtk/tables/mozilla/bugs/bug16252-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug17138-expected.png
        * platform/gtk/tables/mozilla/bugs/bug17138-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug175455-4-expected.png
        * platform/gtk/tables/mozilla/bugs/bug175455-4-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug17548-expected.png
        * platform/gtk/tables/mozilla/bugs/bug17548-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug17587-expected.png
        * platform/gtk/tables/mozilla/bugs/bug17587-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1800-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1800-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1802-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1802-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1802s-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1802s-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug1809-expected.png
        * platform/gtk/tables/mozilla/bugs/bug1809-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug18440-expected.png
        * platform/gtk/tables/mozilla/bugs/bug18440-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug18664-expected.png
        * platform/gtk/tables/mozilla/bugs/bug18664-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug18955-expected.png
        * platform/gtk/tables/mozilla/bugs/bug18955-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug19061-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug19061-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug19061-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug19061-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug19356-expected.png
        * platform/gtk/tables/mozilla/bugs/bug19356-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug20804-expected.png
        * platform/gtk/tables/mozilla/bugs/bug20804-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2123-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug215629-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug219693-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug219693-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug219693-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug219693-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug22019-expected.png
        * platform/gtk/tables/mozilla/bugs/bug22019-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug220536-expected.png
        * platform/gtk/tables/mozilla/bugs/bug220536-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug222336-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug22246-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug22246-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug22246-2a-expected.png
        * platform/gtk/tables/mozilla/bugs/bug22246-2a-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug22246-3-expected.png
        * platform/gtk/tables/mozilla/bugs/bug22246-3-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug22246-3a-expected.png
        * platform/gtk/tables/mozilla/bugs/bug22246-3a-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug22513-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2296-expected.png
        * platform/gtk/tables/mozilla/bugs/bug2296-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug23235-expected.png
        * platform/gtk/tables/mozilla/bugs/bug23235-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug24200-expected.png
        * platform/gtk/tables/mozilla/bugs/bug24200-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2479-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug2479-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug25004-expected.png
        * platform/gtk/tables/mozilla/bugs/bug25004-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug25074-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug25663-expected.png
        * platform/gtk/tables/mozilla/bugs/bug25663-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug26553-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2684-expected.png
        * platform/gtk/tables/mozilla/bugs/bug2684-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug269566-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug277062-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2773-expected.png
        * platform/gtk/tables/mozilla/bugs/bug2773-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug27993-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug27993-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2886-expected.png
        * platform/gtk/tables/mozilla/bugs/bug2886-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug28933-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug29058-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug29058-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug29314-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug29429-expected.png
        * platform/gtk/tables/mozilla/bugs/bug29429-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2954-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2981-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug2981-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2981-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug2981-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug2997-expected.png
        * platform/gtk/tables/mozilla/bugs/bug2997-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug30273-expected.png
        * platform/gtk/tables/mozilla/bugs/bug30273-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug30559-expected.png
        * platform/gtk/tables/mozilla/bugs/bug30559-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug3103-expected.png
        * platform/gtk/tables/mozilla/bugs/bug3103-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug32205-3-expected.png
        * platform/gtk/tables/mozilla/bugs/bug32205-3-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug3260-expected.png
        * platform/gtk/tables/mozilla/bugs/bug3260-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug32841-expected.png
        * platform/gtk/tables/mozilla/bugs/bug33137-expected.png
        * platform/gtk/tables/mozilla/bugs/bug33137-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug33855-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug3454-expected.png
        * platform/gtk/tables/mozilla/bugs/bug3454-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug38916-expected.png
        * platform/gtk/tables/mozilla/bugs/bug38916-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug3977-expected.png
        * platform/gtk/tables/mozilla/bugs/bug3977-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4093-expected.png
        * platform/gtk/tables/mozilla/bugs/bug4093-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug42187-expected.png
        * platform/gtk/tables/mozilla/bugs/bug42187-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4385-expected.png
        * platform/gtk/tables/mozilla/bugs/bug4385-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4427-expected.png
        * platform/gtk/tables/mozilla/bugs/bug4427-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug44505-expected.png
        * platform/gtk/tables/mozilla/bugs/bug44505-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4501-expected.png
        * platform/gtk/tables/mozilla/bugs/bug4501-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4527-expected.png
        * platform/gtk/tables/mozilla/bugs/bug4527-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug45350-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug45486-expected.png
        * platform/gtk/tables/mozilla/bugs/bug45486-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4576-expected.png
        * platform/gtk/tables/mozilla/bugs/bug4576-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug46268-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug46268-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug46268-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug46268-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug46368-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug46623-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug46623-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug46623-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug46623-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug47432-expected.png
        * platform/gtk/tables/mozilla/bugs/bug47432-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4803-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4849-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug4849-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug51727-expected.png
        * platform/gtk/tables/mozilla/bugs/bug51727-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug5188-expected.png
        * platform/gtk/tables/mozilla/bugs/bug5188-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug52505-expected.png
        * platform/gtk/tables/mozilla/bugs/bug52505-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug52506-expected.png
        * platform/gtk/tables/mozilla/bugs/bug52506-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug53690-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug53690-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug53690-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug53690-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug53891-expected.png
        * platform/gtk/tables/mozilla/bugs/bug53891-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug5538-expected.png
        * platform/gtk/tables/mozilla/bugs/bug5538-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug55789-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug56201-expected.png
        * platform/gtk/tables/mozilla/bugs/bug56201-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug57828-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug57828-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug5797-expected.png
        * platform/gtk/tables/mozilla/bugs/bug5797-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug5835-expected.png
        * platform/gtk/tables/mozilla/bugs/bug5835-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug59354-expected.png
        * platform/gtk/tables/mozilla/bugs/bug59354-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug60804-expected.png
        * platform/gtk/tables/mozilla/bugs/bug60804-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug60807-expected.png
        * platform/gtk/tables/mozilla/bugs/bug60807-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug6184-expected.png
        * platform/gtk/tables/mozilla/bugs/bug6184-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug6304-expected.png
        * platform/gtk/tables/mozilla/bugs/bug6304-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug6404-expected.png
        * platform/gtk/tables/mozilla/bugs/bug6404-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug647-expected.png
        * platform/gtk/tables/mozilla/bugs/bug647-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug6674-expected.png
        * platform/gtk/tables/mozilla/bugs/bug6674-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug68998-expected.png
        * platform/gtk/tables/mozilla/bugs/bug68998-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug69382-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug69382-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug69382-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug69382-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug72359-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug7342-expected.png
        * platform/gtk/tables/mozilla/bugs/bug7342-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug7714-expected.png
        * platform/gtk/tables/mozilla/bugs/bug7714-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug78162-expected.png
        * platform/gtk/tables/mozilla/bugs/bug78162-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug82946-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug82946-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug86708-expected.png
        * platform/gtk/tables/mozilla/bugs/bug86708-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug8950-expected.png
        * platform/gtk/tables/mozilla/bugs/bug8950-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug9123-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug9123-1-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug9123-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug9123-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug92143-expected.png
        * platform/gtk/tables/mozilla/bugs/bug92143-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug92647-2-expected.png
        * platform/gtk/tables/mozilla/bugs/bug92647-2-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug963-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug96334-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug97383-expected.png
        * platform/gtk/tables/mozilla/bugs/bug97383-expected.txt
        * platform/gtk/tables/mozilla/bugs/bug9879-1-expected.png
        * platform/gtk/tables/mozilla/bugs/bug9879-1-expected.txt
        * platform/gtk/tables/mozilla/collapsing_borders/bug41262-3-expected.png
        * platform/gtk/tables/mozilla/collapsing_borders/bug41262-3-expected.txt
        * platform/gtk/tables/mozilla/core/bloomberg-expected.png
        * platform/gtk/tables/mozilla/core/bloomberg-expected.txt
        * platform/gtk/tables/mozilla/core/borders-expected.png
        * platform/gtk/tables/mozilla/core/borders-expected.txt
        * platform/gtk/tables/mozilla/core/cell_heights-expected.png
        * platform/gtk/tables/mozilla/core/cell_heights-expected.txt
        * platform/gtk/tables/mozilla/core/col_span-expected.png
        * platform/gtk/tables/mozilla/core/col_span-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_auto_autoFix-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_auto_autoFix-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_auto_autoFixPer-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_auto_autoFixPer-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_auto_fix-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_auto_fix-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_auto_fixPer-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_auto_fixPer-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_auto_per-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_auto_per-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_fix_autoFix-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_fix_autoFix-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_fix_fix-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_fix_fix-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_fix_fixPer-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_fix_fixPer-expected.txt
        * platform/gtk/tables/mozilla/core/col_widths_fix_per-expected.png
        * platform/gtk/tables/mozilla/core/col_widths_fix_per-expected.txt
        * platform/gtk/tables/mozilla/core/margins-expected.txt
        * platform/gtk/tables/mozilla/core/misc-expected.png
        * platform/gtk/tables/mozilla/core/misc-expected.txt
        * platform/gtk/tables/mozilla/core/nested1-expected.png
        * platform/gtk/tables/mozilla/core/nested1-expected.txt
        * platform/gtk/tables/mozilla/core/one_row-expected.png
        * platform/gtk/tables/mozilla/core/one_row-expected.txt
        * platform/gtk/tables/mozilla/core/table_frame-expected.png
        * platform/gtk/tables/mozilla/core/table_frame-expected.txt
        * platform/gtk/tables/mozilla/core/table_heights-expected.png
        * platform/gtk/tables/mozilla/core/table_heights-expected.txt
        * platform/gtk/tables/mozilla/core/table_rules-expected.txt
        * platform/gtk/tables/mozilla/core/table_widths-expected.png
        * platform/gtk/tables/mozilla/core/table_widths-expected.txt
        * platform/gtk/tables/mozilla/dom/insertColGroups1-expected.png
        * platform/gtk/tables/mozilla/dom/insertColGroups1-expected.txt
        * platform/gtk/tables/mozilla/dom/insertColGroups2-expected.png
        * platform/gtk/tables/mozilla/dom/insertColGroups2-expected.txt
        * platform/gtk/tables/mozilla/dom/insertCols1-expected.png
        * platform/gtk/tables/mozilla/dom/insertCols1-expected.txt
        * platform/gtk/tables/mozilla/dom/insertCols2-expected.png
        * platform/gtk/tables/mozilla/dom/insertCols2-expected.txt
        * platform/gtk/tables/mozilla/dom/insertCols3-expected.png
        * platform/gtk/tables/mozilla/dom/insertCols3-expected.txt
        * platform/gtk/tables/mozilla/dom/insertCols4-expected.png
        * platform/gtk/tables/mozilla/dom/insertCols4-expected.txt
        * platform/gtk/tables/mozilla/dom/insertCols5-expected.png
        * platform/gtk/tables/mozilla/dom/insertCols5-expected.txt
        * platform/gtk/tables/mozilla/marvin/backgr_layers-opacity-expected.png
        * platform/gtk/tables/mozilla/marvin/backgr_layers-opacity-expected.txt
        * platform/gtk/tables/mozilla/marvin/backgr_position-table-expected.png
        * platform/gtk/tables/mozilla/marvin/backgr_position-table-expected.txt
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-cell-expected.png
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-expected.png
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-expected.txt
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-group-expected.png
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-expected.png
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-expected.txt
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-expected.png
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-expected.txt
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt
        * platform/gtk/tables/mozilla/marvin/body_thead-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_align_center-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_align_center-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_align_justify-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_align_justify-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_align_left-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_align_left-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_align_right-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_align_right-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_span-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_span-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_width_pct-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_width_pct-expected.txt
        * platform/gtk/tables/mozilla/marvin/colgroup_width_px-expected.png
        * platform/gtk/tables/mozilla/marvin/colgroup_width_px-expected.txt
        * platform/gtk/tables/mozilla/marvin/table_overflow_hidden_td-expected.png
        * platform/gtk/tables/mozilla/marvin/table_overflow_hidden_td-expected.txt
        * platform/gtk/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.png
        * platform/gtk/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.txt
        * platform/gtk/tables/mozilla/marvin/table_row_align_center-expected.png
        * platform/gtk/tables/mozilla/marvin/table_row_align_center-expected.txt
        * platform/gtk/tables/mozilla/marvin/table_row_align_left-expected.png
        * platform/gtk/tables/mozilla/marvin/table_row_align_left-expected.txt
        * platform/gtk/tables/mozilla/marvin/table_row_align_right-expected.png
        * platform/gtk/tables/mozilla/marvin/table_row_align_right-expected.txt
        * platform/gtk/tables/mozilla/marvin/table_rules_groups-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_aqua-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_aqua-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_black-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_black-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_blue-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_blue-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_gray-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_gray-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_green-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_green-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_lime-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_lime-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_maroon-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_maroon-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_navy-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_navy-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_olive-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_olive-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_purple-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_purple-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_red-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_red-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_silver-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_silver-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_teal-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_white-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_white-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_yellow-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_cellpadding_pct-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_td_width-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_td_width-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_th_colspan-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_th_colspan-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_th_width-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_th_width-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_width_percent-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_width_percent-expected.txt
        * platform/gtk/tables/mozilla/marvin/tables_width_px-expected.png
        * platform/gtk/tables/mozilla/marvin/tables_width_px-expected.txt
        * platform/gtk/tables/mozilla/marvin/tbody_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/tbody_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/tbody_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/tbody_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/tbody_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/tbody_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/tbody_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/tbody_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/td_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/td_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/td_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/td_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/td_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/td_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/td_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/td_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/tfoot_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/tfoot_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/tfoot_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/tfoot_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/tfoot_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/tfoot_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/th_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/th_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/th_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/th_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/th_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/th_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/th_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/th_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/thead_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/thead_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/thead_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/thead_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/thead_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/thead_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/thead_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/thead_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_black-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_black-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_blue-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_gray-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_green-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_green-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_lime-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_maroon-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_navy-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_olive-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_purple-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_red-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_red-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_silver-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_teal-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_white-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_white-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_yellow-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/tr_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/tr_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_col_align_char-expected.png
        * platform/gtk/tables/mozilla/marvin/x_col_align_char-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_col_span-expected.png
        * platform/gtk/tables/mozilla/marvin/x_col_span-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_col_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/x_col_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_col_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/x_col_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_col_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/x_col_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_col_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/x_col_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_col_width_px-expected.png
        * platform/gtk/tables/mozilla/marvin/x_col_width_px-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_col_width_rel-expected.png
        * platform/gtk/tables/mozilla/marvin/x_col_width_rel-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_colgroup_align_char-expected.png
        * platform/gtk/tables/mozilla/marvin/x_colgroup_align_char-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_colgroup_span-expected.png
        * platform/gtk/tables/mozilla/marvin/x_colgroup_span-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_colgroup_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_colgroup_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_colgroup_width_rel-expected.png
        * platform/gtk/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tbody_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tbody_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tbody_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tbody_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tbody_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_align_center-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_align_center-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_align_char-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_align_char-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_align_justify-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_align_justify-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_align_left-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_align_left-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_align_right-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_align_right-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_td_width-expected.png
        * platform/gtk/tables/mozilla/marvin/x_td_width-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tfoot_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tfoot_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_align_center-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_align_center-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_align_char-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_align_char-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_align_justify-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_align_justify-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_align_left-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_align_left-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_align_right-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_align_right-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_rowspan-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_rowspan-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_th_width-expected.png
        * platform/gtk/tables/mozilla/marvin/x_th_width-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_thead_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_thead_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_thead_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/x_thead_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_thead_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/x_thead_valign_top-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tr_align_char-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tr_align_char-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tr_valign_baseline-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tr_valign_bottom-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tr_valign_middle-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tr_valign_middle-expected.txt
        * platform/gtk/tables/mozilla/marvin/x_tr_valign_top-expected.png
        * platform/gtk/tables/mozilla/marvin/x_tr_valign_top-expected.txt
        * platform/gtk/tables/mozilla/other/cell_widths-expected.png
        * platform/gtk/tables/mozilla/other/cell_widths-expected.txt
        * platform/gtk/tables/mozilla/other/ms-expected.png
        * platform/gtk/tables/mozilla/other/ms-expected.txt
        * platform/gtk/tables/mozilla/other/nested2-expected.png
        * platform/gtk/tables/mozilla/other/nested2-expected.txt
        * platform/gtk/tables/mozilla/other/nestedTables-expected.png
        * platform/gtk/tables/mozilla/other/nestedTables-expected.txt
        * platform/gtk/tables/mozilla/other/slashlogo-expected.png
        * platform/gtk/tables/mozilla/other/slashlogo-expected.txt
        * platform/gtk/tables/mozilla/other/test3-expected.png
        * platform/gtk/tables/mozilla/other/test3-expected.txt
        * platform/gtk/tables/mozilla/other/test6-expected.png
        * platform/gtk/tables/mozilla/other/test6-expected.txt
        * platform/gtk/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
        * platform/gtk/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt
        * platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.png
        * platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/97619-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/97619-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1010-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1010-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1128-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1128-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1164-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1164-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug128876-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug14007-1-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug14159-2-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug14159-2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1647-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1647-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug17826-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug17826-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug21518-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug21518-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug22122-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug22122-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug23847-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug23847-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug27993-2-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug27993-2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug29058-2-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3105-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug3105-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug56024-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug56024-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug59252-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug59252-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug7121-2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug72393-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug72393-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug7243-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug7243-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug8499-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug8499-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug85016-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug85016-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug91057-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug9879-1-expected.png
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.png
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.png
        * platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.png
        * platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/core/col_span2-expected.png
        * platform/gtk/tables/mozilla_expected_failures/core/col_span2-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/core/cols1-expected.png
        * platform/gtk/tables/mozilla_expected_failures/core/cols1-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/core/columns-expected.png
        * platform/gtk/tables/mozilla_expected_failures/core/columns-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/core/standards1-expected.png
        * platform/gtk/tables/mozilla_expected_failures/core/standards1-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/dom/appendColGroup1-expected.png
        * platform/gtk/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.png
        * platform/gtk/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/other/empty_cells-expected.png
        * platform/gtk/tables/mozilla_expected_failures/other/empty_cells-expected.txt
        * platform/gtk/tables/mozilla_expected_failures/other/test4-expected.png
        * platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt

2016-01-28  Chris Dumez  <cdumez@apple.com>

        EventHandler IDL attributes should be enumerable
        https://bugs.webkit.org/show_bug.cgi?id=153595

        Reviewed by Sam Weinig.

        Rebaseline test now that more EventHandler attributes are enumerable.

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

2016-01-28  Brady Eidson  <beidson@apple.com>

        Modern IDB: Index uniqueness broken in the SQLite backend.
        https://bugs.webkit.org/show_bug.cgi?id=153596

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-28  Zalan Bujtas  <zalan@apple.com>

        [Win] gardening after r195740. (more to follow)

        Unreviewed.

        * platform/win/css1/basic/containment-expected.txt:
        * platform/win/css1/basic/contextual_selectors-expected.txt:
        * platform/win/css1/basic/grouping-expected.txt:
        * platform/win/css1/basic/id_as_selector-expected.txt:
        * platform/win/css1/basic/inheritance-expected.txt:
        * platform/win/css1/box_properties/border-expected.txt:
        * platform/win/css1/box_properties/border_bottom-expected.txt:
        * platform/win/css1/box_properties/border_bottom_inline-expected.txt:
        * platform/win/css1/box_properties/border_bottom_width-expected.txt:
        * platform/win/css1/box_properties/border_bottom_width_inline-expected.txt:
        * platform/win/css1/box_properties/border_color-expected.txt:
        * platform/win/css1/box_properties/border_color_inline-expected.txt:
        * platform/win/css1/box_properties/border_inline-expected.txt:
        * platform/win/css1/box_properties/border_left-expected.txt:
        * platform/win/css1/box_properties/border_left_inline-expected.txt:
        * platform/win/css1/box_properties/border_left_width-expected.txt:
        * platform/win/css1/box_properties/border_left_width_inline-expected.txt:
        * platform/win/css1/box_properties/border_right-expected.txt:
        * platform/win/css1/box_properties/border_right_inline-expected.txt:
        * platform/win/css1/box_properties/border_right_width-expected.txt:
        * platform/win/css1/box_properties/border_right_width_inline-expected.txt:
        * platform/win/css1/box_properties/border_style-expected.txt:
        * platform/win/css1/box_properties/border_style_inline-expected.txt:
        * platform/win/css1/box_properties/border_top-expected.txt:
        * platform/win/css1/box_properties/border_top_inline-expected.txt:
        * platform/win/css1/box_properties/border_top_width-expected.txt:
        * platform/win/css1/box_properties/border_top_width_inline-expected.txt:
        * platform/win/css1/box_properties/border_width-expected.txt:
        * platform/win/css1/box_properties/border_width_inline-expected.txt:
        * platform/win/css1/box_properties/clear-expected.txt:
        * platform/win/css1/box_properties/clear_float-expected.txt:
        * platform/win/css1/box_properties/float-expected.txt:
        * platform/win/css1/box_properties/float_elements_in_series-expected.txt:
        * platform/win/css1/box_properties/float_margin-expected.txt:
        * platform/win/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/win/css1/box_properties/height-expected.txt:
        * platform/win/css1/box_properties/margin-expected.txt:
        * platform/win/css1/box_properties/margin_bottom-expected.txt:
        * platform/win/css1/box_properties/margin_bottom_inline-expected.txt:
        * platform/win/css1/box_properties/margin_inline-expected.txt:
        * platform/win/css1/box_properties/margin_left-expected.txt:
        * platform/win/css1/box_properties/margin_left_inline-expected.txt:
        * platform/win/css1/box_properties/margin_right-expected.txt:
        * platform/win/css1/box_properties/margin_right_inline-expected.txt:
        * platform/win/css1/box_properties/margin_top-expected.txt:
        * platform/win/css1/box_properties/margin_top_inline-expected.txt:
        * platform/win/css1/box_properties/padding-expected.txt:
        * platform/win/css1/box_properties/padding_bottom-expected.txt:
        * platform/win/css1/box_properties/padding_bottom_inline-expected.txt:
        * platform/win/css1/box_properties/padding_inline-expected.txt:
        * platform/win/css1/box_properties/padding_left_inline-expected.txt:
        * platform/win/css1/box_properties/padding_right-expected.txt:
        * platform/win/css1/box_properties/padding_right_inline-expected.txt:
        * platform/win/css1/box_properties/padding_top-expected.txt:
        * platform/win/css1/box_properties/padding_top_inline-expected.txt:
        * platform/win/css1/box_properties/width-expected.txt:
        * platform/win/css1/cascade/cascade_order-expected.txt:
        * platform/win/css1/cascade/important-expected.txt:
        * platform/win/css1/classification/display-expected.txt:
        * platform/win/css1/classification/list_style-expected.txt:
        * platform/win/css1/classification/list_style_image-expected.txt:
        * platform/win/css1/classification/list_style_position-expected.txt:
        * platform/win/css1/classification/list_style_type-expected.txt:
        * platform/win/css1/classification/white_space-expected.txt:
        * platform/win/css1/color_and_background/background-expected.txt:
        * platform/win/css1/color_and_background/background_attachment-expected.txt:
        * platform/win/css1/color_and_background/background_color-expected.txt:
        * platform/win/css1/color_and_background/background_image-expected.txt:
        * platform/win/css1/color_and_background/background_position-expected.txt:
        * platform/win/css1/color_and_background/background_repeat-expected.txt:
        * platform/win/css1/color_and_background/color-expected.txt:
        * platform/win/css1/conformance/forward_compatible_parsing-expected.txt:
        * platform/win/css1/font_properties/font-expected.txt:
        * platform/win/css1/font_properties/font_family-expected.txt:
        * platform/win/css1/font_properties/font_size-expected.txt:
        * platform/win/css1/font_properties/font_style-expected.txt:
        * platform/win/css1/font_properties/font_variant-expected.txt:
        * platform/win/css1/font_properties/font_weight-expected.txt:
        * platform/win/css1/formatting_model/canvas-expected.txt:
        * platform/win/css1/formatting_model/floating_elements-expected.txt:
        * platform/win/css1/formatting_model/height_of_lines-expected.txt:
        * platform/win/css1/formatting_model/inline_elements-expected.txt:
        * platform/win/css1/formatting_model/replaced_elements-expected.txt:
        * platform/win/css1/formatting_model/vertical_formatting-expected.txt:
        * platform/win/css1/pseudo/anchor-expected.txt:
        * platform/win/css1/pseudo/firstletter-expected.txt:
        * platform/win/css1/pseudo/firstline-expected.txt:
        * platform/win/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/win/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
        * platform/win/css1/text_properties/letter_spacing-expected.txt:
        * platform/win/css1/text_properties/line_height-expected.txt:
        * platform/win/css1/text_properties/text_align-expected.txt:
        * platform/win/css1/text_properties/text_decoration-expected.txt:
        * platform/win/css1/text_properties/text_indent-expected.txt:
        * platform/win/css1/text_properties/text_transform-expected.txt:
        * platform/win/css1/text_properties/vertical_align-expected.txt:
        * platform/win/css1/text_properties/word_spacing-expected.txt:
        * platform/win/css1/units/color_units-expected.txt:
        * platform/win/css1/units/length_units-expected.txt:
        * platform/win/css1/units/percentage_units-expected.txt:
        * platform/win/css1/units/urls-expected.txt:
        * platform/win/css2.1/20110323/border-collapse-offset-002-expected.txt:
        * platform/win/css2.1/20110323/border-conflict-style-079-expected.txt:
        * platform/win/css2.1/20110323/border-conflict-style-088-expected.txt:
        * platform/win/css2.1/20110323/dynamic-top-change-002-expected.txt:
        * platform/win/css2.1/20110323/dynamic-top-change-003-expected.txt:
        * platform/win/css2.1/20110323/inline-table-001-expected.txt:
        * platform/win/css2.1/20110323/inline-table-002a-expected.txt:
        * platform/win/css2.1/20110323/inline-table-003-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-001-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-002-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-003-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-004-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-005-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-006-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-007-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-013-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-014-expected.txt:
        * platform/win/css2.1/20110323/margin-applies-to-015-expected.txt:
        * platform/win/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt:
        * platform/win/css2.1/20110323/table-caption-001-expected.txt:
        * platform/win/css2.1/20110323/table-caption-optional-001-expected.txt:
        * platform/win/css2.1/20110323/table-caption-optional-002-expected.txt:
        * platform/win/css2.1/20110323/table-height-algorithm-023-expected.txt:
        * platform/win/css2.1/20110323/table-height-algorithm-024-expected.txt:
        * platform/win/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
        * platform/win/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt:
        * platform/win/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt:
        * platform/win/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
        * platform/win/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt:
        * platform/win/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt:
        * platform/win/css2.1/t0805-c5511-brdr-tw-00-b-expected.txt:
        * platform/win/css2.1/t0805-c5513-brdr-bw-00-b-expected.txt:
        * platform/win/css2.1/t0805-c5518-brdr-t-01-e-expected.txt:
        * platform/win/css2.1/t0805-c5519-brdr-r-01-e-expected.txt:
        * platform/win/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:
        * platform/win/css2.1/t0805-c5521-brdr-l-01-e-expected.txt:
        * platform/win/css2.1/t0805-c5522-brdr-02-e-expected.txt:
        * platform/win/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt:
        * platform/win/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-00-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-01-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-02-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-03-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-05-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-07-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-09-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-10-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-11-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-12-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-15-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-19-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-20-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-21-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-22-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-23-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-26-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-27-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-28-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-29-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-30-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-32-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-33-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-35-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-36-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-37-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-38-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-39-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-40-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-41-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-42-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-43-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-45-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-46-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-47-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-48-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-49-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-50-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-51-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-53-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-55-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-56-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-57-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-58-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-60-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-61-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-62-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-63-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-66-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-67-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-68-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-69-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-70-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-72-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-73-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-75-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-76-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-77-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-78-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-79-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-80-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-81-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-82-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-83-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-86-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-87-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-88-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-89-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-90-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-91-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-92-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-93-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-95-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-96-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-97-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-98-d-expected.txt:
        * platform/win/css2.1/t170602-bdr-conflct-w-99-d-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-015-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-016-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-023-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-024-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-035-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-036-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-037-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-038-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-045-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-046-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-047-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-048-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-049-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-050-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-055-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-056-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-091-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-092-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-099-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-100-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-103-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-104-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-105-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-106-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-107-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-108-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-109-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-110-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-111-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-112-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-113-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-114-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-123-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-124-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-139-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-140-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-149-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-150-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-155-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-156-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-159-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-160-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-165-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-166-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-177-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-178-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-179-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-180-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-181-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-189-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-190-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-191-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-192-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-193-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-194-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-195-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-196-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-205-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-206-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-207-expected.txt:
        * platform/win/css2.1/tables/table-anonymous-objects-208-expected.txt:
        * platform/win/css3/css3-modsel-33-expected.txt:
        * platform/win/css3/flexbox/flexbox-baseline-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-161-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-18-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-18b-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-28-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-28b-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-29-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-29b-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-32-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-33-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-43-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-43b-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-44-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-44b-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-73-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-73b-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-74-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-74b-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-77-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-77b-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-78-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-78b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-18b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-28-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-28b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-29-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-29b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-32-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-33-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-43-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-43b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-44-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-44b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-73-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-73b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-74-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-74b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-77-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-77b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-78-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-78b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-161-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-18-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-18b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-28-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-28b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-29-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-29b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-32-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-33-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-43-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-43b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-44-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-44b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-73-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-73b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-74-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-74b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-77-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-77b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-78-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-78b-expected.txt:
        * platform/win/editing/deleting/4922367-expected.txt:
        * platform/win/editing/deleting/5099303-expected.txt:
        * platform/win/editing/deleting/5126166-expected.txt:
        * platform/win/editing/deleting/5144139-2-expected.txt:
        * platform/win/editing/deleting/5206311-1-expected.txt:
        * platform/win/editing/deleting/5433862-2-expected.txt:
        * platform/win/editing/deleting/5483370-expected.txt:
        * platform/win/editing/deleting/delete-to-select-table-expected.txt:
        * platform/win/editing/deleting/table-cells-expected.txt:
        * platform/win/editing/execCommand/5481523-expected.txt:
        * platform/win/editing/inserting/5058163-1-expected.txt:
        * platform/win/editing/inserting/insert-paragraph-01-expected.txt:
        * platform/win/editing/inserting/insert-paragraph-02-expected.txt:
        * platform/win/editing/inserting/paragraph-separator-in-table-1-expected.txt:
        * platform/win/editing/inserting/paragraph-separator-in-table-2-expected.txt:
        * platform/win/editing/style/5017613-1-expected.txt:
        * platform/win/editing/style/5017613-2-expected.txt:
        * platform/win/editing/style/apple-style-editable-mix-expected.txt:
        * platform/win/editing/style/table-selection-expected.txt:
        * platform/win/editing/unsupported-content/table-type-after-expected.txt:
        * platform/win/editing/unsupported-content/table-type-before-expected.txt:
        * platform/win/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.txt:
        * platform/win/fast/block/basic/016-expected.txt:
        * platform/win/fast/block/basic/quirk-percent-height-table-cell-expected.txt:
        * platform/win/fast/block/float/011-expected.txt:
        * platform/win/fast/block/float/015-expected.txt:
        * platform/win/fast/block/margin-collapse/001-expected.txt:
        * platform/win/fast/block/margin-collapse/005-expected.txt:
        * platform/win/fast/block/margin-collapse/006-expected.txt:
        * platform/win/fast/block/margin-collapse/010-expected.txt:
        * platform/win/fast/block/margin-collapse/011-expected.txt:
        * platform/win/fast/block/margin-collapse/012-expected.txt:
        * platform/win/fast/block/margin-collapse/015-expected.txt:
        * platform/win/fast/block/margin-collapse/016-expected.txt:
        * platform/win/fast/block/margin-collapse/017-expected.txt:
        * platform/win/fast/block/margin-collapse/018-expected.txt:
        * platform/win/fast/block/margin-collapse/019-expected.txt:
        * platform/win/fast/block/margin-collapse/020-expected.txt:
        * platform/win/fast/block/margin-collapse/022-expected.txt:
        * platform/win/fast/block/margin-collapse/025-expected.txt:
        * platform/win/fast/block/margin-collapse/032-expected.txt:
        * platform/win/fast/block/margin-collapse/033-expected.txt:
        * platform/win/fast/block/margin-collapse/034-expected.txt:
        * platform/win/fast/block/margin-collapse/041-expected.txt:
        * platform/win/fast/block/margin-collapse/042-expected.txt:
        * platform/win/fast/block/margin-collapse/055-expected.txt:
        * platform/win/fast/block/margin-collapse/056-expected.txt:
        * platform/win/fast/block/margin-collapse/057-expected.txt:
        * platform/win/fast/block/margin-collapse/058-expected.txt:
        * platform/win/fast/block/margin-collapse/059-expected.txt:
        * platform/win/fast/block/margin-collapse/104-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/001-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/005-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/006-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/010-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/011-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/012-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/015-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/016-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/017-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/018-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/019-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/020-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/021-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/022-expected.txt:
        * platform/win/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
        * platform/win/fast/block/positioning/053-expected.txt:
        * platform/win/fast/block/positioning/negative-right-pos-expected.txt:
        * platform/win/fast/block/positioning/table-cell-static-position-expected.txt:
        * platform/win/fast/borders/bidi-009a-expected.txt:
        * platform/win/fast/borders/border-antialiasing-expected.txt:
        * platform/win/fast/borders/border-radius-different-width-001-expected.txt:
        * platform/win/fast/borders/table-borders-expected.txt:
        * platform/win/fast/box-shadow/basic-shadows-expected.txt:
        * platform/win/fast/css-generated-content/015-expected.txt:
        * platform/win/fast/css-generated-content/first-letter-in-nested-before-expected.txt:
        * platform/win/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
        * platform/win/fast/css-generated-content/inline-display-types-expected.txt:
        * platform/win/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
        * platform/win/fast/css-generated-content/table-before-after-child-add-expected.txt:
        * platform/win/fast/css-generated-content/table-cell-before-after-child-add-expected.txt:
        * platform/win/fast/css-generated-content/table-cell-before-content-expected.txt:
        * platform/win/fast/css-generated-content/table-parts-before-and-after-expected.txt:
        * platform/win/fast/css-generated-content/table-row-before-after-child-add-expected.txt:
        * platform/win/fast/css-generated-content/table-row-before-after-expected.txt:
        * platform/win/fast/css-generated-content/table-row-group-with-before-expected.txt:
        * platform/win/fast/css-generated-content/table-row-with-before-expected.txt:
        * platform/win/fast/css-generated-content/table-table-before-after-child-add-expected.txt:
        * platform/win/fast/css-generated-content/table-with-before-expected.txt:
        * platform/win/fast/css/003-expected.txt:
        * platform/win/fast/css/absolute-poition-in-rtl-parent-expected.txt:
        * platform/win/fast/css/acid2-expected.txt:
        * platform/win/fast/css/acid2-pixel-expected.txt:
        * platform/win/fast/css/bidi-override-in-anonymous-block-expected.txt:
        * platform/win/fast/css/box-shadow-and-border-radius-expected.txt:
        * platform/win/fast/css/caption-width-absolute-position-expected.txt:
        * platform/win/fast/css/caption-width-absolute-position-offset-top-expected.txt:
        * platform/win/fast/css/caption-width-fixed-position-expected.txt:
        * platform/win/fast/css/caption-width-fixed-position-offset-top-expected.txt:
        * platform/win/fast/css/caption-width-relative-position-expected.txt:
        * platform/win/fast/css/caption-width-relative-position-offset-top-expected.txt:
        * platform/win/fast/css/css3-nth-child-expected.txt:
        * platform/win/fast/css/first-letter-float-expected.txt:
        * platform/win/fast/css/focus-ring-detached-expected.txt:
        * platform/win/fast/css/focus-ring-multiline-expected.txt:
        * platform/win/fast/css/h1-in-section-elements-expected.txt:
        * platform/win/fast/css/image-rendering-expected.txt:
        * platform/win/fast/css/layerZOrderCrash-expected.txt:
        * platform/win/fast/css/min-width-with-spanned-cell-expected.txt:
        * platform/win/fast/css/percentage-non-integer-expected.txt:
        * platform/win/fast/css/table-text-align-quirk-expected.txt:
        * platform/win/fast/css/table-text-align-strict-expected.txt:
        * platform/win/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
        * platform/win/fast/dom/HTMLTableElement/createCaption-expected.txt:
        * platform/win/fast/dom/row-inner-text-expected.txt:
        * platform/win/fast/dynamic/001-expected.txt:
        * platform/win/fast/dynamic/007-expected.txt:
        * platform/win/fast/dynamic/014-expected.txt:
        * platform/win/fast/dynamic/015-expected.txt:
        * platform/win/fast/dynamic/containing-block-change-expected.txt:
        * platform/win/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
        * platform/win/fast/dynamic/float-withdrawal-expected.txt:
        * platform/win/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
        * platform/win/fast/dynamic/subtree-table-cell-height-expected.txt:

2016-01-28  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>

        [SVG] Add support for 'lighter' operator in feComposite
        https://bugs.webkit.org/show_bug.cgi?id=141376

        Reviewed by Darin Adler.

        Add case to support lighter to DOM manipulation test for feComposite.
        Add a new reftest that tests lighter case and supercedes older
        pixel test for other modes.

        * svg/dom/script-tests/SVGAnimatedEnumeration-SVGFECompositeElement.js:
          Test DOM read/write of SVGFEComposite operator property with new
          lighter mode.
        * svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement-expected.txt:
        * svg/filters/feCompositeOpaque.html: Added.
          A reftest that supersedes svg/filters/feComposite.svg
          That test used opacity 0.5 which resulted in differing colors
          across platforms. This makes it very hard to maintain the references
          but it's probably still useful as a regression test.
          This new test uses solid colors which result in consistency across
          platforms and allow a reftest to be used.
        * svg/filters/feCompositeOpaque-expected.html: Added.

2016-01-28  Darin Adler  <darin@apple.com>

        Remove equalIgnoringCase since all callers really wanted equalIgnoringASCIICase
        https://bugs.webkit.org/show_bug.cgi?id=153411

        Reviewed by Ryosuke Niwa.

        * fast/dom/HTMLAnchorElement/anchor-non-ASCII-case-folding-expected.txt: Added.
        * fast/dom/HTMLAnchorElement/anchor-non-ASCII-case-folding.html: Added.
        * fast/dom/HTMLAnchorElement/resources/iframe-with-non-ASCII-matching-anchor.html: Added.

        * fast/media/media-query-non-ASCII-case-folding-expected.txt: Added.
        * fast/media/media-query-non-ASCII-case-folding.html: Added.

        * fast/xpath/xpath-non-ASCII-case-folding-expected.txt: Added.
        * fast/xpath/xpath-non-ASCII-case-folding.html: Added.

2016-01-28  Zalan Bujtas  <zalan@apple.com>

        Unexpected content wrapping at http://email.osh.com/H/2/v100000152474feb8ec7c1a1f4bbe5c7c0/HTML
        https://bugs.webkit.org/show_bug.cgi?id=153430

        Reviewed by Simon Fraser.

        Ensure that min/max preferred and computed widths never shrink while converting LayoutUnit to float and back.

        * fast/table/fixed-size-table-with-fixed-size-content-expected.html: Added.
        * fast/table/fixed-size-table-with-fixed-size-content.html: Added.
        * platform/ios-simulator/css1/basic/containment-expected.txt:
        * platform/ios-simulator/css1/basic/contextual_selectors-expected.txt:
        * platform/ios-simulator/css1/basic/grouping-expected.txt:
        * platform/ios-simulator/css1/basic/id_as_selector-expected.txt:
        * platform/ios-simulator/css1/basic/inheritance-expected.txt:
        * platform/ios-simulator/css1/box_properties/border-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_bottom-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_bottom_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_bottom_width-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_bottom_width_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_color-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_color_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_left-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_left_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_left_width-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_left_width_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_right-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_right_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_right_width-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_right_width_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_style-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_style_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_top-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_top_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_top_width-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_top_width_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_width-expected.txt:
        * platform/ios-simulator/css1/box_properties/border_width_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/clear-expected.txt:
        * platform/ios-simulator/css1/box_properties/clear_float-expected.txt:
        * platform/ios-simulator/css1/box_properties/float-expected.txt:
        * platform/ios-simulator/css1/box_properties/float_elements_in_series-expected.txt:
        * platform/ios-simulator/css1/box_properties/float_margin-expected.txt:
        * platform/ios-simulator/css1/box_properties/height-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_bottom-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_bottom_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_left-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_left_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_right-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_right_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_top-expected.txt:
        * platform/ios-simulator/css1/box_properties/margin_top_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_bottom-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_bottom_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_left-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_left_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_right-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_right_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_top-expected.txt:
        * platform/ios-simulator/css1/box_properties/padding_top_inline-expected.txt:
        * platform/ios-simulator/css1/box_properties/width-expected.txt:
        * platform/ios-simulator/css1/cascade/cascade_order-expected.txt:
        * platform/ios-simulator/css1/cascade/important-expected.txt:
        * platform/ios-simulator/css1/classification/display-expected.txt:
        * platform/ios-simulator/css1/classification/list_style-expected.txt:
        * platform/ios-simulator/css1/classification/list_style_image-expected.txt:
        * platform/ios-simulator/css1/classification/list_style_position-expected.txt:
        * platform/ios-simulator/css1/classification/list_style_type-expected.txt:
        * platform/ios-simulator/css1/classification/white_space-expected.txt:
        * platform/ios-simulator/css1/color_and_background/background-expected.txt:
        * platform/ios-simulator/css1/color_and_background/background_attachment-expected.txt:
        * platform/ios-simulator/css1/color_and_background/background_color-expected.txt:
        * platform/ios-simulator/css1/color_and_background/background_image-expected.txt:
        * platform/ios-simulator/css1/color_and_background/background_position-expected.txt:
        * platform/ios-simulator/css1/color_and_background/background_repeat-expected.txt:
        * platform/ios-simulator/css1/color_and_background/color-expected.txt:
        * platform/ios-simulator/css1/conformance/forward_compatible_parsing-expected.txt:
        * platform/ios-simulator/css1/font_properties/font-expected.txt:
        * platform/ios-simulator/css1/font_properties/font_family-expected.txt:
        * platform/ios-simulator/css1/font_properties/font_size-expected.txt:
        * platform/ios-simulator/css1/font_properties/font_style-expected.txt:
        * platform/ios-simulator/css1/font_properties/font_variant-expected.txt:
        * platform/ios-simulator/css1/font_properties/font_weight-expected.txt:
        * platform/ios-simulator/css1/formatting_model/canvas-expected.txt:
        * platform/ios-simulator/css1/formatting_model/height_of_lines-expected.txt:
        * platform/ios-simulator/css1/formatting_model/inline_elements-expected.txt:
        * platform/ios-simulator/css1/formatting_model/replaced_elements-expected.txt:
        * platform/ios-simulator/css1/formatting_model/vertical_formatting-expected.txt:
        * platform/ios-simulator/css1/pseudo/anchor-expected.txt:
        * platform/ios-simulator/css1/pseudo/firstletter-expected.txt:
        * platform/ios-simulator/css1/pseudo/firstline-expected.txt:
        * platform/ios-simulator/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/ios-simulator/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
        * platform/ios-simulator/css1/text_properties/letter_spacing-expected.txt:
        * platform/ios-simulator/css1/text_properties/line_height-expected.txt:
        * platform/ios-simulator/css1/text_properties/text_align-expected.txt:
        * platform/ios-simulator/css1/text_properties/text_decoration-expected.txt:
        * platform/ios-simulator/css1/text_properties/text_indent-expected.txt:
        * platform/ios-simulator/css1/text_properties/text_transform-expected.txt:
        * platform/ios-simulator/css1/text_properties/vertical_align-expected.txt:
        * platform/ios-simulator/css1/text_properties/word_spacing-expected.txt:
        * platform/ios-simulator/css1/units/color_units-expected.txt:
        * platform/ios-simulator/css1/units/length_units-expected.txt:
        * platform/ios-simulator/css1/units/percentage_units-expected.txt:
        * platform/ios-simulator/css1/units/urls-expected.txt:
        * platform/ios-simulator/css2.1/20110323/border-collapse-offset-002-expected.txt:
        * platform/ios-simulator/css2.1/20110323/border-conflict-style-079-expected.txt:
        * platform/ios-simulator/css2.1/20110323/border-conflict-style-088-expected.txt:
        * platform/ios-simulator/css2.1/20110323/dynamic-top-change-002-expected.txt:
        * platform/ios-simulator/css2.1/20110323/dynamic-top-change-003-expected.txt:
        * platform/ios-simulator/css2.1/20110323/inline-table-001-expected.txt:
        * platform/ios-simulator/css2.1/20110323/inline-table-003-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-001-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-002-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-003-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-004-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-005-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-006-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-007-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-013-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-014-expected.txt:
        * platform/ios-simulator/css2.1/20110323/margin-applies-to-015-expected.txt:
        * platform/ios-simulator/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt:
        * platform/ios-simulator/css2.1/20110323/table-caption-001-expected.txt:
        * platform/ios-simulator/css2.1/20110323/table-caption-optional-001-expected.txt:
        * platform/ios-simulator/css2.1/20110323/table-caption-optional-002-expected.txt:
        * platform/ios-simulator/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
        * platform/ios-simulator/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt:
        * platform/ios-simulator/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt:
        * platform/ios-simulator/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
        * platform/ios-simulator/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt:
        * platform/ios-simulator/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt:
        * platform/ios-simulator/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt:
        * platform/ios-simulator/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-30-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-70-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
        * platform/ios-simulator/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-177-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-178-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-179-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-180-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-181-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-189-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-190-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-191-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-192-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-193-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-194-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-195-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-196-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-205-expected.txt:
        * platform/ios-simulator/css2.1/tables/table-anonymous-objects-206-expected.txt:
        * platform/ios-simulator/css3/css3-modsel-33-expected.txt:
        * platform/ios-simulator/css3/selectors3/html/css3-modsel-18-expected.txt:
        * platform/ios-simulator/css3/selectors3/html/css3-modsel-29-expected.txt:
        * platform/ios-simulator/css3/selectors3/html/css3-modsel-29b-expected.txt:
        * platform/ios-simulator/css3/selectors3/html/css3-modsel-33-expected.txt:
        * platform/ios-simulator/css3/selectors3/html/css3-modsel-73-expected.txt:
        * platform/ios-simulator/css3/selectors3/html/css3-modsel-73b-expected.txt:
        * platform/ios-simulator/css3/selectors3/html/css3-modsel-77-expected.txt:
        * platform/ios-simulator/css3/selectors3/html/css3-modsel-77b-expected.txt:
        * platform/ios-simulator/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
        * platform/ios-simulator/css3/selectors3/xhtml/css3-modsel-29-expected.txt:
        * platform/ios-simulator/css3/selectors3/xhtml/css3-modsel-29b-expected.txt:
        * platform/ios-simulator/css3/selectors3/xhtml/css3-modsel-33-expected.txt:
        * platform/ios-simulator/css3/selectors3/xhtml/css3-modsel-73-expected.txt:
        * platform/ios-simulator/css3/selectors3/xhtml/css3-modsel-73b-expected.txt:
        * platform/ios-simulator/css3/selectors3/xhtml/css3-modsel-77-expected.txt:
        * platform/ios-simulator/css3/selectors3/xhtml/css3-modsel-77b-expected.txt:
        * platform/ios-simulator/css3/selectors3/xml/css3-modsel-18-expected.txt:
        * platform/ios-simulator/css3/selectors3/xml/css3-modsel-29-expected.txt:
        * platform/ios-simulator/css3/selectors3/xml/css3-modsel-29b-expected.txt:
        * platform/ios-simulator/css3/selectors3/xml/css3-modsel-33-expected.txt:
        * platform/ios-simulator/css3/selectors3/xml/css3-modsel-73-expected.txt:
        * platform/ios-simulator/css3/selectors3/xml/css3-modsel-73b-expected.txt:
        * platform/ios-simulator/css3/selectors3/xml/css3-modsel-77-expected.txt:
        * platform/ios-simulator/css3/selectors3/xml/css3-modsel-77b-expected.txt:
        * platform/ios-simulator/editing/deleting/4922367-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/inserting/paragraph-separator-in-table-1-expected.txt:
        * platform/ios-simulator/editing/selection/5057506-2-expected.txt:
        * platform/ios-simulator/editing/selection/5057506-expected.txt:
        * platform/ios-simulator/editing/selection/5131716-1-expected.txt:
        * platform/ios-simulator/editing/selection/5131716-2-expected.txt:
        * platform/ios-simulator/editing/selection/5131716-3-expected.txt:
        * platform/ios-simulator/editing/selection/5131716-4-expected.txt:
        * platform/ios-simulator/fast/block/basic/quirk-percent-height-table-cell-expected.txt:
        * platform/ios-simulator/fast/block/float/015-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/006-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/010-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/011-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/012-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/015-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/016-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/017-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/018-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/019-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/020-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/021-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/022-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/025-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/032-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/033-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/034-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/041-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/042-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/055-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/056-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/057-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/058-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/059-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/006-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/010-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/011-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/012-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/015-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/016-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/017-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/018-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/019-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/020-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/021-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/022-expected.txt:
        * platform/ios-simulator/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
        * platform/ios-simulator/fast/block/positioning/negative-right-pos-expected.txt:
        * platform/ios-simulator/fast/block/positioning/table-cell-static-position-expected.txt:
        * platform/ios-simulator/fast/borders/border-antialiasing-expected.txt:
        * platform/ios-simulator/fast/borders/border-radius-different-width-001-expected.txt:
        * platform/ios-simulator/fast/borders/table-borders-expected.txt:
        * platform/ios-simulator/fast/css-generated-content/first-letter-in-nested-before-expected.txt:
        * platform/ios-simulator/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
        * platform/ios-simulator/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
        * platform/ios-simulator/fast/css-generated-content/table-cell-before-after-child-add-expected.txt:
        * platform/ios-simulator/fast/css-generated-content/table-row-group-with-before-expected.txt:
        * platform/ios-simulator/fast/css-generated-content/table-row-with-before-expected.txt:
        * platform/ios-simulator/fast/css-generated-content/table-with-before-expected.txt:
        * platform/ios-simulator/fast/css/003-expected.txt:
        * platform/ios-simulator/fast/css/absolute-poition-in-rtl-parent-expected.txt:
        * platform/ios-simulator/fast/css/acid2-expected.txt:
        * platform/ios-simulator/fast/css/acid2-pixel-expected.txt:
        * platform/ios-simulator/fast/css/bidi-override-in-anonymous-block-expected.txt:
        * platform/ios-simulator/fast/css/box-shadow-and-border-radius-expected.txt:
        * platform/ios-simulator/fast/css/css3-nth-child-expected.txt:
        * platform/ios-simulator/fast/css/focus-ring-detached-expected.txt:
        * platform/ios-simulator/fast/css/focus-ring-multiline-expected.txt:
        * platform/ios-simulator/fast/css/h1-in-section-elements-expected.txt:
        * platform/ios-simulator/fast/css/percentage-non-integer-expected.txt:
        * platform/ios-simulator/fast/css/table-text-align-quirk-expected.txt:
        * platform/ios-simulator/fast/css/table-text-align-strict-expected.txt:
        * platform/ios-simulator/fast/dom/34176-expected.txt:
        * platform/ios-simulator/fast/dom/HTMLTableElement/colSpan-expected.txt:
        * platform/ios-simulator/fast/dom/HTMLTableElement/createCaption-expected.txt:
        * platform/ios-simulator/fast/dom/row-inner-text-expected.txt:
        * platform/ios-simulator/fast/dynamic/001-expected.txt:
        * platform/ios-simulator/fast/dynamic/containing-block-change-expected.txt:
        * platform/ios-simulator/fast/dynamic/float-withdrawal-expected.txt:
        * platform/ios-simulator/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
        * platform/ios-simulator/fast/dynamic/subtree-table-cell-height-expected.txt:
        * platform/ios-simulator/fast/forms/001-expected.txt:
        * platform/ios-simulator/fast/forms/005-expected.txt:
        * platform/ios-simulator/fast/forms/form-element-geometry-expected.txt:
        * platform/ios-simulator/fast/forms/form-hides-table-expected.txt:
        * platform/ios-simulator/fast/forms/formmove3-expected.txt:
        * platform/ios-simulator/fast/forms/input-table-expected.txt:
        * platform/ios-simulator/fast/forms/listbox-bidi-align-expected.txt:
        * platform/ios-simulator/fast/forms/preserveFormDuringResidualStyle-expected.txt:
        * platform/ios-simulator/fast/forms/select-dirty-parent-pref-widths-expected.txt:
        * platform/ios-simulator/fast/html/details-writing-mode-expected.txt:
        * platform/ios-simulator/fast/inline-block/001-expected.txt:
        * platform/ios-simulator/fast/inline-block/overflow-clip-expected.txt:
        * platform/ios-simulator/fast/invalid/012-expected.txt:
        * platform/ios-simulator/fast/lists/004-expected.txt:
        * platform/ios-simulator/fast/multicol/span/before-child-anonymous-column-block-expected.txt:
        * platform/ios-simulator/fast/multicol/table-vertical-align-expected.txt:
        * platform/ios-simulator/fast/overflow/002-expected.txt:
        * platform/ios-simulator/fast/overflow/overflow-rtl-expected.txt:
        * platform/ios-simulator/fast/overflow/overflow-rtl-vertical-expected.txt:
        * platform/ios-simulator/fast/overflow/table-overflow-float-expected.txt:
        * platform/ios-simulator/fast/reflections/table-cell-expected.txt:
        * platform/ios-simulator/fast/replaced/005-expected.txt:
        * platform/ios-simulator/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt:
        * platform/ios-simulator/fast/replaced/selection-rect-in-table-cell-expected.txt:
        * platform/ios-simulator/fast/replaced/table-percent-height-positioned-expected.txt:
        * platform/ios-simulator/fast/replaced/width100percent-checkbox-expected.txt:
        * platform/ios-simulator/fast/replaced/width100percent-image-expected.txt:
        * platform/ios-simulator/fast/replaced/width100percent-menulist-expected.txt:
        * platform/ios-simulator/fast/replaced/width100percent-radio-expected.txt:
        * platform/ios-simulator/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/ios-simulator/fast/replaced/width100percent-textarea-expected.txt:
        * platform/ios-simulator/fast/replaced/width100percent-textfield-expected.txt:
        * platform/ios-simulator/fast/selectors/077-expected.txt:
        * platform/ios-simulator/fast/selectors/077b-expected.txt:
        * platform/ios-simulator/fast/table/002-expected.txt:
        * platform/ios-simulator/fast/table/003-expected.txt:
        * platform/ios-simulator/fast/table/005-expected.txt:
        * platform/ios-simulator/fast/table/007-expected.txt:
        * platform/ios-simulator/fast/table/008-expected.txt:
        * platform/ios-simulator/fast/table/009-expected.txt:
        * platform/ios-simulator/fast/table/012-expected.txt:
        * platform/ios-simulator/fast/table/013-expected.txt:
        * platform/ios-simulator/fast/table/021-expected.txt:
        * platform/ios-simulator/fast/table/023-expected.txt:
        * platform/ios-simulator/fast/table/028-expected.txt:
        * platform/ios-simulator/fast/table/028-vertical-expected.txt:
        * platform/ios-simulator/fast/table/029-expected.txt:
        * platform/ios-simulator/fast/table/038-expected.txt:
        * platform/ios-simulator/fast/table/038-vertical-expected.txt:
        * platform/ios-simulator/fast/table/039-expected.txt:
        * platform/ios-simulator/fast/table/040-expected.txt:
        * platform/ios-simulator/fast/table/040-vertical-expected.txt:
        * platform/ios-simulator/fast/table/100-percent-cell-width-expected.txt:
        * platform/ios-simulator/fast/table/add-before-anonymous-child-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/001-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/001-vertical-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/002-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/002-vertical-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/003-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/003-vertical-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/border-collapsing-head-foot-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/cached-69296-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/equal-precedence-resolution-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/rtl-border-collapsing-expected.txt:
        * platform/ios-simulator/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.txt:
        * platform/ios-simulator/fast/table/caption-relayout-expected.txt:
        * platform/ios-simulator/fast/table/cell-absolute-child-expected.txt:
        * platform/ios-simulator/fast/table/cell-width-auto-expected.txt:
        * platform/ios-simulator/fast/table/colspanMinWidth-expected.txt:
        * platform/ios-simulator/fast/table/dynamic-cellpadding-expected.txt:
        * platform/ios-simulator/fast/table/edge-offsets-expected.txt:
        * platform/ios-simulator/fast/table/empty-cells-expected.txt:
        * platform/ios-simulator/fast/table/frame-and-rules-expected.txt:
        * platform/ios-simulator/fast/table/giantRowspan-expected.txt:
        * platform/ios-simulator/fast/table/growCellForImageQuirk-expected.txt:
        * platform/ios-simulator/fast/table/growCellForImageQuirk-vertical-expected.txt:
        * platform/ios-simulator/fast/table/invisible-cell-background-expected.txt:
        * platform/ios-simulator/fast/table/large-width-expected.txt:
        * platform/ios-simulator/fast/table/max-width-integer-overflow-expected.txt:
        * platform/ios-simulator/fast/table/mozilla-bug10296-vertical-align-1-expected.txt:
        * platform/ios-simulator/fast/table/mozilla-bug10296-vertical-align-2-expected.txt:
        * platform/ios-simulator/fast/table/nobr-expected.txt:
        * platform/ios-simulator/fast/table/overflowHidden-expected.txt:
        * platform/ios-simulator/fast/table/percent-heights-expected.txt:
        * platform/ios-simulator/fast/table/percent-widths-stretch-expected.txt:
        * platform/ios-simulator/fast/table/prepend-in-anonymous-table-expected.txt:
        * platform/ios-simulator/fast/table/relative-position-containment-expected.txt:
        * platform/ios-simulator/fast/table/relative-position-offsets-expected.txt:
        * platform/ios-simulator/fast/table/relative-position-stacking-expected.txt:
        * platform/ios-simulator/fast/table/replaced-percent-height-expected.txt:
        * platform/ios-simulator/fast/table/row-height-recalc-expected.txt:
        * platform/ios-simulator/fast/table/rowspan-paint-order-expected.txt:
        * platform/ios-simulator/fast/table/rowspan-paint-order-vertical-expected.txt:
        * platform/ios-simulator/fast/table/spanOverlapRepaint-expected.txt:
        * platform/ios-simulator/fast/table/stale-grid-crash-expected.txt:
        * platform/ios-simulator/fast/table/table-cell-before-child-in-table-expected.txt:
        * platform/ios-simulator/fast/table/table-display-types-expected.txt:
        * platform/ios-simulator/fast/table/table-display-types-strict-expected.txt:
        * platform/ios-simulator/fast/table/table-display-types-vertical-expected.txt:
        * platform/ios-simulator/fast/table/table-row-before-after-content-around-table-cell-expected.txt:
        * platform/ios-simulator/fast/table/table-row-outline-paint-expected.txt:
        * platform/ios-simulator/fast/table/table-row-split2-expected.txt:
        * platform/ios-simulator/fast/table/table-section-split2-expected.txt:
        * platform/ios-simulator/fast/table/table-split-expected.txt:
        * platform/ios-simulator/fast/table/table-split2-expected.txt:
        * platform/ios-simulator/fast/text/basic/004-expected.txt:
        * platform/ios-simulator/fast/text/basic/005-expected.txt:
        * platform/ios-simulator/fast/text/emoji-expected.txt:
        * platform/ios-simulator/fast/text/international/bidi-LDB-2-CSS-expected.txt:
        * platform/ios-simulator/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/ios-simulator/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/002-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/003-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/004-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/005-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/010-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/011-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/015-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/016-expected.txt:
        * platform/ios-simulator/fast/text/whitespace/025-expected.txt:
        * platform/ios-simulator/fast/writing-mode/table-percent-width-quirk-expected.txt:
        * platform/ios-simulator/fast/writing-mode/vertical-align-table-baseline-expected.txt:
        * platform/ios-simulator/http/tests/misc/acid2-expected.txt:
        * platform/ios-simulator/http/tests/misc/acid2-pixel-expected.txt:
        * platform/ios-simulator/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
        * platform/ios-simulator/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug10009-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug101201-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug10296-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1055-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug10565-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug10633-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1067-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1067-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug106795-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug106816-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug113424-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1163-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug12008-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug120107-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug120364-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1224-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug12268-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug12709-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1271-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug12908-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug12908-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug12910-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1296-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1302-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug13169-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug139524-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug139524-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug139524-3-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug139524-4-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1430-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug14323-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1474-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug14929-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug15247-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug154780-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug15544-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug159108-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug15933-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug16012-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug16252-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug17138-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug175455-4-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug17548-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug17587-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1800-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1802-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1802s-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug1809-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug18440-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug18664-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug18955-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug19061-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug19061-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug19356-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug20804-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2123-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug215629-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug219693-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug219693-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug22019-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug222336-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug22246-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug22246-2a-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug22246-3-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug22246-3a-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug22513-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2296-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug23235-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug25004-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug25074-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug25663-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2684-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug269566-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug277062-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2773-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug27993-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2886-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug28933-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug29058-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug29429-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2954-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2981-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2981-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug2997-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug30273-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug3103-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug32205-3-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug3260-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug32841-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug33137-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug33855-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug3454-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug3977-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug4093-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug42187-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug4385-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug44505-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug4501-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug45350-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug45486-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug4576-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug46268-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug46268-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug46623-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug46623-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug47432-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug4803-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug4849-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug4849-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug5188-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug53690-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug53690-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug53891-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug5538-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug55789-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug57828-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug5797-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug5835-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug60804-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug60807-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug6184-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug6304-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug6404-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug647-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug6674-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug68998-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug69382-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug69382-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug72359-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug7714-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug78162-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug82946-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug8950-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug9123-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug9123-2-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug92143-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug963-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug97383-expected.txt:
        * platform/ios-simulator/tables/mozilla/bugs/bug9879-1-expected.txt:
        * platform/ios-simulator/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/bloomberg-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/borders-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/cell_heights-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_span-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_auto_autoFixPer-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_auto_fix-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_auto_fixPer-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_auto_per-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_fix_autoFix-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_fix_fix-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/col_widths_fix_per-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/margins-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/misc-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/nested1-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/one_row-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/table_frame-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/table_heights-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/table_rules-expected.txt:
        * platform/ios-simulator/tables/mozilla/core/table_widths-expected.txt:
        * platform/ios-simulator/tables/mozilla/dom/insertColGroups1-expected.txt:
        * platform/ios-simulator/tables/mozilla/dom/insertColGroups2-expected.txt:
        * platform/ios-simulator/tables/mozilla/dom/insertCols1-expected.txt:
        * platform/ios-simulator/tables/mozilla/dom/insertCols2-expected.txt:
        * platform/ios-simulator/tables/mozilla/dom/insertCols3-expected.txt:
        * platform/ios-simulator/tables/mozilla/dom/insertCols4-expected.txt:
        * platform/ios-simulator/tables/mozilla/dom/insertCols5-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_position-table-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_span-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/colgroup_width_px-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/table_row_align_center-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/table_row_align_left-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/table_row_align_right-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_aqua-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_black-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_blue-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_gray-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_green-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_lime-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_maroon-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_navy-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_olive-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_purple-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_red-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_silver-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_white-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_td_width-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_th_colspan-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_th_width-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tables_width_px-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tbody_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/td_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/td_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/td_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/td_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/th_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/th_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/th_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/th_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/thead_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/thead_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/tr_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_col_align_char-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_col_span-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_col_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_col_width_px-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_col_width_rel-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_colgroup_span-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_align_center-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_align_char-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_align_justify-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_align_left-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_align_right-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_td_width-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_align_center-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_align_char-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_align_justify-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_align_left-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_align_right-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_rowspan-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_th_width-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tr_align_char-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla/other/cell_widths-expected.txt:
        * platform/ios-simulator/tables/mozilla/other/ms-expected.txt:
        * platform/ios-simulator/tables/mozilla/other/nested2-expected.txt:
        * platform/ios-simulator/tables/mozilla/other/nestedTables-expected.txt:
        * platform/ios-simulator/tables/mozilla/other/slashlogo-expected.txt:
        * platform/ios-simulator/tables/mozilla/other/test3-expected.txt:
        * platform/ios-simulator/tables/mozilla/other/test6-expected.txt:
        * platform/ios-simulator/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/97619-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug1164-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug14007-1-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug14159-2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug1647-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug27993-2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug3105-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug7121-2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug72393-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/core/col_span2-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/core/cols1-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/core/columns-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/core/standards1-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
        * platform/ios-simulator/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
        * platform/mac/accessibility/table-detection-expected.txt:
        * platform/mac/compositing/contents-opaque/table-parts-expected.txt:
        * platform/mac/css1/basic/containment-expected.txt:
        * platform/mac/css1/basic/contextual_selectors-expected.txt:
        * platform/mac/css1/basic/grouping-expected.txt:
        * platform/mac/css1/basic/id_as_selector-expected.txt:
        * platform/mac/css1/basic/inheritance-expected.txt:
        * platform/mac/css1/box_properties/border-expected.txt:
        * platform/mac/css1/box_properties/border_bottom-expected.txt:
        * platform/mac/css1/box_properties/border_bottom_inline-expected.txt:
        * platform/mac/css1/box_properties/border_bottom_width-expected.txt:
        * platform/mac/css1/box_properties/border_bottom_width_inline-expected.txt:
        * platform/mac/css1/box_properties/border_color-expected.txt:
        * platform/mac/css1/box_properties/border_color_inline-expected.txt:
        * platform/mac/css1/box_properties/border_inline-expected.txt:
        * platform/mac/css1/box_properties/border_left-expected.txt:
        * platform/mac/css1/box_properties/border_left_inline-expected.txt:
        * platform/mac/css1/box_properties/border_left_width-expected.txt:
        * platform/mac/css1/box_properties/border_left_width_inline-expected.txt:
        * platform/mac/css1/box_properties/border_right-expected.txt:
        * platform/mac/css1/box_properties/border_right_inline-expected.txt:
        * platform/mac/css1/box_properties/border_right_width-expected.txt:
        * platform/mac/css1/box_properties/border_right_width_inline-expected.txt:
        * platform/mac/css1/box_properties/border_style-expected.txt:
        * platform/mac/css1/box_properties/border_style_inline-expected.txt:
        * platform/mac/css1/box_properties/border_top-expected.txt:
        * platform/mac/css1/box_properties/border_top_inline-expected.txt:
        * platform/mac/css1/box_properties/border_top_width-expected.txt:
        * platform/mac/css1/box_properties/border_top_width_inline-expected.txt:
        * platform/mac/css1/box_properties/border_width-expected.txt:
        * platform/mac/css1/box_properties/border_width_inline-expected.txt:
        * platform/mac/css1/box_properties/clear-expected.txt:
        * platform/mac/css1/box_properties/clear_float-expected.txt:
        * platform/mac/css1/box_properties/float-expected.txt:
        * platform/mac/css1/box_properties/float_elements_in_series-expected.txt:
        * platform/mac/css1/box_properties/float_margin-expected.txt:
        * platform/mac/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/mac/css1/box_properties/height-expected.txt:
        * platform/mac/css1/box_properties/margin-expected.txt:
        * platform/mac/css1/box_properties/margin_bottom-expected.txt:
        * platform/mac/css1/box_properties/margin_bottom_inline-expected.txt:
        * platform/mac/css1/box_properties/margin_inline-expected.txt:
        * platform/mac/css1/box_properties/margin_left-expected.txt:
        * platform/mac/css1/box_properties/margin_left_inline-expected.txt:
        * platform/mac/css1/box_properties/margin_right-expected.txt:
        * platform/mac/css1/box_properties/margin_right_inline-expected.txt:
        * platform/mac/css1/box_properties/margin_top-expected.txt:
        * platform/mac/css1/box_properties/margin_top_inline-expected.txt:
        * platform/mac/css1/box_properties/padding-expected.txt:
        * platform/mac/css1/box_properties/padding_bottom-expected.txt:
        * platform/mac/css1/box_properties/padding_bottom_inline-expected.txt:
        * platform/mac/css1/box_properties/padding_inline-expected.txt:
        * platform/mac/css1/box_properties/padding_left-expected.txt:
        * platform/mac/css1/box_properties/padding_left_inline-expected.txt:
        * platform/mac/css1/box_properties/padding_right-expected.txt:
        * platform/mac/css1/box_properties/padding_right_inline-expected.txt:
        * platform/mac/css1/box_properties/padding_top-expected.txt:
        * platform/mac/css1/box_properties/padding_top_inline-expected.txt:
        * platform/mac/css1/box_properties/width-expected.txt:
        * platform/mac/css1/cascade/cascade_order-expected.txt:
        * platform/mac/css1/cascade/important-expected.txt:
        * platform/mac/css1/classification/display-expected.txt:
        * platform/mac/css1/classification/list_style-expected.txt:
        * platform/mac/css1/classification/list_style_image-expected.txt:
        * platform/mac/css1/classification/list_style_position-expected.txt:
        * platform/mac/css1/classification/list_style_type-expected.txt:
        * platform/mac/css1/classification/white_space-expected.txt:
        * platform/mac/css1/color_and_background/background-expected.txt:
        * platform/mac/css1/color_and_background/background_attachment-expected.txt:
        * platform/mac/css1/color_and_background/background_color-expected.txt:
        * platform/mac/css1/color_and_background/background_image-expected.txt:
        * platform/mac/css1/color_and_background/background_position-expected.txt:
        * platform/mac/css1/color_and_background/background_repeat-expected.txt:
        * platform/mac/css1/color_and_background/color-expected.txt:
        * platform/mac/css1/conformance/forward_compatible_parsing-expected.txt:
        * platform/mac/css1/font_properties/font-expected.txt:
        * platform/mac/css1/font_properties/font_family-expected.txt:
        * platform/mac/css1/font_properties/font_size-expected.txt:
        * platform/mac/css1/font_properties/font_style-expected.txt:
        * platform/mac/css1/font_properties/font_variant-expected.txt:
        * platform/mac/css1/font_properties/font_weight-expected.txt:
        * platform/mac/css1/formatting_model/canvas-expected.txt:
        * platform/mac/css1/formatting_model/floating_elements-expected.txt:
        * platform/mac/css1/formatting_model/height_of_lines-expected.txt:
        * platform/mac/css1/formatting_model/inline_elements-expected.txt:
        * platform/mac/css1/formatting_model/replaced_elements-expected.txt:
        * platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
        * platform/mac/css1/pseudo/anchor-expected.txt:
        * platform/mac/css1/pseudo/firstletter-expected.txt:
        * platform/mac/css1/pseudo/firstline-expected.txt:
        * platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/mac/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
        * platform/mac/css1/text_properties/letter_spacing-expected.txt:
        * platform/mac/css1/text_properties/line_height-expected.txt:
        * platform/mac/css1/text_properties/text_align-expected.txt:
        * platform/mac/css1/text_properties/text_decoration-expected.txt:
        * platform/mac/css1/text_properties/text_indent-expected.txt:
        * platform/mac/css1/text_properties/text_transform-expected.txt:
        * platform/mac/css1/text_properties/vertical_align-expected.txt:
        * platform/mac/css1/text_properties/word_spacing-expected.txt:
        * platform/mac/css1/units/color_units-expected.txt:
        * platform/mac/css1/units/length_units-expected.txt:
        * platform/mac/css1/units/percentage_units-expected.txt:
        * platform/mac/css1/units/urls-expected.txt:
        * platform/mac/css2.1/20110323/border-collapse-offset-002-expected.txt:
        * platform/mac/css2.1/20110323/border-conflict-style-079-expected.txt:
        * platform/mac/css2.1/20110323/border-conflict-style-088-expected.txt:
        * platform/mac/css2.1/20110323/dynamic-top-change-002-expected.txt:
        * platform/mac/css2.1/20110323/dynamic-top-change-003-expected.txt:
        * platform/mac/css2.1/20110323/inline-table-001-expected.txt:
        * platform/mac/css2.1/20110323/inline-table-003-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-001-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-002-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-003-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-004-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-005-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-006-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-007-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-013-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-014-expected.txt:
        * platform/mac/css2.1/20110323/margin-applies-to-015-expected.txt:
        * platform/mac/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt:
        * platform/mac/css2.1/20110323/table-caption-001-expected.txt:
        * platform/mac/css2.1/20110323/table-caption-optional-001-expected.txt:
        * platform/mac/css2.1/20110323/table-caption-optional-002-expected.txt:
        * platform/mac/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
        * platform/mac/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt:
        * platform/mac/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt:
        * platform/mac/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
        * platform/mac/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt:
        * platform/mac/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt:
        * platform/mac/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-30-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-70-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
        * platform/mac/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-177-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-178-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-179-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-180-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-181-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-189-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-190-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-191-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-192-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-193-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-194-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-195-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-196-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-205-expected.txt:
        * platform/mac/css2.1/tables/table-anonymous-objects-206-expected.txt:
        * platform/mac/css3/css3-modsel-33-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-29-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-29b-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-33-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-73-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-73b-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-77-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-77b-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-29-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-29b-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-33-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-73-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-73b-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-77-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-77b-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-29-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-29b-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-33-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-73-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-73b-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-77-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-77b-expected.txt:
        * platform/mac/editing/deleting/4922367-expected.txt:
        * platform/mac/editing/deleting/5126166-expected.txt:
        * platform/mac/editing/deleting/5144139-2-expected.txt:
        * platform/mac/editing/deleting/5206311-1-expected.txt:
        * platform/mac/editing/deleting/5433862-2-expected.txt:
        * platform/mac/editing/inserting/paragraph-separator-in-table-1-expected.txt:
        * platform/mac/editing/pasteboard/innerText-inline-table-expected.txt:
        * platform/mac/editing/selection/3690703-2-expected.txt:
        * platform/mac/editing/selection/3690703-expected.txt:
        * platform/mac/editing/selection/3690719-expected.txt:
        * platform/mac/editing/selection/5057506-2-expected.txt:
        * platform/mac/editing/selection/5057506-expected.txt:
        * platform/mac/editing/selection/5131716-1-expected.txt:
        * platform/mac/editing/selection/5131716-2-expected.txt:
        * platform/mac/editing/selection/5131716-3-expected.txt:
        * platform/mac/editing/selection/5131716-4-expected.txt:
        * platform/mac/editing/selection/move-by-line-001-expected.txt:
        * platform/mac/editing/selection/select-all-004-expected.txt:
        * platform/mac/editing/unsupported-content/table-type-after-expected.txt:
        * platform/mac/editing/unsupported-content/table-type-before-expected.txt:
        * platform/mac/fast/block/basic/016-expected.txt:
        * platform/mac/fast/block/basic/quirk-percent-height-table-cell-expected.txt:
        * platform/mac/fast/block/float/015-expected.txt:
        * platform/mac/fast/block/margin-collapse/006-expected.txt:
        * platform/mac/fast/block/margin-collapse/010-expected.txt:
        * platform/mac/fast/block/margin-collapse/011-expected.txt:
        * platform/mac/fast/block/margin-collapse/012-expected.txt:
        * platform/mac/fast/block/margin-collapse/015-expected.txt:
        * platform/mac/fast/block/margin-collapse/016-expected.txt:
        * platform/mac/fast/block/margin-collapse/017-expected.txt:
        * platform/mac/fast/block/margin-collapse/018-expected.txt:
        * platform/mac/fast/block/margin-collapse/019-expected.txt:
        * platform/mac/fast/block/margin-collapse/020-expected.txt:
        * platform/mac/fast/block/margin-collapse/021-expected.txt:
        * platform/mac/fast/block/margin-collapse/022-expected.txt:
        * platform/mac/fast/block/margin-collapse/025-expected.txt:
        * platform/mac/fast/block/margin-collapse/032-expected.txt:
        * platform/mac/fast/block/margin-collapse/033-expected.txt:
        * platform/mac/fast/block/margin-collapse/034-expected.txt:
        * platform/mac/fast/block/margin-collapse/041-expected.txt:
        * platform/mac/fast/block/margin-collapse/042-expected.txt:
        * platform/mac/fast/block/margin-collapse/055-expected.txt:
        * platform/mac/fast/block/margin-collapse/056-expected.txt:
        * platform/mac/fast/block/margin-collapse/057-expected.txt:
        * platform/mac/fast/block/margin-collapse/058-expected.txt:
        * platform/mac/fast/block/margin-collapse/059-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/006-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/010-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/011-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/012-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/015-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/016-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/017-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/018-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/019-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/020-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/021-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/022-expected.txt:
        * platform/mac/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
        * platform/mac/fast/block/positioning/negative-right-pos-expected.txt:
        * platform/mac/fast/block/positioning/table-cell-static-position-expected.txt:
        * platform/mac/fast/borders/border-antialiasing-expected.txt:
        * platform/mac/fast/borders/border-radius-different-width-001-expected.txt:
        * platform/mac/fast/borders/table-borders-expected.txt:
        * platform/mac/fast/css-generated-content/first-letter-in-nested-before-expected.txt:
        * platform/mac/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
        * platform/mac/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
        * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.txt:
        * platform/mac/fast/css-generated-content/table-parts-before-and-after-expected.txt:
        * platform/mac/fast/css-generated-content/table-row-group-with-before-expected.txt:
        * platform/mac/fast/css-generated-content/table-row-with-before-expected.txt:
        * platform/mac/fast/css-generated-content/table-with-before-expected.txt:
        * platform/mac/fast/css/003-expected.txt:
        * platform/mac/fast/css/absolute-poition-in-rtl-parent-expected.txt:
        * platform/mac/fast/css/acid2-expected.txt:
        * platform/mac/fast/css/acid2-pixel-expected.txt:
        * platform/mac/fast/css/bidi-override-in-anonymous-block-expected.txt:
        * platform/mac/fast/css/box-shadow-and-border-radius-expected.txt:
        * platform/mac/fast/css/caption-width-absolute-position-expected.txt:
        * platform/mac/fast/css/caption-width-absolute-position-offset-top-expected.txt:
        * platform/mac/fast/css/caption-width-fixed-position-expected.txt:
        * platform/mac/fast/css/caption-width-fixed-position-offset-top-expected.txt:
        * platform/mac/fast/css/caption-width-relative-position-expected.txt:
        * platform/mac/fast/css/caption-width-relative-position-offset-top-expected.txt:
        * platform/mac/fast/css/css3-nth-child-expected.txt:
        * platform/mac/fast/css/focus-ring-detached-expected.txt:
        * platform/mac/fast/css/focus-ring-multiline-expected.txt:
        * platform/mac/fast/css/h1-in-section-elements-expected.txt:
        * platform/mac/fast/css/image-rendering-expected.txt:
        * platform/mac/fast/css/min-width-with-spanned-cell-expected.txt:
        * platform/mac/fast/css/percentage-non-integer-expected.txt:
        * platform/mac/fast/css/table-text-align-quirk-expected.txt:
        * platform/mac/fast/css/table-text-align-strict-expected.txt:
        * platform/mac/fast/dom/34176-expected.txt:
        * platform/mac/fast/dom/HTMLTableElement/colSpan-expected.txt:
        * platform/mac/fast/dom/HTMLTableElement/createCaption-expected.txt:
        * platform/mac/fast/dom/row-inner-text-expected.txt:
        * platform/mac/fast/dynamic/001-expected.txt:
        * platform/mac/fast/dynamic/containing-block-change-expected.txt:
        * platform/mac/fast/dynamic/float-withdrawal-expected.txt:
        * platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
        * platform/mac/fast/dynamic/subtree-table-cell-height-expected.txt:
        * platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/mac/fast/forms/001-expected.txt:
        * platform/mac/fast/forms/005-expected.txt:
        * platform/mac/fast/forms/basic-buttons-expected.txt:
        * platform/mac/fast/forms/form-element-geometry-expected.txt:
        * platform/mac/fast/forms/form-hides-table-expected.txt:
        * platform/mac/fast/forms/form-in-malformed-markup-expected.txt:
        * platform/mac/fast/forms/formmove3-expected.txt:
        * platform/mac/fast/forms/input-table-expected.txt:
        * platform/mac/fast/forms/listbox-bidi-align-expected.txt:
        * platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt:
        * platform/mac/fast/forms/select-dirty-parent-pref-widths-expected.txt:
        * platform/mac/fast/html/details-writing-mode-expected.txt:
        * platform/mac/fast/inline-block/001-expected.txt:
        * platform/mac/fast/inline-block/overflow-clip-expected.txt:
        * platform/mac/fast/invalid/012-expected.txt:
        * platform/mac/fast/invalid/018-expected.txt:
        * platform/mac/fast/lists/004-expected.txt:
        * platform/mac/fast/lists/list-marker-before-content-table-expected.txt:
        * platform/mac/fast/multicol/span/before-child-anonymous-column-block-expected.txt:
        * platform/mac/fast/overflow/002-expected.txt:
        * platform/mac/fast/overflow/overflow-rtl-expected.txt:
        * platform/mac/fast/overflow/overflow-rtl-vertical-expected.txt:
        * platform/mac/fast/overflow/table-overflow-float-expected.txt:
        * platform/mac/fast/reflections/table-cell-expected.txt:
        * platform/mac/fast/repaint/block-selection-gap-in-table-cell-expected.txt:
        * platform/mac/fast/repaint/float-overflow-expected.txt:
        * platform/mac/fast/repaint/float-overflow-right-expected.txt:
        * platform/mac/fast/repaint/subtree-root-clip-3-expected.txt:
        * platform/mac/fast/repaint/table-cell-collapsed-border-expected.txt:
        * platform/mac/fast/repaint/table-cell-collapsed-border-scroll-expected.txt:
        * platform/mac/fast/repaint/table-cell-move-expected.txt:
        * platform/mac/fast/repaint/table-cell-overflow-expected.txt:
        * platform/mac/fast/repaint/table-cell-vertical-overflow-expected.txt:
        * platform/mac/fast/repaint/table-col-background-expected.txt:
        * platform/mac/fast/repaint/table-collapsed-border-expected.txt:
        * platform/mac/fast/repaint/table-extra-bottom-grow-expected.txt:
        * platform/mac/fast/repaint/table-outer-border-expected.txt:
        * platform/mac/fast/repaint/table-row-expected.txt:
        * platform/mac/fast/repaint/table-section-overflow-expected.txt:
        * platform/mac/fast/repaint/table-section-repaint-expected.txt:
        * platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.txt:
        * platform/mac/fast/repaint/table-writing-modes-h-expected.txt:
        * platform/mac/fast/repaint/table-writing-modes-v-expected.txt:
        * platform/mac/fast/replaced/005-expected.txt:
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt:
        * platform/mac/fast/replaced/selection-rect-in-table-cell-expected.txt:
        * platform/mac/fast/replaced/table-percent-height-positioned-expected.txt:
        * platform/mac/fast/replaced/width100percent-checkbox-expected.txt:
        * platform/mac/fast/replaced/width100percent-image-expected.txt:
        * platform/mac/fast/replaced/width100percent-menulist-expected.txt:
        * platform/mac/fast/replaced/width100percent-radio-expected.txt:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/mac/fast/replaced/width100percent-textarea-expected.txt:
        * platform/mac/fast/replaced/width100percent-textfield-expected.txt:
        * platform/mac/fast/selectors/077-expected.txt:
        * platform/mac/fast/selectors/077b-expected.txt:
        * platform/mac/fast/table/002-expected.txt:
        * platform/mac/fast/table/003-expected.txt:
        * platform/mac/fast/table/005-expected.txt:
        * platform/mac/fast/table/007-expected.txt:
        * platform/mac/fast/table/008-expected.txt:
        * platform/mac/fast/table/009-expected.txt:
        * platform/mac/fast/table/012-expected.txt:
        * platform/mac/fast/table/013-expected.txt:
        * platform/mac/fast/table/021-expected.txt:
        * platform/mac/fast/table/023-expected.txt:
        * platform/mac/fast/table/024-expected.txt:
        * platform/mac/fast/table/025-expected.txt:
        * platform/mac/fast/table/028-expected.txt:
        * platform/mac/fast/table/028-vertical-expected.txt:
        * platform/mac/fast/table/029-expected.txt:
        * platform/mac/fast/table/031-expected.txt:
        * platform/mac/fast/table/032-expected.txt:
        * platform/mac/fast/table/034-expected.txt:
        * platform/mac/fast/table/038-expected.txt:
        * platform/mac/fast/table/038-vertical-expected.txt:
        * platform/mac/fast/table/039-expected.txt:
        * platform/mac/fast/table/040-expected.txt:
        * platform/mac/fast/table/040-vertical-expected.txt:
        * platform/mac/fast/table/100-percent-cell-width-expected.txt:
        * platform/mac/fast/table/add-before-anonymous-child-expected.txt:
        * platform/mac/fast/table/border-collapsing/001-expected.txt:
        * platform/mac/fast/table/border-collapsing/001-vertical-expected.txt:
        * platform/mac/fast/table/border-collapsing/002-expected.txt:
        * platform/mac/fast/table/border-collapsing/002-vertical-expected.txt:
        * platform/mac/fast/table/border-collapsing/003-expected.txt:
        * platform/mac/fast/table/border-collapsing/003-vertical-expected.txt:
        * platform/mac/fast/table/border-collapsing/004-expected.txt:
        * platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
        * platform/mac/fast/table/border-collapsing/border-collapsing-head-foot-expected.txt:
        * platform/mac/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.txt:
        * platform/mac/fast/table/border-collapsing/bug14274-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-69296-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-cell-append-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-cell-remove-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-cell-border-color-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-cell-sl-border-color-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-col-border-color-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-col-border-width-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-row-border-color-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-table-border-color-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-table-border-width-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-tbody-border-color-expected.txt:
        * platform/mac/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt:
        * platform/mac/fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.txt:
        * platform/mac/fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.txt:
        * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.txt:
        * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt:
        * platform/mac/fast/table/border-collapsing/rtl-border-collapsing-expected.txt:
        * platform/mac/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.txt:
        * platform/mac/fast/table/caption-relayout-expected.txt:
        * platform/mac/fast/table/cell-absolute-child-expected.txt:
        * platform/mac/fast/table/cell-width-auto-expected.txt:
        * platform/mac/fast/table/colspan-with-all-percent-cells-expected.txt:
        * platform/mac/fast/table/colspanMinWidth-expected.txt:
        * platform/mac/fast/table/colspanMinWidth-vertical-expected.txt:
        * platform/mac/fast/table/dynamic-cellpadding-expected.txt:
        * platform/mac/fast/table/edge-offsets-expected.txt:
        * platform/mac/fast/table/empty-cells-expected.txt:
        * platform/mac/fast/table/frame-and-rules-expected.txt:
        * platform/mac/fast/table/giantRowspan-expected.txt:
        * platform/mac/fast/table/growCellForImageQuirk-expected.txt:
        * platform/mac/fast/table/growCellForImageQuirk-vertical-expected.txt:
        * platform/mac/fast/table/height-percent-test-expected.txt:
        * platform/mac/fast/table/height-percent-test-vertical-expected.txt:
        * platform/mac/fast/table/invisible-cell-background-expected.txt:
        * platform/mac/fast/table/large-width-expected.txt:
        * platform/mac/fast/table/max-width-integer-overflow-expected.txt:
        * platform/mac/fast/table/mozilla-bug10296-vertical-align-1-expected.txt:
        * platform/mac/fast/table/mozilla-bug10296-vertical-align-2-expected.txt:
        * platform/mac/fast/table/nobr-expected.txt:
        * platform/mac/fast/table/overflowHidden-expected.txt:
        * platform/mac/fast/table/percent-heights-expected.txt:
        * platform/mac/fast/table/percent-widths-stretch-expected.txt:
        * platform/mac/fast/table/percent-widths-stretch-vertical-expected.txt:
        * platform/mac/fast/table/prepend-in-anonymous-table-expected.txt:
        * platform/mac/fast/table/relative-position-containment-expected.txt:
        * platform/mac/fast/table/relative-position-offsets-expected.txt:
        * platform/mac/fast/table/relative-position-stacking-expected.txt:
        * platform/mac/fast/table/replaced-percent-height-expected.txt:
        * platform/mac/fast/table/row-height-recalc-expected.txt:
        * platform/mac/fast/table/rowspan-paint-order-expected.txt:
        * platform/mac/fast/table/rowspan-paint-order-vertical-expected.txt:
        * platform/mac/fast/table/simple_paint-expected.txt:
        * platform/mac/fast/table/spanOverlapRepaint-expected.txt:
        * platform/mac/fast/table/stale-grid-crash-expected.txt:
        * platform/mac/fast/table/table-anonymous-cell-bug-expected.txt:
        * platform/mac/fast/table/table-anonymous-row-bug-expected.txt:
        * platform/mac/fast/table/table-anonymous-section-bug-expected.txt:
        * platform/mac/fast/table/table-before-child-style-update-expected.txt:
        * platform/mac/fast/table/table-cell-before-after-content-around-table-block-expected.txt:
        * platform/mac/fast/table/table-cell-before-after-content-around-table-expected.txt:
        * platform/mac/fast/table/table-cell-before-after-content-around-table-row-expected.txt:
        * platform/mac/fast/table/table-cell-before-child-in-table-expected.txt:
        * platform/mac/fast/table/table-cell-split-expected.txt:
        * platform/mac/fast/table/table-display-types-expected.txt:
        * platform/mac/fast/table/table-display-types-strict-expected.txt:
        * platform/mac/fast/table/table-display-types-vertical-expected.txt:
        * platform/mac/fast/table/table-insert-before-non-anonymous-block-expected.txt:
        * platform/mac/fast/table/table-row-before-after-content-around-block-expected.txt:
        * platform/mac/fast/table/table-row-before-after-content-around-table-cell-expected.txt:
        * platform/mac/fast/table/table-row-before-after-content-around-table-expected.txt:
        * platform/mac/fast/table/table-row-before-child-style-update-expected.txt:
        * platform/mac/fast/table/table-row-outline-paint-expected.txt:
        * platform/mac/fast/table/table-row-split2-expected.txt:
        * platform/mac/fast/table/table-row-style-not-updated-expected.txt:
        * platform/mac/fast/table/table-row-style-not-updated-with-after-content-expected.txt:
        * platform/mac/fast/table/table-row-style-not-updated-with-before-content-expected.txt:
        * platform/mac/fast/table/table-section-split2-expected.txt:
        * platform/mac/fast/table/table-split-expected.txt:
        * platform/mac/fast/table/table-split2-expected.txt:
        * platform/mac/fast/table/table-style-not-updated-expected.txt:
        * platform/mac/fast/table/wide-colspan-expected.txt:
        * platform/mac/fast/table/wide-column-expected.txt:
        * platform/mac/fast/text/atsui-negative-spacing-features-expected.txt:
        * platform/mac/fast/text/atsui-spacing-features-expected.txt:
        * platform/mac/fast/text/basic/generic-family-reset-expected.txt:
        * platform/mac/fast/text/international/003-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
        * platform/mac/fast/text/international/bidi-override-expected.txt:
        * platform/mac/fast/text/wbr-expected.txt:
        * platform/mac/fast/text/whitespace/002-expected.txt:
        * platform/mac/fast/text/whitespace/003-expected.txt:
        * platform/mac/fast/text/whitespace/004-expected.txt:
        * platform/mac/fast/text/whitespace/005-expected.txt:
        * platform/mac/fast/text/whitespace/010-expected.txt:
        * platform/mac/fast/text/whitespace/011-expected.txt:
        * platform/mac/fast/text/whitespace/013-expected.txt:
        * platform/mac/fast/text/whitespace/014-expected.txt:
        * platform/mac/fast/text/whitespace/015-expected.txt:
        * platform/mac/fast/text/whitespace/016-expected.txt:
        * platform/mac/fast/text/whitespace/025-expected.txt:
        * platform/mac/fast/text/whitespace/026-expected.txt:
        * platform/mac/fast/writing-mode/table-percent-width-quirk-expected.txt:
        * platform/mac/fast/writing-mode/vertical-align-table-baseline-expected.txt:
        * platform/mac/http/tests/misc/acid2-expected.txt:
        * platform/mac/http/tests/misc/acid2-pixel-expected.txt:
        * platform/mac/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
        * platform/mac/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
        * platform/mac/tables/layering/paint-test-layering-1-expected.txt:
        * platform/mac/tables/layering/paint-test-layering-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug10009-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug101201-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug10296-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1055-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug10565-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug10633-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1067-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1067-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug106795-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug106816-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug113424-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1163-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12008-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug120107-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug120364-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1224-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12268-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12709-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1271-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12908-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12908-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12910-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1296-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1302-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug13169-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug137388-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug137388-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug137388-3-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug139524-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug139524-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug139524-3-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug139524-4-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1430-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug14323-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1474-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug14929-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug15247-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug154780-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug15544-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug159108-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug15933-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug16012-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug16252-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug17138-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug175455-4-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug17548-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug17587-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1800-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1802-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1802s-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1809-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug18440-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug18664-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug18955-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug19061-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug19061-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug19356-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug20804-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2123-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug215629-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug219693-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug219693-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug22019-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug220536-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug222336-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug22246-3-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug22246-3a-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug22513-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2296-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug23235-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug25004-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug25074-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug25663-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug26553-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2684-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug269566-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug277062-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2773-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug27993-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2886-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug28933-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug29058-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug29314-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug29429-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2954-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2981-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2981-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2997-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30273-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug3103-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug32205-3-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug3260-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug32841-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug33137-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug33855-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug3454-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug38916-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug3977-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4093-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug42187-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4385-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4427-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug44505-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4501-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug45350-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug45486-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4576-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46268-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46268-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46623-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46623-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug47432-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4803-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4849-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4849-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug5188-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug53690-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug53690-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug53891-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug5538-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug55789-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug56201-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug57828-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug5797-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug5835-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug60804-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug60807-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug6184-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug6304-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug6404-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug647-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug6674-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug68998-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug69382-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug69382-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug72359-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug7714-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug78162-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug82946-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug8950-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug9123-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug9123-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug92143-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug92647-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug963-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug97383-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug9879-1-expected.txt:
        * platform/mac/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
        * platform/mac/tables/mozilla/core/bloomberg-expected.txt:
        * platform/mac/tables/mozilla/core/borders-expected.txt:
        * platform/mac/tables/mozilla/core/cell_heights-expected.txt:
        * platform/mac/tables/mozilla/core/col_span-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_auto_autoFixPer-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_auto_fix-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_auto_fixPer-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_auto_per-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_fix_autoFix-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_fix_fix-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
        * platform/mac/tables/mozilla/core/col_widths_fix_per-expected.txt:
        * platform/mac/tables/mozilla/core/margins-expected.txt:
        * platform/mac/tables/mozilla/core/misc-expected.txt:
        * platform/mac/tables/mozilla/core/nested1-expected.txt:
        * platform/mac/tables/mozilla/core/one_row-expected.txt:
        * platform/mac/tables/mozilla/core/table_frame-expected.txt:
        * platform/mac/tables/mozilla/core/table_heights-expected.txt:
        * platform/mac/tables/mozilla/core/table_rules-expected.txt:
        * platform/mac/tables/mozilla/core/table_widths-expected.txt:
        * platform/mac/tables/mozilla/dom/insertColGroups1-expected.txt:
        * platform/mac/tables/mozilla/dom/insertColGroups2-expected.txt:
        * platform/mac/tables/mozilla/dom/insertCols1-expected.txt:
        * platform/mac/tables/mozilla/dom/insertCols2-expected.txt:
        * platform/mac/tables/mozilla/dom/insertCols3-expected.txt:
        * platform/mac/tables/mozilla/dom/insertCols4-expected.txt:
        * platform/mac/tables/mozilla/dom/insertCols5-expected.txt:
        * platform/mac/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
        * platform/mac/tables/mozilla/marvin/backgr_position-table-expected.txt:
        * platform/mac/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
        * platform/mac/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
        * platform/mac/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
        * platform/mac/tables/mozilla/marvin/backgr_simple-table-expected.txt:
        * platform/mac/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
        * platform/mac/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
        * platform/mac/tables/mozilla/marvin/body_thead-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_align_center-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_align_left-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_align_right-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_span-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
        * platform/mac/tables/mozilla/marvin/colgroup_width_px-expected.txt:
        * platform/mac/tables/mozilla/marvin/table_overflow_hidden_td-expected.txt:
        * platform/mac/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/mac/tables/mozilla/marvin/table_row_align_center-expected.txt:
        * platform/mac/tables/mozilla/marvin/table_row_align_left-expected.txt:
        * platform/mac/tables/mozilla/marvin/table_row_align_right-expected.txt:
        * platform/mac/tables/mozilla/marvin/table_rules_groups-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_aqua-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_black-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_blue-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_gray-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_green-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_lime-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_maroon-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_navy-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_olive-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_purple-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_red-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_silver-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_white-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_td_width-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_th_width-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_width_percent-expected.txt:
        * platform/mac/tables/mozilla/marvin/tables_width_px-expected.txt:
        * platform/mac/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/tbody_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/td_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/td_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/td_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/td_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/th_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/th_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/th_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/th_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/thead_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/thead_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/tr_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_col_align_char-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_col_span-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_col_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_col_width_px-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_col_width_rel-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_colgroup_span-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_align_center-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_align_char-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_align_justify-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_align_left-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_align_right-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_width-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_align_center-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_align_char-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_align_justify-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_align_left-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_align_right-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_rowspan-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_width-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tr_align_char-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
        * platform/mac/tables/mozilla/other/cell_widths-expected.txt:
        * platform/mac/tables/mozilla/other/ms-expected.txt:
        * platform/mac/tables/mozilla/other/nested2-expected.txt:
        * platform/mac/tables/mozilla/other/nestedTables-expected.txt:
        * platform/mac/tables/mozilla/other/slashlogo-expected.txt:
        * platform/mac/tables/mozilla/other/test3-expected.txt:
        * platform/mac/tables/mozilla/other/test6-expected.txt:
        * platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/97619-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1164-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug128876-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug14007-1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1647-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug27993-2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug3105-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug7121-2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug72393-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/col_span2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/cols1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/columns-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/standards1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:

2016-01-27  Chris Dumez  <cdumez@apple.com>

        Expose ValidityState on the global Window object
        https://bugs.webkit.org/show_bug.cgi?id=153582

        Reviewed by Antti Koivisto.

        Rebaseline test now that ValidityState is exposed on the global Window
        object.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-01-27  Chris Dumez  <cdumez@apple.com>

        Expose ApplicationCache on the global Window object
        https://bugs.webkit.org/show_bug.cgi?id=153578

        Reviewed by Antti Koivisto.

        Rebaseline test now that ApplicationCache is exposed on the global
        Window object.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-01-27  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r190430): Assertion failure in Text::~Text()
        https://bugs.webkit.org/show_bug.cgi?id=153577

        Reviewed by Antti Koivisto.

        Added a regression test. The test hits an assertion in debug build without the fix.

        * fast/shadow-dom/slot-removal-crash-2-expected.txt: Added.
        * fast/shadow-dom/slot-removal-crash-2.html: Added.

2016-01-27  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Garbage is displayed when root svg element has mix-blend-mode set
        https://bugs.webkit.org/show_bug.cgi?id=150556

        Reviewed by Darin Adler.

        Ensure blending the SVG root renderer will be displayed correctly with
        compositing when the SVG root renderer is the root of the render tree.

        * svg/css/mix-blend-mode-background-root-expected.svg: Added.
        * svg/css/mix-blend-mode-background-root.svg: Added.
        * svg/css/mix-blend-mode-opacity-root-expected.svg: Added.
        * svg/css/mix-blend-mode-opacity-root.svg: Added.

2016-01-27  Brady Eidson  <beidson@apple.com>

        Modern IDB: Incorrect handling of iterating cursors to their end.
        https://bugs.webkit.org/show_bug.cgi?id=153569

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-27  Zhuo Li  <zachli@apple.com>

        Layout Test fast/forms/auto-fill-button/input-contacts-auto-fill-button.html is failing.
        https://bugs.webkit.org/show_bug.cgi?id=153567.

        Unreviewed test gardening.

        Update expected test results for ios-simulator, win, and gtk.

        * platform/gtk/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Added.
        * platform/ios-simulator/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Added.
        * platform/win/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Added.

2016-01-27  Chris Dumez  <cdumez@apple.com>

        Settings a reflected DOMString attribute to null should set it to the "null" string rather than the empty string
        https://bugs.webkit.org/show_bug.cgi?id=153504
        <rdar://problem/24353072>

        Reviewed by Ryosuke Niwa.

        Update existing tests as a lot of them were expecting that setting
        a reflected DOMString attribute to null would set it to the empty
        string instead of the string "null".

        * fast/dom/domstring-attribute-reflection-expected.txt:
        * fast/dom/domstring-attribute-reflection.html:
        * fast/dom/element-attribute-js-null-expected.txt:
        * fast/dom/element-attribute-js-null.html:
        * fast/dom/ping-attribute-dom-binding-expected.txt:
        * fast/dom/ping-attribute-dom-binding.html:
        * fast/forms/fieldset/fieldset-name-expected.txt:
        * fast/forms/fieldset/fieldset-name.html:
        * fast/forms/input-minmax-expected.txt:
        * fast/forms/input-minmax.html:
        * fast/forms/input-pattern-expected.txt:
        * fast/forms/input-pattern.html:
        * fast/forms/submit-form-attributes-expected.txt:
        * fast/forms/submit-form-attributes.html:
        * fast/shadow-dom/HTMLSlotElement-interface.html:
        * fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html:
        * fast/shadow-dom/shadow-layout-after-slot-changes.html:
        * svg/dom/svg-element-attribute-js-null-expected.txt:
        * svg/dom/svg-element-attribute-js-null.xhtml:

2016-01-27  Simon Fraser  <simon.fraser@apple.com>

        Support CSS3 Images values for the image-rendering property
        https://bugs.webkit.org/show_bug.cgi?id=153556

        Reviewed by Dean Jackson.

        Update for new values. Add a new SVG shape-rendering test which would have
        detected a bug I caused with an earlier patch.

        * fast/css/image-rendering-parsing-expected.txt:
        * fast/css/script-tests/image-rendering-parsing.js:
        * svg/css/script-tests/shape-rendering-parsing.js: Added.
        * svg/css/shape-rendering-parsing.html: Added.

2016-01-27  Brady Eidson  <beidson@apple.com>

        Modern IDB: Fix many Index tests.
        https://bugs.webkit.org/show_bug.cgi?id=153561

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-27  Brady Eidson  <beidson@apple.com>

        Modern IDB: Cursors are utterly broken in the SQLite backend.
        https://bugs.webkit.org/show_bug.cgi?id=153558

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-27  Chris Dumez  <cdumez@apple.com>

        Getting / Setting property on prototype object must throw TypeError
        https://bugs.webkit.org/show_bug.cgi?id=153547
        <rdar://problem/24370650>

        Reviewed by Ryosuke Niwa.

        Update a few layout tests that were expecting getting a property on
        the prototype object to return undefined instead of throwing.

        * js/dom/dom-as-prototype-assignment-exception-expected.txt:
        * js/dom/dom-attributes-on-mismatch-type-expected.txt:
        * js/dom/dom-attributes-on-mismatch-type.html:
        * js/dom/script-tests/dom-as-prototype-assignment-exception.js:

2016-01-27  Chris Dumez  <cdumez@apple.com>

        window.atob() should ignore spaces in input
        https://bugs.webkit.org/show_bug.cgi?id=153522
        <rdar://problem/24357822>

        Reviewed by Benjamin Poulain.

        Update window.atob() test to cover cases with spaces in
        input.

        * fast/dom/Window/atob-btoa-expected.txt:
        * fast/dom/Window/atob-btoa.html:

2016-01-27  Brady Eidson  <beidson@apple.com>

        Modern IDB: SQLite backend doesn't update index records as object records are added.
        https://bugs.webkit.org/show_bug.cgi?id=153548

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-27  Brady Eidson  <beidson@apple.com>

        LayoutTest fast/loader/stateobjects/replacestate-frequency-iframe.html is flaky on El Cap, always times out on Yosemite.
        https://bugs.webkit.org/show_bug.cgi?id=153551
        
        Unreviewed.

        The iframe file name is "replacestate-iframe.html", but the main frame src refers to "replaceState-iframe.html"
        
        Notice the case difference on the 'S'.
        
        Apparently some of our bots have case sensitive filesystems, and others do not.
          
        * fast/loader/stateobjects/replacestate-frequency-iframe.html: 

2016-01-27  Brady Eidson  <beidson@apple.com>

        Noticed while exploring:
        LayoutTest fast/loader/stateobjects/replacestate-frequency-iframe.html is flaky on El Cap, always times out on Yosemite.
        https://bugs.webkit.org/show_bug.cgi?id=153551

        Unreviewed gardening.

        Probably won't fix anything, but hey, let's try.

        * fast/loader/stateobjects/replacestate-frequency-iframe-expected.txt:
        * fast/loader/stateobjects/replacestate-frequency-iframe.html:

2016-01-27  Zhuo Li  <zachli@apple.com>

        Need ability to specify alternate image for AutoFill button in input fields.
        https://bugs.webkit.org/show_bug.cgi?id=153116.
        rdar://problem/23384854.

        Reviewed by Darin Adler.

        * fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-disabled.html: The test API has
        another parameter to specify what type the AutoFill button is.
        * fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly.html: Ditto.
        * fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Added.
        * fast/forms/auto-fill-button/input-contacts-auto-fill-button.html: Added.
        * fast/forms/auto-fill-button/input-auto-fill-button.html: Ditto.
        * fast/forms/auto-fill-button/input-disabled-auto-fill-button.html: Ditto.
        * fast/forms/auto-fill-button/input-readonly-non-empty-auto-fill-button.html: Ditto.
        * fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button.html: Ditto.
        * fast/forms/auto-fill-button/show-correct-auto-fill-button-when-auto-fill-button-type-changes-expected.html: Added.
        * fast/forms/auto-fill-button/show-correct-auto-fill-button-when-auto-fill-button-type-changes.html: Added.

2016-01-26  Ryosuke Niwa  <rniwa@webkit.org>

        Add Node.treeRoot
        https://bugs.webkit.org/show_bug.cgi?id=153537

        Reviewed by Antti Koivisto.

        Added a testharness.js test for Node.treeRoot. Also rebaselined a test.

        * js/dom/dom-static-property-for-in-iteration-expected.txt: Rebaselined.
        * fast/shadow-dom/Node-interface-treeRoot-expected.txt: Added.
        * fast/shadow-dom/Node-interface-treeRoot.html: Added.

2016-01-26  Ryosuke Niwa  <rniwa@webkit.org>

        Rename HTMLSlotElement.getDistributedNodes to getAssignedNodes
        https://bugs.webkit.org/show_bug.cgi?id=153534

        Reviewed by Antti Koivisto.

        Updated the tests to refect the rename. Also added test cases after r192763
        to assert we don't assign comment and processing instruction nodes to a slot.

        * fast/shadow-dom/HTMLSlotElement-interface-expected.txt:
        * fast/shadow-dom/HTMLSlotElement-interface.html:
        * fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html:

2016-01-27  Tim Horton  <timothy_horton@apple.com>

        Need to be able to specify MIME type for <attachment> without filename or handle
        https://bugs.webkit.org/show_bug.cgi?id=153552
        <rdar://problem/20145857>

        Reviewed by Anders Carlsson.

        * fast/attachment/attachment-default-icon-expected.html: Added.
        * fast/attachment/attachment-default-icon.html: Added.
        * fast/attachment/attachment-type-attribute-expected.html: Added.
        * fast/attachment/attachment-type-attribute.html: Added.
        Add some tests.

2016-01-27  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [GTK] Problem running promises code in workers
        https://bugs.webkit.org/show_bug.cgi?id=152340

        Reviewed by Carlos Garcia Campos.

        Test file that creates two testharness promise tests. Each test creates 10000 promises, pushes them into an
        array and vends them in a timeout.

        * js/promises-tests/promises-in-workers-expected.txt: Added.
        * js/promises-tests/promises-in-workers.html: Added.
        * js/promises-tests/promises-in-workers.js: Added.

2016-01-26  Jer Noble  <jer.noble@apple.com>

        Calling video.controls=true during a scrub operation cancels scrub.
        https://bugs.webkit.org/show_bug.cgi?id=153494

        Reviewed by Eric Carlson.

        * media/media-controls-drag-timeline-set-controls-property-expected.txt: Added.
        * media/media-controls-drag-timeline-set-controls-property.html: Added.

2016-01-26  Chris Dumez  <cdumez@apple.com>

        fast/history/page-cache-webdatabase-no-transaction-db.html flakily crashes
        https://bugs.webkit.org/show_bug.cgi?id=153525

        Reviewed by Andreas Kling.

        Unskip fast/history/page-cache-webdatabase-no-transaction-db.html now
        that it no longer crashes.

        * TestExpectations:

2016-01-26  Brady Eidson  <beidson@apple.com>

        Modern IDB: Key generator support for SQLite backend.
        https://bugs.webkit.org/show_bug.cgi?id=153427

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-26  Simon Fraser  <simon.fraser@apple.com>

        Allow canvas to use display-list drawing for testing
        https://bugs.webkit.org/show_bug.cgi?id=153475

        Reviewed by Dean Jackson.

        Simple canvas-based display list test.

        * displaylists/canvas-display-list-expected.txt: Added.
        * displaylists/canvas-display-list.html: Added.

2016-01-26  Chris Dumez  <cdumez@apple.com>

        Setting HTMLInputElement.value to null to set its value to the empty string
        https://bugs.webkit.org/show_bug.cgi?id=153519

        Reviewed by Ryosuke Niwa.

        Add a layout test to make sure that setting HTMLInputElement.value to null
        actually sets its value to the empty string.

        * fast/dom/HTMLInputElement/input-value-set-null-expected.txt: Added.
        * fast/dom/HTMLInputElement/input-value-set-null.html: Added.

2016-01-26  Chris Dumez  <cdumez@apple.com>

        Unreviewed, temporarily skip fast/history/page-cache-webdatabase-no-transaction-db.html
        https://bugs.webkit.org/show_bug.cgi?id=153525

        The test flakily crashes, skip it until I can fix it.

        * TestExpectations:

2016-01-26  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/semantics/interfaces.html for ios-simulator after support 
        for HTMLDataElement was added in r195627, removing ios-simulator-wk2 specific result.
        https://bugs.webkit.org/show_bug.cgi?id=153459

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt: Removed.
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:

2016-01-26  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping tests added with r195625 that are unsupported on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-26  Chris Dumez  <cdumez@apple.com>

        document.open() / write() should be prevented in beforeunload event handlers
        https://bugs.webkit.org/show_bug.cgi?id=153432

        Reviewed by Ryosuke Niwa.

        Add a layout test to check that document.open() / write() is indeed
        prevented inside 'beforeunload' event handlers.

        * fast/frames/page-beforeunload-document-open-expected.txt: Added.
        * fast/frames/page-beforeunload-document-open.html: Added.
        * fast/frames/resources/page-beforeunload-document-open-frame.html: Added.

2016-01-26  Chris Dumez  <cdumez@apple.com>

        Add support for HTMLDataElement
        https://bugs.webkit.org/show_bug.cgi?id=153459

        Reviewed by Ryosuke Niwa.

        Rebaseline existing test now that HTMLDataElement is exposed on the
        global Window object.

        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-01-26  Commit Queue  <commit-queue@webkit.org>

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

        The test added with this change is timing out on almost every
        run (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "Calling video.controls=true during a scrub operation cancels
        scrub."
        https://bugs.webkit.org/show_bug.cgi?id=153494
        http://trac.webkit.org/changeset/195610

2016-01-26  Brady Eidson  <beidson@apple.com>

        History.pushState causes intense memory pressure.
        https://bugs.webkit.org/show_bug.cgi?id=153435

        Reviewed by Sam Weinig, Oliver Hunt, and Geoff Garen.

        * TestExpectations: Mark some of the new tests as slow.
        
        * fast/loader/stateobjects/pushstate-frequency-expected.txt: Added.
        * fast/loader/stateobjects/pushstate-frequency-iframe-expected.txt: Added.
        * fast/loader/stateobjects/pushstate-frequency-iframe.html: Added.
        * fast/loader/stateobjects/pushstate-frequency-with-user-gesture-expected.txt: Added.
        * fast/loader/stateobjects/pushstate-frequency-with-user-gesture.html: Added.
        * fast/loader/stateobjects/pushstate-frequency.html: Added.
        * fast/loader/stateobjects/replacestate-frequency-expected.txt: Added.
        * fast/loader/stateobjects/replacestate-frequency-iframe-expected.txt: Added.
        * fast/loader/stateobjects/replacestate-frequency-iframe.html: Added.
        * fast/loader/stateobjects/replacestate-frequency-with-user-gesture-expected.txt: Added.
        * fast/loader/stateobjects/replacestate-frequency-with-user-gesture.html: Added.
        * fast/loader/stateobjects/replacestate-frequency.html: Added.
        * fast/loader/stateobjects/resources/pushstate-iframe.html: Added.
        * fast/loader/stateobjects/resources/replacestate-iframe.html: Added.
        * loader/stateobjects/pushstate-size-expected.txt: Added.
        * loader/stateobjects/pushstate-size-iframe-expected.txt: Added.
        * loader/stateobjects/pushstate-size-iframe.html: Added.
        * loader/stateobjects/pushstate-size.html: Added.
        * loader/stateobjects/replacestate-size-expected.txt: Added.
        * loader/stateobjects/replacestate-size-iframe-expected.txt: Added.
        * loader/stateobjects/replacestate-size-iframe.html: Added.
        * loader/stateobjects/replacestate-size.html: Added.
        * loader/stateobjects/resources/pushstate-iframe.html: Added.
        * loader/stateobjects/resources/replacestate-iframe.html: Added.
        
2016-01-26  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining cssom/subpixel-offsetleft-top-width-height-values.html for ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152308

        Unreviewed test gardening.

        * platform/ios-simulator/cssom/subpixel-offsetleft-top-width-height-values-expected.txt: Added.

2016-01-26  Philip Rogers  <pdr@chromium.org>

        Let SVG images not taint canvases except when containing foreignObjects
        https://bugs.webkit.org/show_bug.cgi?id=119639

        Reviewed by Brent Fulgham.

        * svg/as-image/resources/svg-with-feimage-with-link.svg: Added.
        * svg/as-image/resources/svg-with-image-with-link.svg: Added.
        * svg/as-image/svg-canvas-pattern-with-link-tainted-expected.txt: Added.
        * svg/as-image/svg-canvas-pattern-with-link-tainted.html: Added.
        * svg/as-image/svg-canvas-svg-with-feimage-with-link-tainted-expected.txt: Added.
        * svg/as-image/svg-canvas-svg-with-feimage-with-link-tainted.html: Added.
        * svg/as-image/svg-canvas-svg-with-image-with-link-tainted-expected.txt: Added.
        * svg/as-image/svg-canvas-svg-with-image-with-link-tainted.html: Added.

2016-01-26  Jer Noble  <jer.noble@apple.com>

        Calling video.controls=true during a scrub operation cancels scrub.
        https://bugs.webkit.org/show_bug.cgi?id=153494

        Reviewed by Eric Carlson.

        * media/media-controls-drag-timeline-set-controls-property-expected.txt: Added.
        * media/media-controls-drag-timeline-set-controls-property.html: Added.

2016-01-26  Ryan Haddad  <ryanhaddad@apple.com>

        Marking svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153498

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-26  Dean Jackson  <dino@apple.com>

        [iOS] Documents without an explicit width should not get fast tapping
        https://bugs.webkit.org/show_bug.cgi?id=153465

        Reviewed by Simon Fraser (and Wenson Hseih).

        * fast/events/ios/thin-gradient.jpg: Added.
        * fast/events/ios/viewport-no-width-value-allows-double-tap-expected.txt: Added.
        * fast/events/ios/viewport-no-width-value-allows-double-tap.html: Added.
        * platform/ios-simulator/TestExpectations:

2016-01-26  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping fast/events/drag-and-drop-link-fast-multiple-times-does-not-crash.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=138468

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/codemirror/prettyprinting-css-rules.html as flaky on mac-wk1 debug
        https://bugs.webkit.org/show_bug.cgi?id=153460

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-26  Chris Dumez  <cdumez@apple.com>

        First parameter to window.showModalDialog() should be mandatory
        https://bugs.webkit.org/show_bug.cgi?id=153436

        Reviewed by Youenn Fablet.

        * fast/dom/Window/showModalDialog-mandatory-parameter-expected.txt: Added.
        * fast/dom/Window/showModalDialog-mandatory-parameter.html: Added.
        Add layout test to check that showModalDialog()'s first parameter is indeed
        mandatory.

        * fast/dom/null-page-show-modal-dialog-crash.html:
        Update existing test now that showModalDialog()'s first parameter is
        mandatory.

2016-01-26  Eric Carlson  <eric.carlson@apple.com>

        LayoutTest media/airplay-target-availability.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=153100
        <rdar://problem/24346796>

        Reviewed by Daniel Bates.

        * media/airplay-target-availability-expected.txt:
        * media/airplay-target-availability.html:

2016-01-26  Daniel Bates  <dabates@apple.com>

        LayoutTest http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html crashing
        https://bugs.webkit.org/show_bug.cgi?id=153250
        <rdar://problem/12172843>
        And
        <rdar://problem/24248040>

        Reviewed by Alexey Proskuryakov.

        The test case http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes.html was derived
        from a test case written by Yongjun Zhang in <https://bugs.webkit.org/attachment.cgi?id=65189> (bug #44461).

        * http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.
        * http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html: Added.
        * http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.
        * http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes.html: Added.
        * platform/wk2/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.

2016-01-26  Daniel Bates  <dabates@apple.com>

        Remove XMLHttpRequestException
        https://bugs.webkit.org/show_bug.cgi?id=102698
        <rdar://problem/24338476>

        Reviewed by Chris Dumez.

        Update test result now that we throw DOMException.{ABORT, NETWORK, TIMEOUT}Error instead of XMLHttpRequestException.{ABORT, NETWORK, TIMEOUT}_ERR.

        * fast/dom/Window/resources/window-properties.js:
        * fast/dom/Window/window-lookup-precedence-expected.txt:
        * fast/files/apply-blob-url-to-xhr-expected.txt:
        * fast/files/workers/worker-apply-blob-url-to-xhr-expected.txt:
        * http/tests/appcache/non-html.xhtml:
        * http/tests/appcache/simple.html:
        * http/tests/contentextensions/sync-xhr-blocked-expected.txt:
        * http/tests/local/fileapi/send-sliced-dragged-file-expected.txt:
        * http/tests/workers/worker-importScripts-expected.txt:
        * http/tests/xmlhttprequest/XMLHttpRequestException-expected.txt:
        * http/tests/xmlhttprequest/XMLHttpRequestException.html:
        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-denied-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-sandboxed-iframe-denied-expected.txt:
        * http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
        * http/tests/xmlhttprequest/connection-error-sync-expected.txt:
        * http/tests/xmlhttprequest/cross-origin-no-authorization-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/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/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/TestExpectations:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-01-26  Mario Sanchez Prada  <mario@endlessm.com>

        [GTK] WebProcess crashes when quickly attempting many DnD operations
        https://bugs.webkit.org/show_bug.cgi?id=138468

        Reviewed by Michael Catanzaro.

        New test added to check that the web process does not crash when multiple
        DnD operations are quickly attempted over the same draggable element.

        * fast/events/drag-and-drop-link-fast-multiple-times-does-not-crash-expected.txt: Added.
        * fast/events/drag-and-drop-link-fast-multiple-times-does-not-crash.html: Added.

        Added the new test to the failure expectations for mac-wk2, as there's no
        suitable implementation of eventSender in place yet (see bug 42194).

        * platform/mac-wk2/TestExpectations: Added failure expectation for the new test.

2016-01-25  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection.html asserts frequently
        https://bugs.webkit.org/show_bug.cgi?id=152436

        Reviewed by Alexey Proskuryakov.

        * platform/mac/TestExpectations: Marked imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection.html as crash/pass.

2016-01-25  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Arrow function specific features. Lexical bind "arguments"
        https://bugs.webkit.org/show_bug.cgi?id=145132

        Reviewed by Saam Barati.

        * js/arrowfunction-lexical-bind-arguments-non-strict-expected.txt: Added.
        * js/arrowfunction-lexical-bind-arguments-non-strict.html: Added.
        * js/arrowfunction-lexical-bind-arguments-strict-expected.txt: Added.
        * js/arrowfunction-lexical-bind-arguments-strict.html: Added.
        * js/script-tests/arrowfunction-lexical-bind-arguments-non-strict.js: Added.
        * js/script-tests/arrowfunction-lexical-bind-arguments-strict.js: Added.

2016-01-25  Simon Fraser  <simon.fraser@apple.com>

        Give the layout test results file a <title> showing the date and time the tests were run
        https://bugs.webkit.org/show_bug.cgi?id=153187

        Reviewed by Darin Adler.
        
        Generate a <title> element from the 'date' property in the JSON.

        * fast/harness/results.html:

2016-01-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Skip all inspector/sampling-profiler tests meanwhile the feature is not enabled on the GTK+ port.
        Report and mark a new regression on test inspector/dom-debugger/node-removed.html timing out.
        Rebaseline a bunch of tests after r194847.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Rebaseline after r194847.
        * platform/gtk/fast/forms/auto-fill-button/input-auto-fill-button-expected.png: Added. Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug1188-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug1188-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug18359-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug18359-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug2479-4-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug2479-4-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug29326-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug29326-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug33855-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug33855-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug4382-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug4382-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug96334-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/bugs/bug96334-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/core/margins-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/core/margins-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/dom/tableDom-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla/dom/tableDom-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Rebaseline after r194847.
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png: Rebaseline after r194847.
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt: Rebaseline after r194847.
        * platform/gtk/transforms/2d/zoom-menulist-expected.png: Rebaseline after r194847.
        * platform/gtk/transforms/2d/zoom-menulist-expected.txt: Rebaseline after r194847.

2016-01-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/indexeddb/keyorder-private.html as flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=153438

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm as flaky
        on ios-simulator, removing flaky expectation that was incorrectly added for a different WPT LayoutTest.
        https://bugs.webkit.org/show_bug.cgi?id=153371

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/heap/garbageCollected.html as flaky on mac-wk1 debug
        https://bugs.webkit.org/show_bug.cgi?id=153039

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-25  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/loading/preload-no-store-frame-src.html as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152446

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-25  Brady Eidson  <beidson@apple.com>

        Modern IDB: Implement getIndexRecord in the SQLite backing store.
        https://bugs.webkit.org/show_bug.cgi?id=153425

        Reviewed by Darin Adler.

        * platform/mac-wk1/TestExpectations:

2016-01-25  Eric Carlson  <eric.carlson@apple.com>

        Media "ended" event incorrectly fires when currentTime is set
        https://bugs.webkit.org/show_bug.cgi?id=150348
        <rdar://problem/24247974>

        Reviewed by Jer Noble.

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

2016-01-22  Ryosuke Niwa  <rniwa@webkit.org>

        document.createElement should be able to create a custom element
        https://bugs.webkit.org/show_bug.cgi?id=153173

        Reviewed by Darin Adler.

        Add a test for creating a custom elemnet via document.createElement.
        The behavior is to be documented later.

        * fast/custom-elements/Document-createElement-expected.txt: Added.
        * fast/custom-elements/Document-createElement.html: Added.

2016-01-25  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Implement Fetch API Headers
        https://bugs.webkit.org/show_bug.cgi?id=152384

        Reviewed by Darin Adler.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2016-01-22  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] grid shorthand must reset gap properties to their initial values
        https://bugs.webkit.org/show_bug.cgi?id=153354

        Reviewed by Darin Adler.

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

2016-01-24  Brady Eidson  <beidson@apple.com>

        Modern IDB: Implement deleteIndex and getCount for the SQLite backing store.
        https://bugs.webkit.org/show_bug.cgi?id=153415

        Reviewed by Darin Adler.

        * platform/mac-wk1/TestExpectations:

2016-01-24  Chris Dumez  <cdumez@apple.com>

        Unreviewed, update test after r195497

        This test did not make much sense as it was, after the behavior change
        in r195497.

        * fast/dom/Document/document-charset-expected.txt:
        * fast/dom/Document/document-charset.html:

2016-01-24  Chris Dumez  <cdumez@apple.com>

        An XMLDocument interface should be exposed on the global Window object
        https://bugs.webkit.org/show_bug.cgi?id=153378
        <rdar://problem/24315465>

        Reviewed by Darin Adler.

        Rebaseline some layout tests now that XMLDocument is exposed.

        * fast/dom/DOMImplementation/createDocument-namespace-err-expected.txt:
        * fast/dom/DOMImplementation/script-tests/createDocument-namespace-err.js:
        * fast/dom/Document/clone-node-expected.txt:
        * fast/dom/Document/clone-node.html:
        * fast/dom/Document/xml-document-focus-expected.txt:
        * fast/dom/Document/xml-document-focus.xml:
        * fast/dom/dom-parse-serialize-display-expected.txt:
        * fast/dom/dom-parse-serialize-expected.txt:
        * fast/dom/wrapper-classes-expected.txt:
        * fast/dom/wrapper-classes.html:
        * fast/dom/xmlserializer-serialize-to-string-exception-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-bad-mimetype-expected.txt:
        * http/tests/xmlhttprequest/supported-xml-content-types-expected.txt:
        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:

2016-01-24  Simon Fraser  <simon.fraser@apple.com>

        New WK1 baselines.

        * platform/mac-wk1/displaylists/extent-includes-shadow-expected.txt:
        * platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt:

2016-01-24  Brady Eidson  <beidson@apple.com>

        Modern IDB: Support IDBObjectStore.createIndex in the SQLite backing store.
        https://bugs.webkit.org/show_bug.cgi?id=153410

        Reviewed by Darin Adler.

        * platform/mac-wk1/TestExpectations:

2016-01-24  Simon Fraser  <simon.fraser@apple.com>

        Make the dumped display list representation a bit more compact
        https://bugs.webkit.org/show_bug.cgi?id=153409

        Reviewed by Zalan Bujtas.
        
        Updated results.

        * displaylists/extent-includes-shadow-expected.txt:
        * displaylists/extent-includes-transforms-expected.txt:
        * displaylists/layer-dispay-list-expected.txt:
        * displaylists/replay-skip-clipped-rect-expected.txt:

2016-01-24  Simon Fraser  <simon.fraser@apple.com>

        Add testing for display list replay, and skip clipped-out items on replay
        https://bugs.webkit.org/show_bug.cgi?id=153408

        Reviewed by Zalan Bujtas.

        Test that a clipped-out rectangle is not painted.

        In order to get the rect into the display list, we need to make the target
        compositing layer be tiled, and to be clipped by an ancestor so that only the
        second tile renders. (This complexity is required because in simpler scenarios,
        the rect is clipped out at recording time.)

        * displaylists/replay-skip-clipped-rect-expected.txt: Added.
        * displaylists/replay-skip-clipped-rect.html: Added.
        * displaylists/resources/dump-target-replay-list.js: Added.
        (doTest):

2016-01-23  Simon Fraser  <simon.fraser@apple.com>

        Layout Test displaylists/extent-includes-transforms.html is flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=153308

        Reviewed by Dan Bernstein.

        Rather than assuming that a zero-delay timer will fire after the next layer flush,
        force a flush with testRunner.display(), which fixes flakiness.

        * displaylists/resources/dump-target-display-list.js:
        (doTest):

2016-01-23  Wonchul Lee  <wonchul.lee@collabora.co.uk>

        [GTK] Fix media controls displaying without controls attribute
        https://bugs.webkit.org/show_bug.cgi?id=152500

        Media controls is not displayed without controls attribute by default
        when the video element has text track. It'll be displayed on fullscreen
        regardless of controls attribute.

        Reviewed by Michael Catanzaro.

        * media/video-controls-no-display-with-text-track-expected.txt: Added.
        * media/video-controls-no-display-with-text-track.html: Added.

2016-01-23  Brady Eidson  <beidson@apple.com>

        Modern IDB: Implement clearing object stores and opening cursors in the SQLite backend.
        https://bugs.webkit.org/show_bug.cgi?id=153396

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-22  Commit Queue  <commit-queue@webkit.org>

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

        Broke authenticaiton tests (leaks credentials) (Requested by
        ap on #webkit).

        Reverted changeset:

        "LayoutTest http/tests/security/xssAuditor/embed-tag-in-path-
        unterminated.html crashing"
        https://bugs.webkit.org/show_bug.cgi?id=153250
        http://trac.webkit.org/changeset/195493

2016-01-20  Ryosuke Niwa  <rniwa@webkit.org>

        HTMLElement::nodeName should not upper case non-ASCII characters
        https://bugs.webkit.org/show_bug.cgi?id=153231

        Reviewed by Darin Adler.

        Added a regression test since the rebaselined W3C test case is very simple and doesn't all permutations.

        * fast/dom/Element/tagName-must-be-ASCII-uppercase-in-HTML-document-expected.txt: Added.
        * fast/dom/Element/tagName-must-be-ASCII-uppercase-in-HTML-document.html: Added.

2016-01-22  Brady Eidson  <beidson@apple.com>

        Modern IDB: Disable simultaneous transactions in the SQLite backend for now.
        https://bugs.webkit.org/show_bug.cgi?id=153381

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-22  Chris Dumez  <cdumez@apple.com>

        document.charset should be an alias for document.characterSet
        https://bugs.webkit.org/show_bug.cgi?id=153367

        Reviewed by Ryosuke Niwa.

        Drop outdated tests.

        * fast/dom/Document/document-charset-expected.txt:
        * fast/dom/document-attribute-js-null-expected.txt:
        * fast/dom/document-attribute-js-null.html:
        * fast/encoding/css-charset-default-expected.txt:
        * fast/encoding/css-charset-default.xhtml:
        * fast/encoding/external-script-charset.js: Removed.
        * fast/encoding/external-script-charset.xhtml: Removed.

2016-01-22  Chris Dumez  <cdumez@apple.com>

        Document.open / Document.write should be prevented while the document is being unloaded
        https://bugs.webkit.org/show_bug.cgi?id=153255
        <rdar://problem/22741293>

        Reviewed by Ryosuke Niwa.

        Add layout tests that cover calling Document.open / Document.write from
        unload and pagehide handlers.

        * fast/frames/page-hide-document-open-expected.txt: Added.
        * fast/frames/page-hide-document-open.html: Added.
        * fast/frames/page-unload-document-open-expected.txt: Added.
        * fast/frames/page-unload-document-open.html: Added.
        * fast/frames/resources/finish-test.html: Added.
        * fast/frames/resources/page-hide-document-open-frame.html: Added.
        * fast/frames/resources/page-hide-document-open-win.html: Added.
        * fast/frames/resources/page-unload-document-open-frame.html: Added.
        * fast/frames/resources/page-unload-document-open-win.html: Added.

2016-01-22  Brady Eidson  <beidson@apple.com>

        Modern IDB: Implement put, get, and delete records for the SQLite backend.
        https://bugs.webkit.org/show_bug.cgi?id=153375

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-22  Daniel Bates  <dabates@apple.com>

        LayoutTest http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html crashing
        https://bugs.webkit.org/show_bug.cgi?id=153250
        <rdar://problem/12172843>
        And
        <rdar://problem/24248040>

        Reviewed by Alexey Proskuryakov.

        The test case http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes.html was derived
        from a test case written by Yongjun Zhang in <https://bugs.webkit.org/attachment.cgi?id=65189> (bug #44461).

        * http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.
        * http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html: Added.
        * http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.
        * http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes.html: Added.
        * platform/wk2/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.

2016-01-22  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining http/tests/security/originHeader/origin-header-for-https.html after r195477

        Unreviewed test gardening.

        * http/tests/security/originHeader/origin-header-for-https-expected.txt:

2016-01-22  Chris Dumez  <cdumez@apple.com>

        Document.URL / Document.documentURI should return "about:blank" instead of empty string / null
        https://bugs.webkit.org/show_bug.cgi?id=153363
        <rdar://problem/22549736>

        Reviewed by Ryosuke Niwa.

        Drop outdated tests.

        * dom/xhtml/level3/core/documentgetdocumenturi02-expected.txt: Removed.
        * dom/xhtml/level3/core/documentgetdocumenturi02.js: Removed.
        * dom/xhtml/level3/core/documentgetdocumenturi02.xhtml: Removed.
        * dom/xhtml/level3/core/documentgetdocumenturi03-expected.txt: Removed.
        * dom/xhtml/level3/core/documentgetdocumenturi03.js: Removed.
        * dom/xhtml/level3/core/documentgetdocumenturi03.xhtml: Removed.
        * dom/xhtml/level3/core/documentsetdocumenturi03-expected.txt: Removed.
        * dom/xhtml/level3/core/documentsetdocumenturi03.js: Removed.
        * dom/xhtml/level3/core/documentsetdocumenturi03.xhtml: Removed.
        * fast/dom/document-attribute-js-null-expected.txt:
        * fast/dom/document-attribute-js-null.html:

2016-01-22  Tim Horton  <timothy_horton@apple.com>

        Add a test for iOS arrow-key repeat
        https://bugs.webkit.org/show_bug.cgi?id=152857
        <rdar://problem/24017380>

        Reviewed by Darin Adler.

        * fast/events/ios/keyboard-scrolling-repeat-expected.txt: Added.
        * fast/events/ios/keyboard-scrolling-repeat.html: Added.
        Add the aforementioned test. It waits for the held-down arrow key to scroll twice, then sends the up.

2016-01-21  Sam Weinig  <sam@webkit.org>

        Treat non-https actions on secure pages as mixed content
        <rdar://problem/23144492>
        https://bugs.webkit.org/show_bug.cgi?id=153322
        
        Reviewed by Alexey Proskuryakov.

        * http/tests/security/mixedContent/insecure-form-in-iframe-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-form-in-iframe.html: Added.
        * http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-form-in-main-frame.html: Added.
        * http/tests/security/mixedContent/javascript-url-form-in-main-frame-expected.txt: Added.
        * http/tests/security/mixedContent/javascript-url-form-in-main-frame.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-form.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-javascript-url-form.html: Added.

2016-01-22  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm as flaky on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153371

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-22  Nan Wang  <n_wang@apple.com>

        AX: Crash in setTextMarkerDataWithCharacterOffset
        https://bugs.webkit.org/show_bug.cgi?id=153365
        <rdar://problem/24287924>

        Reviewed by Chris Fleizach.

        * accessibility/text-marker/text-marker-range-with-removed-node-crash-expected.txt: Added.
        * accessibility/text-marker/text-marker-range-with-removed-node-crash.html: Added.

2016-01-22  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add transactions and create/delete object store to SQLite backend
        https://bugs.webkit.org/show_bug.cgi?id=153359

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-22  Chris Fleizach  <cfleizach@apple.com>

        AX: <code> group and friends should have a custom subrole
        https://bugs.webkit.org/show_bug.cgi?id=153282

        Reviewed by Mario Sanchez Prada.

        * accessibility/duplicate-child-nodes-expected.txt:
        * accessibility/mac/subroles-for-formatted-groups-expected.txt: Added.
        * accessibility/mac/subroles-for-formatted-groups.html: Added.
        * accessibility/roles-computedRoleString-expected.txt:
        * accessibility/roles-computedRoleString.html:

2016-01-22  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function. Default arguments in arrow functions
        https://bugs.webkit.org/show_bug.cgi?id=152537

        Reviewed by Saam Barati.

        Default arguments in arrow function parameters have been already 
        implemented by patch from issue https://bugs.webkit.org/show_bug.cgi?id=146934. 
        Current patch adds only tests for this feature  

        * js/arrowfunction-syntax-expected.txt:
        * js/script-tests/arrowfunction-syntax.js:

2016-01-22  Keith Miller  <keith_miller@apple.com>

        [ES6] Add Symbol.species properties to the relevant constructors
        https://bugs.webkit.org/show_bug.cgi?id=153339

        Reviewed by Michael Saboff.

        Add species to the list of property names on the Symbol object.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2016-01-22  Chris Fleizach  <cfleizach@apple.com>

        AX: ARIA combo boxes are not returning the right value for selected text range
        https://bugs.webkit.org/show_bug.cgi?id=153260

        Reviewed by Darin Adler.

        * accessibility/selected-text-range-aria-elements-expected.txt: Added.
        * accessibility/selected-text-range-aria-elements.html: Added.

2016-01-21  Dave Hyatt  <hyatt@apple.com>

        Elements with overflow and border-radius don't show in multicolumn properly.
        https://bugs.webkit.org/show_bug.cgi?id=152920

        Reviewed by Simon Fraser.

        * fast/multicol/border-radius-overflow-columns-expected.html: Added.
        * fast/multicol/border-radius-overflow-columns.html: Added.

2016-01-22  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK] Remove a focus ring on anchor node when focused by mouse.
        https://bugs.webkit.org/show_bug.cgi?id=136121

        Reviewed by Michael Catanzaro.

        Removed gtk and efl specific results for the test.

        * platform/efl/fast/events/click-focus-anchor-expected.txt: Removed.
        * platform/gtk/fast/events/click-focus-anchor-expected.txt: Removed.

2016-01-21  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r168244): Content in horizontal-bt page is offset such that only the end is viewable and there is a white gap at the top
        https://bugs.webkit.org/show_bug.cgi?id=136019

        Reviewed by Dan Bernstein.

        Test that scrolls a horizontal-bt document.

        * fast/scrolling/programmatic-horizontal-bt-document-scroll-expected.html: Added.
        * fast/scrolling/programmatic-horizontal-bt-document-scroll.html: Added.

2016-01-21  Brady Eidson  <beidson@apple.com>

        Modern IDB: Support populating/extracting database metadata with SQLite backend.
        https://bugs.webkit.org/show_bug.cgi?id=153318

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations: Skip all of the tests that run against the
          SQLite backend and currently fail (which is most of them!)

2016-01-21  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
        https://bugs.webkit.org/show_bug.cgi?id=153269
        <rdar://problem/24253106>

        Reviewed by Timothy Hatcher.

        * inspector/unit-tests/object-expected.txt: Added.
        * inspector/unit-tests/object.html: Added.

2016-01-21  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Catch parameter should accept BindingPattern
        https://bugs.webkit.org/show_bug.cgi?id=152385

        Reviewed by Saam Barati.

        * js/dom/reserved-words-as-property-expected.txt:
        * js/let-syntax-expected.txt:
        * js/mozilla/strict/12.14.1-expected.txt:
        * js/mozilla/strict/script-tests/12.14.1.js:
        * sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T10-expected.txt:
        * sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T13-expected.txt:
        * sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T5-expected.txt:
        * sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T7-expected.txt:
        * sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T8-expected.txt:

2016-01-21  Andy VanWagoner  <andy@instructure.com>

        [INTL] Implement Array.prototype.toLocaleString in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147614

        Reviewed by Benjamin Poulain.

        * js/array-toLocaleString-expected.txt: Added.
        * js/array-toLocaleString.html: Added.
        * js/script-tests/array-toLocaleString.js: Added.

2016-01-21  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/block/float/overhanging-tall-block.html for ios-simulator-wk2
        https://bugs.webkit.org/show_bug.cgi?id=152440

        Reviewed by Zalan Bujtas.

        * platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt:

2016-01-21  Brady Eidson  <beidson@apple.com>

        Modern IDB: Make -private copies of each w3c IDB test.
        https://bugs.webkit.org/show_bug.cgi?id=153319

        Reviewed by Alex Christensen.

        * platform/wk2/TestExpectations:

2016-01-21  Ryan Haddad  <ryanhaddad@apple.com>

        Remove a ios-simulator-wk2 specific expectation file since the results are identical on wk1 and wk2
        https://bugs.webkit.org/show_bug.cgi?id=152139

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.

2016-01-21  Said Abou-Hallawa  <sabouhallawa@apple.com>

        A crash reproducible in Path::isEmpty() under RenderSVGShape::paint()
        https://bugs.webkit.org/show_bug.cgi?id=149613

        Reviewed by Darin Adler.
        
        When running the layout of an SVG root and it has resources which are
        referenced by clients in other SVG roots, make sure we run the layout
        for these resources before running the layout for their clients.

        * svg/custom/filter-update-different-root-expected.html: Added.
        * svg/custom/filter-update-different-root.html: Added.
        Without this patch this test crashes because we paint a dirty RenderSVGShape.
        
        * svg/custom/pattern-update-different-root-expected.html: Added.
        * svg/custom/pattern-update-different-root.html: Added.
        Without this patch this test works fine but it is good to have it to catch
        cases where the SVG root needs to run re-layout for its children resources
        and hence their clients if its size has changed.

        * svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt:
        * svg/custom/unicode-in-tspan-multi-svg-crash.html:
        This test was ported from Blink in http://trac.webkit.org/changeset/166420.
        The expectation of this test was changed in Blink:
        https://src.chromium.org/viewvc/blink?revision=158480&view=revision.
        

2016-01-21  Nan Wang  <n_wang@apple.com>

        AX: [IOS] Implement next/previous text marker functions using TextIterator
        https://bugs.webkit.org/show_bug.cgi?id=153292
        <rdar://problem/24268243>

        Reviewed by Chris Fleizach.

        * accessibility/mac/previous-next-text-marker-expected.txt: Removed.
        * accessibility/mac/previous-next-text-marker.html: Removed.
        * accessibility/mac/text-marker-with-user-select-none-expected.txt: Removed.
        * accessibility/mac/text-marker-with-user-select-none.html: Removed.
        * accessibility/text-marker: Added.
        * accessibility/text-marker/text-marker-previous-next-expected.txt: Added.
        * accessibility/text-marker/text-marker-previous-next.html: Added.
        * accessibility/text-marker/text-marker-with-user-select-none-expected.txt: Added.
        * accessibility/text-marker/text-marker-with-user-select-none.html: Added.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/win/TestExpectations:

2016-01-20  Zalan Bujtas  <zalan@apple.com>

        http://victordarras.fr/cssgame/ doesn't work in Safari.
        https://bugs.webkit.org/show_bug.cgi?id=153285
        <rdar://problem/24212369>

        Reviewed by Tim Horton.

        This patch adds support for hittesting ClipPathOperation::Reference.

        * svg/clip-path/hittest-clip-path-reference-miss-expected.html: Added.
        * svg/clip-path/hittest-clip-path-reference-miss.html: Added.

2016-01-20  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add -private.html variants of every storage/indexeddb test that doesn't already have them.
        https://bugs.webkit.org/show_bug.cgi?id=153272

        Reviewed by Alex Christensen.

        This includes some cleanups to the shared js files to make each test more resilient to being run twice.
        
        * TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/wk2/TestExpectations:

        * storage/indexeddb/clone-exception-private-expected.txt: Added.
        * storage/indexeddb/clone-exception-private.html: Added.
        * storage/indexeddb/closed-cursor-private-expected.txt: Added.
        * storage/indexeddb/closed-cursor-private.html: Added.
        * storage/indexeddb/connection-leak-private-expected.txt: Added.
        * storage/indexeddb/connection-leak-private.html: Added.
        * storage/indexeddb/cursor-cast-private-expected.txt: Added.
        * storage/indexeddb/cursor-cast-private.html: Added.
        * storage/indexeddb/cursor-leak-private-expected.txt: Added.
        * storage/indexeddb/cursor-leak-private.html: Added.
        * storage/indexeddb/cursor-overloads-private-expected.txt: Added.
        * storage/indexeddb/cursor-overloads-private.html: Added.
        * storage/indexeddb/cursor-request-cycle-private-expected.txt: Added.
        * storage/indexeddb/cursor-request-cycle-private.html: Added.
        * storage/indexeddb/deleteIndex-bug110792-private-expected.txt: Added.
        * storage/indexeddb/deleteIndex-bug110792-private.html: Added.
        * storage/indexeddb/deletedatabase-delayed-by-versionchange-private-expected.txt: Removed.
        * storage/indexeddb/deletedatabase-transaction-private-expected.txt: Added.
        * storage/indexeddb/deletedatabase-transaction-private.html: Added.
        * storage/indexeddb/dont-commit-on-blocked-private-expected.txt: Added.
        * storage/indexeddb/dont-commit-on-blocked-private.html: Added.
        * storage/indexeddb/lazy-index-population-private-expected.txt: Added.
        * storage/indexeddb/lazy-index-population-private.html: Added.
        * storage/indexeddb/metadata-race-private-expected.txt: Added.
        * storage/indexeddb/metadata-race-private.html: Added.
        * storage/indexeddb/modern/abort-objectstore-info-private-expected.txt: Added.
        * storage/indexeddb/modern/abort-objectstore-info-private.html: Added.
        * storage/indexeddb/modern/abort-requests-cancelled-private-expected.txt: Added.
        * storage/indexeddb/modern/abort-requests-cancelled-private.html: Added.
        * storage/indexeddb/modern/aborted-put-private-expected.txt: Added.
        * storage/indexeddb/modern/aborted-put-private.html: Added.
        * storage/indexeddb/modern/autoincrement-abort-private-expected.txt: Added.
        * storage/indexeddb/modern/autoincrement-abort-private.html: Added.
        * storage/indexeddb/modern/basic-add-private-expected.txt: Added.
        * storage/indexeddb/modern/basic-add-private.html: Added.
        * storage/indexeddb/modern/basic-put-private-expected.txt: Added.
        * storage/indexeddb/modern/basic-put-private.html: Added.
        * storage/indexeddb/modern/blocked-open-db-requests-private-expected.txt: Added.
        * storage/indexeddb/modern/blocked-open-db-requests-private.html: Added.
        * storage/indexeddb/modern/create-index-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/create-index-failures-private.html: Added.
        * storage/indexeddb/modern/createobjectstore-basic-private-expected.txt: Added.
        * storage/indexeddb/modern/createobjectstore-basic-private.html: Added.
        * storage/indexeddb/modern/createobjectstore-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/createobjectstore-failures-private.html: Added.
        * storage/indexeddb/modern/cursor-1-private-expected.txt: Added.
        * storage/indexeddb/modern/cursor-1-private.html: Added.
        * storage/indexeddb/modern/cursor-2-private-expected.txt: Added.
        * storage/indexeddb/modern/cursor-2-private.html: Added.
        * storage/indexeddb/modern/cursor-3-private-expected.txt: Added.
        * storage/indexeddb/modern/cursor-3-private.html: Added.
        * storage/indexeddb/modern/cursor-4-private-expected.txt: Added.
        * storage/indexeddb/modern/cursor-4-private.html: Added.
        * storage/indexeddb/modern/cursor-5-private-expected.txt: Added.
        * storage/indexeddb/modern/cursor-5-private.html: Added.
        * storage/indexeddb/modern/cursor-6-private-expected.txt: Added.
        * storage/indexeddb/modern/cursor-6-private.html: Added.
        * storage/indexeddb/modern/cursor-7-private-expected.txt: Added.
        * storage/indexeddb/modern/cursor-7-private.html: Added.
        * storage/indexeddb/modern/cursor-8-private-expected.txt: Added.
        * storage/indexeddb/modern/cursor-8-private.html: Added.
        * storage/indexeddb/modern/date-basic-private-expected.txt: Added.
        * storage/indexeddb/modern/date-basic-private.html: Added.
        * storage/indexeddb/modern/deletedatabase-1-private-expected.txt: Added.
        * storage/indexeddb/modern/deletedatabase-1-private.html: Added.
        * storage/indexeddb/modern/deletedatabase-2-private-expected.txt: Added.
        * storage/indexeddb/modern/deletedatabase-2-private.html: Added.
        * storage/indexeddb/modern/deletedatabase-null-name-exception-private-expected.txt: Added.
        * storage/indexeddb/modern/deletedatabase-null-name-exception-private.html: Added.
        * storage/indexeddb/modern/deletedatabase-request-event-private-expected.txt: Added.
        * storage/indexeddb/modern/deletedatabase-request-event-private.html: Added.
        * storage/indexeddb/modern/deletedatabase-request-private-expected.txt: Added.
        * storage/indexeddb/modern/deletedatabase-request-private.html: Added.
        * storage/indexeddb/modern/deleteindex-1-private-expected.txt: Added.
        * storage/indexeddb/modern/deleteindex-1-private.html: Added.
        * storage/indexeddb/modern/deleteindex-2-private-expected.txt: Added.
        * storage/indexeddb/modern/deleteindex-2-private.html: Added.
        * storage/indexeddb/modern/deleteobjectstore-1-private-expected.txt: Added.
        * storage/indexeddb/modern/deleteobjectstore-1-private.html: Added.
        * storage/indexeddb/modern/double-abort-private-expected.txt: Added.
        * storage/indexeddb/modern/double-abort-private.html: Added.
        * storage/indexeddb/modern/double-open-private-expected.txt: Added.
        * storage/indexeddb/modern/double-open-private.html: Added.
        * storage/indexeddb/modern/get-index-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/get-index-failures-private.html: Added.
        * storage/indexeddb/modern/get-keyrange-private-expected.txt: Added.
        * storage/indexeddb/modern/get-keyrange-private.html: Added.
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private.html: Added.
        * storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/idbdatabase-transaction-failures-private.html: Added.
        * storage/indexeddb/modern/idbindex-properties-basic-private-expected.txt: Added.
        * storage/indexeddb/modern/idbindex-properties-basic-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-clear-1-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-clear-1-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-clear-2-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-clear-2-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-count-1-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-count-1-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-count-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-count-failures-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-delete-1-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-delete-1-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-delete-2-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-delete-2-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-delete-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-delete-failures-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-get-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-get-failures-private.html: Added.
        * storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-private.html: Added.
        * storage/indexeddb/modern/idbtransaction-objectstore-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html: Added.
        * storage/indexeddb/modern/index-1-private-expected.txt: Added.
        * storage/indexeddb/modern/index-1-private.html: Added.
        * storage/indexeddb/modern/index-2-private-expected.txt: Added.
        * storage/indexeddb/modern/index-2-private.html: Added.
        * storage/indexeddb/modern/index-3-private-expected.txt: Added.
        * storage/indexeddb/modern/index-3-private.html: Added.
        * storage/indexeddb/modern/index-4-private-expected.txt: Added.
        * storage/indexeddb/modern/index-4-private.html: Added.
        * storage/indexeddb/modern/index-5-private-expected.txt: Added.
        * storage/indexeddb/modern/index-5-private.html: Added.
        * storage/indexeddb/modern/index-cursor-1-private-expected.txt: Added.
        * storage/indexeddb/modern/index-cursor-1-private.html: Added.
        * storage/indexeddb/modern/index-cursor-2-private-expected.txt: Added.
        * storage/indexeddb/modern/index-cursor-2-private.html: Added.
        * storage/indexeddb/modern/index-cursor-3-private-expected.txt: Added.
        * storage/indexeddb/modern/index-cursor-3-private.html: Added.
        * storage/indexeddb/modern/index-get-count-basic-private-expected.txt: Added.
        * storage/indexeddb/modern/index-get-count-basic-private.html: Added.
        * storage/indexeddb/modern/index-get-count-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/index-get-count-failures-private.html: Added.
        * storage/indexeddb/modern/keypath-basic-private-expected.txt: Added.
        * storage/indexeddb/modern/keypath-basic-private.html: Added.
        * storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-private-expected.txt: Added.
        * storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-private.html: Added.
        * storage/indexeddb/modern/objectstore-attributes-private-expected.txt: Added.
        * storage/indexeddb/modern/objectstore-attributes-private.html: Added.
        * storage/indexeddb/modern/objectstore-cursor-advance-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/objectstore-cursor-advance-failures-private.html: Added.
        * storage/indexeddb/modern/objectstore-cursor-continue-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/objectstore-cursor-continue-failures-private.html: Added.
        * storage/indexeddb/modern/opencursor-failures-private-expected.txt: Added.
        * storage/indexeddb/modern/opencursor-failures-private.html: Added.
        * storage/indexeddb/modern/opendatabase-request-event-private-expected.txt: Added.
        * storage/indexeddb/modern/opendatabase-request-event-private.html: Added.
        * storage/indexeddb/modern/opendatabase-request-private-expected.txt: Added.
        * storage/indexeddb/modern/opendatabase-request-private.html: Added.
        * storage/indexeddb/modern/opendatabase-success-after-versionchange-private-expected.txt: Added.
        * storage/indexeddb/modern/opendatabase-success-after-versionchange-private.html: Added.
        * storage/indexeddb/modern/opendatabase-versions-private-expected.txt: Added.
        * storage/indexeddb/modern/opendatabase-versions-private.html: Added.
        * storage/indexeddb/modern/request-readystate-private-expected.txt: Added.
        * storage/indexeddb/modern/request-readystate-private.html: Added.
        * storage/indexeddb/modern/resources/opendatabase-request-event.js:
        * storage/indexeddb/modern/resources/opendatabase-versions.js:
        * storage/indexeddb/modern/resources/request-readystate.js:
        * storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js:
        * storage/indexeddb/modern/transaction-scheduler-1-private-expected.txt: Added.
        * storage/indexeddb/modern/transaction-scheduler-1-private.html: Added.
        * storage/indexeddb/modern/transaction-scheduler-2-private-expected.txt: Added.
        * storage/indexeddb/modern/transaction-scheduler-2-private.html: Added.
        * storage/indexeddb/modern/transaction-scheduler-3-private-expected.txt: Added.
        * storage/indexeddb/modern/transaction-scheduler-3-private.html: Added.
        * storage/indexeddb/modern/transaction-scheduler-4-private-expected.txt: Added.
        * storage/indexeddb/modern/transaction-scheduler-4-private.html: Added.
        * storage/indexeddb/modern/transaction-scheduler-5-private-expected.txt: Added.
        * storage/indexeddb/modern/transaction-scheduler-5-private.html: Added.
        * storage/indexeddb/modern/transaction-scheduler-6-private-expected.txt: Added.
        * storage/indexeddb/modern/transaction-scheduler-6-private.html: Added.
        * storage/indexeddb/modern/transactions-stop-on-navigation-private-expected.txt: Added.
        * storage/indexeddb/modern/transactions-stop-on-navigation-private.html: Added.
        * storage/indexeddb/modern/versionchange-abort-then-reopen-private-expected.txt: Added.
        * storage/indexeddb/modern/versionchange-abort-then-reopen-private.html: Added.
        * storage/indexeddb/modern/versionchange-event-private-expected.txt: Added.
        * storage/indexeddb/modern/versionchange-event-private.html: Added.
        * storage/indexeddb/mozilla/add-twice-failure-private-expected.txt: Added.
        * storage/indexeddb/mozilla/add-twice-failure-private.html: Added.
        * storage/indexeddb/mozilla/autoincrement-indexes-private-expected.txt: Added.
        * storage/indexeddb/mozilla/autoincrement-indexes-private.html: Added.
        * storage/indexeddb/mozilla/bad-keypath-private-expected.txt: Added.
        * storage/indexeddb/mozilla/bad-keypath-private.html: Added.
        * storage/indexeddb/mozilla/clear-private-expected.txt: Added.
        * storage/indexeddb/mozilla/clear-private.html: Added.
        * storage/indexeddb/mozilla/create-index-unique-private-expected.txt: Added.
        * storage/indexeddb/mozilla/create-index-unique-private.html: Added.
        * storage/indexeddb/mozilla/create-index-with-integer-keys-private-expected.txt: Added.
        * storage/indexeddb/mozilla/create-index-with-integer-keys-private.html: Added.
        * storage/indexeddb/mozilla/create-objectstore-basics-private-expected.txt: Added.
        * storage/indexeddb/mozilla/create-objectstore-basics-private.html: Added.
        * storage/indexeddb/mozilla/create-objectstore-null-name-private-expected.txt: Added.
        * storage/indexeddb/mozilla/create-objectstore-null-name-private.html: Added.
        * storage/indexeddb/mozilla/cursor-mutation-objectstore-only-private-expected.txt: Added.
        * storage/indexeddb/mozilla/cursor-mutation-objectstore-only-private.html: Added.
        * storage/indexeddb/mozilla/cursor-mutation-private-expected.txt: Added.
        * storage/indexeddb/mozilla/cursor-mutation-private.html: Added.
        * storage/indexeddb/mozilla/cursor-update-updates-indexes-private-expected.txt: Added.
        * storage/indexeddb/mozilla/cursor-update-updates-indexes-private.html: Added.
        * storage/indexeddb/mozilla/cursors-private-expected.txt: Added.
        * storage/indexeddb/mozilla/cursors-private.html: Added.
        * storage/indexeddb/mozilla/delete-result-private-expected.txt: Added.
        * storage/indexeddb/mozilla/delete-result-private.html: Added.
        * storage/indexeddb/mozilla/event-source-private-expected.txt: Added.
        * storage/indexeddb/mozilla/event-source-private.html: Added.
        * storage/indexeddb/mozilla/global-data-private-expected.txt: Added.
        * storage/indexeddb/mozilla/global-data-private.html: Added.
        * storage/indexeddb/mozilla/index-prev-no-duplicate-private-expected.txt: Added.
        * storage/indexeddb/mozilla/index-prev-no-duplicate-private.html: Added.
        * storage/indexeddb/mozilla/indexes-private-expected.txt: Added.
        * storage/indexeddb/mozilla/indexes-private.html: Added.
        * storage/indexeddb/mozilla/key-requirements-delete-null-key-private-expected.txt: Added.
        * storage/indexeddb/mozilla/key-requirements-delete-null-key-private.html: Added.
        * storage/indexeddb/mozilla/key-requirements-inline-and-passed-private-expected.txt: Added.
        * storage/indexeddb/mozilla/key-requirements-inline-and-passed-private.html: Added.
        * storage/indexeddb/mozilla/key-requirements-private-expected.txt: Added.
        * storage/indexeddb/mozilla/key-requirements-private.html: Added.
        * storage/indexeddb/mozilla/key-requirements-put-no-key-private-expected.txt: Added.
        * storage/indexeddb/mozilla/key-requirements-put-no-key-private.html: Added.
        * storage/indexeddb/mozilla/key-requirements-put-null-key-private-expected.txt: Added.
        * storage/indexeddb/mozilla/key-requirements-put-null-key-private.html: Added.
        * storage/indexeddb/mozilla/object-cursors-private-expected.txt: Added.
        * storage/indexeddb/mozilla/object-cursors-private.html: Added.
        * storage/indexeddb/mozilla/object-identity-private-expected.txt: Added.
        * storage/indexeddb/mozilla/object-identity-private.html: Added.
        * storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put-private-expected.txt: Added.
        * storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put-private.html: Added.
        * storage/indexeddb/mozilla/object-store-remove-values-private-expected.txt: Added.
        * storage/indexeddb/mozilla/object-store-remove-values-private.html: Added.
        * storage/indexeddb/mozilla/objectstorenames-private-expected.txt: Added.
        * storage/indexeddb/mozilla/objectstorenames-private.html: Added.
        * storage/indexeddb/mozilla/odd-result-order-private-expected.txt: Added.
        * storage/indexeddb/mozilla/odd-result-order-private.html: Added.
        * storage/indexeddb/mozilla/open-database-null-name-private-expected.txt: Added.
        * storage/indexeddb/mozilla/open-database-null-name-private.html: Added.
        * storage/indexeddb/mozilla/put-get-values-private-expected.txt: Added.
        * storage/indexeddb/mozilla/put-get-values-private.html: Added.
        * storage/indexeddb/mozilla/readonly-transactions-private-expected.txt: Added.
        * storage/indexeddb/mozilla/readonly-transactions-private.html: Added.
        * storage/indexeddb/mozilla/readwrite-transactions-private-expected.txt: Added.
        * storage/indexeddb/mozilla/readwrite-transactions-private.html: Added.
        * storage/indexeddb/mozilla/readyState-private-expected.txt: Added.
        * storage/indexeddb/mozilla/readyState-private.html: Added.
        * storage/indexeddb/mozilla/remove-index-private-expected.txt: Added.
        * storage/indexeddb/mozilla/remove-index-private.html: Added.
        * storage/indexeddb/mozilla/remove-objectstore-private-expected.txt: Added.
        * storage/indexeddb/mozilla/remove-objectstore-private.html: Added.
        * storage/indexeddb/mozilla/versionchange-abort-private-expected.txt: Added.
        * storage/indexeddb/mozilla/versionchange-abort-private.html: Added.
        * storage/indexeddb/noblobs-private-expected.txt: Added.
        * storage/indexeddb/noblobs-private.html: Added.
        * storage/indexeddb/object-lookups-in-versionchange-private-expected.txt: Added.
        * storage/indexeddb/object-lookups-in-versionchange-private.html: Added.
        * storage/indexeddb/open-bad-versions-private-expected.txt: Added.
        * storage/indexeddb/open-bad-versions-private.html: Added.
        * storage/indexeddb/optional-arguments-private-expected.txt: Added.
        * storage/indexeddb/optional-arguments-private.html: Added.
        * storage/indexeddb/pending-version-change-stuck-works-with-terminate-private-expected.txt: Added.
        * storage/indexeddb/pending-version-change-stuck-works-with-terminate-private.html: Added.
        * storage/indexeddb/prefetch-invalidation-private-expected.txt: Added.
        * storage/indexeddb/prefetch-invalidation-private.html: Added.
        * storage/indexeddb/prefetch-race-private-expected.txt: Added.
        * storage/indexeddb/prefetch-race-private.html: Added.
        * storage/indexeddb/primary-key-unique-to-objectstore-private-expected.txt: Added.
        * storage/indexeddb/primary-key-unique-to-objectstore-private.html: Added.
        * storage/indexeddb/request-leak-private-expected.txt: Added.
        * storage/indexeddb/request-leak-private.html: Added.
        * storage/indexeddb/request-result-cache-private-expected.txt: Added.
        * storage/indexeddb/request-result-cache-private.html: Added.
        * storage/indexeddb/resources/primary-key-unique-to-objectstore.js:
        * storage/indexeddb/resources/shared.js:
        * storage/indexeddb/resources/version-change-event-basic.js:
        * storage/indexeddb/structured-clone-private-expected.txt: Added.
        * storage/indexeddb/structured-clone-private.html: Added.
        * storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-private-expected.txt: Added.
        * storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-private.html: Added.
        * storage/indexeddb/transaction-complete-with-js-recursion-private-expected.txt: Added.
        * storage/indexeddb/transaction-complete-with-js-recursion-private.html: Added.
        * storage/indexeddb/transaction-crash-in-tasks-private-expected.txt: Added.
        * storage/indexeddb/transaction-crash-in-tasks-private.html: Added.
        * storage/indexeddb/transaction-ordering-private-expected.txt: Added.
        * storage/indexeddb/transaction-ordering-private.html: Added.
        * storage/indexeddb/transaction-overlapping-private-expected.txt: Added.
        * storage/indexeddb/transaction-overlapping-private.html: Added.
        * storage/indexeddb/transaction-starvation-private-expected.txt: Removed.
        * storage/indexeddb/version-change-event-basic-private-expected.txt: Added.
        * storage/indexeddb/version-change-event-basic-private.html: Added.
        * storage/indexeddb/version-change-event-private-expected.txt: Added.
        * storage/indexeddb/version-change-event-private.html: Added.

2016-01-20  Ryan Haddad  <ryanhaddad@apple.com>

        Update ios-simulator specific -expected.txt files after most recent WPT revision in r194580
        https://bugs.webkit.org/show_bug.cgi?id=152139

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01-expected.txt:
        * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements-expected.txt:

2016-01-20  Ryan Haddad  <ryanhaddad@apple.com>

        Follow up to r195361. Removing ios-simulator-wk2 fast/viewport/ios directory pass expectation, explicitly re-enabling passing tests
        https://bugs.webkit.org/show_bug.cgi?id=153110

        Unreviewed test gardening.

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

2016-01-20  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement Date.prototype.toLocaleTimeString in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147613

        Reviewed by Darin Adler.

        Added tests for toLocaleTimeString.

        * js/date-toLocaleString-expected.txt:
        * js/script-tests/date-toLocaleString.js:

2016-01-20  Brady Eidson  <beidson@apple.com>

        Modern IDB: Make storage/indexeddb/modern tests more modern.
        https://bugs.webkit.org/show_bug.cgi?id=153284

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/abort-requests-cancelled-expected.txt:
        * storage/indexeddb/modern/aborted-put-expected.txt:
        * storage/indexeddb/modern/autoincrement-abort-expected.txt:
        * storage/indexeddb/modern/basic-add-expected.txt:
        * storage/indexeddb/modern/basic-put-expected.txt:
        * storage/indexeddb/modern/create-index-failures-expected.txt:
        * storage/indexeddb/modern/createobjectstore-basic-expected.txt:
        * storage/indexeddb/modern/createobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/cursor-1-expected.txt:
        * storage/indexeddb/modern/cursor-2-expected.txt:
        * storage/indexeddb/modern/cursor-3-expected.txt:
        * storage/indexeddb/modern/cursor-4-expected.txt:
        * storage/indexeddb/modern/cursor-5-expected.txt:
        * storage/indexeddb/modern/cursor-6-expected.txt:
        * storage/indexeddb/modern/cursor-7-expected.txt:
        * storage/indexeddb/modern/cursor-8-expected.txt:
        * storage/indexeddb/modern/date-basic-expected.txt:
        * storage/indexeddb/modern/deletedatabase-1-expected.txt:
        * storage/indexeddb/modern/deletedatabase-2-expected.txt:
        * storage/indexeddb/modern/deleteindex-1-expected.txt:
        * storage/indexeddb/modern/deleteindex-2-expected.txt:
        * storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
        * storage/indexeddb/modern/double-abort-expected.txt:
        * storage/indexeddb/modern/get-index-failures-expected.txt:
        * storage/indexeddb/modern/get-keyrange-expected.txt:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
        * storage/indexeddb/modern/idbindex-properties-basic-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-clear-1-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-clear-2-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-count-1-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-count-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-delete-1-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-delete-2-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-delete-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-get-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-expected.txt:
        * storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt:
        * storage/indexeddb/modern/index-1-expected.txt:
        * storage/indexeddb/modern/index-2-expected.txt:
        * storage/indexeddb/modern/index-3-expected.txt:
        * storage/indexeddb/modern/index-4-expected.txt:
        * storage/indexeddb/modern/index-5-expected.txt:
        * storage/indexeddb/modern/index-cursor-1-expected.txt:
        * storage/indexeddb/modern/index-cursor-2-expected.txt:
        * storage/indexeddb/modern/index-cursor-3-expected.txt:
        * storage/indexeddb/modern/index-get-count-basic-expected.txt:
        * storage/indexeddb/modern/index-get-count-failures-expected.txt:
        * storage/indexeddb/modern/keypath-basic-expected.txt:
        * storage/indexeddb/modern/objectstore-attributes-expected.txt:
        * storage/indexeddb/modern/objectstore-cursor-advance-failures-expected.txt:
        * storage/indexeddb/modern/objectstore-cursor-continue-failures-expected.txt:
        * storage/indexeddb/modern/opencursor-failures-expected.txt:
        * storage/indexeddb/modern/opendatabase-success-after-versionchange-expected.txt:
        * storage/indexeddb/modern/opendatabase-versions-expected.txt:
        * storage/indexeddb/modern/resources/abort-requests-cancelled.js:
        * storage/indexeddb/modern/resources/aborted-put.js:
        * storage/indexeddb/modern/resources/autoincrement-abort.js:
        * storage/indexeddb/modern/resources/basic-add.js:
        * storage/indexeddb/modern/resources/basic-put.js:
        * storage/indexeddb/modern/resources/create-index-failures.js:
        * storage/indexeddb/modern/resources/createobjectstore-basic.js:
        * storage/indexeddb/modern/resources/createobjectstore-failures.js:
        * storage/indexeddb/modern/resources/cursor-1.js:
        * storage/indexeddb/modern/resources/cursor-2.js:
        * storage/indexeddb/modern/resources/cursor-3.js:
        * storage/indexeddb/modern/resources/cursor-4.js:
        * storage/indexeddb/modern/resources/cursor-5.js:
        * storage/indexeddb/modern/resources/cursor-6.js:
        * storage/indexeddb/modern/resources/cursor-7.js:
        * storage/indexeddb/modern/resources/cursor-8.js:
        * storage/indexeddb/modern/resources/date-basic.js:
        * storage/indexeddb/modern/resources/deletedatabase-1.js:
        * storage/indexeddb/modern/resources/deletedatabase-2.js:
        * storage/indexeddb/modern/resources/deletedatabase-null-name-exception.js:
        * storage/indexeddb/modern/resources/deletedatabase-request-event.js:
        * storage/indexeddb/modern/resources/deletedatabase-request.js:
        * storage/indexeddb/modern/resources/deleteindex-1.js:
        * storage/indexeddb/modern/resources/deleteindex-2.js:
        * storage/indexeddb/modern/resources/deleteobjectstore-1.js:
        * storage/indexeddb/modern/resources/double-abort.js:
        * storage/indexeddb/modern/resources/double-open.js:
        * storage/indexeddb/modern/resources/get-index-failures.js:
        * storage/indexeddb/modern/resources/get-keyrange.js:
        * storage/indexeddb/modern/resources/idbdatabase-deleteobjectstore-failures.js:
        * storage/indexeddb/modern/resources/idbdatabase-transaction-failures.js:
        * storage/indexeddb/modern/resources/idbindex-properties-basic.js:
        * storage/indexeddb/modern/resources/idbobjectstore-clear-1.js:
        * storage/indexeddb/modern/resources/idbobjectstore-clear-2.js:
        * storage/indexeddb/modern/resources/idbobjectstore-count-1.js:
        * storage/indexeddb/modern/resources/idbobjectstore-count-failures.js:
        * storage/indexeddb/modern/resources/idbobjectstore-delete-1.js:
        * storage/indexeddb/modern/resources/idbobjectstore-delete-2.js:
        * storage/indexeddb/modern/resources/idbobjectstore-delete-failures.js:
        * storage/indexeddb/modern/resources/idbobjectstore-get-failures.js:
        * storage/indexeddb/modern/resources/idbobjectstore-put-and-clear-failures.js:
        * storage/indexeddb/modern/resources/idbtransaction-objectstore-failures.js:
        * storage/indexeddb/modern/resources/index-1.js:
        * storage/indexeddb/modern/resources/index-2.js:
        * storage/indexeddb/modern/resources/index-3.js:
        * storage/indexeddb/modern/resources/index-4.js:
        * storage/indexeddb/modern/resources/index-5.js:
        * storage/indexeddb/modern/resources/index-cursor-1.js:
        * storage/indexeddb/modern/resources/index-cursor-2.js:
        * storage/indexeddb/modern/resources/index-cursor-3.js:
        * storage/indexeddb/modern/resources/index-get-count-basic.js:
        * storage/indexeddb/modern/resources/index-get-count-failures.js:
        * storage/indexeddb/modern/resources/keypath-basic.js:
        * storage/indexeddb/modern/resources/objectstore-attributes.js:
        * storage/indexeddb/modern/resources/objectstore-cursor-advance-failures.js:
        * storage/indexeddb/modern/resources/objectstore-cursor-continue-failures.js:
        * storage/indexeddb/modern/resources/opencursor-failures.js:
        * storage/indexeddb/modern/resources/opendatabase-request-event.js:
        * storage/indexeddb/modern/resources/opendatabase-request.js:
        * storage/indexeddb/modern/resources/opendatabase-success-after-versionchange.js:
        * storage/indexeddb/modern/resources/opendatabase-versions.js:
        * storage/indexeddb/modern/resources/request-readystate.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-1.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-2.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-3.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-5.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-6.js:
        * storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js:
        * storage/indexeddb/modern/resources/versionchange-event.js:
        * storage/indexeddb/modern/transaction-scheduler-1-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-2-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-3-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-5-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-6-expected.txt:
        * storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
        * storage/indexeddb/modern/versionchange-event-expected.txt:

2016-01-20  Saam barati  <sbarati@apple.com>

        Web Inspector: Hook the sampling profiler into the Timelines UI
        https://bugs.webkit.org/show_bug.cgi?id=152766
        <rdar://problem/24066360>

        Reviewed by Joseph Pecoraro.

        * inspector/sampling-profiler: Added.
        * inspector/sampling-profiler/basic-expected.txt: Added.
        * inspector/sampling-profiler/basic.html: Added.
        * inspector/sampling-profiler/call-frame-with-dom-functions-expected.txt: Added.
        * inspector/sampling-profiler/call-frame-with-dom-functions.html: Added.
        * inspector/sampling-profiler/eval-source-url-expected.txt: Added.
        * inspector/sampling-profiler/eval-source-url.html: Added.
        * inspector/sampling-profiler/many-call-frames-expected.txt: Added.
        * inspector/sampling-profiler/many-call-frames.html: Added.
        * inspector/sampling-profiler/named-function-expression-expected.txt: Added.
        * inspector/sampling-profiler/named-function-expression.html: Added.
        * inspector/script-profiler/event-type-API-expected.txt:
        * inspector/script-profiler/event-type-API.html:
        * inspector/script-profiler/event-type-Microtask-expected.txt:
        * inspector/script-profiler/event-type-Microtask.html:
        * inspector/script-profiler/event-type-Other-expected.txt:
        * inspector/script-profiler/event-type-Other.html:
        * inspector/script-profiler/tracking-expected.txt:
        * inspector/script-profiler/tracking.html:

2016-01-20  Daniel Bates  <dabates@apple.com>

        CSP: Add tests to ensure that alternative text of an image is rendered when CSP blocks its load
        https://bugs.webkit.org/show_bug.cgi?id=153280

        Reviewed by Alexey Proskuryakov.

        These tests were inspired by the Blink test
        <https://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/security/contentSecurityPolicy/image-blocked-alt-content.html?revision=186800>.

        * http/tests/security/contentSecurityPolicy/image-blocked-alt-text-expected.html: Added.
        * http/tests/security/contentSecurityPolicy/image-blocked-alt-text.html: Added.
        * http/tests/security/contentSecurityPolicy/image-data-URL-blocked-alt-text-expected.html: Added.
        * http/tests/security/contentSecurityPolicy/image-data-URL-blocked-alt-text.html: Added.

2016-01-20  Daniel Bates  <dabates@apple.com>

        CSP: Merge from Blink many new tests and changes to existing tests
        https://bugs.webkit.org/show_bug.cgi?id=153277
        <rdar://problem/24260782>

        Reviewed by Brent Fulgham.

        Merge new Content Security Policy tests from Blink as well as changes made to existing tests
        as of Blink r202656: <https://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/security/contentSecurityPolicy/?pathrev=202656>.
        Many of these new tests fail and have been marked accordingly with associated WebKit bugs in
        TestExpectations. We also do not run CSP 1.1 tests as we do not compile with ENABLE(CSP_NEXT)
        enabled (see <https://bugs.webkit.org/show_bug.cgi?id=85558>). We will look to enable CSP 1.1
        and make all these merged tests pass in subsequent commits.

        One non-mechanical change I made is that I removed the sub-test for shared workers when
        merging http/tests/security/contentSecurityPolicy/worker-without-own-csp.html as WebKit does
        not support shared workers. I also swapped the argument order in the call to assert_equals()
        in the remaining sub-test so that the expected result, "xhr allowed", is the second argument (as
        expected by assert_equals()) and hence the failure message would read well.

        The tests http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-overrides-xfo.html,
        http/tests/security/contentSecurityPolicy/1.1/{script, style}hash-default-src.html do not have
        expected results and are skipped for now. These tests do not have expected results because no
        expected results were committed to Blink and it is not straightforward to generate the expected
        result without reasoning about the test or compiling Blink. When it comes time to enable CSP 1.1
        support we can generate the expected results and verify correctness.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-about-blank-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-about-blank-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-star-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-star-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-star-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-star-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-none-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-none-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-self-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-self-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-star-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-star-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-none-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-none-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-overrides-xfo.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-protocolless-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-protocolless-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-crossorigin-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-crossorigin.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-sameorigin-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-sameorigin.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-block.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/meta-outside-head-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/meta-outside-head.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-affects-child-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-affects-child.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid.html:
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-http-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-http.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-https-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-https.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked-error-event-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked-error-event.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-default-src.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-ignore-unsafeinline-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-ignore-unsafeinline.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-malformed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-malformed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-unicode-normalization-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scripthash-unicode-normalization.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-and-scripthash-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-and-scripthash.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-basic-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-basic-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/source-list-parsing-03-expected.txt.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-ignore-unsafeinline-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-ignore-unsafeinline.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/source-list-parsing-07-expected.txt.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-redirect-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-redirect.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script.html:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image.html:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-from-script-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-from-script.html:
        * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html:
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-error-event-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-error-event.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-default-src.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-svg-style-basic-blocked-error-event-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylehash-svg-style-basic-blocked-error-event.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-basic-blocked-error-event-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-basic-blocked-error-event.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-svg-style-basic-blocked-error-event-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/stylenonce-svg-style-basic-blocked-error-event.html: Added.
        * http/tests/security/contentSecurityPolicy/blob-urls-match-self.html:
        * http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/csp-header-is-sent-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/csp-header-is-sent.html: Added.
        * http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report.html: Added.
        * http/tests/security/contentSecurityPolicy/eval-blocked-and-sends-report-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/eval-blocked-and-sends-report.html: Added.
        * http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load.html: Added.
        * http/tests/security/contentSecurityPolicy/icon-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/icon-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/icon-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/icon-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/image-document-default-src-none-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/image-document-default-src-none.html: Added.
        * http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta.html: Added.
        * http/tests/security/contentSecurityPolicy/manifest-src-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/manifest-src-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/manifest-src-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/manifest-src-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/manifest.test/manifest.json: Added.
        * http/tests/security/contentSecurityPolicy/object-in-svg-foreignobject-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-in-svg-foreignobject.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-applet-archive-codebase-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-applet-archive-codebase.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-applet-archive-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-applet-archive.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-applet-code-codebase-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-applet-code-codebase.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-applet-code-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-applet-code.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-does-not-affect-child-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-does-not-affect-child.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-code-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-code-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-movie-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-movie-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-src-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-src-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-url-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/object-src-param-url-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/plugin-in-iframe-with-csp-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/plugin-in-iframe-with-csp.html: Added.
        * http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths.html: Added.
        * http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial.html: Added.
        * http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-and-enforce.html:
        * http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-file-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-multiple-violations-01-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/report-multiple-violations-01.html: Added.
        * http/tests/security/contentSecurityPolicy/report-multiple-violations-02-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/report-multiple-violations-02.html: Added.
        * http/tests/security/contentSecurityPolicy/report-only-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
        * http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/report-uri-scheme-relative.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/alert-pass.js: Added.
        * http/tests/security/contentSecurityPolicy/resources/child-src-test.js: Added.
        (window.onload):
        (injectFrame):
        (iframeLoaded):
        (injectFrameRedirectingTo):
        (injectWorker):
        (injectSharedWorker):
        * http/tests/security/contentSecurityPolicy/resources/csp-header-is-sent.js: Added.
        (async_test.xhr.onload):
        (async_test):
        (test):
        * http/tests/security/contentSecurityPolicy/resources/fail-to-inject-script.js: Added.
        (s.onerror):
        (s.onload):
        * http/tests/security/contentSecurityPolicy/resources/frame-ancestors-and-x-frame-options.pl: Added.
        * http/tests/security/contentSecurityPolicy/resources/frame-ancestors-test.js: Added.
        (injectNestedIframe):
        (injectIFrame):
        (iframeLoaded):
        (crossOriginFrameShouldBeBlocked.window.onload):
        (crossOriginFrameShouldBeBlocked):
        (crossOriginFrameShouldBeAllowed.window.onload):
        (crossOriginFrameShouldBeAllowed):
        (sameOriginFrameShouldBeBlocked.window.onload):
        (sameOriginFrameShouldBeBlocked):
        (sameOriginFrameShouldBeAllowed.window.onload):
        (sameOriginFrameShouldBeAllowed):
        (window.onload):
        (testNestedIFrame):
        * http/tests/security/contentSecurityPolicy/resources/frame-ancestors.pl: Added.
        * http/tests/security/contentSecurityPolicy/resources/frame-in-frame.pl: Added.
        * http/tests/security/contentSecurityPolicy/resources/generate-csp-report.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/iframe-redirect-not-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/image-document-default-src-none-iframe.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js:
        * http/tests/security/contentSecurityPolicy/resources/nph-cached-csp.pl:
        * http/tests/security/contentSecurityPolicy/resources/object-src-param.js: Added.
        (appendObjectElement.window.onload):
        (appendObjectElement):
        * http/tests/security/contentSecurityPolicy/resources/post-message.js: Added.
        * http/tests/security/contentSecurityPolicy/resources/redir.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/redirect-does-not-match-paths.js: Added.
        (test):
        (async_test.img.onload):
        (async_test):
        (async_test.xhr.onload):
        * http/tests/security/contentSecurityPolicy/resources/redirect.pl: Added.
        * http/tests/security/contentSecurityPolicy/resources/referrer-test-endpoint.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/referrer-test.js: Added.
        (ReferrerTest.bindHandler):
        (ReferrerTest.base):
        (ReferrerTest.generateFrameURL):
        (ReferrerTest.injectFrame):
        (expectFullReferrer):
        (expectNoReferrer):
        (expectOriginReferrer):
        * http/tests/security/contentSecurityPolicy/resources/referrer-test.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/sandbox.php:
        * http/tests/security/contentSecurityPolicy/resources/script-redirect-not-allowed.js: Added.
        * http/tests/security/contentSecurityPolicy/resources/script-set-value.js: Added.
        * http/tests/security/contentSecurityPolicy/resources/style-set-red.css: Added.
        (p):
        * http/tests/security/contentSecurityPolicy/resources/stylesheet-redirect-not-allowed.css: Added.
        (body):
        * http/tests/security/contentSecurityPolicy/resources/test-csp-header.pl: Added.
        * http/tests/security/contentSecurityPolicy/resources/worker.php: Added.
        * http/tests/security/contentSecurityPolicy/resources/xhr-redirect-not-allowed.pl: Added.
        * http/tests/security/contentSecurityPolicy/sandbox-report-only-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/sandbox-report-only.html: Added.
        * http/tests/security/contentSecurityPolicy/script-src-appended-script-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/script-src-appended-script.html: Added.
        * http/tests/security/contentSecurityPolicy/script-src-blocked-error-event-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/script-src-blocked-error-event.html: Added.
        * http/tests/security/contentSecurityPolicy/script-src-redirect-expected.txt:
        * http/tests/security/contentSecurityPolicy/script-src-redirect.html:
        * http/tests/security/contentSecurityPolicy/source-list-parsing-03-expected.txt:
        * http/tests/security/contentSecurityPolicy/source-list-parsing-03.html:
        * http/tests/security/contentSecurityPolicy/source-list-parsing-07-expected.txt:
        * http/tests/security/contentSecurityPolicy/source-list-parsing-07.html:
        * http/tests/security/contentSecurityPolicy/source-list-parsing-paths-03-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/source-list-parsing-paths-03.html: Added.
        * http/tests/security/contentSecurityPolicy/style-src-blocked-error-event-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/style-src-blocked-error-event.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-connect-src-allowed.html:
        * http/tests/security/contentSecurityPolicy/worker-connect-src-blocked.html:
        * http/tests/security/contentSecurityPolicy/worker-eval-blocked.html:
        * http/tests/security/contentSecurityPolicy/worker-function-function-blocked.html:
        * http/tests/security/contentSecurityPolicy/worker-importscripts-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-importscripts-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers.html: Added.
        * http/tests/security/contentSecurityPolicy/worker-script-src-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-script-src.html:
        * http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked.html:
        * http/tests/security/contentSecurityPolicy/worker-without-own-csp-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/worker-without-own-csp.html: Added.
        * platform/wk2/TestExpectations:

2016-01-20  Ryan Haddad  <ryanhaddad@apple.com>

        Marking three fast/viewport/ios/width-is-device-width-overflowing* tests as flaky on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=153110

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-20  Chris Dumez  <cdumez@apple.com>

        Drop support for obsolete Node.isSupported()
        https://bugs.webkit.org/show_bug.cgi?id=153164

        Reviewed by Darin Adler.

        Drop obsolete DOM tests.

        * dom/html/level2/html/HTMLBodyElement07-expected.txt: Removed.
        * dom/html/level2/html/HTMLBodyElement07.html: Removed.
        * dom/html/level2/html/HTMLBodyElement07.js: Removed.
        * dom/html/level2/html/HTMLBodyElement08-expected.txt: Removed.
        * dom/html/level2/html/HTMLBodyElement08.html: Removed.
        * dom/html/level2/html/HTMLBodyElement08.js: Removed.
        * dom/html/level2/html/HTMLBodyElement09-expected.txt: Removed.
        * dom/html/level2/html/HTMLBodyElement09.html: Removed.
        * dom/html/level2/html/HTMLBodyElement09.js: Removed.
        * dom/html/level2/html/HTMLBodyElement10-expected.txt: Removed.
        * dom/html/level2/html/HTMLBodyElement10.html: Removed.
        * dom/html/level2/html/HTMLBodyElement10.js: Removed.
        * dom/html/level2/html/HTMLBodyElement11-expected.txt: Removed.
        * dom/html/level2/html/HTMLBodyElement11.html: Removed.
        * dom/html/level2/html/HTMLBodyElement11.js: Removed.
        * dom/html/level2/html/HTMLBodyElement12-expected.txt: Removed.
        * dom/html/level2/html/HTMLBodyElement12.html: Removed.
        * dom/html/level2/html/HTMLBodyElement12.js: Removed.
        * dom/html/level2/html/HTMLDocument22-expected.txt: Removed.
        * dom/html/level2/html/HTMLDocument22.html: Removed.
        * dom/html/level2/html/HTMLDocument22.js: Removed.
        * dom/html/level2/html/HTMLDocument23-expected.txt: Removed.
        * dom/html/level2/html/HTMLDocument23.html: Removed.
        * dom/html/level2/html/HTMLDocument23.js: Removed.
        * dom/html/level2/html/HTMLDocument24-expected.txt: Removed.
        * dom/html/level2/html/HTMLDocument24.html: Removed.
        * dom/html/level2/html/HTMLDocument24.js: Removed.
        * dom/html/level2/html/HTMLDocument25-expected.txt: Removed.
        * dom/html/level2/html/HTMLDocument25.html: Removed.
        * dom/html/level2/html/HTMLDocument25.js: Removed.
        * dom/html/level2/html/HTMLDocument26-expected.txt: Removed.
        * dom/html/level2/html/HTMLDocument26.html: Removed.
        * dom/html/level2/html/HTMLDocument26.js: Removed.
        * dom/html/level2/html/HTMLDocument27-expected.txt: Removed.
        * dom/html/level2/html/HTMLDocument27.html: Removed.
        * dom/html/level2/html/HTMLDocument27.js: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_3-expected.txt: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_3.js: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_3.svg: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_empty-expected.txt: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_empty.js: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_empty.svg: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_null-expected.txt: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_null.js: Removed.
        * dom/svg/level3/xpath/Conformance_isSupported_null.svg: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement07-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement07.js: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement07.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement08-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement08.js: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement08.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement09-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement09.js: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement09.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement10-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement10.js: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement10.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement11-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement11.js: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement11.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement12-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement12.js: Removed.
        * dom/xhtml/level2/html/HTMLBodyElement12.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLDocument22-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLDocument22.js: Removed.
        * dom/xhtml/level2/html/HTMLDocument22.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLDocument23-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLDocument23.js: Removed.
        * dom/xhtml/level2/html/HTMLDocument23.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLDocument24-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLDocument24.js: Removed.
        * dom/xhtml/level2/html/HTMLDocument24.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLDocument25-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLDocument25.js: Removed.
        * dom/xhtml/level2/html/HTMLDocument25.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLDocument26-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLDocument26.js: Removed.
        * dom/xhtml/level2/html/HTMLDocument26.xhtml: Removed.
        * dom/xhtml/level2/html/HTMLDocument27-expected.txt: Removed.
        * dom/xhtml/level2/html/HTMLDocument27.js: Removed.
        * dom/xhtml/level2/html/HTMLDocument27.xhtml: Removed.
        * fast/dom/features-expected.txt:
        * fast/dom/features.html:

2016-01-19  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Fix inspector/model/remote-object.html test
        https://bugs.webkit.org/show_bug.cgi?id=153261
        <rdar://problem/24249553>

        Reviewed by Timothy Hatcher.

        Rebaseline the test for Mac platform that broke in r195305.

        * platform/mac/inspector/model/remote-object-expected.txt:

2016-01-19  Chris Dumez  <cdumez@apple.com>

        DocumentType.publicId / systemId should never return null
        https://bugs.webkit.org/show_bug.cgi?id=153264

        Reviewed by Ryosuke Niwa.

        Drop outdated DOM test.

        * dom/xhtml/level3/core/documentgetdoctype01-expected.txt: Removed.
        * dom/xhtml/level3/core/documentgetdoctype01.js: Removed.
        * dom/xhtml/level3/core/documentgetdoctype01.xhtml: Removed.

2016-01-19  Brady Eidson  <beidson@apple.com>

        Modern IDB: Remove unneeded "Alert: " string from storage/indexeddb/modern tests.
        https://bugs.webkit.org/show_bug.cgi?id=153257

        Reviewed by Sam Weinig.
        
        These were put in to minimize the diff for https://trac.webkit.org/changeset/195321 and
        make it easier to review.
        
        Now they can be removed.

        * storage/indexeddb/modern/aborted-put-expected.txt:
        * storage/indexeddb/modern/autoincrement-abort-expected.txt:
        * storage/indexeddb/modern/basic-add-expected.txt:
        * storage/indexeddb/modern/basic-put-expected.txt:
        * storage/indexeddb/modern/createobjectstore-basic-expected.txt:
        * storage/indexeddb/modern/createobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/date-basic-expected.txt:
        * storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt:
        * storage/indexeddb/modern/deletedatabase-request-event-expected.txt:
        * storage/indexeddb/modern/deletedatabase-request-expected.txt:
        * storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
        * storage/indexeddb/modern/double-abort-expected.txt:
        * storage/indexeddb/modern/get-keyrange-expected.txt:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
        * storage/indexeddb/modern/idbindex-properties-basic-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-clear-1-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-clear-2-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-count-1-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-count-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-get-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-expected.txt:
        * storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt:
        * storage/indexeddb/modern/keypath-basic-expected.txt:
        * storage/indexeddb/modern/opendatabase-request-event-expected.txt:
        * storage/indexeddb/modern/opendatabase-request-expected.txt:
        * storage/indexeddb/modern/resources/aborted-put.js:
        * storage/indexeddb/modern/resources/autoincrement-abort.js:
        * storage/indexeddb/modern/resources/basic-add.js:
        * storage/indexeddb/modern/resources/basic-put.js:
        * storage/indexeddb/modern/resources/createobjectstore-basic.js:
        * storage/indexeddb/modern/resources/createobjectstore-failures.js:
        * storage/indexeddb/modern/resources/date-basic.js:
        * storage/indexeddb/modern/resources/deletedatabase-null-name-exception.js:
        * storage/indexeddb/modern/resources/deletedatabase-request-event.js:
        * storage/indexeddb/modern/resources/deletedatabase-request.js:
        * storage/indexeddb/modern/resources/deleteobjectstore-1.js:
        * storage/indexeddb/modern/resources/double-abort.js:
        * storage/indexeddb/modern/resources/get-keyrange.js:
        * storage/indexeddb/modern/resources/idbdatabase-deleteobjectstore-failures.js:
        * storage/indexeddb/modern/resources/idbdatabase-transaction-failures.js:
        * storage/indexeddb/modern/resources/idbindex-properties-basic.js:
        * storage/indexeddb/modern/resources/idbobjectstore-clear-1.js:
        * storage/indexeddb/modern/resources/idbobjectstore-clear-2.js:
        * storage/indexeddb/modern/resources/idbobjectstore-count-1.js:
        * storage/indexeddb/modern/resources/idbobjectstore-count-failures.js:
        * storage/indexeddb/modern/resources/idbobjectstore-get-failures.js:
        * storage/indexeddb/modern/resources/idbobjectstore-put-and-clear-failures.js:
        * storage/indexeddb/modern/resources/idbtransaction-objectstore-failures.js:
        * storage/indexeddb/modern/resources/keypath-basic.js:
        * storage/indexeddb/modern/resources/opendatabase-request-event.js:
        * storage/indexeddb/modern/resources/opendatabase-request.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-1.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-2.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-3.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-5.js:
        * storage/indexeddb/modern/resources/transaction-scheduler-6.js:
        * storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js:
        * storage/indexeddb/modern/resources/versionchange-event.js:
        * storage/indexeddb/modern/transaction-scheduler-1-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-2-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-3-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-5-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-6-expected.txt:
        * storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
        * storage/indexeddb/modern/versionchange-event-expected.txt:

2016-01-19  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement Date.prototype.toLocaleDateString in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147612

        Reviewed by Benjamin Poulain.

        Added tests for toLocaleDateString.

        * js/date-toLocaleString-expected.txt:
        * js/script-tests/date-toLocaleString.js:

2016-01-19  Brady Eidson  <beidson@apple.com>

        Modern IDB: Split all storage/indexeddb/modern tests into separate HTML + JS format.
        https://bugs.webkit.org/show_bug.cgi?id=153251

        Reviewed by Sam Weinig.

        * storage/indexeddb/modern/abort-requests-cancelled-expected.txt:
        * storage/indexeddb/modern/abort-requests-cancelled.html:
        * storage/indexeddb/modern/aborted-put-expected.txt:
        * storage/indexeddb/modern/aborted-put.html:
        * storage/indexeddb/modern/autoincrement-abort-expected.txt:
        * storage/indexeddb/modern/autoincrement-abort.html:
        * storage/indexeddb/modern/basic-add-expected.txt:
        * storage/indexeddb/modern/basic-add.html:
        * storage/indexeddb/modern/basic-put-expected.txt:
        * storage/indexeddb/modern/basic-put.html:
        * storage/indexeddb/modern/create-index-failures-expected.txt:
        * storage/indexeddb/modern/create-index-failures.html:
        * storage/indexeddb/modern/createobjectstore-basic-expected.txt:
        * storage/indexeddb/modern/createobjectstore-basic.html:
        * storage/indexeddb/modern/createobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/createobjectstore-failures.html:
        * storage/indexeddb/modern/cursor-1-expected.txt:
        * storage/indexeddb/modern/cursor-1.html:
        * storage/indexeddb/modern/cursor-2-expected.txt:
        * storage/indexeddb/modern/cursor-2.html:
        * storage/indexeddb/modern/cursor-3-expected.txt:
        * storage/indexeddb/modern/cursor-3.html:
        * storage/indexeddb/modern/cursor-4-expected.txt:
        * storage/indexeddb/modern/cursor-4.html:
        * storage/indexeddb/modern/cursor-5-expected.txt:
        * storage/indexeddb/modern/cursor-5.html:
        * storage/indexeddb/modern/cursor-6-expected.txt:
        * storage/indexeddb/modern/cursor-6.html:
        * storage/indexeddb/modern/cursor-7-expected.txt:
        * storage/indexeddb/modern/cursor-7.html:
        * storage/indexeddb/modern/cursor-8-expected.txt:
        * storage/indexeddb/modern/cursor-8.html:
        * storage/indexeddb/modern/date-basic-expected.txt:
        * storage/indexeddb/modern/date-basic.html:
        * storage/indexeddb/modern/deletedatabase-1-expected.txt:
        * storage/indexeddb/modern/deletedatabase-1.html:
        * storage/indexeddb/modern/deletedatabase-2-expected.txt:
        * storage/indexeddb/modern/deletedatabase-2.html:
        * storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt:
        * storage/indexeddb/modern/deletedatabase-null-name-exception.html:
        * storage/indexeddb/modern/deletedatabase-request-event-expected.txt:
        * storage/indexeddb/modern/deletedatabase-request-event.html:
        * storage/indexeddb/modern/deletedatabase-request-expected.txt:
        * storage/indexeddb/modern/deletedatabase-request.html:
        * storage/indexeddb/modern/deleteindex-1-expected.txt:
        * storage/indexeddb/modern/deleteindex-1.html:
        * storage/indexeddb/modern/deleteindex-2-expected.txt:
        * storage/indexeddb/modern/deleteindex-2.html:
        * storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
        * storage/indexeddb/modern/deleteobjectstore-1.html:
        * storage/indexeddb/modern/double-abort-expected.txt:
        * storage/indexeddb/modern/double-abort.html:
        * storage/indexeddb/modern/double-open-expected.txt:
        * storage/indexeddb/modern/double-open.html:
        * storage/indexeddb/modern/get-index-failures-expected.txt:
        * storage/indexeddb/modern/get-index-failures.html:
        * storage/indexeddb/modern/get-keyrange-expected.txt:
        * storage/indexeddb/modern/get-keyrange.html:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
        * storage/indexeddb/modern/idbdatabase-transaction-failures.html:
        * storage/indexeddb/modern/idbindex-properties-basic-expected.txt:
        * storage/indexeddb/modern/idbindex-properties-basic.html:
        * storage/indexeddb/modern/idbobjectstore-clear-1-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-clear-1.html:
        * storage/indexeddb/modern/idbobjectstore-clear-2-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-clear-2.html:
        * storage/indexeddb/modern/idbobjectstore-count-1-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-count-1.html:
        * storage/indexeddb/modern/idbobjectstore-count-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-count-failures.html:
        * storage/indexeddb/modern/idbobjectstore-delete-1-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-delete-1.html:
        * storage/indexeddb/modern/idbobjectstore-delete-2-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-delete-2.html:
        * storage/indexeddb/modern/idbobjectstore-delete-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-delete-failures.html:
        * storage/indexeddb/modern/idbobjectstore-get-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-get-failures.html:
        * storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-expected.txt:
        * storage/indexeddb/modern/idbobjectstore-put-and-clear-failures.html:
        * storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt:
        * storage/indexeddb/modern/idbtransaction-objectstore-failures.html:
        * storage/indexeddb/modern/index-1-expected.txt:
        * storage/indexeddb/modern/index-1.html:
        * storage/indexeddb/modern/index-2-expected.txt:
        * storage/indexeddb/modern/index-2.html:
        * storage/indexeddb/modern/index-3-expected.txt:
        * storage/indexeddb/modern/index-3.html:
        * storage/indexeddb/modern/index-4-expected.txt:
        * storage/indexeddb/modern/index-4.html:
        * storage/indexeddb/modern/index-5-expected.txt:
        * storage/indexeddb/modern/index-5.html:
        * storage/indexeddb/modern/index-cursor-1-expected.txt:
        * storage/indexeddb/modern/index-cursor-1.html:
        * storage/indexeddb/modern/index-cursor-2-expected.txt:
        * storage/indexeddb/modern/index-cursor-2.html:
        * storage/indexeddb/modern/index-cursor-3-expected.txt:
        * storage/indexeddb/modern/index-cursor-3.html:
        * storage/indexeddb/modern/index-get-count-basic-expected.txt:
        * storage/indexeddb/modern/index-get-count-basic.html:
        * storage/indexeddb/modern/index-get-count-failures-expected.txt:
        * storage/indexeddb/modern/index-get-count-failures.html:
        * storage/indexeddb/modern/keypath-basic-expected.txt:
        * storage/indexeddb/modern/keypath-basic.html:
        * storage/indexeddb/modern/objectstore-attributes-expected.txt:
        * storage/indexeddb/modern/objectstore-attributes.html:
        * storage/indexeddb/modern/objectstore-cursor-advance-failures-expected.txt:
        * storage/indexeddb/modern/objectstore-cursor-advance-failures.html:
        * storage/indexeddb/modern/objectstore-cursor-continue-failures-expected.txt:
        * storage/indexeddb/modern/objectstore-cursor-continue-failures.html:
        * storage/indexeddb/modern/opencursor-failures-expected.txt:
        * storage/indexeddb/modern/opencursor-failures.html:
        * storage/indexeddb/modern/opendatabase-request-event-expected.txt:
        * storage/indexeddb/modern/opendatabase-request-event.html:
        * storage/indexeddb/modern/opendatabase-request-expected.txt:
        * storage/indexeddb/modern/opendatabase-request.html:
        * storage/indexeddb/modern/opendatabase-success-after-versionchange-expected.txt:
        * storage/indexeddb/modern/opendatabase-success-after-versionchange.html:
        * storage/indexeddb/modern/opendatabase-versions-expected.txt:
        * storage/indexeddb/modern/opendatabase-versions.html:
        * storage/indexeddb/modern/request-readystate-expected.txt:
        * storage/indexeddb/modern/request-readystate.html:
        * storage/indexeddb/modern/resources/abort-requests-cancelled.js: Copied from LayoutTests/storage/indexeddb/modern/abort-requests-cancelled.html.
        * storage/indexeddb/modern/resources/aborted-put.js: Copied from LayoutTests/storage/indexeddb/modern/aborted-put.html.
        * storage/indexeddb/modern/resources/autoincrement-abort.js: Copied from LayoutTests/storage/indexeddb/modern/autoincrement-abort.html.
        * storage/indexeddb/modern/resources/basic-add.js: Copied from LayoutTests/storage/indexeddb/modern/basic-add.html.
        * storage/indexeddb/modern/resources/basic-put.js: Copied from LayoutTests/storage/indexeddb/modern/basic-put.html.
        * storage/indexeddb/modern/resources/create-index-failures.js: Copied from LayoutTests/storage/indexeddb/modern/create-index-failures.html.
        * storage/indexeddb/modern/resources/createobjectstore-basic.js: Copied from LayoutTests/storage/indexeddb/modern/createobjectstore-basic.html.
        * storage/indexeddb/modern/resources/createobjectstore-failures.js: Copied from LayoutTests/storage/indexeddb/modern/createobjectstore-failures.html.
        * storage/indexeddb/modern/resources/cursor-1.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-1.html.
        * storage/indexeddb/modern/resources/cursor-2.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-2.html.
        * storage/indexeddb/modern/resources/cursor-3.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-3.html.
        * storage/indexeddb/modern/resources/cursor-4.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-4.html.
        * storage/indexeddb/modern/resources/cursor-5.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-5.html.
        * storage/indexeddb/modern/resources/cursor-6.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-6.html.
        * storage/indexeddb/modern/resources/cursor-7.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-7.html.
        * storage/indexeddb/modern/resources/cursor-8.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-8.html.
        * storage/indexeddb/modern/resources/date-basic.js: Copied from LayoutTests/storage/indexeddb/modern/date-basic.html.
        * storage/indexeddb/modern/resources/deletedatabase-1.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-1.html.
        * storage/indexeddb/modern/resources/deletedatabase-2.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-2.html.
        * storage/indexeddb/modern/resources/deletedatabase-null-name-exception.js: Added.
        * storage/indexeddb/modern/resources/deletedatabase-request-event.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-request-event.html.
        * storage/indexeddb/modern/resources/deletedatabase-request.js: Added.
        * storage/indexeddb/modern/resources/deleteindex-1.js: Copied from LayoutTests/storage/indexeddb/modern/deleteindex-1.html.
        * storage/indexeddb/modern/resources/deleteindex-2.js: Copied from LayoutTests/storage/indexeddb/modern/deleteindex-2.html.
        * storage/indexeddb/modern/resources/deleteobjectstore-1.js: Copied from LayoutTests/storage/indexeddb/modern/deleteobjectstore-1.html.
        * storage/indexeddb/modern/resources/double-abort.js: Copied from LayoutTests/storage/indexeddb/modern/double-abort.html.
        * storage/indexeddb/modern/resources/double-open.js: Added.
        * storage/indexeddb/modern/resources/get-index-failures.js: Copied from LayoutTests/storage/indexeddb/modern/get-index-failures.html.
        * storage/indexeddb/modern/resources/get-keyrange.js: Copied from LayoutTests/storage/indexeddb/modern/get-keyrange.html.
        * storage/indexeddb/modern/resources/idbdatabase-deleteobjectstore-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html.
        * storage/indexeddb/modern/resources/idbdatabase-transaction-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures.html.
        * storage/indexeddb/modern/resources/idbindex-properties-basic.js: Copied from LayoutTests/storage/indexeddb/modern/idbindex-properties-basic.html.
        * storage/indexeddb/modern/resources/idbobjectstore-clear-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-clear-1.html.
        * storage/indexeddb/modern/resources/idbobjectstore-clear-2.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-clear-2.html.
        * storage/indexeddb/modern/resources/idbobjectstore-count-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-count-1.html.
        * storage/indexeddb/modern/resources/idbobjectstore-count-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-count-failures.html.
        * storage/indexeddb/modern/resources/idbobjectstore-delete-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-1.html.
        * storage/indexeddb/modern/resources/idbobjectstore-delete-2.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-2.html.
        * storage/indexeddb/modern/resources/idbobjectstore-delete-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-failures.html.
        * storage/indexeddb/modern/resources/idbobjectstore-get-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-get-failures.html.
        * storage/indexeddb/modern/resources/idbobjectstore-put-and-clear-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-put-and-clear-failures.html.
        * storage/indexeddb/modern/resources/idbtransaction-objectstore-failures.js: Added.
        * storage/indexeddb/modern/resources/index-1.js: Copied from LayoutTests/storage/indexeddb/modern/index-1.html.
        * storage/indexeddb/modern/resources/index-2.js: Copied from LayoutTests/storage/indexeddb/modern/index-2.html.
        * storage/indexeddb/modern/resources/index-3.js: Copied from LayoutTests/storage/indexeddb/modern/index-3.html.
        * storage/indexeddb/modern/resources/index-4.js: Copied from LayoutTests/storage/indexeddb/modern/index-4.html.
        * storage/indexeddb/modern/resources/index-5.js: Copied from LayoutTests/storage/indexeddb/modern/index-5.html.
        * storage/indexeddb/modern/resources/index-cursor-1.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-1.html.
        * storage/indexeddb/modern/resources/index-cursor-2.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-2.html.
        * storage/indexeddb/modern/resources/index-cursor-3.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-3.html.
        * storage/indexeddb/modern/resources/index-get-count-basic.js: Copied from LayoutTests/storage/indexeddb/modern/index-get-count-basic.html.
        * storage/indexeddb/modern/resources/index-get-count-failures.js: Copied from LayoutTests/storage/indexeddb/modern/index-get-count-failures.html.
        * storage/indexeddb/modern/resources/keypath-basic.js: Copied from LayoutTests/storage/indexeddb/modern/keypath-basic.html.
        * storage/indexeddb/modern/resources/objectstore-attributes.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-attributes.html.
        * storage/indexeddb/modern/resources/objectstore-cursor-advance-failures.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-cursor-advance-failures.html.
        * storage/indexeddb/modern/resources/objectstore-cursor-continue-failures.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-cursor-continue-failures.html.
        * storage/indexeddb/modern/resources/opencursor-failures.js: Copied from LayoutTests/storage/indexeddb/modern/opencursor-failures.html.
        * storage/indexeddb/modern/resources/opendatabase-request-event.js: Added.
        * storage/indexeddb/modern/resources/opendatabase-request.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-request.html.
        * storage/indexeddb/modern/resources/opendatabase-success-after-versionchange.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-success-after-versionchange.html.
        * storage/indexeddb/modern/resources/opendatabase-versions.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-versions.html.
        * storage/indexeddb/modern/resources/request-readystate.js: Added.
        * storage/indexeddb/modern/resources/transaction-scheduler-1.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-1.html.
        * storage/indexeddb/modern/resources/transaction-scheduler-2.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-2.html.
        * storage/indexeddb/modern/resources/transaction-scheduler-3.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-3.html.
        * storage/indexeddb/modern/resources/transaction-scheduler-5.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-5.html.
        * storage/indexeddb/modern/resources/transaction-scheduler-6.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-6.html.
        * storage/indexeddb/modern/resources/transactions-stop-on-navigation-2.html:
        * storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js: Copied from LayoutTests/storage/indexeddb/modern/versionchange-abort-then-reopen.html.
        * storage/indexeddb/modern/resources/versionchange-event.js: Copied from LayoutTests/storage/indexeddb/modern/versionchange-event.html.
        * storage/indexeddb/modern/transaction-scheduler-1-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-1.html:
        * storage/indexeddb/modern/transaction-scheduler-2-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-2.html:
        * storage/indexeddb/modern/transaction-scheduler-3-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-3.html:
        * storage/indexeddb/modern/transaction-scheduler-5-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-5.html:
        * storage/indexeddb/modern/transaction-scheduler-6-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-6.html:
        * storage/indexeddb/modern/transactions-stop-on-navigation-expected.txt:
        * storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
        * storage/indexeddb/modern/versionchange-abort-then-reopen.html:
        * storage/indexeddb/modern/versionchange-event-expected.txt:
        * storage/indexeddb/modern/versionchange-event.html:

2016-01-19  Zalan Bujtas  <zalan@apple.com>

        outline-offset does not work for inlines.
        https://bugs.webkit.org/show_bug.cgi?id=153238

        Reviewed by Simon Fraser.

        Adjust outline box width/height with outline-offset.

        Test: fast/inline/inlines-with-outline-offset.html

        * fast/inline/inlines-with-outline-offset-expected.html: Added.
        * fast/inline/inlines-with-outline-offset.html: Added.

2016-01-19  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: WebInspector.Object.addEventListener is O(n), make it O(1)
        https://bugs.webkit.org/show_bug.cgi?id=152422
        <rdar://problem/24038047>

        Reviewed by Timothy Hatcher.

        * inspector/console/console-api-expected.txt:
        * inspector/console/console-table-expected.txt:
        * inspector/model/remote-object-expected.txt:
        Rebaseline tests, add "_listeners: null" to all WebInspector.Object instances.

        * inspector/unit-tests/linked-list-expected.txt: Added.
        * inspector/unit-tests/linked-list.html: Added.
        * inspector/unit-tests/list-multimap-expected.txt: Added.
        * inspector/unit-tests/list-multimap.html: Added.

2016-01-19  Brady Eidson  <beidson@apple.com>

        Modern IDB: Split all storage/indexeddb/mozilla tests into separate HTML + JS format.
        https://bugs.webkit.org/show_bug.cgi?id=153237

        Reviewed by Sam Weinig.

        * storage/indexeddb/mozilla/index-prev-no-duplicate.html:
        * storage/indexeddb/mozilla/resources/index-prev-no-duplicate.js: Copied from LayoutTests/storage/indexeddb/mozilla/index-prev-no-duplicate.html.

2016-01-19  Brady Eidson  <beidson@apple.com>

        Modern IDB: Split all storage/indexeddb tests into separate HTML + JS format.
        https://bugs.webkit.org/show_bug.cgi?id=153178

        Reviewed by Sam Weinig.

        * storage/indexeddb/clone-exception.html:
        * storage/indexeddb/closed-cursor.html:
        * storage/indexeddb/connection-leak.html:
        * storage/indexeddb/cursor-cast.html:
        * storage/indexeddb/cursor-leak.html:
        * storage/indexeddb/cursor-overloads.html:
        * storage/indexeddb/cursor-request-cycle.html:
        * storage/indexeddb/deleteIndex-bug110792.html:
        * storage/indexeddb/deletedatabase-transaction.html:
        * storage/indexeddb/metadata-race.html:
        * storage/indexeddb/noblobs.html:
        * storage/indexeddb/object-lookups-in-versionchange.html:
        * storage/indexeddb/open-bad-versions.html:
        * storage/indexeddb/optional-arguments.html:
        * storage/indexeddb/prefetch-invalidation.html:
        * storage/indexeddb/prefetch-race.html:
        * storage/indexeddb/primary-key-unique-to-objectstore.html:
        * storage/indexeddb/request-leak.html:
        * storage/indexeddb/request-result-cache.html:
        * storage/indexeddb/resources/clone-exception.js: Copied from LayoutTests/storage/indexeddb/clone-exception.html.
        * storage/indexeddb/resources/closed-cursor.js: Copied from LayoutTests/storage/indexeddb/closed-cursor.html.
        * storage/indexeddb/resources/connection-leak.js: Copied from LayoutTests/storage/indexeddb/connection-leak.html.
        * storage/indexeddb/resources/cursor-cast.js: Copied from LayoutTests/storage/indexeddb/cursor-cast.html.
        * storage/indexeddb/resources/cursor-leak.js: Copied from LayoutTests/storage/indexeddb/cursor-leak.html.
        * storage/indexeddb/resources/cursor-overloads.js: Copied from LayoutTests/storage/indexeddb/cursor-overloads.html.
        * storage/indexeddb/resources/cursor-request-cycle.js: Copied from LayoutTests/storage/indexeddb/cursor-request-cycle.html.
        * storage/indexeddb/resources/deleteIndex-bug110792.js: Copied from LayoutTests/storage/indexeddb/deleteIndex-bug110792.html.
        * storage/indexeddb/resources/deletedatabase-transaction.js: Copied from LayoutTests/storage/indexeddb/deletedatabase-transaction.html.
        * storage/indexeddb/resources/metadata-race.js: Copied from LayoutTests/storage/indexeddb/metadata-race.html.
        * storage/indexeddb/resources/noblobs.js: Copied from LayoutTests/storage/indexeddb/noblobs.html.
        * storage/indexeddb/resources/object-lookups-in-versionchange.js: Copied from LayoutTests/storage/indexeddb/object-lookups-in-versionchange.html.
        * storage/indexeddb/resources/open-bad-versions.js: Copied from LayoutTests/storage/indexeddb/open-bad-versions.html.
        * storage/indexeddb/resources/optional-arguments.js: Copied from LayoutTests/storage/indexeddb/optional-arguments.html.
        * storage/indexeddb/resources/prefetch-invalidation.js: Copied from LayoutTests/storage/indexeddb/prefetch-invalidation.html.
        * storage/indexeddb/resources/prefetch-race.js: Copied from LayoutTests/storage/indexeddb/prefetch-race.html.
        * storage/indexeddb/resources/primary-key-unique-to-objectstore.js: Copied from LayoutTests/storage/indexeddb/primary-key-unique-to-objectstore.html.
        * storage/indexeddb/resources/request-leak.js: Copied from LayoutTests/storage/indexeddb/request-leak.html.
        * storage/indexeddb/resources/request-result-cache.js: Copied from LayoutTests/storage/indexeddb/request-result-cache.html.
        * storage/indexeddb/resources/structured-clone.js: Copied from LayoutTests/storage/indexeddb/structured-clone.html.
        * storage/indexeddb/resources/transaction-complete-with-js-recursion-cross-frame.js: Copied from LayoutTests/storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html.
        * storage/indexeddb/resources/transaction-complete-with-js-recursion.js: Copied from LayoutTests/storage/indexeddb/transaction-complete-with-js-recursion.html.
        * storage/indexeddb/resources/transaction-crash-in-tasks.js: Copied from LayoutTests/storage/indexeddb/transaction-crash-in-tasks.html.
        * storage/indexeddb/resources/transaction-ordering.js: Copied from LayoutTests/storage/indexeddb/transaction-ordering.html.
        * storage/indexeddb/resources/transaction-overlapping.js: Copied from LayoutTests/storage/indexeddb/transaction-overlapping.html.
        * storage/indexeddb/resources/version-change-event-basic.js: Copied from LayoutTests/storage/indexeddb/version-change-event-basic.html.
        * storage/indexeddb/resources/version-change-event.js: Copied from LayoutTests/storage/indexeddb/version-change-event.html.
        * storage/indexeddb/structured-clone.html:
        * storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
        * storage/indexeddb/transaction-complete-with-js-recursion.html:
        * storage/indexeddb/transaction-crash-in-tasks.html:
        * storage/indexeddb/transaction-ordering.html:
        * storage/indexeddb/transaction-overlapping.html:
        * storage/indexeddb/transaction-starvation.html:
        * storage/indexeddb/version-change-event-basic.html:
        * storage/indexeddb/version-change-event.html:

2016-01-19  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid][css-align] justify-self stretch is not applied for img elements
        https://bugs.webkit.org/show_bug.cgi?id=153206

        Reviewed by Darin Adler.

        Test to verify Replaced Elements, like images, are stretched in the inline
        axis, when fulfilling the Box Alignment restrictions on this regard.

        * fast/css-grid-layout/grid-align-stretching-replaced-items-expected.txt: Added.
        * fast/css-grid-layout/grid-align-stretching-replaced-items.html: Added.

2016-01-19  Ryosuke Niwa  <rniwa@webkit.org>

        Text::splitText doesn't update Range end points anchored on parent nodes
        https://bugs.webkit.org/show_bug.cgi?id=153227

        Reviewed by Antti Koivisto.

        Added a regression test since the rebaselined W3C test is incomprehensible.

        * fast/dom/Range/update-range-in-split-text-expected.txt: Added.
        * fast/dom/Range/update-range-in-split-text.html: Added.

2016-01-19  Ryosuke Niwa  <rniwa@webkit.org>

        innerHTML should always add a mutation record for removing all children
        https://bugs.webkit.org/show_bug.cgi?id=148782
        <rdar://problem/22571962>

        Reviewed by Antti Koivisto.

        Add a more comprehensive test for replacing a single text node with innerHTML's setter to ensure
        WebKit's optimization to avoid replacing the node should not be observable by scripts in any way.

        * fast/dom/innerHTML-single-text-node-expected.txt: Added.
        * fast/dom/innerHTML-single-text-node.html: Added.

2016-01-18  Ryosuke Niwa  <rniwa@webkit.org>

        createAttribute should lowercase the attribute name in a HTML document
        https://bugs.webkit.org/show_bug.cgi?id=153112

        Reviewed by Darin Adler.

        Update tests, rebaseline tests, and add more test cases as needed.

        createAttribute lowercases localName and getAttributeNode finds attribute ignoring cases
        whereas createAttributeNS preserves localName's case and getAttributeNodeNS finds attribute preserving cases

        * fast/dom/Element/mozilla-dom-base-tests/test_bug1075702-expected.txt: Since the test is adding "aa" as well
        as "AA" as Attr nodes, we should be able to get both.
        * fast/dom/Element/mozilla-dom-base-tests/test_bug1075702.xhtml: Renamed from .html file since test cases here
        are more relevant for XHTML documents.

        * fast/dom/Element/getAttribute-check-case-sensitivity-expected.txt:
        * fast/dom/Element/script-tests/getAttribute-check-case-sensitivity.js:
        (testGetAttributeNodeMixedCase): Change the test case to retrieve the attribute name with lowercase name
        since createAttribute always lowercases the name in a HTML document.
        (testAttribNodeNamePreservesCase): Use getAttributeNode instead of getAttributeNodeNS since the former does
        case insensitive lookup as needed here.
        (testAttribNodeNamePreservesCaseGetNode): Ditto.
        (testAttribNodeNamePreservesCaseGetNode2): Ditto. Use createAttributeNS to create a case-preserving Attr node.

        * fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt:
        * fast/dom/Element/setAttributeNode-case-insensitivity.html: Since getAttributeNode does a case-insensitive
        lookup, we should be getting the same Attr node for both 'style' and 'STYLE'.

        * fast/dom/Element/setAttributeNode-for-existing-attribute-expected.txt: Rebaselined. This is a progression
        since we're now getting "green" when querying style.backgroundColor as expected.

        * fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-expected.txt:
        * fast/dom/Element/setAttributeNode-overriding-lowercase-values-1.html: Updated test cases for new behavior.

        * fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-xml-expected.txt: Added.
        * fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-xml.xhtml: Added. Test behaviors in a XML
        document.

2016-01-18  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add private-browsing variant for many IDB tests, and enable private browsing in Modern IDB.
        https://bugs.webkit.org/show_bug.cgi?id=153179

        Reviewed by Darin Adler.

        Update many expectations files to skip some of the new tests on some platforms:
        * TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/wk2/TestExpectations:
        
        Add a special case for URLs that end with "-private.html" to enable private browsing:
        * resources/js-test.js:
        
        Add a whole bunch of -private.html wrappers along with new test expectations, along 
        with some minor test changes to remove unnecessary ambiguity due to .html filename:
        * storage/indexeddb/aborted-versionchange-closes-private-expected.txt: Added.
        * storage/indexeddb/aborted-versionchange-closes-private.html: Added.
        * storage/indexeddb/basics-private-expected.txt: Added.
        * storage/indexeddb/basics-private.html: Added.
        * storage/indexeddb/create-and-remove-object-store-private-expected.txt: Added.
        * storage/indexeddb/create-and-remove-object-store-private.html: Added.
        * storage/indexeddb/create-object-store-options-private-expected.txt: Added.
        * storage/indexeddb/create-object-store-options-private.html: Added.
        * storage/indexeddb/createIndex-after-failure-private-expected.txt: Added.
        * storage/indexeddb/createIndex-after-failure-private.html: Added.
        * storage/indexeddb/createObjectStore-name-argument-required-private-expected.txt: Added.
        * storage/indexeddb/createObjectStore-name-argument-required-private.html: Added.
        * storage/indexeddb/createObjectStore-null-name-private-expected.txt: Added.
        * storage/indexeddb/createObjectStore-null-name-private.html: Added.
        * storage/indexeddb/cursor-added-bug-private-expected.txt: Added.
        * storage/indexeddb/cursor-added-bug-private.html: Added.
        * storage/indexeddb/cursor-advance-private-expected.txt: Added.
        * storage/indexeddb/cursor-advance-private.html: Added.
        * storage/indexeddb/cursor-basics-private-expected.txt: Added.
        * storage/indexeddb/cursor-basics-private.html: Added.
        * storage/indexeddb/cursor-continue-dir-private-expected.txt: Added.
        * storage/indexeddb/cursor-continue-dir-private.html: Added.
        * storage/indexeddb/cursor-continue-private-expected.txt: Added.
        * storage/indexeddb/cursor-continue-private.html: Added.
        * storage/indexeddb/cursor-continue-validity-private-expected.txt: Added.
        * storage/indexeddb/cursor-continue-validity-private.html: Added.
        * storage/indexeddb/cursor-delete-private-expected.txt: Added.
        * storage/indexeddb/cursor-delete-private.html: Added.
        * storage/indexeddb/cursor-finished-private-expected.txt: Added.
        * storage/indexeddb/cursor-finished-private.html: Added.
        * storage/indexeddb/cursor-inconsistency-private-expected.txt: Added.
        * storage/indexeddb/cursor-inconsistency-private.html: Added.
        * storage/indexeddb/cursor-index-delete-private-expected.txt: Added.
        * storage/indexeddb/cursor-index-delete-private.html: Added.
        * storage/indexeddb/cursor-key-order-private-expected.txt: Added.
        * storage/indexeddb/cursor-key-order-private.html: Added.
        * storage/indexeddb/cursor-prev-no-duplicate-private-expected.txt: Added.
        * storage/indexeddb/cursor-prev-no-duplicate-private.html: Added.
        * storage/indexeddb/cursor-primary-key-order-private-expected.txt: Added.
        * storage/indexeddb/cursor-primary-key-order-private.html: Added.
        * storage/indexeddb/cursor-properties-private-expected.txt: Added.
        * storage/indexeddb/cursor-properties-private.html: Added.
        * storage/indexeddb/cursor-reverse-bug-private-expected.txt: Added.
        * storage/indexeddb/cursor-reverse-bug-private.html: Added.
        * storage/indexeddb/cursor-skip-deleted-private-expected.txt: Added.
        * storage/indexeddb/cursor-skip-deleted-private.html: Added.
        * storage/indexeddb/cursor-update-private-expected.txt: Added.
        * storage/indexeddb/cursor-update-private.html: Added.
        * storage/indexeddb/cursor-update-value-argument-required-private-expected.txt: Added.
        * storage/indexeddb/cursor-update-value-argument-required-private.html: Added.
        * storage/indexeddb/cursor-value-private-expected.txt: Added.
        * storage/indexeddb/cursor-value-private.html: Added.
        * storage/indexeddb/database-basics-private-expected.txt: Added.
        * storage/indexeddb/database-basics-private.html: Added.
        * storage/indexeddb/database-close-private-expected.txt: Added.
        * storage/indexeddb/database-close-private.html: Added.
        * storage/indexeddb/database-closepending-flag-private-expected.txt: Added.
        * storage/indexeddb/database-closepending-flag-private.html: Added.
        * storage/indexeddb/database-deletepending-flag-private-expected.txt: Added.
        * storage/indexeddb/database-deletepending-flag-private.html: Added.
        * storage/indexeddb/database-name-undefined-private-expected.txt: Added.
        * storage/indexeddb/database-name-undefined-private.html: Added.
        * storage/indexeddb/database-odd-names-private-expected.txt: Added.
        * storage/indexeddb/database-odd-names-private.html: Added.
        * storage/indexeddb/database-quota-private-expected.txt: Added.
        * storage/indexeddb/database-quota-private.html: Added.
        * storage/indexeddb/database-wrapper-private-expected.txt: Added.
        * storage/indexeddb/database-wrapper-private.html: Added.
        * storage/indexeddb/delete-closed-database-object-private-expected.txt: Added.
        * storage/indexeddb/delete-closed-database-object-private.html: Added.
        * storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private-expected.txt: Added.
        * storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private.html: Added.
        * storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private-expected.txt: Added.
        * storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private.html: Added.
        * storage/indexeddb/delete-range-private-expected.txt: Added.
        * storage/indexeddb/delete-range-private.html: Added.
        * storage/indexeddb/deleteIndex-private-expected.txt: Added.
        * storage/indexeddb/deleteIndex-private.html: Added.
        * storage/indexeddb/deleteObjectStore-name-argument-required-private-expected.txt: Added.
        * storage/indexeddb/deleteObjectStore-name-argument-required-private.html: Added.
        * storage/indexeddb/deleteObjectStore-null-name-private-expected.txt: Added.
        * storage/indexeddb/deleteObjectStore-null-name-private.html: Added.
        * storage/indexeddb/deleted-objects-private-expected.txt: Added.
        * storage/indexeddb/deleted-objects-private.html: Added.
        * storage/indexeddb/deletedatabase-blocked-private-expected.txt: Added.
        * storage/indexeddb/deletedatabase-blocked-private.html: Added.
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private-expected.txt: Added.
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private.html: Added.
        * storage/indexeddb/deletedatabase-delayed-by-versionchange-private-expected.txt: Added.
        * storage/indexeddb/deletedatabase-not-blocked-private-expected.txt: Added.
        * storage/indexeddb/deletedatabase-not-blocked-private.html: Added.
        * storage/indexeddb/dont-wedge-private-expected.txt: Added.
        * storage/indexeddb/dont-wedge-private.html: Added.
        * storage/indexeddb/duplicates-private-expected.txt: Added.
        * storage/indexeddb/duplicates-private.html: Added.
        * storage/indexeddb/error-causes-abort-by-default-private-expected.txt: Added.
        * storage/indexeddb/error-causes-abort-by-default-private.html: Added.
        * storage/indexeddb/events-private-expected.txt: Added.
        * storage/indexeddb/events-private.html: Added.
        * storage/indexeddb/exception-in-event-aborts-private-expected.txt: Added.
        * storage/indexeddb/exception-in-event-aborts-private.html: Added.
        * storage/indexeddb/exceptions-private-expected.txt: Added.
        * storage/indexeddb/exceptions-private.html: Added.
        * storage/indexeddb/factory-cmp-private-expected.txt: Added.
        * storage/indexeddb/factory-cmp-private.html: Added.
        * storage/indexeddb/factory-deletedatabase-private-expected.txt: Added.
        * storage/indexeddb/factory-deletedatabase-private.html: Added.
        * storage/indexeddb/get-keyrange-private-expected.txt: Added.
        * storage/indexeddb/get-keyrange-private.html: Added.
        * storage/indexeddb/index-basics-private-expected.txt: Added.
        * storage/indexeddb/index-basics-private.html: Added.
        * storage/indexeddb/index-count-private-expected.txt: Added.
        * storage/indexeddb/index-count-private.html: Added.
        * storage/indexeddb/index-cursor-private-expected.txt: Added.
        * storage/indexeddb/index-cursor-private.html: Added.
        * storage/indexeddb/index-duplicate-keypaths-private-expected.txt: Added.
        * storage/indexeddb/index-duplicate-keypaths-private.html: Added.
        * storage/indexeddb/index-get-key-argument-required-private-expected.txt: Added.
        * storage/indexeddb/index-get-key-argument-required-private.html: Added.
        * storage/indexeddb/index-multientry-private-expected.txt: Added.
        * storage/indexeddb/index-multientry-private.html: Added.
        * storage/indexeddb/index-population-private-expected.txt: Added.
        * storage/indexeddb/index-population-private.html: Added.
        * storage/indexeddb/index-unique-private-expected.txt: Added.
        * storage/indexeddb/index-unique-private.html: Added.
        * storage/indexeddb/interfaces-private-expected.txt: Added.
        * storage/indexeddb/interfaces-private.html: Added.
        * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-private-expected.txt: Added.
        * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-private.html: Added.
        * storage/indexeddb/intversion-bad-parameters-private-expected.txt: Added.
        * storage/indexeddb/intversion-bad-parameters-private.html: Added.
        * storage/indexeddb/intversion-blocked-private-expected.txt: Added.
        * storage/indexeddb/intversion-blocked-private.html: Added.
        * storage/indexeddb/intversion-close-between-events-private-expected.txt: Added.
        * storage/indexeddb/intversion-close-between-events-private.html: Added.
        * storage/indexeddb/intversion-close-in-oncomplete-private-expected.txt: Added.
        * storage/indexeddb/intversion-close-in-oncomplete-private.html: Added.
        * storage/indexeddb/intversion-close-in-upgradeneeded-private-expected.txt: Added.
        * storage/indexeddb/intversion-close-in-upgradeneeded-private.html: Added.
        * storage/indexeddb/intversion-encoding-private-expected.txt: Added.
        * storage/indexeddb/intversion-encoding-private.html: Added.
        * storage/indexeddb/intversion-gated-on-delete-private-expected.txt: Added.
        * storage/indexeddb/intversion-gated-on-delete-private.html: Added.
        * storage/indexeddb/intversion-long-queue-private-expected.txt: Added.
        * storage/indexeddb/intversion-long-queue-private.html: Added.
        * storage/indexeddb/intversion-omit-parameter-private-expected.txt: Added.
        * storage/indexeddb/intversion-omit-parameter-private.html: Added.
        * storage/indexeddb/intversion-open-in-upgradeneeded-private-expected.txt: Added.
        * storage/indexeddb/intversion-open-in-upgradeneeded-private.html: Added.
        * storage/indexeddb/intversion-open-with-version-private-expected.txt: Added.
        * storage/indexeddb/intversion-open-with-version-private.html: Added.
        * storage/indexeddb/intversion-pending-version-changes-ascending-private-expected.txt: Added.
        * storage/indexeddb/intversion-pending-version-changes-ascending-private.html: Added.
        * storage/indexeddb/intversion-pending-version-changes-descending-private-expected.txt: Added.
        * storage/indexeddb/intversion-pending-version-changes-descending-private.html: Added.
        * storage/indexeddb/intversion-pending-version-changes-same-private-expected.txt: Added.
        * storage/indexeddb/intversion-pending-version-changes-same-private.html: Added.
        * storage/indexeddb/intversion-persistence-private-expected.txt: Added.
        * storage/indexeddb/intversion-persistence-private.html: Added.
        * storage/indexeddb/intversion-revert-on-abort-private-expected.txt: Added.
        * storage/indexeddb/intversion-revert-on-abort-private.html: Added.
        * storage/indexeddb/intversion-two-opens-no-versions-private-expected.txt: Added.
        * storage/indexeddb/intversion-two-opens-no-versions-private.html: Added.
        * storage/indexeddb/intversion-upgrades-private-expected.txt: Added.
        * storage/indexeddb/intversion-upgrades-private.html: Added.
        * storage/indexeddb/invalid-keys-private-expected.txt: Added.
        * storage/indexeddb/invalid-keys-private.html: Added.
        * storage/indexeddb/key-generator-private-expected.txt: Added.
        * storage/indexeddb/key-generator-private.html: Added.
        * storage/indexeddb/key-sort-order-across-types-private-expected.txt: Added.
        * storage/indexeddb/key-sort-order-across-types-private.html: Added.
        * storage/indexeddb/key-sort-order-date-private-expected.txt: Added.
        * storage/indexeddb/key-sort-order-date-private.html: Added.
        * storage/indexeddb/key-type-array-private-expected.txt: Added.
        * storage/indexeddb/key-type-array-private.html: Added.
        * storage/indexeddb/key-type-binary-private-expected.txt: Added.
        * storage/indexeddb/key-type-binary-private.html: Added.
        * storage/indexeddb/key-type-infinity-private-expected.txt: Added.
        * storage/indexeddb/key-type-infinity-private.html: Added.
        * storage/indexeddb/keypath-arrays-private-expected.txt: Added.
        * storage/indexeddb/keypath-arrays-private.html: Added.
        * storage/indexeddb/keypath-basics-private-expected.txt: Added.
        * storage/indexeddb/keypath-basics-private.html: Added.
        * storage/indexeddb/keypath-edges-private-expected.txt: Added.
        * storage/indexeddb/keypath-edges-private.html: Added.
        * storage/indexeddb/keypath-fetch-key-private-expected.txt: Added.
        * storage/indexeddb/keypath-fetch-key-private.html: Added.
        * storage/indexeddb/keypath-intrinsic-properties-private-expected.txt: Added.
        * storage/indexeddb/keypath-intrinsic-properties-private.html: Added.
        * storage/indexeddb/keyrange-private-expected.txt: Added.
        * storage/indexeddb/keyrange-private.html: Added.
        * storage/indexeddb/keyrange-required-arguments-private-expected.txt: Added.
        * storage/indexeddb/keyrange-required-arguments-private.html: Added.
        * storage/indexeddb/lazy-index-types-private-expected.txt: Added.
        * storage/indexeddb/lazy-index-types-private.html: Added.
        * storage/indexeddb/legacy-constants-private-expected.txt: Added.
        * storage/indexeddb/legacy-constants-private.html: Added.
        * storage/indexeddb/list-ordering-private-expected.txt: Added.
        * storage/indexeddb/list-ordering-private.html: Added.
        * storage/indexeddb/metadata-private-expected.txt: Added.
        * storage/indexeddb/metadata-private.html: Added.
        * storage/indexeddb/mutating-cursor-private-expected.txt: Added.
        * storage/indexeddb/mutating-cursor-private.html: Added.
        * storage/indexeddb/objectStore-required-arguments-private-expected.txt: Added.
        * storage/indexeddb/objectStore-required-arguments-private.html: Added.
        * storage/indexeddb/objectstore-autoincrement-private-expected.txt: Added.
        * storage/indexeddb/objectstore-autoincrement-private.html: Added.
        * storage/indexeddb/objectstore-basics-private-expected.txt: Added.
        * storage/indexeddb/objectstore-basics-private.html: Added.
        * storage/indexeddb/objectstore-clear-private-expected.txt: Added.
        * storage/indexeddb/objectstore-clear-private.html: Added.
        * storage/indexeddb/objectstore-count-private-expected.txt: Added.
        * storage/indexeddb/objectstore-count-private.html: Added.
        * storage/indexeddb/objectstore-cursor-private-expected.txt: Added.
        * storage/indexeddb/objectstore-cursor-private.html: Added.
        * storage/indexeddb/objectstore-removeobjectstore-private-expected.txt: Added.
        * storage/indexeddb/objectstore-removeobjectstore-private.html: Added.
        * storage/indexeddb/odd-strings-private-expected.txt: Added.
        * storage/indexeddb/odd-strings-private.html: Added.
        * storage/indexeddb/open-cursor-private-expected.txt: Added.
        * storage/indexeddb/open-cursor-private.html: Added.
        * storage/indexeddb/open-during-transaction-private-expected.txt: Added.
        * storage/indexeddb/open-during-transaction-private.html: Added.
        * storage/indexeddb/open-ordering-private-expected.txt: Added.
        * storage/indexeddb/open-ordering-private.html: Added.
        * storage/indexeddb/opencursor-key-private-expected.txt: Added.
        * storage/indexeddb/opencursor-key-private.html: Added.
        * storage/indexeddb/pending-activity-private-expected.txt: Added.
        * storage/indexeddb/pending-activity-private.html: Added.
        * storage/indexeddb/pending-version-change-on-exit-private-expected.txt: Added.
        * storage/indexeddb/pending-version-change-on-exit-private.html: Added.
        * storage/indexeddb/pending-version-change-stuck-private-expected.txt: Added.
        * storage/indexeddb/pending-version-change-stuck-private.html: Added.
        * storage/indexeddb/persistence-expected.txt:
        * storage/indexeddb/persistence-private-expected.txt: Copied from LayoutTests/storage/indexeddb/persistence-expected.txt.
        * storage/indexeddb/persistence-private.html: Added.
        * storage/indexeddb/prefetch-bugfix-108071-private-expected.txt: Added.
        * storage/indexeddb/prefetch-bugfix-108071-private.html: Added.
        * storage/indexeddb/queued-commands-private-expected.txt: Added.
        * storage/indexeddb/queued-commands-private.html: Added.
        * storage/indexeddb/readonly-private-expected.txt: Added.
        * storage/indexeddb/readonly-private.html: Added.
        * storage/indexeddb/readonly-properties-private-expected.txt: Added.
        * storage/indexeddb/readonly-properties-private.html: Added.
        * storage/indexeddb/removed-private-expected.txt: Added.
        * storage/indexeddb/removed-private.html: Added.
        * storage/indexeddb/request-continue-abort-private-expected.txt: Added.
        * storage/indexeddb/request-continue-abort-private.html: Added.
        * storage/indexeddb/request-event-propagation-private-expected.txt: Added.
        * storage/indexeddb/request-event-propagation-private.html: Added.
        * storage/indexeddb/resources/persistence.js:
        * storage/indexeddb/set_version_blocked-private-expected.txt: Added.
        * storage/indexeddb/set_version_blocked-private.html: Added.
        * storage/indexeddb/setversion-blocked-by-versionchange-close-private-expected.txt: Added.
        * storage/indexeddb/setversion-blocked-by-versionchange-close-private.html: Added.
        * storage/indexeddb/setversion-not-blocked-private-expected.txt: Added.
        * storage/indexeddb/setversion-not-blocked-private.html: Added.
        * storage/indexeddb/transaction-abort-private-expected.txt: Added.
        * storage/indexeddb/transaction-abort-private.html: Added.
        * storage/indexeddb/transaction-active-flag-private-expected.txt: Added.
        * storage/indexeddb/transaction-active-flag-private.html: Added.
        * storage/indexeddb/transaction-after-close-private-expected.txt: Added.
        * storage/indexeddb/transaction-after-close-private.html: Added.
        * storage/indexeddb/transaction-and-objectstore-calls-private-expected.txt: Added.
        * storage/indexeddb/transaction-and-objectstore-calls-private.html: Added.
        * storage/indexeddb/transaction-basics-private-expected.txt: Added.
        * storage/indexeddb/transaction-basics-private.html: Added.
        * storage/indexeddb/transaction-complete-workers-private-expected.txt: Added.
        * storage/indexeddb/transaction-complete-workers-private.html: Added.
        * storage/indexeddb/transaction-coordination-across-databases-private-expected.txt: Added.
        * storage/indexeddb/transaction-coordination-across-databases-private.html: Added.
        * storage/indexeddb/transaction-coordination-within-database-private-expected.txt: Added.
        * storage/indexeddb/transaction-coordination-within-database-private.html: Added.
        * storage/indexeddb/transaction-crash-on-abort-private-expected.txt: Added.
        * storage/indexeddb/transaction-crash-on-abort-private.html: Added.
        * storage/indexeddb/transaction-error-private-expected.txt: Added.
        * storage/indexeddb/transaction-error-private.html: Added.
        * storage/indexeddb/transaction-event-propagation-private-expected.txt: Added.
        * storage/indexeddb/transaction-event-propagation-private.html: Added.
        * storage/indexeddb/transaction-read-only-private-expected.txt: Added.
        * storage/indexeddb/transaction-read-only-private.html: Added.
        * storage/indexeddb/transaction-readwrite-exclusive-private-expected.txt: Added.
        * storage/indexeddb/transaction-readwrite-exclusive-private.html: Added.
        * storage/indexeddb/transaction-rollback-private-expected.txt: Added.
        * storage/indexeddb/transaction-rollback-private.html: Added.
        * storage/indexeddb/transaction-scope-sequencing-private-expected.txt: Added.
        * storage/indexeddb/transaction-scope-sequencing-private.html: Added.
        * storage/indexeddb/transaction-starvation-private-expected.txt: Added.
        * storage/indexeddb/transaction-storeNames-required-private-expected.txt: Added.
        * storage/indexeddb/transaction-storeNames-required-private.html: Added.
        * storage/indexeddb/unblocked-version-changes-private-expected.txt: Added.
        * storage/indexeddb/unblocked-version-changes-private.html: Added.
        * storage/indexeddb/unprefix-private-expected.txt: Added.
        * storage/indexeddb/unprefix-private.html: Added.
        * storage/indexeddb/value-undefined-private-expected.txt: Added.
        * storage/indexeddb/value-undefined-private.html: Added.
        * storage/indexeddb/values-odd-types-private-expected.txt: Added.
        * storage/indexeddb/values-odd-types-private.html: Added.
        * storage/indexeddb/version-change-abort-private-expected.txt: Added.
        * storage/indexeddb/version-change-abort-private.html: Added.
        * storage/indexeddb/version-change-exclusive-private-expected.txt: Added.
        * storage/indexeddb/version-change-exclusive-private.html: Added.
        * storage/indexeddb/versionchangerequest-activedomobject-private-expected.txt: Added.
        * storage/indexeddb/versionchangerequest-activedomobject-private.html: Added.

2016-01-18  Nan Wang  <n_wang@apple.com>

        AX: [Mac] Implement next/previous text marker functions using TextIterator
        https://bugs.webkit.org/show_bug.cgi?id=152728

        Reviewed by Chris Fleizach.

        * accessibility/mac/previous-next-text-marker-expected.txt: Added.
        * accessibility/mac/previous-next-text-marker.html: Added.
        * accessibility/mac/text-marker-with-user-select-none-expected.txt: Added.
        * accessibility/mac/text-marker-with-user-select-none.html: Added.

2016-01-17  Simon Fraser  <simon.fraser@apple.com>

        More displaylist tests, and minor cleanup
        https://bugs.webkit.org/show_bug.cgi?id=153198

        Reviewed by Zalan Bujtas.

        A couple more display list tests that check that the computed extent of an item
        includes shadows and transforms.

        WK1 results differ in that they disable should-subpixel-quantize-fonts in the state
        (which is a bug).

        Move some shared JS into a helper file.

        * displaylists/extent-includes-shadow-expected.txt: Added.
        * displaylists/extent-includes-shadow.html: Added.
        * displaylists/extent-includes-transforms-expected.txt: Added.
        * displaylists/extent-includes-transforms.html: Added.
        * displaylists/layer-dispay-list.html:
        * displaylists/resources/dump-target-display-list.js: Added.
        (doTest):
        * platform/mac-wk1/displaylists/extent-includes-shadow-expected.txt: Added.
        * platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt: Added.

2016-01-17  Brady Eidson  <beidson@apple.com>

        Modern IDB: .js test files should not log database names.
        https://bugs.webkit.org/show_bug.cgi?id=153181

        Reviewed by Alex Christensen.

        We'll be sharing .js files as well as test expectations between different HTML test files,
        and logging the filename is counter to this goal, as it will change depending on the HTML
        driver running the test.
        
        * storage/indexeddb/resources/shared.js:
        (setDBNameFromPath): eval() setting the filename instead of evalAndLog().

        * platform/wk2/storage/indexeddb/aborted-versionchange-closes-expected.txt:
        * platform/wk2/storage/indexeddb/create-and-remove-object-store-expected.txt:
        * platform/wk2/storage/indexeddb/cursor-continue-dir-expected.txt:
        * platform/wk2/storage/indexeddb/cursor-continue-expected.txt:
        * platform/wk2/storage/indexeddb/cursor-finished-expected.txt:
        * platform/wk2/storage/indexeddb/database-basics-expected.txt:
        * platform/wk2/storage/indexeddb/index-count-expected.txt:
        * platform/wk2/storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
        * platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
        * platform/wk2/storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
        * platform/wk2/storage/indexeddb/invalid-keys-expected.txt:
        * platform/wk2/storage/indexeddb/key-type-array-expected.txt:
        * platform/wk2/storage/indexeddb/keypath-arrays-expected.txt:
        * platform/wk2/storage/indexeddb/keypath-edges-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/bad-keypath-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/clear-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/cursors-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
        * platform/wk2/storage/indexeddb/mozilla/readonly-transactions-expected.txt:
        * platform/wk2/storage/indexeddb/object-lookups-in-versionchange-expected.txt:
        * platform/wk2/storage/indexeddb/objectstore-count-expected.txt:
        * platform/wk2/storage/indexeddb/open-cursor-expected.txt:
        * platform/wk2/storage/indexeddb/request-result-cache-expected.txt:
        * platform/wk2/storage/indexeddb/transaction-abort-expected.txt:
        * platform/wk2/storage/indexeddb/transaction-active-flag-expected.txt:
        * platform/wk2/storage/indexeddb/transaction-after-close-expected.txt:
        * platform/wk2/storage/indexeddb/transaction-read-only-expected.txt:
        * platform/wk2/storage/indexeddb/version-change-exclusive-expected.txt:
        * storage/indexeddb/aborted-versionchange-closes-expected.txt:
        * storage/indexeddb/clone-exception-expected.txt:
        * storage/indexeddb/closed-cursor-expected.txt:
        * storage/indexeddb/create-and-remove-object-store-expected.txt:
        * storage/indexeddb/create-object-store-options-expected.txt:
        * storage/indexeddb/createIndex-after-failure-expected.txt:
        * storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
        * storage/indexeddb/createObjectStore-null-name-expected.txt:
        * storage/indexeddb/cursor-added-bug-expected.txt:
        * storage/indexeddb/cursor-advance-expected.txt:
        * storage/indexeddb/cursor-basics-expected.txt:
        * storage/indexeddb/cursor-cast-expected.txt:
        * storage/indexeddb/cursor-continue-dir-expected.txt:
        * storage/indexeddb/cursor-continue-expected.txt:
        * storage/indexeddb/cursor-continue-validity-expected.txt:
        * storage/indexeddb/cursor-delete-expected.txt:
        * storage/indexeddb/cursor-finished-expected.txt:
        * storage/indexeddb/cursor-inconsistency-expected.txt:
        * storage/indexeddb/cursor-index-delete-expected.txt:
        * storage/indexeddb/cursor-key-order-expected.txt:
        * storage/indexeddb/cursor-overloads-expected.txt:
        * storage/indexeddb/cursor-prev-no-duplicate-expected.txt:
        * storage/indexeddb/cursor-primary-key-order-expected.txt:
        * storage/indexeddb/cursor-properties-expected.txt:
        * storage/indexeddb/cursor-reverse-bug-expected.txt:
        * storage/indexeddb/cursor-skip-deleted-expected.txt:
        * storage/indexeddb/cursor-update-expected.txt:
        * storage/indexeddb/cursor-update-value-argument-required-expected.txt:
        * storage/indexeddb/cursor-value-expected.txt:
        * storage/indexeddb/database-basics-expected.txt:
        * storage/indexeddb/database-close-expected.txt:
        * storage/indexeddb/database-closepending-flag-expected.txt:
        * storage/indexeddb/database-deletepending-flag-expected.txt:
        * storage/indexeddb/database-wrapper-expected.txt:
        * storage/indexeddb/delete-closed-database-object-expected.txt:
        * storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-expected.txt:
        * storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
        * storage/indexeddb/delete-range-expected.txt:
        * storage/indexeddb/deleteIndex-expected.txt:
        * storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
        * storage/indexeddb/deleteObjectStore-null-name-expected.txt:
        * storage/indexeddb/deleted-objects-expected.txt:
        * storage/indexeddb/deletedatabase-blocked-expected.txt:
        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
        * storage/indexeddb/deletedatabase-not-blocked-expected.txt:
        * storage/indexeddb/deletedatabase-transaction-expected.txt:
        * storage/indexeddb/dont-wedge-expected.txt:
        * storage/indexeddb/duplicates-expected.txt:
        * storage/indexeddb/error-causes-abort-by-default-expected.txt:
        * storage/indexeddb/exception-in-event-aborts-expected.txt:
        * storage/indexeddb/exceptions-expected.txt:
        * storage/indexeddb/factory-deletedatabase-expected.txt:
        * storage/indexeddb/get-keyrange-expected.txt:
        * storage/indexeddb/index-basics-expected.txt:
        * storage/indexeddb/index-count-expected.txt:
        * storage/indexeddb/index-cursor-expected.txt:
        * storage/indexeddb/index-duplicate-keypaths-expected.txt:
        * storage/indexeddb/index-get-key-argument-required-expected.txt:
        * storage/indexeddb/index-multientry-expected.txt:
        * storage/indexeddb/index-population-expected.txt:
        * storage/indexeddb/index-unique-expected.txt:
        * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
        * storage/indexeddb/intversion-bad-parameters-expected.txt:
        * storage/indexeddb/intversion-blocked-expected.txt:
        * storage/indexeddb/intversion-close-between-events-expected.txt:
        * storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
        * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
        * storage/indexeddb/intversion-encoding-expected.txt:
        * storage/indexeddb/intversion-gated-on-delete-expected.txt:
        * storage/indexeddb/intversion-long-queue-expected.txt:
        * storage/indexeddb/intversion-omit-parameter-expected.txt:
        * storage/indexeddb/intversion-open-in-upgradeneeded-expected.txt:
        * storage/indexeddb/intversion-open-with-version-expected.txt:
        * storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt:
        * storage/indexeddb/intversion-pending-version-changes-descending-expected.txt:
        * storage/indexeddb/intversion-pending-version-changes-same-expected.txt:
        * storage/indexeddb/intversion-persistence-expected.txt:
        * storage/indexeddb/intversion-revert-on-abort-expected.txt:
        * storage/indexeddb/intversion-two-opens-no-versions-expected.txt:
        * storage/indexeddb/intversion-upgrades-expected.txt:
        * storage/indexeddb/invalid-keys-expected.txt:
        * storage/indexeddb/key-generator-expected.txt:
        * storage/indexeddb/key-sort-order-across-types-expected.txt:
        * storage/indexeddb/key-sort-order-date-expected.txt:
        * storage/indexeddb/key-type-array-expected.txt:
        * storage/indexeddb/key-type-binary-expected.txt:
        * storage/indexeddb/key-type-infinity-expected.txt:
        * storage/indexeddb/keypath-arrays-expected.txt:
        * storage/indexeddb/keypath-basics-expected.txt:
        * storage/indexeddb/keypath-edges-expected.txt:
        * storage/indexeddb/keypath-fetch-key-expected.txt:
        * storage/indexeddb/keypath-intrinsic-properties-expected.txt:
        * storage/indexeddb/lazy-index-population-expected.txt:
        * storage/indexeddb/lazy-index-types-expected.txt:
        * storage/indexeddb/list-ordering-expected.txt:
        * storage/indexeddb/metadata-expected.txt:
        * storage/indexeddb/metadata-race-expected.txt:
        * storage/indexeddb/modern/abort-objectstore-info-expected.txt:
        * storage/indexeddb/modern/blocked-open-db-requests-expected.txt:
        * storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-4-expected.txt:
        * storage/indexeddb/mozilla/add-twice-failure-expected.txt:
        * storage/indexeddb/mozilla/autoincrement-indexes-expected.txt:
        * storage/indexeddb/mozilla/bad-keypath-expected.txt:
        * storage/indexeddb/mozilla/clear-expected.txt:
        * storage/indexeddb/mozilla/create-index-unique-expected.txt:
        * storage/indexeddb/mozilla/create-index-with-integer-keys-expected.txt:
        * storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
        * storage/indexeddb/mozilla/create-objectstore-null-name-expected.txt:
        * storage/indexeddb/mozilla/cursor-mutation-expected.txt:
        * storage/indexeddb/mozilla/cursor-mutation-objectstore-only-expected.txt:
        * storage/indexeddb/mozilla/cursor-update-updates-indexes-expected.txt:
        * storage/indexeddb/mozilla/cursors-expected.txt:
        * storage/indexeddb/mozilla/delete-result-expected.txt:
        * storage/indexeddb/mozilla/event-source-expected.txt:
        * storage/indexeddb/mozilla/global-data-expected.txt:
        * storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
        * storage/indexeddb/mozilla/indexes-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
        * storage/indexeddb/mozilla/object-cursors-expected.txt:
        * storage/indexeddb/mozilla/object-identity-expected.txt:
        * storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put-expected.txt:
        * storage/indexeddb/mozilla/object-store-remove-values-expected.txt:
        * storage/indexeddb/mozilla/objectstorenames-expected.txt:
        * storage/indexeddb/mozilla/odd-result-order-expected.txt:
        * storage/indexeddb/mozilla/put-get-values-expected.txt:
        * storage/indexeddb/mozilla/readonly-transactions-expected.txt:
        * storage/indexeddb/mozilla/readwrite-transactions-expected.txt:
        * storage/indexeddb/mozilla/readyState-expected.txt:
        * storage/indexeddb/mozilla/remove-index-expected.txt:
        * storage/indexeddb/mozilla/remove-objectstore-expected.txt:
        * storage/indexeddb/mozilla/versionchange-abort-expected.txt:
        * storage/indexeddb/mutating-cursor-expected.txt:
        * storage/indexeddb/noblobs-expected.txt:
        * storage/indexeddb/object-lookups-in-versionchange-expected.txt:
        * storage/indexeddb/objectStore-required-arguments-expected.txt:
        * storage/indexeddb/objectstore-autoincrement-expected.txt:
        * storage/indexeddb/objectstore-basics-expected.txt:
        * storage/indexeddb/objectstore-clear-expected.txt:
        * storage/indexeddb/objectstore-count-expected.txt:
        * storage/indexeddb/objectstore-cursor-expected.txt:
        * storage/indexeddb/objectstore-removeobjectstore-expected.txt:
        * storage/indexeddb/open-cursor-expected.txt:
        * storage/indexeddb/open-during-transaction-expected.txt:
        * storage/indexeddb/open-ordering-expected.txt:
        * storage/indexeddb/opencursor-key-expected.txt:
        * storage/indexeddb/optional-arguments-expected.txt:
        * storage/indexeddb/pending-activity-expected.txt:
        * storage/indexeddb/persistence-expected.txt:
        * storage/indexeddb/prefetch-bugfix-108071-expected.txt:
        * storage/indexeddb/prefetch-invalidation-expected.txt:
        * storage/indexeddb/prefetch-race-expected.txt:
        * storage/indexeddb/queued-commands-expected.txt:
        * storage/indexeddb/readonly-expected.txt:
        * storage/indexeddb/readonly-properties-expected.txt:
        * storage/indexeddb/request-continue-abort-expected.txt:
        * storage/indexeddb/request-event-propagation-expected.txt:
        * storage/indexeddb/request-result-cache-expected.txt:
        * storage/indexeddb/set_version_blocked-expected.txt:
        * storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
        * storage/indexeddb/setversion-not-blocked-expected.txt:
        * storage/indexeddb/structured-clone-expected.txt:
        * storage/indexeddb/transaction-abort-expected.txt:
        * storage/indexeddb/transaction-active-flag-expected.txt:
        * storage/indexeddb/transaction-after-close-expected.txt:
        * storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
        * storage/indexeddb/transaction-basics-expected.txt:
        * storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-expected.txt:
        * storage/indexeddb/transaction-complete-with-js-recursion-expected.txt:
        * storage/indexeddb/transaction-coordination-across-databases-expected.txt:
        * storage/indexeddb/transaction-coordination-within-database-expected.txt:
        * storage/indexeddb/transaction-crash-in-tasks-expected.txt:
        * storage/indexeddb/transaction-crash-on-abort-expected.txt:
        * storage/indexeddb/transaction-error-expected.txt:
        * storage/indexeddb/transaction-event-propagation-expected.txt:
        * storage/indexeddb/transaction-ordering-expected.txt:
        * storage/indexeddb/transaction-overlapping-expected.txt:
        * storage/indexeddb/transaction-read-only-expected.txt:
        * storage/indexeddb/transaction-readwrite-exclusive-expected.txt:
        * storage/indexeddb/transaction-rollback-expected.txt:
        * storage/indexeddb/transaction-scope-sequencing-expected.txt:
        * storage/indexeddb/transaction-starvation-expected.txt:
        * storage/indexeddb/transaction-storeNames-required-expected.txt:
        * storage/indexeddb/unblocked-version-changes-expected.txt:
        * storage/indexeddb/value-undefined-expected.txt:
        * storage/indexeddb/values-odd-types-expected.txt:
        * storage/indexeddb/version-change-abort-expected.txt:
        * storage/indexeddb/version-change-event-expected.txt:
        * storage/indexeddb/version-change-exclusive-expected.txt:

2016-01-16  Myles C. Maxfield  <mmaxfield@apple.com>

        Remove TextRun::allowsRoundingHacks()
        https://bugs.webkit.org/show_bug.cgi?id=153185

        Reviewed by Simon Fraser.

        * platform/mac/fast/text/rounding-hacks-expansion.html: Removed.
        * platform/mac/fast/text/rounding-hacks.html: Removed.
        * platform/mac/platform/mac/fast/text/rounding-hacks-expansion-expected.png: Removed.
        * platform/mac/platform/mac/fast/text/rounding-hacks-expansion-expected.txt: Removed.
        * platform/mac/platform/mac/fast/text/rounding-hacks-expected.png: Removed.
        * platform/mac/platform/mac/fast/text/rounding-hacks-expected.txt: Removed.
        * svg/text/svg-font-word-rounding-hacks-spaces-expected.html: Removed.
        * svg/text/svg-font-word-rounding-hacks-spaces.html: Removed.

2016-01-16  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Arrow function should support the destructuring parameters.
        https://bugs.webkit.org/show_bug.cgi?id=146934

        Reviewed by Saam Barati.

        * js/arrowfunction-syntax-errors-expected.txt:
        * js/arrowfunction-syntax-expected.txt:
        * js/script-tests/arrowfunction-syntax-errors.js:
        * js/script-tests/arrowfunction-syntax.js:

2016-01-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add tests for Array Utilities like lowerBound/upperBound
        https://bugs.webkit.org/show_bug.cgi?id=153177

        Reviewed by Timothy Hatcher.

        * inspector/unit-tests/array-utilities-expected.txt: Added.
        * inspector/unit-tests/array-utilities.html: Added.

2016-01-16  Simon Fraser  <simon.fraser@apple.com>

        This test needs to force layout before calling setElementUsesDisplayListDrawing(),
        so that the layer already has its "drawsContents" property updated.

        * displaylists/layer-dispay-list.html:

2016-01-15  Jiewen Tan  <jiewen_tan@apple.com>

        FrameLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame() is never called when loading a main resource from the memory cache
        https://bugs.webkit.org/show_bug.cgi?id=152520
        <rdar://problem/23305737>

        Reviewed by Andy Estes.

        * http/tests/loading/resources/server-redirect-result.html: Added.
        * http/tests/loading/resources/server-redirect.php: Added.
        * http/tests/loading/server-redirect-for-provisional-load-caching-expected.txt: Added.
        * http/tests/loading/server-redirect-for-provisional-load-caching.html: Added.

2016-01-15  Myles C. Maxfield  <mmaxfield@apple.com>

        Content blocking console messages are not deterministic for one test
        https://bugs.webkit.org/show_bug.cgi?id=153051

        Unreviewed.

        Console messages will print the line number of whichever JavaScript line is
        being parsed. However, font requests (and therefore content blockers) are
        not run in response to script. The solution is to add the webfont style
        from script, so the line number is deterministic.

        * http/tests/contentextensions/font-display-none-repeated-layout.html:

2016-01-15  Chris Dumez  <cdumez@apple.com>

        Drop obsolete HTMLDocument.width / height attributes
        https://bugs.webkit.org/show_bug.cgi?id=153144

        Reviewed by Ryosuke Niwa.

        * fast/dom/HTMLDocument/width-and-height-expected.txt: Removed.
        * fast/dom/HTMLDocument/width-and-height.html: Removed.
        Drop outdated test.

        * fast/dom/Window/window-property-invalid-characters-ignored-expected.txt:
        * fast/dom/Window/window-property-invalid-characters-ignored.html:
        Stop relying on Document.width / height as these are obsolete.

2016-01-15  Beth Dakin  <bdakin@apple.com>

        Add a test for touch events in scaled documents
        https://bugs.webkit.org/show_bug.cgi?id=153149
        -and corresponding-
        rdar://problem/24181371

        Reviewed by Simon Fraser.

        * fast/events/touch/ios/touch-event-in-scaled-document-expected.txt: Added.
        * fast/events/touch/ios/touch-event-in-scaled-document.html: Added.

2016-01-10  Simon Fraser  <simon.fraser@apple.com>

        Make a way to test display-list drawing
        https://bugs.webkit.org/show_bug.cgi?id=152956

        Reviewed by Ryosuke Niwa.
        
        Enable displaylists tests on Mac and iOS.

        * TestExpectations:
        * displaylists/layer-dispay-list-expected.txt: Added.
        * displaylists/layer-dispay-list.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2016-01-15  Ryosuke Niwa  <rniwa@webkit.org>

        createElementNS and createAttributeNS should treat undefined namespaceURI as null string
        https://bugs.webkit.org/show_bug.cgi?id=153119

        Reviewed by Chris Dumez.

        Add a regression test for calling createAttributeNS with undefined namespaceURI.

        * fast/dom/Document/createAttributeNS-undefined-namespace-expected.txt: Added.
        * fast/dom/Document/createAttributeNS-undefined-namespace.html: Added.

2016-01-15  Jiewen Tan  <jiewen_tan@apple.com>

        Refine http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer*
        https://bugs.webkit.org/show_bug.cgi?id=153140

        Reviewed by Alexey Proskuryakov.

        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-always.html:
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-default.html:
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-never.html:
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer-when-downgrade.html:
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer.html:
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-origin.html:
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-unsafe-url.html:
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped.html:
        * http/tests/contentdispositionattachmentsandbox/resources/referer-header-stripped.js:
        (onload):
        (navigation): Deleted.
        The reason why the tests are not completed after calling testRunner.notifyDone() is that the original navigation()
        is bound as the onload of the iframe which will dispatch two load events. Therefore, navigation() will be called
        twice. Here, change the navigation() to be bound with the main frame's onload function, which will restrict it to
        be called only once.

2016-01-15  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Font features are not applied to the system font
        https://bugs.webkit.org/show_bug.cgi?id=153053

        Reviewed by Dean Jackson.

        * fast/text/system-font-features-expected.html: Added.
        * fast/text/system-font-features.html: Added.

2016-01-15  Joseph Pecoraro  <pecoraro@apple.com>

        Media Query (-webkit-video-playable-inline) is failing as an invalid media query expression
        https://bugs.webkit.org/show_bug.cgi?id=153111

        Reviewed by Dean Jackson.

        * fast/media/video-playable-inline-media-query-expected.txt: Added.
        * fast/media/video-playable-inline-media-query.html: Added.
        * platform/ios-simulator/ios/fast/media/video-inline-expected.txt: Removed.
        * platform/ios-simulator/ios/fast/media/video-inline.html: Removed.

2016-01-15  Joseph Pecoraro  <pecoraro@apple.com>

        LayoutTest inspector/script-profiler/event-type-Other.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=153016
        <rdar://problem/24192919>

        Reviewed by Brian Burg.

        Introduce a better way for the inspected page to signal to
        the inspector page by dispatching an event with JSON data.
        Use it in this test to try to eliminate flakyness.

        * http/tests/inspector/resources/inspector-test.js:
        (TestPage.dispatchEventToFrontend):
        * http/tests/inspector/resources/protocol-test.js:
        (TestPage.runTest.window.runTest):
        (TestPage.dispatchEventToFrontend):
        * inspector/script-profiler/event-type-Other.html:
        * inspector/unit-tests/inspector-test-dispatch-event-to-frontend-expected.txt: Added.
        * inspector/unit-tests/inspector-test-dispatch-event-to-frontend.html: Added.
        * inspector/unit-tests/protocol-test-dispatch-event-to-frontend-expected.txt: Added.
        * inspector/unit-tests/protocol-test-dispatch-event-to-frontend.html: Added.
        * platform/mac/TestExpectations:

2016-01-15  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: canHaveChildren() || canHaveGeneratedChildren() in WebCore::RenderElement::insertChildInternal
        https://bugs.webkit.org/show_bug.cgi?id=123331

        Reviewed by Darin Adler.

        Do not set named flow fragment bit on the flow until after the renderer is attached. Setting/resetting it too early
        could affect the attach/detach process itself (This is similar to attaching a multi column flow thread).

        * fast/regions/input-box-with-region-assert-expected.txt: Added.
        * fast/regions/input-box-with-region-assert.html: Added.

2016-01-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix some typos in unit tests
        https://bugs.webkit.org/show_bug.cgi?id=153141

        Reviewed by Brian Burg.

        * inspector/unit-tests/async-test-suite-expected.txt:
        * inspector/unit-tests/async-test-suite.html:
        * inspector/unit-tests/sync-test-suite-expected.txt:
        * inspector/unit-tests/sync-test-suite.html:
        Fix some typos.

2016-01-15  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tables/mozilla_expected_failures/bugs/bug89315.html for ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152130

        Unreviewed test gardening.

        * platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:

2016-01-15  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement Date.prototype.toLocaleString in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147611

        Reviewed by Benjamin Poulain.

        * js/intl-datetimeformat-expected.txt: Added test for null options.
        * js/date-toLocaleString-expected.txt: Added.
        * js/date-toLocaleString.html: Added.
        * js/script-tests/intl-datetimeformat.js: Added test for null options.
        * js/script-tests/date-toLocaleString.js: Added.

2016-01-15  Antti Koivisto  <antti@apple.com>

        Switch out from ES6 arrow function syntax to allow the test to work with an older WebKit.

        * fast/loader/cache-encoding.html:

2016-01-15  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Streams API] Expose ReadableStream and relatives to Worker
        https://bugs.webkit.org/show_bug.cgi?id=152066

        Reviewed by Darin Adler.

        Rebasing tests as ReadableStream is now available in workers.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2016-01-15  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        CORS: Fix the handling of redirected request containing Origin null.
        https://bugs.webkit.org/show_bug.cgi?id=128816

        Reviewed by Brent Fulgham.

        Merging Blink patch from George Ancil (https://chromiumcodereview.appspot.com/20735002)

        Added two tests to check CORS with Origin null in HTTP redirect and iframe cases.
        Updated two test sandboxed iframes test expectations (requests are still denied but error messages are different).

        * http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow-origin-null-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow-origin-null.html: Added.
        * 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/redirect-cors-origin-null-expected.txt: Added.
        * http/tests/xmlhttprequest/redirect-cors-origin-null.html: Added.
        * http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow-origin-null-iframe.html: Added.
        * http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow-origin-null.cgi: Added.
        * http/tests/xmlhttprequest/resources/redirect-cors-origin-null-pass.php: Added.
        * http/tests/xmlhttprequest/resources/redirect-cors-origin-null.php: Added.

2016-01-14  Commit Queue  <commit-queue@webkit.org>

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

        test fails most of the time (Requested by alexchristensen on
        #webkit).

        Reverted changeset:

        "Avoid downloading the wrong image for <picture> elements."
        https://bugs.webkit.org/show_bug.cgi?id=153027
        http://trac.webkit.org/changeset/195064

2016-01-14  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening after r195088

        Unreviewed.

        * http/tests/contentextensions/font-display-none-repeated-layout-expected.txt:

2016-01-14  Myles C. Maxfield  <mmaxfield@apple.com>

        Mixing Content Blocking of fonts and display:none rules causes battery drain
        https://bugs.webkit.org/show_bug.cgi?id=153051
        <rdar://problem/23187709>

        Reviewed by Alex Christensen.

        Make sure that layoutCount does not skyrocket.

        * http/tests/contentextensions/font-display-none-repeated-layout-expected.txt: Added.
        * http/tests/contentextensions/font-display-none-repeated-layout.html: Added.
        * http/tests/contentextensions/font-display-none-repeated-layout.html.json: Added.

2016-01-14  Ryosuke Niwa  <rniwa@webkit.org>

        Add document.defineCustomElement
        https://bugs.webkit.org/show_bug.cgi?id=153092

        Reviewed by Chris Dumez.

        Added tests for document.defineCustomElement and instantiating custom elements.

        * TestExpectations: Skipped the tests on non-Mac ports.
        * fast/custom-elements: Added.
        * fast/custom-elements/Document-defineCustomElement-expected.txt: Added.
        * fast/custom-elements/Document-defineCustomElement.html: Added.
        * fast/custom-elements/HTMLElement-constructor-expected.txt: Added.
        * fast/custom-elements/HTMLElement-constructor.html: Added.
        * platform/mac/TestExpectations:

2016-01-14  Beth Dakin  <bdakin@apple.com>

        WK2: Request completion candidates when needed
        https://bugs.webkit.org/show_bug.cgi?id=153040
        -and corresponding-
        rdar://problem/24155631

        Reviewed by Enrica Casucci and Tim Horton.

        Getting updated EditorState in platformEditorState causes some extra layout 
        to happen, so now the layout test results for WK2 reflect the results that we 
        already see on iOS for this test and they reflect the render tree as it is 
        when you load the page in browser.
        * platform/mac/fast/dom/focus-contenteditable-expected.txt:

        WebKit 1 is not affected by these new results, so this adds WK-1 only results 
        that match the old Mac results.
        * platform/mac-wk1/fast/dom: Added.
        * platform/mac-wk1/fast/dom/focus-contenteditable-expected.txt: Added.

2016-01-14  Daniel Bates  <dabates@apple.com>

        Disallow use of Geolocation service from unique origins
        https://bugs.webkit.org/show_bug.cgi?id=153102
        <rdar://problem/23055645>

        Reviewed by Alexey Proskuryakov.

        * fast/dom/Geolocation/dataURL-getCurrentPosition-expected.txt: Added.
        * fast/dom/Geolocation/dataURL-getCurrentPosition.html: Added.
        * fast/dom/Geolocation/dataURL-watchPosition-expected.txt: Added.
        * fast/dom/Geolocation/dataURL-watchPosition.html: Added.
        * fast/dom/Geolocation/srcdoc-getCurrentPosition-expected.txt: Added.
        * fast/dom/Geolocation/srcdoc-getCurrentPosition.html: Added.
        * fast/dom/Geolocation/srcdoc-watchPosition-expected.txt: Added.
        * fast/dom/Geolocation/srcdoc-watchPosition.html: Added.
        * http/tests/security/resources/checkThatPositionErrorCallbackIsCalledWithPositionUnavailableForGeolocationMethod.js: Added.
        (done):
        (logMessage):
        (didReceivePosition):
        (didReceiveError):
        (checkThatPositionErrorCallbackIsCalledWithPositionUnavailableForGeolocationMethod):
        (markupToCheckThatPositionErrorCallbackIsCalledWithPositionUnavailableForGeolocationMethod):
        (dataURLToCheckThatPositionErrorCallbackIsCalledWithPositionUnavailableForGeolocationMethod):
        * http/tests/security/resources/sandboxed-iframe-geolocation-getCurrentPosition.html: Added.
        * http/tests/security/resources/sandboxed-iframe-geolocation-watchPosition.html: Added.
        * http/tests/security/sandboxed-iframe-geolocation-getCurrentPosition-expected.txt: Added.
        * http/tests/security/sandboxed-iframe-geolocation-getCurrentPosition.html: Added.
        * http/tests/security/sandboxed-iframe-geolocation-watchPosition-expected.txt: Added.
        * http/tests/security/sandboxed-iframe-geolocation-watchPosition.html: Added.

2016-01-14  Daniel Bates  <dabates@apple.com>

        [XSS Auditor] Partial bypass when web server collapses path components
        https://bugs.webkit.org/show_bug.cgi?id=152872

        Reviewed by Brent Fulgham.

        Merged from Blink (patch by Tom Sepez <tsepez@chromium.org>):
        <https://src.chromium.org/viewvc/blink?revision=167610&view=revision>

        * http/tests/security/xssAuditor/embed-tag-in-path-unterminated-expected.txt: Added.
        * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: Added.
        * http/tests/security/xssAuditor/intercept/.htaccess:

2016-01-14  Zalan Bujtas  <zalan@apple.com>

        [iOS Simulator] fast/table/003.html failing
        https://bugs.webkit.org/show_bug.cgi?id=152444

        Unreviewed gardening.

        * platform/ios-simulator/fast/table/003-expected.txt:

2016-01-14  Keith Miller  <keith_miller@apple.com>

        [ES6] Support subclassing Function.
        https://bugs.webkit.org/show_bug.cgi?id=153081

        Reviewed by Geoffrey Garen.

        Rebasline tests with the new clearer error message.

        * js/class-syntax-extends-expected.txt:
        * js/script-tests/class-syntax-extends.js:

2016-01-14  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !newRelayoutRoot.container() || !newRelayoutRoot.container()->needsLayout() in WebCore::FrameView::scheduleRelayoutOfSubtree
        https://bugs.webkit.org/show_bug.cgi?id=151605#c1

        Reviewed by David Hyatt.

        Do not let RenderMultiColumnSet/RenderFlowThread mark ancestors dirty while updating scrollbars
        for overflow content. While updating scrollbars, we only layout descendants so marking parents dirty
        is unnecessary and could lead to an invalid dirty state.

        * fast/multicol/body-stuck-with-dirty-bit-with-columns-expected.txt: Added.
        * fast/multicol/body-stuck-with-dirty-bit-with-columns.html: Added.

2016-01-14  Dave Hyatt  <hyatt@apple.com>

        Avoid downloading the wrong image for <picture> elements.
        https://bugs.webkit.org/show_bug.cgi?id=153027

        Reviewed by Dean Jackson.

        * fast/picture/image-picture-loads-1x-expected.txt: Added.
        * fast/picture/image-picture-loads-1x.html: Added.

2016-01-14  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Move streams/webkitGetUserMedia-shadowing-then.html to fast/mediastream
        https://bugs.webkit.org/show_bug.cgi?id=152973

        Reviewed by Brent Fulgham.

        Moved the test, made it asynchronous to ensure that the error callback is called.

        * fast/mediastream/webkitGetUserMedia-shadowing-then-expected.txt: Renamed from LayoutTests/streams/webkitGetUserMedia-shadowing-then-expected.txt.
        * fast/mediastream/webkitGetUserMedia-shadowing-then.html: Renamed from LayoutTests/streams/webkitGetUserMedia-shadowing-then.html.

2016-01-14  Commit Queue  <commit-queue@webkit.org>

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

        Crashes many/most editing tests (Requested by ap on #webkit).

        Reverted changeset:

        "WK2: Request completion candidates when needed"
        https://bugs.webkit.org/show_bug.cgi?id=153040
        http://trac.webkit.org/changeset/195002

2016-01-14  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [EFL] Hyphenation can never work in practice due to requirements on lang tags
        https://bugs.webkit.org/show_bug.cgi?id=147310

        Reviewed by Michael Catanzaro.

        Update some baselines and add a GTK+ specific test for locale variations.

        * platform/gtk/fast/text/hyphenate-flexible-locales-expected.html: Added.
        * platform/gtk/fast/text/hyphenate-flexible-locales.html: Added.
        * platform/gtk/fast/text/hyphenate-locale-expected.png: We now properly hyphenate
        text with the 'en' locale.
        * platform/gtk/fast/text/hyphenate-locale-expected.txt:

2016-01-14  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Fix problems with cross-origin redirects
        https://bugs.webkit.org/show_bug.cgi?id=116075

        Reviewed by Daniel Bates.

        Merging https://chromium.googlesource.com/chromium/blink/+/7ea774e478f84f355748108d2aaabca15355d512 by Ken Russell
        This merge adds tests for cross origin requests triggered from same origin redirection responses with and without credentials).
        Rebaseline of some tests due to console error messages generated from newly hit CORS checks.

        * TestExpectations: Disabled WPT tests that require access to non localhost URLs which are currently blocked by DTR/WTR.
        * http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin.html: Added.
        * http/tests/xmlhttprequest/access-control-and-redirects-async.html:
        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects.html:
        * http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
        * http/tests/xmlhttprequest/resources/access-control-basic-allow-no-credentials.cgi: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:

2016-01-13  Ryan Haddad  <ryanhaddad@apple.com>

        Marking test as flaky: sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.3_encodeURI/S15.1.3.3_A2.4_T2.html
        https://bugs.webkit.org/show_bug.cgi?id=153086

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-01-13  Beth Dakin  <bdakin@apple.com>

        WK2: Request completion candidates when needed
        https://bugs.webkit.org/show_bug.cgi?id=153040
        -and corresponding-
        rdar://problem/24155631

        Reviewed by Enrica Casucci.

        Getting updated EditorState in platformEditorState causes some extra layout 
        to happen, so now the layout test results for WK2 reflect the results that we 
        already see on iOS for this test and they reflect the render tree as it is 
        when you load the page in browser.
        * platform/mac/fast/dom/focus-contenteditable-expected.txt:

        WebKit 1 is not affected by these new results, so this adds WK-1 only results 
        that match the old Mac results.
        * platform/mac-wk1/fast/dom: Added.
        * platform/mac-wk1/fast/dom/focus-contenteditable-expected.txt: Added.

2016-01-12  Ryosuke Niwa  <rniwa@webkit.org>

        formaction must return document's address when formaction is missing
        https://bugs.webkit.org/show_bug.cgi?id=148874

        Reviewed by Chris Dumez.

        Added a regression test and rebaselined imported W3C tests.

        * fast/forms/formaction-attribute-with-empty-value-expected.txt: Added.
        * fast/forms/formaction-attribute-with-empty-value.html: Added.
        * fast/forms/submit-form-attributes-expected.txt:
        * fast/forms/submit-form-attributes.html:

2016-01-13  Mark Lam  <mark.lam@apple.com>

        The StringFromCharCode DFG intrinsic should support untyped operands.
        https://bugs.webkit.org/show_bug.cgi?id=153046

        Reviewed by Geoffrey Garen.

        * js/regress/ftl-polymorphic-StringFromCharCode-expected.txt: Added.
        * js/regress/ftl-polymorphic-StringFromCharCode.html: Added.
        * js/regress/script-tests/ftl-polymorphic-StringFromCharCode.js: Added.
        (o1.valueOf):
        (foo):

2016-01-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Inspector should use the last sourceURL / sourceMappingURL directive
        https://bugs.webkit.org/show_bug.cgi?id=153072
        <rdar://problem/24168312>

        Reviewed by Timothy Hatcher.

        * inspector/console/console-api-expected.txt:
        * inspector/console/console-table-expected.txt:
        * platform/mac/inspector/model/remote-object-expected.txt:
        Updated line number in output now that code evaluated through the frontend
        gets the __WebInspectorInternal__ sourceURL prepended to the start instead
        of appended to the end.

        * inspector/debugger/sourceURLs-expected.txt:
        * inspector/debugger/sourceURLs.html:
        Update the test to find the second sourceURL, not the first.

2016-01-13  Daniel Bates  <dabates@apple.com>

        [XSS Auditor] Do not include trailing comment characters in JavaScript snippets
        https://bugs.webkit.org/show_bug.cgi?id=152873

        Reviewed by Brent Fulgham.

        Merged from Blink (patch by Tom Sepez <tsepez@chromium.org>):
        <https://src.chromium.org/viewvc/blink?view=rev&revision=169967>

        * http/tests/security/xssAuditor/script-tag-with-injected-comment-expected.txt: Added.
        * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: Added.

2016-01-13  Daniel Bates  <dabates@apple.com>

        [XSS Auditor] Add test when XSS payload is in the path portion of the URL
        https://bugs.webkit.org/show_bug.cgi?id=152871

        Reviewed by Brent Fulgham.

        Merged from Blink (patch by Tom Sepez <tsepez@chromium.org>):
        <https://src.chromium.org/viewvc/blink?revision=164746&view=revision>

        Add infrastructure and a test for an XSS attack where the payload is
        embedded in the path portion of the URL.

        Many XSS Auditor tests pass the XSS payload to CGI scripts via the
        query string portion of the URL. Now we also support calling these
        same scripts with the payload embedded in the path portion of the
        URL.

        Loading <http://127.0.0.1:8000/security/xssAuditor/intercept/X/Y>
        returns a response whose content is identical to <http://127.0.0.1:8000/security/xssAuditor/resoures/X?q=Y>,
        where X is the filename of some CGI script in directory LayoutTests/http/tests/security/xssAuditor/resources
        and Y is the XSS payload.

        * http/tests/security/xssAuditor/intercept/.htaccess: Added.
        * http/tests/security/xssAuditor/reflection-in-path-expected.txt: Added.
        * http/tests/security/xssAuditor/reflection-in-path.html: Added.
        * http/tests/security/xssAuditor/resources/echo-form-action.pl: Added.

2016-01-13  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Add support for RTCRtpSender.replaceTrack()
        https://bugs.webkit.org/show_bug.cgi?id=153063

        Reviewed by Eric Carlson.

        Add API test for RTCRtpSender.replaceTrack(). A successful call is still
        rejected (promise) until proper support is available in the WebRTC backend.

        * fast/mediastream/RTCRtpSender-replaceTrack-expected.txt: Added.
        * fast/mediastream/RTCRtpSender-replaceTrack.html: Added.

2016-01-13  Mario Sanchez Prada  <mario@webkit.org>

        [GTK] Unreviewed gardening.

        * platform/gtk/TestExpectations: Mark three tests failing in the
        GTK bots as Crash, Timeout (release builds only) and Failure.

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

        Changing expectation from flaky to skip for two crashing tests.
        https://bugs.webkit.org/show_bug.cgi?id=152279

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-12  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r194926 and r194928.
        https://bugs.webkit.org/show_bug.cgi?id=153048

        This change is causing LayoutTest crashes (Requested by
        ryanhaddad on #webkit).

        Reverted changesets:

        "Avoid downloading the wrong image for <picture> elements."
        https://bugs.webkit.org/show_bug.cgi?id=153027
        http://trac.webkit.org/changeset/194926

        "Avoid downloading the wrong image for <picture> elements."
        https://bugs.webkit.org/show_bug.cgi?id=153027
        http://trac.webkit.org/changeset/194928

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

        [iOS] Antialiasing doesn't work in WebGL
        https://bugs.webkit.org/show_bug.cgi?id=153000
        <rdar://problem/9165531>

        Reviewed by Alex Christensen.

        New test to check if WebGL antialiasing happened on a rendered canvas.

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

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

        Skipped more tests related to picture element on ios-simulator and grouped them together in TestExpectations file.

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Skipping crashing test fast/picture/image-picture-loads-1x.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=153043

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-12  Dave Hyatt  <hyatt@apple.com>

        Avoid downloading the wrong image for <picture> elements.
        https://bugs.webkit.org/show_bug.cgi?id=153027

        Reviewed by Dean Jackson.

        * fast/picture/image-picture-loads-1x-expected.txt: Added.
        * fast/picture/image-picture-loads-1x.html: Added.

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

        XSS Auditor should navigate to empty substitute data on full page block
        https://bugs.webkit.org/show_bug.cgi?id=152868
        <rdar://problem/18658448>

        Reviewed by David Kilzer and Andy Estes.

        Derived from Blink patch (by Tom Sepez <tsepez@chromium.org>):
        <https://src.chromium.org/viewvc/blink?view=rev&revision=179240>

        Added additional test block-does-not-leak-that-page-was-blocked-using-empty-data-url.html to explicitly
        tests that we do redirect to an empty data URL when a full page block is triggered.

        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
        * http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
        * http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
        * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url-expected.txt: Added.
        * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: Added.
        * http/tests/security/xssAuditor/full-block-base-href-expected.txt:
        * http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
        * http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
        * http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
        * http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
        * http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
        * http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
        * http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
        * http/tests/security/xssAuditor/full-block-script-tag.html:
        * http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
        * http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:

2016-01-12  Jiewen Tan  <jiewen_tan@apple.com>

        Null dereference loading Blink layout test fast/frames/navigation-in-pagehide.html
        https://bugs.webkit.org/show_bug.cgi?id=149303
        <rdar://problem/22747634>

        Reviewed by Brent Fulgham.

        * imported/blink/fast/frames/navigation-in-pagehide-expected.txt: Added.
        * imported/blink/fast/frames/navigation-in-pagehide.html: Added.

2016-01-12  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Update RTCPeerConnection.add/removeTrack() and add test
        https://bugs.webkit.org/show_bug.cgi?id=153010

        Reviewed by Eric Carlson.

        Add test for RTCPeerConnection.add/removeTrack() (currently not covered by other tests).
        This test also covers some of the functionality of RTCRtpSender.

        * fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-add-removeTrack.html: Added.

2016-01-12  Jiewen Tan  <jiewen_tan@apple.com>

        Null dereference loading Blink layout test editing/selection/selectstart-event-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=150210
        <rdar://problem/23137259>

        Reviewed by Brent Fulgham.

        * imported/blink/editing/selection/selectstart-event-crash-expected.txt: Added.
        * imported/blink/editing/selection/selectstart-event-crash.html: Added.
        * platform/ios-simulator-wk2/TestExpectations:

2016-01-12  Jiewen Tan  <jiewen_tan@apple.com>

        Null dereference loading Blink layout test editing/apply-inline-style-to-element-with-no-renderer-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=149287
        <rdar://problem/22746217>

        Reviewed by Brent Fulgham.

        * imported/blink/editing/apply-inline-style-to-element-with-no-renderer-crash-expected.txt: Added.
        * imported/blink/editing/apply-inline-style-to-element-with-no-renderer-crash.html: Added.

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

        Modern IDB: storage/indexeddb/dont-wedge.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=152892

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-12  Antti Koivisto  <antti@apple.com>

        Don't reuse memory cache entries with different charset
        https://bugs.webkit.org/show_bug.cgi?id=110031

        Reviewed by Andreas Kling.

        * fast/loader/cache-encoding-expected.txt: Added.
        * fast/loader/cache-encoding.html: Added.
        * fast/loader/resources/success.js: Added.

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

        Marking inspector/model/scope-chain-node.html as flaky on Mac debug
        https://bugs.webkit.org/show_bug.cgi?id=153018

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

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

        Marking inspector/script-profiler/event-type-Other.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=153016

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline test results after r194847.

        Before r194847 we were always taking the separator of combo boxes
        into account when calculating the size of menu list buttons, even
        when we didn't render the separator. In r194847 we removed all the
        code to deal with separators in combo boxes. Also, since r194847
        we are correctly adding the padding between the icon and the text
        in search fileds.

        * platform/gtk/css3/selectors3/html/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.txt:
        * platform/gtk/editing/pasteboard/4641033-expected.txt:
        * platform/gtk/editing/pasteboard/4944770-1-expected.txt:
        * platform/gtk/editing/pasteboard/4944770-2-expected.txt:
        * platform/gtk/editing/selection/caret-before-select-expected.txt:
        * platform/gtk/editing/selection/replaced-boundaries-3-expected.txt:
        * platform/gtk/editing/selection/select-box-expected.txt:
        * platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt:
        * platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt:
        * platform/gtk/fast/css/input-search-padding-expected.txt:
        * platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
        * platform/gtk/fast/css/text-overflow-input-expected.txt:
        * platform/gtk/fast/css/text-transform-select-expected.txt:
        * platform/gtk/fast/forms/001-expected.txt:
        * platform/gtk/fast/forms/003-expected.txt:
        * platform/gtk/fast/forms/004-expected.txt:
        * platform/gtk/fast/forms/basic-inputs-expected.txt:
        * platform/gtk/fast/forms/basic-selects-expected.txt:
        * platform/gtk/fast/forms/box-shadow-override-expected.txt:
        * platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
        * platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
        * platform/gtk/fast/forms/form-element-geometry-expected.txt:
        * platform/gtk/fast/forms/input-appearance-height-expected.txt:
        * platform/gtk/fast/forms/input-value-expected.txt:
        * platform/gtk/fast/forms/menulist-deselect-update-expected.txt:
        * platform/gtk/fast/forms/menulist-narrow-width-expected.txt:
        * platform/gtk/fast/forms/menulist-no-overflow-expected.txt:
        * platform/gtk/fast/forms/menulist-restrict-line-height-expected.txt:
        * platform/gtk/fast/forms/menulist-separator-painting-expected.txt:
        * platform/gtk/fast/forms/menulist-style-color-expected.txt:
        * platform/gtk/fast/forms/menulist-width-change-expected.txt:
        * platform/gtk/fast/forms/option-script-expected.txt:
        * platform/gtk/fast/forms/option-strip-whitespace-expected.txt:
        * platform/gtk/fast/forms/placeholder-position-expected.txt:
        * platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/gtk/fast/forms/search-rtl-expected.txt:
        * platform/gtk/fast/forms/search-styled-expected.txt:
        * platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
        * platform/gtk/fast/forms/searchfield-heights-expected.txt:
        * platform/gtk/fast/forms/select-background-none-expected.txt:
        * platform/gtk/fast/forms/select-baseline-expected.txt:
        * platform/gtk/fast/forms/select-change-listbox-to-popup-expected.txt:
        * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.txt:
        * platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
        * platform/gtk/fast/forms/select-element-focus-ring-expected.txt:
        * platform/gtk/fast/forms/select-initial-position-expected.txt:
        * platform/gtk/fast/forms/select-selected-expected.txt:
        * platform/gtk/fast/forms/select-size-expected.txt:
        * platform/gtk/fast/forms/select-style-expected.txt:
        * platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
        * platform/gtk/fast/forms/select/optgroup-rendering-expected.txt:
        * platform/gtk/fast/forms/selectlist-minsize-expected.txt:
        * platform/gtk/fast/forms/stuff-on-my-optgroup-expected.txt:
        * platform/gtk/fast/forms/validation-message-appearance-expected.txt:
        * platform/gtk/fast/html/keygen-expected.txt:
        * platform/gtk/fast/invalid/014-expected.txt:
        * platform/gtk/fast/parser/document-write-option-expected.txt:
        * platform/gtk/fast/repaint/search-field-cancel-expected.txt:
        * platform/gtk/fast/replaced/replaced-breaking-expected.txt:
        * platform/gtk/fast/replaced/replaced-breaking-mixture-expected.txt:
        * platform/gtk/fast/replaced/three-selects-break-expected.txt:
        * platform/gtk/fast/replaced/width100percent-menulist-expected.txt:
        * platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:

2016-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        Inconsistencies in main resource load delegates when loading from history
        https://bugs.webkit.org/show_bug.cgi?id=150927

        Reviewed by Michael Catanzaro.

        Add test to check that main resource load delegates are emitted in
        the same order before the load is committed when loading a page
        from history with the page cache enabled and disabled.

        * http/tests/loading/main-resource-delegates-on-back-navigation-expected.txt: Added.
        * http/tests/loading/main-resource-delegates-on-back-navigation.html: Added.
        * http/tests/loading/resources/page-go-back-onload.html: Added.
        * loader/go-back-cached-main-resource-expected.txt:

2016-01-11  Johan K. Jensen  <jj@johanjensen.dk>

        Web Inspector: console.count() shouldn't show a colon in front of a number
        https://bugs.webkit.org/show_bug.cgi?id=152038

        Reviewed by Brian Burg.

        * inspector/console/console-api-expected.txt:
        * inspector/console/console-api.html:
        Add testcases for console.count

2016-01-11  Joseph Pecoraro  <pecoraro@apple.com>

        keywords ("super", "delete", etc) should be valid method names
        https://bugs.webkit.org/show_bug.cgi?id=144281

        Reviewed by Ryosuke Niwa.

        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-super.js:
        Update the test for the correct expected result.

        * js/keyword-method-names-expected.txt: Added.
        * js/keyword-method-names.html: Added.
        * js/script-tests/keyword-method-names.js: Added.
        Add tests to cover parsing allows keywords in method name syntax.

2016-01-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/intversion-long-queue.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152995

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/intversion-long-queue-expected.txt:
        * storage/indexeddb/resources/intversion-long-queue.js:

2016-01-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/index-multientry.html fails under GuardMalloc/ASAN.
        https://bugs.webkit.org/show_bug.cgi?id=152990

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-11  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Migrate Page Timeline recording to ScriptProfiler
        https://bugs.webkit.org/show_bug.cgi?id=152727

        Reviewed by Brian Burg.

        * inspector/script-profiler/event-type-Other-expected.txt: Added.
        * inspector/script-profiler/event-type-Other.html: Added.
        Add a test that Web script evaluations create "Other" ScriptProfiler events.

2016-01-11  Zalan Bujtas  <zalan@apple.com>

        Padding added to table-cell element after font-size change.
        https://bugs.webkit.org/show_bug.cgi?id=152796

        Reviewed by David Hyatt.

        Do not include intrinsicPaddingBefore value while figuring out the height of a row.
        In RenderTableSection::calcRowLogicalHeight() we are interested in the height of the content
        without the additional padding (normal padding is included).

        * TestExpectations: This test fails even without the patch when Ahem font is not used.
        * fast/table/table-baseline-grows-expected.html: Added.
        * fast/table/table-baseline-grows.html: Added.

2016-01-11  Dave Hyatt  <hyatt@apple.com>

        Picture element needs to work with the preload scanner and select the correct
        source element instead of loading the image.
        https://bugs.webkit.org/show_bug.cgi?id=152983

        Reviewed by Dean Jackson.

        These tests are imported from Blink, although they have been modified slightly to
        reflect the fact that we pass the nested <picture> cases that Blink fails.

        * http/tests/loading/hidpi-preload-picture-sizes-expected.txt: Added.
        * http/tests/loading/hidpi-preload-picture-sizes.html: Added.
        * http/tests/loading/preload-picture-invalid-expected.txt: Added.
        * http/tests/loading/preload-picture-invalid.html: Added.
        * http/tests/loading/preload-picture-nested-expected.txt: Added.
        * http/tests/loading/preload-picture-nested.html: Added.
        * http/tests/loading/preload-picture-sizes-expected.txt: Added.
        * http/tests/loading/preload-picture-sizes.html: Added.
        * http/tests/loading/resources/base-image1.png: Added.
        * http/tests/loading/resources/base-image2.png: Added.
        * http/tests/loading/resources/base-image3.png: Added.
        * http/tests/loading/resources/dup-image1.png: Added.
        * http/tests/loading/resources/dup-image2.png: Added.
        * http/tests/loading/resources/dup-image3.png: Added.
        * http/tests/loading/resources/image1.png: Added.
        * http/tests/loading/resources/image2.png: Added.
        * http/tests/loading/resources/picture-preload-helper.js: Added.

2016-01-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/key-generator.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152981

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * platform/wk2/imported/w3c/indexeddb/keygenerator-overflow-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/keygenerator-overflow-expected.txt.

2016-01-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/lazy-index-population.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152976

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-11  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Update test expectations after r194845

        Unreviewed gardening. Mark XHTML tests as passing now that we have patched shared-mime-info
        to better detect XHTML. Add expectations for additional XHTML tests that were unskipped in
        r194845.

        * platform/gtk/TestExpectations:
        * platform/gtk/css2.1/tables/table-anonymous-objects-015-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-016-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-023-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-024-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-035-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-036-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-037-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-038-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-045-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-046-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-047-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-048-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-049-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-050-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-055-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-056-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-091-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-092-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-099-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-100-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-103-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-104-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-105-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-106-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-107-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-108-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-109-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-110-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-111-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-112-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-113-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-114-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-115-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-116-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-117-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-118-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-119-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-120-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-121-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-122-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-123-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-124-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-139-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-140-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-149-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-150-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-155-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-156-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-159-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-160-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-165-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-166-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-177-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-178-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-179-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-180-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-181-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-189-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-190-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-191-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-192-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-193-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-194-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-195-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-196-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-205-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-206-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-207-expected.txt: Added.
        * platform/gtk/css2.1/tables/table-anonymous-objects-208-expected.txt: Added.

2016-01-11  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping unsupported test pageoverlay/overlay-small-frame-mouse-events.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152130

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-11  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] W3C CSS2.1 anonymous table tests are failing
        https://bugs.webkit.org/show_bug.cgi?id=152455

        Reviewed by Mario Sanchez Prada.

        Unskip the anonymous table tests, so the bots can generate expected results. The expected
        results will be committed separately.

        * platform/gtk/TestExpectations:

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

        [SVG -> OTF Converter] Parsing failures cause use of incomplete fonts
        https://bugs.webkit.org/show_bug.cgi?id=152772
        <rdar://problem/24043104>

        Reviewed by Simon Fraser.

        Make sure the font renders as if its invalid.

        * fast/text/resources/bustedfont.svg: Added.
        * fast/text/svg-font-invalid-glyph-path-failure-expected.html: Added.
        * fast/text/svg-font-invalid-glyph-path-failure.html: Added.

2016-01-10  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Iterating over a Set/Map is too slow
        https://bugs.webkit.org/show_bug.cgi?id=152691

        Reviewed by Saam Barati.

        Add regress tests.

        * js/regress/map-for-each-expected.txt: Added.
        * js/regress/map-for-each.html: Added.
        * js/regress/map-for-of-expected.txt: Added.
        * js/regress/map-for-of.html: Added.
        * js/regress/script-tests/map-for-each.js: Added.
        (createMap):
        (i.map.forEach):
        * js/regress/script-tests/map-for-of.js: Added.
        (createMap):
        * js/regress/script-tests/set-for-each.js: Added.
        (set forEach):
        (set createSet):
        * js/regress/script-tests/set-for-of.js: Added.
        * js/regress/set-for-each-expected.txt: Added.
        * js/regress/set-for-each.html: Added.
        * js/regress/set-for-of-expected.txt: Added.
        * js/regress/set-for-of.html: Added.

2016-01-09  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r194426): First email field is not autofilled on amazon.com
        https://bugs.webkit.org/show_bug.cgi?id=152945
        <rdar://problem/24082914>

        Reviewed by Simon Fraser.

        r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root).

        * fast/forms/multiple-subtree-layout-failure-expected.html: Added.
        * fast/forms/multiple-subtree-layout-failure.html: Added.

2016-01-08  Zalan Bujtas  <zalan@apple.com>

        Absolute positioning -webkit-search-cancel-button crashes Safari.
        https://bugs.webkit.org/show_bug.cgi?id=152847
        <rdar://problem/24112087>

        Reviewed by Simon Fraser.

        Do not call offsetFromContainer while resolving the painting position for the search/cancel button renderer.
        It skips the static positioned parent input renderer, when the search/cancel renderer is absolute positioned.
        This patch also fixes a rendering glitch when the margin-right is > 0.

        * fast/forms/absolute-positioned-custom-search-cancel-crash-expected.txt: Added.
        * fast/forms/absolute-positioned-custom-search-cancel-crash.html: Added.

2016-01-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/setversion-blocked-by-versionchange-close.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152936

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
        * storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/scrolling/scroll-position-on-reload-rtl.html as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152935

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping two unsupported mouse event tests on ios-simulator

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-08  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-08  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-08  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Marking js/intl-collator.html as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152448

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: imported/w3c/indexeddb/keyorder.htm times out.
        https://bugs.webkit.org/show_bug.cgi?id=152929

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Marking two css3/filters/composited-during-* tests as failing on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=152282

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark compositing/overflow/dynamic-composited-scrolling-status.html as failing on ios-simulator, remove duplicate
        expectation added by previous commit.

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-08  Brady Eidson  <beidson@apple.com>

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-08  Brady Eidson  <beidson@apple.com>

        Removing WK2 specific results for this test.
        
        Legacy IDB passes just the same as Modern IDB.

        * platform/wk2/imported/w3c/indexeddb/keypath-expected.txt: Removed.

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Marking two ios/scolling tests as failing on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=152276

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining two compositing tests for ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152138

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
        * platform/ios-simulator/compositing/contents-opaque/table-parts-expected.txt: Added.

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Removing ios-simulator-wk1/ and ios-simulator-wk2/ expected.* files that are identical to the ones in ios-simulator/
        https://bugs.webkit.org/show_bug.cgi?id=152130

        Unreviewed test gardening.

        * platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-011-expected.txt: Removed.
        * platform/ios-simulator-wk1/editing/deleting/delete-first-list-item-expected.txt: Removed.
        * platform/ios-simulator-wk1/editing/deleting/merge-different-styles-expected.txt: Removed.
        * +1714 more

2016-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Removing deleted test fast/mediastream/RTCPeerConnection-state.html from mac TestExpectations file

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2016-01-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: IDBBindingUtilities chokes on unicode strings for get/set.
        https://bugs.webkit.org/show_bug.cgi?id=152921

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        
        * storage/indexeddb/objectstore-autoincrement-expected.txt:
        * storage/indexeddb/objectstore-autoincrement.html:
        * storage/indexeddb/resources/objectstore-autoincrement.js:

2016-01-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: Blocked event can fire on a delete request even after the last open connection has closed.
        https://bugs.webkit.org/show_bug.cgi?id=152896

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        
        * platform/wk2/imported/w3c/indexeddb/idbfactory_open12-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbfactory_open12-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbversionchangeevent-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbversionchangeevent-expected.txt.
        
        * storage/indexeddb/database-wrapper-expected.txt:
        * storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
        * storage/indexeddb/deletedatabase-not-blocked-expected.txt:
        * storage/indexeddb/intversion-upgrades-expected.txt:
        * storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
        * storage/indexeddb/resources/deletedatabase-not-blocked.js:
        * storage/indexeddb/resources/setversion-not-blocked.js:
        * storage/indexeddb/setversion-not-blocked-expected.txt:

2016-01-08  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Several animation tests fail with accelerated compositing enabled

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-01-08  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] pageoverlay tests are failing

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-01-08  Zalan Bujtas  <zalan@apple.com>

        Hovering link on http://help.apple.com/appletv/#/ does not show text underline.
        https://bugs.webkit.org/show_bug.cgi?id=152906
        <rdar://problem/23339617>

        Reviewed by Simon Fraser.

        GraphicsContext::computeLineBoundsAndAntialiasingModeForText() always integral ceils the origin y position to offset underline text.
        This additional visual overflow offset is not taken into account by visualOverflowForDecorations().
        Unfortunately we can't compute the exact same offset value while collecting repaint rects, because
        computeLineBoundsAndAntialiasingModeForText() uses CTM scaling before adjusting the offset position.
        Use 1px (css) bottom offset to cover this underling overflow.

        * fast/css3-text/css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position-expected.txt: Added.
        * fast/css3-text/css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position.html: Added.

2016-01-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order.htm fails.
        https://bugs.webkit.org/show_bug.cgi?id=152891

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex7-event_order-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbobjectstore_createIndex7-event_order-expected.txt.

2016-01-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/dont-wedge.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=152892

        Unreviewed.

        * platform/mac-wk1/TestExpectations: Skip it for now.

2016-01-07  Brady Eidson  <beidson@apple.com>

        Unreviewed IndexedDB test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: Success-after-open event should only have the IDBOpenDBRequest as its target.
        https://bugs.webkit.org/show_bug.cgi?id=152875

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-07  Alexey Proskuryakov  <ap@apple.com>

        Better test gardening. Only skip those tests that use touch events, not the whole
        directory.

        * platform/ios-simulator-wk2/TestExpectations:

2016-01-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: Various imported/w3c/indexeddb tests fail due to expecting the wrong exception.
        https://bugs.webkit.org/show_bug.cgi?id=152866

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-07  Alexey Proskuryakov  <ap@apple.com>

        Test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2016-01-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: imported/w3c/indexeddb/idbcursor-continue.htm fails.
        https://bugs.webkit.org/show_bug.cgi?id=152849

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-07  Alexey Proskuryakov  <ap@apple.com>

        testRunner.runUIScript crashes while running multiple tests in a row that invokes the same UIScript
        https://bugs.webkit.org/show_bug.cgi?id=152390
        <rdar://problem/23948321>

        Reviewed by Simon Fraser.

        * platform/ios-simulator/TestExpectations: Unskipped tests that used to be affected.

2016-01-07  Zalan Bujtas  <zalan@apple.com>

        Incorrect position: fixed; rendering when child of position:relative/sticky.
        https://bugs.webkit.org/show_bug.cgi?id=147284

        Reviewed by Simon Fraser and David Hyatt.

        Computing logical left for positioned objects should take the relative positioned ancestors' offset
        into account.

        * fast/block/positioning/fixed-container-with-relative-parent-expected.html: Added.
        * fast/block/positioning/fixed-container-with-relative-parent.html: Added.
        * fast/block/positioning/fixed-container-with-sticky-parent-expected.html: Added.
        * fast/block/positioning/fixed-container-with-sticky-parent.html: Added.

2016-01-07  Chris Dumez  <cdumez@apple.com>

        Directly-composited animated GIFs never resume once scrolled offscreen
        https://bugs.webkit.org/show_bug.cgi?id=152817
        <rdar://problem/19982020>

        Reviewed by Daniel Bates.

        Add a layout test to check that directly-composited animated GIFs are
        properly suspended / resumed based on visibility inside the viewport.

        * fast/images/composited-animated-gif-outside-viewport-expected.txt: Added.
        * fast/images/composited-animated-gif-outside-viewport.html: Added.

2016-01-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: CRASH Attempting to pause on CSP violation not inside of script
        https://bugs.webkit.org/show_bug.cgi?id=152825
        <rdar://problem/24021276>

        Reviewed by Timothy Hatcher.

        * http/tests/inspector/resources/inspector-test.js:
        (TestPage.reportUncaughtException):
        Allow a test to continue after uncaught exceptions.

        * inspector/debugger/csp-exceptions-expected.txt: Added.
        * inspector/debugger/csp-exceptions.html: Added.
        * inspector/debugger/resources/csp-exception-iframe.html: Added.
        Test a CSP exception that causes a pause and one outside of
        script that does not pause (and does not crash).

2016-01-07  Brady Eidson  <beidson@apple.com>

        Unreviewed IndexedDB test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add expectations for W3C tests that were missing them.
        https://bugs.webkit.org/show_bug.cgi?id=152835

        Reviewed by Daniel Bates.

        * platform/mac-wk1/TestExpectations:

2016-01-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: Update results for W3C tests marked as failures that actually pass.
        https://bugs.webkit.org/show_bug.cgi?id=152827

        Reviewed by Daniel Bates.
        
        - Update FAIL expectations to PASS expectations for Modern IDB.
        - Copy the FAIL expectations over to platform/wk2 to keep testing Legacy IDB.

        * platform/mac-wk1/TestExpectations:
        * platform/wk2/imported/w3c/indexeddb/abort-in-initial-upgradeneeded-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/abort-in-initial-upgradeneeded-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbcursor-advance-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbcursor-advance-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_advance_index5-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbcursor_advance_index5-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_advance_index9-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbcursor_advance_index9-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_advance_objectstore5-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbcursor_advance_objectstore5-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index8-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbcursor_continue_index8-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_objectstore6-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbcursor_continue_objectstore6-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_delete_index4-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbcursor_delete_index4-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_delete_objectstore4-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbcursor_delete_objectstore4-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbdatabase_close2-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbdatabase_close2-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbdatabase_deleteObjectStore4-not_reused-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbdatabase_deleteObjectStore4-not_reused-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbfactory_deleteDatabase3-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbfactory_deleteDatabase3-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbindex-multientry-big-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbindex-multientry-big-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbindex_get3-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbindex_get3-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_add4-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbobjectstore_add4-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex2-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbobjectstore_createIndex2-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex4-deleteIndex-event_order-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbobjectstore_createIndex4-deleteIndex-event_order-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbobjectstore_put4-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbobjectstore_put4-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/idbtransaction_abort-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbtransaction_abort-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/keygenerator-constrainterror-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/keygenerator-constrainterror-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/keygenerator-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/keygenerator-expected.txt.
        * platform/wk2/imported/w3c/indexeddb/transaction-requestqueue-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/transaction-requestqueue-expected.txt.

2016-01-06  Brady Eidson  <beidson@apple.com>

        Modern IDB: Initial enabling of imported W3C IDB tests.
        https://bugs.webkit.org/show_bug.cgi?id=152824

        Reviewed by Daniel Bates.

        * platform/mac-wk1/TestExpectations: Unskip the entire W3C IDB test directory,
          but add appropriate results for all the tests that don't yet pass.

2016-01-06  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Add test for Color.canBeSerializedAsShortHex
        https://bugs.webkit.org/show_bug.cgi?id=152809

        Reviewed by Brian Burg.

        Added more specific tests for the canBeSerializedAsShortHex
        method of Web Inspector model class Color.

        * inspector/model/color-expected.txt:
        * inspector/model/color.html:

2016-01-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Scope chain shows too many scopes for functions (`let` and `var` in the same function are two scopes)
        https://bugs.webkit.org/show_bug.cgi?id=152349

        Reviewed by Timothy Hatcher.

        * inspector/debugger/breakpoint-scope.html:
        * inspector/model/scope-chain-node.html:
        The ScopeChainNode model object changed, so update tests.

2016-01-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] css-multicol-1 tests are failing

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2016-01-06  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining media/airplay-target-availability.html
        hhttps://bugs.webkit.org/show_bug.cgi?id=152815

        Unreviewed test gardening.

        * media/airplay-target-availability-expected.txt:

2016-01-06  Joseph Pecoraro  <pecoraro@apple.com>

        Remove Debug Logging from some Inspector Tests
        https://bugs.webkit.org/show_bug.cgi?id=152806

        Reviewed by Brian Burg.

        * inspector/debugger/scriptParsed.html:
        * inspector/model/scope-chain-node.html:

2016-01-06  Eric Carlson  <eric.carlson@apple.com>

        AirPlay route availability event not always sent
        https://bugs.webkit.org/show_bug.cgi?id=152802

        Reviewed by Jer Noble.

        * media/airplay-target-availability-expected.txt: Added.
        * media/airplay-target-availability.html: Added.
        * platform/mac/TestExpectations: Skip new test on Yosemite.
        * platform/efl/TestExpectations: Skip new test.
        * platform/gtk/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2016-01-06  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/odd-strings.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=152800

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-06  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/intversion-gated-on-delete.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=152795

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-06  Simon Fraser  <simon.fraser@apple.com>

        [iOS] Revert overflow:hidden on the body affecting viewport scale (r186786)
        https://bugs.webkit.org/show_bug.cgi?id=152803
        rdar://problem/22242515

        Reviewed by Tim Horton.
        
        Keep the tests, but update their expected results.

        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-expected.txt:
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt:
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-expected.txt:

2016-01-06  Brent Fulgham  <bfulgham@apple.com>

        Port blocking bypass issue using 307 redirect
        https://bugs.webkit.org/show_bug.cgi?id=152801
        <rdar://problem/24048554>

        Reviewed by Anders Carlsson.

        * http/tests/security/blocked-on-redirect-expected.txt: Added.
        * http/tests/security/blocked-on-redirect.html: Added.

2016-01-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed gardening.

        * platform/gtk/TestExpectations: report and mark new SVG failures
        after r192138 and new media timeouts after r191948. Mark also the
        RTSP test as skip because it was failing, and update the expectation
        for a slow inspector test that now timeouts.

2016-01-06  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/transaction-scope-sequencing.html fails
        https://bugs.webkit.org/show_bug.cgi?id=152775

        Reviewed by Alex Christensen.

        In addition to enabling the previously skipped test, this also completely rewrites transaction-scheduler-4, 
        which covered incorrect behavior, to cover newly implemented correct behavior.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/resources/transaction-scheduler-4.js: Added.
        * storage/indexeddb/modern/transaction-scheduler-4-expected.txt:
        * storage/indexeddb/modern/transaction-scheduler-4.html:

2016-01-06  Zalan Bujtas  <zalan@apple.com>

        Float with media query positioned incorrectly after window resize.
        https://bugs.webkit.org/show_bug.cgi?id=152558

        Reviewed by Simon Fraser and David Hyatt.

        This patch ensures that when a renderer becomes floated, it is moved
        to the right containing block.
        When this floated renderer's previous sibling is an anonymous block, it needs
        to be reparented so that the float is positioned as if there was no anonymous block at all.

        * fast/block/float/float-with-anonymous-previous-sibling-expected.html: Added.
        * fast/block/float/float-with-anonymous-previous-sibling.html: Added.

2016-01-06  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webarchive/adopt-attribute-styled-body-webarchive.html as flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=152789

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2016-01-06  Zalan Bujtas  <zalan@apple.com>

        isAnonymousInlineBlock() should exclude any ruby content.
        https://bugs.webkit.org/show_bug.cgi?id=152648
        <rdar://problem/23872549>

        Reviewed by David Hyatt.

        isAnonymousInlineBlock is designed for the new Block-Inside-Inline Model
        and all other anonymous inline-block renderers (including Ruby) should bail out of it.
        (see webkit.org/b/143145)

        * fast/ruby/ruby-inline-margin-collapse-crash-expected.txt: Added.
        * fast/ruby/ruby-inline-margin-collapse-crash.html: Added.

2016-01-06  Andy VanWagoner  <thetalecrafter@gmail.com>

        [ES6] Date.prototype should be a plain object
        https://bugs.webkit.org/show_bug.cgi?id=152574

        Reviewed by Benjamin Poulain.

        Test that the non-generic Date.prototype methods throw when invoked
        from the now generic object Date.prototype. Also test that this change
        preserves correct instanceof behavior.

        * js/date-proto-generic-invocation-expected.txt:
        * js/script-tests/date-proto-generic-invocation.js:

2016-01-05  Brady Eidson  <beidson@apple.com>

        Unreviewed IndexedDB test gardening

        * platform/mac-wk1/TestExpectations: Update the current known status of a few tests.

2016-01-05  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/structured-clone.html crashes.
        https://bugs.webkit.org/show_bug.cgi?id=152763

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/clone-exception-expected.txt:
        * storage/indexeddb/exceptions-expected.txt:
        * storage/indexeddb/objectstore-basics-expected.txt:
        * storage/indexeddb/structured-clone-expected.txt:

2016-01-05  Pranjal Jumde  <pjumde@apple.com>

        Image should not be re-registered if m_form already exists. This leads to an assertion failure.
        https://bugs.webkit.org/show_bug.cgi?id=152741
        <rdar://problem/24030778>

        Reviewed by Brent Fulgham.

        * LayoutTests/fast/html/form-registerimg-multiple-crash-expected.txt: Added.
        * LayoutTests/fast/html/form-registerimg-multiple-crash.html: Added.

2016-01-05  Commit Queue  <commit-queue@webkit.org>

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

        This change introduced JSC test failures (Requested by
        ryanhaddad on #webkit).

        Reverted changeset:

        "[ES6] Date.prototype should be a plain object"
        https://bugs.webkit.org/show_bug.cgi?id=152574
        http://trac.webkit.org/changeset/194603

2016-01-05  Simon Fraser  <simon.fraser@apple.com>

        Adjust tile coverage with margin tiles, and tidy up the indicator
        https://bugs.webkit.org/show_bug.cgi?id=152742

        Reviewed by Beth Dakin.

        New baselines. simple-document-with-margin-tiles.html needs to wait for over 0.5s
        for the FrameView::enableSpeculativeTilingIfNeeded() timer to fire before
        dumping coverage (ouch).

        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
        * tiled-drawing/simple-document-with-margin-tiles.html:

2016-01-05  Brady Eidson  <beidson@apple.com>

        IDB test gardening.

        Rubberstamped by Alex Christensen.

        * platform/mac-wk1/TestExpectations: Unskip a passing test, and move a test from "times out" to "fails"

2016-01-05  Andy VanWagoner  <thetalecrafter@gmail.com>

        [ES6] Date.prototype should be a plain object
        https://bugs.webkit.org/show_bug.cgi?id=152574

        Reviewed by Benjamin Poulain.

        Test that the non-generic Date.prototype methods throw when invoked
        from the now generic object Date.prototype. Also test that this change
        preserves correct instanceof behavior.

        * js/date-proto-generic-invocation-expected.txt:
        * js/script-tests/date-proto-generic-invocation.js:

2016-01-05  Mark Lam  <mark.lam@apple.com>

        Make ftl-polymorphic-xxx tests more polymorphic.
        https://bugs.webkit.org/show_bug.cgi?id=152736

        Reviewed by Saam Barati.

        1. Change the test driver to alternate inputs between numeric operands and
           an object with a valueOf() method.
        2. Changed busy work blob to use the operator being tested instead of always using
           the + operator.
        3. Updated test results.

        With these change, the tests each triggers around 49000+ speculation failures when
        run as a benchmark on the VM before the fix for https://webkit.org/b/152708
        landed (in r194560: <http://trac.webkit.org/r194560>).  After the fix, the
        number of speculation failures is around 11 or lower.

        The benchmark perf with these tests shows about a 10% gain on x86 (32-bit with no
        FTL) and about 2x on x86_64 (64-bit with FTL).

        * js/regress/script-tests/ftl-polymorphic-bitand.js:
        * js/regress/script-tests/ftl-polymorphic-bitor.js:
        * js/regress/script-tests/ftl-polymorphic-bitxor.js:
        * js/regress/script-tests/ftl-polymorphic-div.js:
        * js/regress/script-tests/ftl-polymorphic-lshift.js:
        * js/regress/script-tests/ftl-polymorphic-mul.js:
        * js/regress/script-tests/ftl-polymorphic-rshift.js:
        * js/regress/script-tests/ftl-polymorphic-sub.js:
        * js/regress/script-tests/ftl-polymorphic-urshift.js:

2016-01-05  Brady Eidson  <beidson@apple.com>

        Modern IDB: Error message updates for two failing tests.
        https://bugs.webkit.org/show_bug.cgi?id=152735

        Reviewed by Alex Christensen.

        - Update results to accommodate new error messages.
        - openKeyCursor on IDBObjectStore has been removed, so remove that from the results.
        - "undefined" and "null" are invalid keys, so update the keypath-basics test to reflect this.
        
        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/deleted-objects-expected.txt:
        * storage/indexeddb/keypath-basics-expected.txt:
        * storage/indexeddb/resources/keypath-basics.js:
        * storage/indexeddb/transaction-basics-expected.txt:

2016-01-05  Brady Eidson  <beidson@apple.com>

        IndexedDB TestExpectations gardening.

        Reviewed by Alex Christensen.

        - Enable 3 flakes that should now not be flakey.
        - Unskip some previously crashing tests, but mark as text failures.
        - Move some tests around with better comments.
        
        * platform/mac-wk1/TestExpectations: 

2016-01-05  Brady Eidson  <beidson@apple.com>

        Modern IDB: Transactions from a previous page can leak forward to the next.
        https://bugs.webkit.org/show_bug.cgi?id=152698

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/resources/transactions-stop-on-navigation-2.html: Added.
        * storage/indexeddb/modern/resources/transactions-stop-on-navigation.js: Added.
        * storage/indexeddb/modern/transactions-stop-on-navigation-expected.txt: Added.
        * storage/indexeddb/modern/transactions-stop-on-navigation.html: Added.

2016-01-05  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Marking imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html
        as failing (before https://bugs.webkit.org/show_bug.cgi?id=151984 it was timing out)

        Unreviewed.

        * TestExpectations:

2016-01-05  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Activate service-workers import
        https://bugs.webkit.org/show_bug.cgi?id=152686

        Reviewed by Daniel Bates.

        * TestExpectations: Marking all service worker tests as skipped.

2016-01-05  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Update web-platform-tests test suite
        https://bugs.webkit.org/show_bug.cgi?id=151984

        Reviewed by Daniel Bates.

        * TestExpectations: updated expectations for newly failing tests.

2016-01-04  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: add context menu items to switch CSS color property value syntax between RGB, HSL, etc
        https://bugs.webkit.org/show_bug.cgi?id=151918

        Reviewed by Timothy Hatcher.

        * inspector/model/color-expected.html:
        * inspector/model/color.html:
        Changed "nickname" to "keyword".

2016-01-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: Memory indexes aren't deleted when their owning memory object stores are deleted.
        https://bugs.webkit.org/show_bug.cgi?id=152717

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-expected.txt: Added.
        * storage/indexeddb/modern/memory-index-not-deleted-with-objectstore.html: Added.
        * storage/indexeddb/modern/resources/memory-index-not-deleted-with-objectstore.js: Added.

2016-01-04  Sergio Villar Senin  <svillar@igalia.com>

        REGRESSION(r194143): Float width incorrectly calculated on Wikipedia
        https://bugs.webkit.org/show_bug.cgi?id=152644

        Reviewed by Myles C. Maxfield.

        * fast/css-intrinsic-dimensions/inlinesize-contribution-floats-expected.html: Added.
        * fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html: Added.

2016-01-04  David Hyatt  <hyatt@apple.com>

        word-wrap: break-word broken inside a flexbox
        https://bugs.webkit.org/show_bug.cgi?id=152321

        Reviewed by Simon Fraser.

        * fast/text/word-break-on-flexbox-child-expected.html: Added.
        * fast/text/word-break-on-flexbox-child.html: Added.

2016-01-04  John Wilander  <wilander@apple.com>

        webkitGetUserMedia built-in should use @then and not then
        https://bugs.webkit.org/show_bug.cgi?id=152296

        Reviewed by Brent Fulgham.

        * streams/webkitGetUserMedia-shadowing-then-expected.txt: Added.
        * streams/webkitGetUserMedia-shadowing-then.html: Added.

2016-01-04  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r194533.

        The test that was re-enabled with this change is still flaky

        Reverted changeset:

        "Modern IDB TestExpectations gardening."
        http://trac.webkit.org/changeset/194533

2016-01-04  Ryan Haddad  <ryanhaddad@apple.com>

        Skip failing test fast/animation/request-animation-frame-disabled.html on ios-simulator
        fast/animation/request-animation-frame-disabled.html

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-04  Ryan Haddad  <ryanhaddad@apple.com>

        Re-enable fast/animation tests on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=137588

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2016-01-02  Brady Eidson  <beidson@apple.com>

        Modern IDB TestExpectations gardening.

        Rubberstamped by Andy Estes.

        * platform/mac-wk1/TestExpectations: Remove the failure entry for a test that passes.

2016-01-03  Simon Fraser  <simon.fraser@apple.com>

        scrollLeft returns different values for viewport and non-viewport scrolling with rtl
        https://bugs.webkit.org/show_bug.cgi?id=94405
        rdar://problem/21829754

        Reviewed by Zalan Bujtas.
        
        programmatic-overflow-rtl-scrollIntoView.html is a basic test for negative scrollLeft
        in an RTL scroller.
        
        Other tests are fixed to programmatically scroll to negative scroll positions.

        * compositing/rtl/rtl-overflow-scrolling.html:
        * fast/overflow/scroll-div-hide-show-expected.txt:
        * fast/overflow/scroll-div-hide-show.html:
        * fast/repaint/horizontal-bt-overflow-parent.html:
        * fast/repaint/horizontal-bt-overflow-same.html:
        * fast/repaint/vertical-overflow-parent.html:
        * fast/repaint/vertical-overflow-same.html:
        * fast/scrolling/programmatic-overflow-rtl-scrollIntoView-expected.txt: Added.
        * fast/scrolling/programmatic-overflow-rtl-scrollIntoView.html: Added.
        * fast/writing-mode/flipped-blocks-hit-test-overflow-scroll.html:
        * imported/blink/compositing/overflow/rtl-overflow.html:

2016-01-02  Simon Fraser  <simon.fraser@apple.com>

        Some cleanup in ScrollAnimator
        https://bugs.webkit.org/show_bug.cgi?id=152649

        Reviewed by Zalan Bujtas.
        
        Added fast/scrolling/arrow-key-scroll-in-rtl-document.html to test for arrow
        key scrolling in an RTL document, which an earlier version of the patch
        regressed without detection.

        * fast/dom/horizontal-scrollbar-in-rtl-expected.txt:
        * fast/scrolling/arrow-key-scroll-in-rtl-document-expected.txt: Added.
        * fast/scrolling/arrow-key-scroll-in-rtl-document.html: Added.

2016-01-02  Zalan Bujtas  <zalan@apple.com>

        Simple line layout:: Add text-decoration support.
        https://bugs.webkit.org/show_bug.cgi?id=152623

        Reviewed by Antti Koivisto.

        Existing tests cases also cover decoration correctness.

        * fast/css3-text/css3-text-decoration/simple-line-layout-text-decoration-expected.html: Added.
        * fast/css3-text/css3-text-decoration/simple-line-layout-text-decoration.html: Added.

2016-01-01  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/database-deletepending-flag.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152600

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2016-01-01  Simon Fraser  <simon.fraser@apple.com>

        Fix reload and programmatic scrolling in RTL documents
        https://bugs.webkit.org/show_bug.cgi?id=152639

        Reviewed by Zalan Bujtas.
        
        New tests for programmatic scrolling (2 kinds!) in RTL documents, and
        reloading a scrolled RTL document.

        * fast/scrolling/programmatic-document-rtl-scroll-expected.html: Added.
        * fast/scrolling/programmatic-document-rtl-scroll.html: Added.
        * fast/scrolling/programmatic-document-rtl-scrollIntoView-expected.txt: Added.
        * fast/scrolling/programmatic-document-rtl-scrollIntoView.html: Added.
        * fast/scrolling/scroll-position-on-reload-rtl-expected.txt: Added.
        * fast/scrolling/scroll-position-on-reload-rtl.html: Added.

2016-01-01  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r194448): Scrolling overflow:scroll goes too far
        https://bugs.webkit.org/show_bug.cgi?id=152645

        Reviewed by Zalan Bujtas.
        
        Test that scrolls and overflow div with wheel events, then checks that it has
        not passed the max scroll offset.

        * fast/scrolling/overflow-scroll-past-max-expected.txt: Added.
        * fast/scrolling/overflow-scroll-past-max.html: Added.

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

        [GTK] Several IndexedDB tests failing

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

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

        [GTK] http/tests/misc/detached-frame-console.html is crashing

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

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

        [GTK] http/tests/media/clearkey/clear-key-hls-aes128.html is crashing

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

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

        [GTK] Expect missing results for CSS table anonymous objects tests

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

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

        [iOS WK2] Fix incorrect scrollPosition handling
        https://bugs.webkit.org/show_bug.cgi?id=152630

        Reviewed by Zalan Bujtas.
        
        These tests now load with a 0,0 scroll position, so don't dump out the "scrolled to" text,
        which matches Mac behavior.

        * platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/ios-simulator-wk2/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:

2015-12-31  Zalan Bujtas  <zalan@apple.com>

        text-decoration: line-through is mispositioned when text has overline/underline too.
        https://bugs.webkit.org/show_bug.cgi?id=152619

        Reviewed by Simon Fraser.

        Line-through painting was mistakenly calling drawLineForText with overline/underline positioning.

        * fast/css3-text/css3-text-decoration/text-decoration-line-through-mispositioned-expected.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-line-through-mispositioned.html: Added.

2015-12-31  Zalan Bujtas  <zalan@apple.com>

        Simple line layout: Text with stroke width is not positioned correctly.
        https://bugs.webkit.org/show_bug.cgi?id=152614

        Reviewed by Simon Fraser.

        Visual overflow should not affect text position.

        * fast/text/simple-line-layout-text-position-with-stroke-expected.html: Added.
        * fast/text/simple-line-layout-text-position-with-stroke.html: Added.

2015-12-31  Zalan Bujtas  <zalan@apple.com>

        Simple line layout: Nested block with pseudo first-line parent should bail out of simple line layout.
        https://bugs.webkit.org/show_bug.cgi?id=152599

        Reviewed by Simon Fraser.

        We should bail out of simple line layout if any of the ancestors have pseudo first-line style.
        (see RenderBlock::firstLineBlock()) 

        * fast/block/line-layout/first-line-should-bail-out-of-simple-line-layout-expected.html: Added.
        * fast/block/line-layout/first-line-should-bail-out-of-simple-line-layout.html: Added.

2015-12-31  Martin Robinson  <mrobinson@igalia.com>

        Mark some tests as failing on WebKitGTK+.

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2015-12-31  Martin Robinson  <mrobinson@igalia.com>

        Mark WOFF2 test as failing on WebKitGTK+

        Unreviewed. Gardening.

        * platform/gtk/TestExpectations:

2015-12-31  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK] Unreviewed gardening at 2015-12-31

        Mark fast/text/text-combine-placement.html as crashing.

        * platform/gtk/TestExpectations:

2015-12-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: Only fire blocked events after all open connections have handled their versionchange events.
        https://bugs.webkit.org/show_bug.cgi?id=152593

        Reviewed by Andy Estes.

        - Unskip two timeout tests that now pass.
        - Reclassify a text-failure test to be skipped for new reasons.
        
        * platform/mac-wk1/TestExpectations:

2015-12-30  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed, EFL gardening.

        Mark navigation policy tests to failure and unskip some passing test.
        Update media failure tests.

        * platform/efl/TestExpectations:

2015-12-30  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] Arrow function syntax. Arrow function specific features. Lexical bind "super"
        https://bugs.webkit.org/show_bug.cgi?id=149615

        Reviewed by Saam Barati.

        * js/arrowfunction-superproperty-expected.txt: Added.
        * js/arrowfunction-superproperty.html: Added.
        * js/script-tests/arrowfunction-superproperty.js: Added.

2015-12-29  Andy VanWagoner  <andy@instructure.com>

        Remove tests for sometimes unsupported calendars, numbering systems, and time zone backward links
        https://bugs.webkit.org/show_bug.cgi?id=152550

        Reviewed by Alexey Proskuryakov.

        Time zones change often, so only test a few probable backward links.
        Remove hanidays numbering system tests, since GTK and EFL don't support it.
        Remove islamic-umalqura calendar tests, since GTK and EFL don't support it.

        * js/intl-datetimeformat-expected.txt:
        * js/script-tests/intl-datetimeformat.js:

2015-12-27  Zalan Bujtas  <zalan@apple.com>

        Should never be reached failure in WebCore::RenderElement::clearLayoutRootIfNeeded
        https://bugs.webkit.org/show_bug.cgi?id=151590

        Reviewed by Simon Fraser.

        We should always set the layoutroot when a new subtree layout is requested (and convert it
        to a full layout when needed). It ensures that renderers are detached cleanly even when
        they are set as layoutroot.

        * fast/block/assert-when-layout-root-is-not-cleared-expected.txt: Added.
        * fast/block/assert-when-layout-root-is-not-cleared.html: Added.

2015-12-25  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Add subpixel support for outline.
        https://bugs.webkit.org/show_bug.cgi?id=152560

        Unable to ref-test other outline types.

        Reviewed by Simon Fraser.

        * fast/borders/hidpi-outline-hairline-painting-expected.html: Added.
        * fast/borders/hidpi-outline-hairline-painting.html: Added.

2015-12-24  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: x2 >= x1 in WebCore::RenderElement::drawLineForBoxSide
        https://bugs.webkit.org/show_bug.cgi?id=151210

        Reviewed by Simon Fraser.

        "IntRect outer = snappedIntRect(inner)" explicitly converts inner to LayoutRect and
        returns a snapped IntRect. When inner (after the inflate) overflows LayoutUnit,
        the snapped outer rect becomes smaller than the inner rect.

        This patch also enables outline painting on subpixel positions.

        * fast/borders/hidpi-outline-on-subpixel-position-expected.html: Added.
        * fast/borders/hidpi-outline-on-subpixel-position.html: Added.
        * fast/borders/outline-offset-overflow-expected.txt: Added.
        * fast/borders/outline-offset-overflow.html: Added.

2015-12-23  Brady Eidson  <beidson@apple.com>

        Modern IDB: Don't open any new connections until after version change transactions are completely handled.
        https://bugs.webkit.org/show_bug.cgi?id=152441

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations: Enable 4 now-passing tests.

2015-12-23  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/transaction-basics.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152481

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
        * storage/indexeddb/transaction-basics-expected.txt:

2015-12-23  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening.

        Mark shadow dom to Pass with incorrect result. Additionally remove
        disappeared storage tests in TestExpectations.

        Unskip MSE tests because MSE functionalities have been supported by gstreamer.

        * platform/efl/TestExpectations:

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

        REGRESSION (r187593): Scroll position jumps when selecting text in an iframe
        https://bugs.webkit.org/show_bug.cgi?id=152541
        rdar://problem/23886181

        Reviewed by Tim Horton.
        
        New test for autoscrolling iframe contents (an existing test scrolled an overflow:scroll
        inside an iframe, and didn't catch the bug).

        * fast/events/autoscroll-in-iframe-body-expected.txt: Added.
        * fast/events/autoscroll-in-iframe-body.html: Added.
        * fast/forms/input-readonly-autoscroll.html: Fix a missing double quote.

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

        Minor cleanup in RenderBox::canBeProgramaticallyScrolled()
        https://bugs.webkit.org/show_bug.cgi?id=152515

        Reviewed by Tim Horton.

        Test that programmatic scrolling works inside overflow:hidden.

        * fast/overflow/overflow-hidden-scroll-into-view-expected.html: Added.
        * fast/overflow/overflow-hidden-scroll-into-view.html: Added.

2015-12-23  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining storage/domstorage/localstorage/delete-defineproperty-removal.html
        https://bugs.webkit.org/show_bug.cgi?id=149179

        Unreviewed test gardening.

        * storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:

2015-12-23  Pranjal Jumde  <pjumde@apple.com>

        Test to check for stack recursion when indexed propertyNames defined using Object.defineProperty are deleted.
        https://bugs.webkit.org/show_bug.cgi?id=149179
        <rdar://problem/22708019>.

        Reviewed by Filip Pizlo.

        * storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt: Added.
        * storage/domstorage/localstorage/delete-defineproperty-removal.html: Added.

2015-12-23  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] MediaDeviceInfo.label must be empty in some situations
        https://bugs.webkit.org/show_bug.cgi?id=152000

        Reviewed by Brent Fulgham.

        * fast/mediastream/MediaDevices-enumerateDevices-expected.txt:
        * fast/mediastream/MediaDevices-enumerateDevices.html:

2015-12-23  Andy VanWagoner  <andy@instructure.com>

        [INTL] Implement DateTime Format Functions
        https://bugs.webkit.org/show_bug.cgi?id=147606

        Reviewed by Benjamin Poulain.

        * js/intl-datetimeformat-expected.txt: Added format tests.
        * js/intl-datetimeformat.html: Used utf-8.
        * js/script-tests/intl-datetimeformat.js: Added format tests.

2015-12-23  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement String.prototype.localeCompare in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147607

        Reviewed by Benjamin Poulain.

        * js/script-tests/string-localeCompare.js:
        * js/script-tests/string-prototype-properties.js: Update error message.
        * js/string-localeCompare-expected.txt:
        * js/string-prototype-properties-expected.txt: Update error message.
        * js/string-localeCompare.html:

2015-12-23  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining fast/text/emoji.html for Windows
        https://bugs.webkit.org/show_bug.cgi?id=152147

        Unreviewed test gardening.

        * platform/win/fast/text/emoji-expected.txt:

2015-12-23  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-* as failing on Win
        https://bugs.webkit.org/show_bug.cgi?id=152411

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2015-12-23  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK] Unreviewed gardening

        RTCPeerConnection-state.html is removed after r194112. Remove failure expectations
        for tests which have been passing. Add new expectations for text-combine-shrink-on-color-change.html

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
        * platform/gtk/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.

2015-12-23  Andy VanWagoner  <andy@instructure.com>

        [INTL] Implement Intl.DateTimeFormat.prototype.resolvedOptions ()
        https://bugs.webkit.org/show_bug.cgi?id=147603

        Reviewed by Benjamin Poulain.

        * js/intl-datetimeformat-expected.txt: Added resolvedOptions tests.
        * js/script-tests/intl-datetimeformat.js: Added resolvedOptions tests.
        (string_appeared_here):

2015-12-23  Chris Aljoudi <chris@chrismatic.io> and Alex Christensen <achristensen@webkit.org>

        Content blockers should be able to promote http to https
        https://bugs.webkit.org/show_bug.cgi?id=148966

        Reviewed by Benjamin Poulain.

        * http/tests/contentextensions/make-https-expected.txt: Added.
        * http/tests/contentextensions/make-https.html: Added.
        * http/tests/contentextensions/make-https.html.json: Added.

2015-12-22  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [Streams API] Fix cosmetic things after importing spec tests
        https://bugs.webkit.org/show_bug.cgi?id=152479

        Reviewed by Youenn Fablet.

        Spec version are mainly updated in this patch as it wasn't done when importing tests from the spec. Some other
        minor changes were done, as renumbering some tests, removing some orphan expectations and other styling issues.

        * streams/brand-checks.html:
        * streams/pipe-to.html:
        * streams/readable-stream-controller-error.html:
        * streams/readable-stream-pipeThrough.html:
        * streams/readable-stream-reader-read.html:
        * streams/reference-implementation/abstract-ops.html:
        * streams/reference-implementation/bad-strategies.html:
        * streams/reference-implementation/bad-underlying-sinks.html:
        * streams/reference-implementation/bad-underlying-sources-expected.txt: Removed.
        * streams/reference-implementation/brand-checks.html:
        * streams/reference-implementation/byte-length-queuing-strategy.html:
        * streams/reference-implementation/count-queuing-strategy.html:
        * streams/reference-implementation/pipe-through.html:
        * streams/reference-implementation/pipe-to-options.html:
        * streams/reference-implementation/pipe-to.html:
        * streams/reference-implementation/readable-stream-templated.html:
        * streams/reference-implementation/transform-stream-errors.html:
        * streams/reference-implementation/transform-stream.html:
        * streams/reference-implementation/writable-stream-abort.html:
        * streams/reference-implementation/writable-stream-expected.txt:
        * streams/reference-implementation/writable-stream.html:

2015-12-22  Ryan Haddad  <ryanhaddad@apple.com>

        Marking webgl/1.0.2/conformance/extensions/get-extension.html as flaky on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=152506

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2015-12-22  Chris Fleizach  <cfleizach@apple.com>

        [WK2] Looping in testcase: fast/dom/Window/property-access-on-cached-window-after-frame-removed.html
        https://bugs.webkit.org/show_bug.cgi?id=152482

        Reviewed by Brent Fulgham.

        * platform/mac-wk2/TestExpectations:

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

        Skipping unsupported test on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152491

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Marking inspector/debugger/break-on-exception-catch.html as a flaky timeout on mac-wk2 debug
        https://bugs.webkit.org/show_bug.cgi?id=152492

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2015-12-21  Skachkov Oleksandr  <gskachkov@gmail.com>

        Unexpected exception assigning to this._property inside arrow function
        https://bugs.webkit.org/show_bug.cgi?id=152028

        Reviewed by Saam Barati.

        Added new test cases for arrow function, to force create lexical env in body of function.

        * js/arrowfunction-lexical-bind-this-expected.txt:
        * js/script-tests/arrowfunction-lexical-bind-this.js:

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

        Marking inspector/debugger/command-line-api-exception-nested-catch.html as a flaky timeout on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=152487

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2015-12-21  Antti Koivisto  <antti@apple.com>

        Limit cached redirect chain length
        https://bugs.webkit.org/show_bug.cgi?id=152477

        Reviewed by Andreas Kling.

        * http/tests/cache/disk-cache/redirect-chain-limits-expected.txt: Added.
        * http/tests/cache/disk-cache/redirect-chain-limits.html: Added.
        * http/tests/cache/disk-cache/resources/redirect-chain.phpl: Added.

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

        Marking webaudio/audiocontext-state-interrupted.html  as a flaky crasher on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=152485

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

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

        Skipping fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152449

        Unreviewed teset gardening.

        * platform/ios-simulator/TestExpectations:

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

        Unreviewed, rolling out r194328.

        This change appears to have caused failures in JSC tests

        Reverted changeset:

        "[INTL] Implement String.prototype.localeCompare in ECMA-402"
        https://bugs.webkit.org/show_bug.cgi?id=147607
        http://trac.webkit.org/changeset/194328

2015-12-21  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement String.prototype.localeCompare in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147607

        Reviewed by Darin Adler.

        * js/script-tests/string-localeCompare.js:
        * js/script-tests/string-prototype-properties.js: Update error message.
        * js/string-localeCompare-expected.txt:
        * js/string-prototype-properties-expected.txt: Update error message.
        * js/string-localeCompare.html:

2015-12-20  Jeremy Zerfas  <WebKit@JeremyZerfas.com>

        Don't allocate a NSImage and skip unneeded call to TIFFRepresentation when copying image to clipboard.
        https://bugs.webkit.org/show_bug.cgi?id=152374

        Reviewed by Darin Adler.

        Added test to make sure that when copying a 50 frame 500x500 animation
        (50 MB uncompressed) to the clipboard, the additional memory usage is
        kept to less than 200 MB.

        * fast/images/image-copy-memory-usage-expected.txt: Added.
        * fast/images/image-copy-memory-usage.html: Added.
        * fast/images/resources/dot-moving-in-a-circle-animation.gif: Added.

2015-12-20  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r194033 and r194267.
        https://bugs.webkit.org/show_bug.cgi?id=152465

        Caused crashes on Mac WK1 bots (Requested by youenn on
        #webkit).

        Reverted changesets:

        "[Streams API] Expose ReadableStream and relatives to Worker"
        https://bugs.webkit.org/show_bug.cgi?id=152066
        http://trac.webkit.org/changeset/194033

        "[Streams API] imported/w3c/web-platform-tests/streams-api
        /readable-streams/cancel.html has a flaky test"
        https://bugs.webkit.org/show_bug.cgi?id=152065
        http://trac.webkit.org/changeset/194267

2015-12-18  Antti Koivisto  <antti@apple.com>

        Cache redirects as separate entries
        https://bugs.webkit.org/show_bug.cgi?id=152424

        Reviewed by Alex Christensen.

        * http/tests/cache/disk-cache/disk-cache-redirect-expected.txt: Added.
        * http/tests/cache/disk-cache/disk-cache-redirect.html: Added.
        * http/tests/cache/disk-cache/resources/generate-response.cgi:

2015-12-18  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Mark fast/regions/overflow/overflow-region-float.html as passing

        Unreviewed test gardening. This test has been passing since r191658.

        * platform/gtk/TestExpectations:

2015-12-18  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping fast/scrolling/rtl-point-in-iframe.html on ios-simulator since it tests wheel events.
        https://bugs.webkit.org/show_bug.cgi?id=152442

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2015-12-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152437

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2015-12-18  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/console/messagesCleared.html as a flaky timeout on mac-wk2 debug
        https://bugs.webkit.org/show_bug.cgi?id=152025

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2015-12-18  Brady Eidson  <beidson@apple.com>

        Modern IDB: Refactor when opening the backing store takes place.
        https://bugs.webkit.org/show_bug.cgi?id=152405

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-18  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed gardening

        css3/flexbox/multiline-reverse-wrap-baseline.html consistently passes for GTK since
        r191623, but fails on Apple ports, so add a GTK-specific Pass expectation.

        * platform/gtk/TestExpectations:

2015-12-18  Michael Catanzaro  <mcatanzaro@igalia.com>

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

        fast/images/animated-gif-body-outside-viewport.html and
        fast/images/animated-gif-window-resizing.html are flaky; mark them
        accordingly.

        * platform/gtk/TestExpectations:

2015-12-18  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed gardening

        Remove failure expectation for fast/events/drag-and-drop-autoscroll-inner-frame.html which
        has been consistently passing since r192511.

        * platform/gtk/TestExpectations:

2015-12-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r194241 and r194252.
        https://bugs.webkit.org/show_bug.cgi?id=152415

        Caused crashes on GuardMalloc (Requested by ap on #webkit).

        Reverted changesets:

        "Modern IDB: Refactor open/delete requests to exist in the
        same queue."
        https://bugs.webkit.org/show_bug.cgi?id=152397
        http://trac.webkit.org/changeset/194241

        "Modern IDB: Refactor when opening the backing store takes
        place."
        https://bugs.webkit.org/show_bug.cgi?id=152405
        http://trac.webkit.org/changeset/194252

2015-12-17  Sukolsak Sakshuwong  <sukolsak@gmail.com>

        [INTL] Implement Collator Compare Functions
        https://bugs.webkit.org/show_bug.cgi?id=147604

        Reviewed by Darin Adler.

        * js/intl-collator-expected.txt:
        * js/intl-collator.html:
        * js/script-tests/intl-collator.js:
        (testCollator):

2015-12-17  Brady Eidson  <beidson@apple.com>

        Modern IDB: Refactor when opening the backing store takes place.
        https://bugs.webkit.org/show_bug.cgi?id=152405

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-17  Joseph Pecoraro  <pecoraro@apple.com>

        Provide a way to distinguish a nested lexical block from a function's lexical block
        https://bugs.webkit.org/show_bug.cgi?id=152361

        Reviewed by Saam Barati.

        * inspector/debugger/breakpoint-scope-expected.txt:
        We will soon remove the backend sending a "Local" scope.
        The backend was just marking the first closure scope as local.
        The frontend can do this itself and do a better job of it.

        * inspector/model/resources/all-scopes.js: Added.
        (testAllScopes.innerScope):
        (testAllScopes):
        * inspector/model/resources/block-scopes.js: Added.
        (testBlockScopes):
        (testBlockScopes.method):
        * inspector/model/resources/function-name-scopes.js: Added.
        (testFunctionNameScope1):
        * inspector/model/scope-chain-node-expected.txt: Added.
        * inspector/model/scope-chain-node.html: Added.
        Tests for ways to get all the different scope types and
        specific cases of certain scope types.

2015-12-17  Keith Miller  <keith_miller@apple.com>

        [ES6] Add support for Symbol.hasInstance
        https://bugs.webkit.org/show_bug.cgi?id=151839

        Reviewed by Saam Barati.

        Fix tests to reflect the changes to instanceof in ES6.

        Added a new regression test for bound functions in instanceof
        as the perfomance on bound functions should, to some degree,
        reflect the performance on C-API users.

        * inspector/model/remote-object-get-properties-expected.txt:
        * js/Object-getOwnPropertyNames-expected.txt:
        * js/exception-for-nonobject-expected.txt:
        * js/exception-instanceof-expected.txt:
        * js/instance-of-immediates-expected.txt:
        * js/regress/instanceof-bound-expected.txt: Added.
        * js/regress/instanceof-bound.html: Added.
        * js/regress/script-tests/instanceof-bound.js: Added.
        (Constructor):
        (test):
        * js/script-tests/Object-getOwnPropertyNames.js:

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

        Disable viewport "shrink to fit" outside of multitasking mode
        https://bugs.webkit.org/show_bug.cgi?id=152403
        rdar://problem/23818102

        Reviewed by Tim Horton.
        
        This test no longer does shrink-to-fit, so starts with a min and initial scale of 1.

        * fast/viewport/ios/width-is-device-width-overflowing-expected.txt:

2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add JSContext Script Profiling
        https://bugs.webkit.org/show_bug.cgi?id=151899

        Reviewed by Brian Burg.

        * inspector/script-profiler/event-type-API-expected.txt: Added.
        * inspector/script-profiler/event-type-API.html: Added.
        * inspector/script-profiler/event-type-Microtask-expected.txt: Added.
        * inspector/script-profiler/event-type-Microtask.html: Added.
        * inspector/script-profiler/tracking-expected.txt: Added.
        * inspector/script-profiler/tracking.html: Added.
        Tests for the new ScriptProfiler domain.

2015-12-17  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/media/mq-* tests as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152137

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2015-12-17  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-* tests on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152390

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2015-12-17  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed gardening
        
        Remove failure expectations for tests that have been passing after
        r185157, r186191, r189670, r191658 and r191727.

        * platform/gtk/TestExpectations:

2015-12-17  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Remove temporary flakiness expectations for WPT tests introduced for bug 152257
        https://bugs.webkit.org/show_bug.cgi?id=152377

        Unreviewed.

        * TestExpectations: removing some flakiness expectations.

2015-12-17  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Handle new_generator_func / new_generator_func_exp in DFG / FTL
        https://bugs.webkit.org/show_bug.cgi?id=152227

        Reviewed by Saam Barati.

        Make the test taking longer time.

        * js/regress/script-tests/generator-function-create.js:
        (test):

2015-12-16  Andy Estes  <aestes@apple.com>

        [iOS] Block loading external stylesheets in the Content-Disposition: attachment sandbox
        https://bugs.webkit.org/show_bug.cgi?id=152375
        <rdar://problem/22020902>

        Reviewed by Darin Adler.

        * http/tests/contentdispositionattachmentsandbox/at-import-stylesheets-disabled-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/at-import-stylesheets-disabled.html: Added.
        * http/tests/contentdispositionattachmentsandbox/cross-origin-frames-disabled-expected.txt:
        * http/tests/contentdispositionattachmentsandbox/external-stylesheets-disabled-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/external-stylesheets-disabled.html: Added.
        * http/tests/contentdispositionattachmentsandbox/resources/at-import-stylesheets-frame.php: Added.
        * http/tests/contentdispositionattachmentsandbox/resources/external-stylesheets-frame.php: Added.
        * http/tests/contentdispositionattachmentsandbox/resources/xml-stylesheet-processing-instructions-frame.php: Added.
        * http/tests/contentdispositionattachmentsandbox/xml-stylesheet-processing-instructions-disabled-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/xml-stylesheet-processing-instructions-disabled.html: Added.

2015-12-16  Ryan Haddad  <ryanhaddad@apple.com>

        Adding timout expectation to one more wpt test that I missed in the last commit.
        https://bugs.webkit.org/show_bug.cgi?id=152335

        Unreviewed test gardening.

        * TestExpectations:

2015-12-16  Ryan Haddad  <ryanhaddad@apple.com>

        Adding timeout to wpt TestExpectations due to WK/WPT testharness.js issues.
        https://bugs.webkit.org/show_bug.cgi?id=152335

        Unreviewed test gadening.

        * TestExpectations:

2015-12-16  Ryan Haddad  <ryanhaddad@apple.com>

        Re-baseline pageoverlay/overlay* tests for mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=152338

        Unreviewed test gardening.

        * platform/mac-wk1/pageoverlay/overlay-large-document-expected.txt:
        * platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.txt:
        * platform/mac-wk1/pageoverlay/overlay-small-frame-mouse-events-expected.txt:

2015-12-16  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Mark additional wpt tests as flaky due to WK/WPT testharness.js
        https://bugs.webkit.org/show_bug.cgi?id=152335

        Unreviewed.

        * TestExpectations: marking some more tests as flaky.

2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Typing object literal in the console causes a parse error
        https://bugs.webkit.org/show_bug.cgi?id=141737

        Reviewed by Timothy Hatcher.

        * inspector/controller/runtime-controller-expected.txt: Added.
        * inspector/controller/runtime-controller.html: Added.

2015-12-08  Sergio Villar Senin  <svillar@igalia.com>

        Fix computation of min|max-content contribution of non-replaced blocks
        https://bugs.webkit.org/show_bug.cgi?id=152004

        Reviewed by Darin Adler.

        * fast/css-intrinsic-dimensions/auto-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/auto-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/auto-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/auto-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/fillavailable-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/fillavailable-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/fillavailable-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/fillavailable-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/fitcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/fitcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/fitcontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/fitcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-1-expected.html: Added.
        * fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-1.html: Added.
        * fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-2-expected.html: Added.
        * fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-2.html: Added.
        * fast/css-intrinsic-dimensions/indefinite-percent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/indefinite-percent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/indefinite-percent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/indefinite-percent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/maxcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/maxcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/maxcontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/maxcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/mincontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/mincontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/mincontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added.
        * fast/css-intrinsic-dimensions/mincontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added.
        * fast/css-intrinsic-dimensions/resources/intrinsic-size-contribution.css: Added.
        (.container):
        (.item):
        (.border):
        (.padding):
        (.margin):

2015-12-16  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Mac EWS bots frequently fail several wpt tests
        https://bugs.webkit.org/show_bug.cgi?id=152257

        Unreviewed.

        * TestExpectations: marking some tests as flaky.

2015-12-16  Commit Queue  <commit-queue@webkit.org>

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

        due to missing OSR exit materialization support in FTL
        (Requested by yusukesuzuki on #webkit).

        Reverted changeset:

        "[ES6] Handle new_generator_func / new_generator_func_exp in
        DFG / FTL"
        https://bugs.webkit.org/show_bug.cgi?id=152227
        http://trac.webkit.org/changeset/194135

2015-12-16  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Align WebKit testharness.js with WPT testharness.js
        https://bugs.webkit.org/show_bug.cgi?id=152297

        Reviewed by Darin Adler.

        Cosmetic changes (output:true is overriden by WK testharnessreport.js)
        To remove the warning "WPT tests are not using the same testharness.js file as other WebKit Layout tests."

        * media/track/getCueAsHTMLCrash.html: Adding testharnessreport.js and removing call to dumpAsText.
        * media/track/getCueAsHTMLCrash-expected.txt: Rebasing as tests are now outputting results.
        * resources/testharness.js:

2015-12-16  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Handle new_generator_func / new_generator_func_exp in DFG / FTL
        https://bugs.webkit.org/show_bug.cgi?id=152227

        Reviewed by Saam Barati.

        Make the test taking longer time.

        * js/regress/script-tests/generator-function-create.js:
        (test):

2015-12-16  Tomas Popela  <tpopela@redhat.com>

        [GTK] Correct the wrong expectation introduced in r194106
        https://bugs.webkit.org/show_bug.cgi?id=152325

        Unreviewed GTK gardening

        * platform/gtk/http/tests/plugins/plugin-javascript-access-expected.txt:

2015-12-15  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/viewport/ios tests for ios-simulator, remove failure expectation and re-enable test directory.
        https://bugs.webkit.org/show_bug.cgi?id=152135

        Reviewed by Simon Fraser.

        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-expected.txt:
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt:
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-expected.txt:
        * platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt:

2015-12-15  Jiewen Tan  <jiewen_tan@apple.com>

        Verify that Referer Policy within Content-Disposition:attachment sandbox is always ReferrerPolicyNever
        https://bugs.webkit.org/show_bug.cgi?id=152260
        <rdar://problem/23884579>

        Reviewed by Andy Estes.

        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-always-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-always.html: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-default-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-default.html: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-never-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-never.html: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer-when-downgrade-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer-when-downgrade.html: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer.html: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-origin-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-origin.html: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-unsafe-url-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-unsafe-url.html: Added.
        * http/tests/contentdispositionattachmentsandbox/referer-header-stripped.html: Added.
        * http/tests/contentdispositionattachmentsandbox/resources/referer-header-stripped-frame.php: Added.
        * http/tests/contentdispositionattachmentsandbox/resources/referer-header-stripped.js: Added.
        * http/tests/contentdispositionattachmentsandbox/resources/subresource-request-not-include-referer-header-frame.php: Removed.
        * http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header-expected.txt: Removed.
        * http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html: Removed.

2015-12-15  Timothy Horton  <timothy_horton@apple.com>

        Rebaseline some page overlay tests for WK1

        * platform/mac-wk1/pageoverlay/overlay-installation-expected.txt:
        * platform/mac-wk1/pageoverlay/overlay-large-document-expected.txt:
        * platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.txt:
        * platform/mac-wk1/pageoverlay/overlay-small-frame-mouse-events-expected.txt: Added.

2015-12-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Localize "global code" and "eval code" strings
        https://bugs.webkit.org/show_bug.cgi?id=152313

        Reviewed by Timothy Hatcher.

        * inspector/debugger/js-stacktrace-expected.txt:
        * inspector/debugger/js-stacktrace.html:
        * inspector/model/stack-trace-expected.txt: Added.
        * inspector/model/stack-trace.html: Added.

2015-12-15  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r191849): There's no yellow bouncy highlight when using Find on Page on iOS
        https://bugs.webkit.org/show_bug.cgi?id=152241
        <rdar://problem/23642574>

        Reviewed by Simon Fraser.

        * pageoverlay/overlay-small-frame-mouse-events-expected.txt: Added.
        * pageoverlay/overlay-small-frame-mouse-events.html: Added.
        Add a test ensuring that small-frame overlays get mouse events.

        * pageoverlay/overlay-small-frame-paints-expected.txt: Added.
        * pageoverlay/overlay-small-frame-paints.html: Added.
        Add a test ensuring that small-frame overlays get paint callbacks.

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

        [Font Features] TrueType fonts trigger real features even when synthesis is applied
        https://bugs.webkit.org/show_bug.cgi?id=152287

        Reviewed by Darin Adler.

        Adding tests.

        * css3/font-variant-petite-caps-synthesis-expected.html:
        * css3/font-variant-petite-caps-synthesis.html:
        * css3/font-variant-small-caps-synthesis-expected.html:
        * css3/font-variant-small-caps-synthesis.html:
        * css3/font-variant-petite-caps-synthesis-coverage-expected.html:
        * css3/font-variant-petite-caps-synthesis-coverage.html:
        * css3/font-variant-small-caps-synthesis-coverage-expected.html:
        * css3/font-variant-small-caps-synthesis-coverage.html:

2015-12-15  Mark Lam  <mark.lam@apple.com>

        Polymorphic operand types for DFG and FTL bit operators.
        https://bugs.webkit.org/show_bug.cgi?id=152191

        Reviewed by Saam Barati.

        * js/regress/ftl-polymorphic-bitand-expected.txt: Added.
        * js/regress/ftl-polymorphic-bitand.html: Added.
        * js/regress/ftl-polymorphic-bitor-expected.txt: Added.
        * js/regress/ftl-polymorphic-bitor.html: Added.
        * js/regress/ftl-polymorphic-bitxor-expected.txt: Added.
        * js/regress/ftl-polymorphic-bitxor.html: Added.
        * js/regress/ftl-polymorphic-lshift-expected.txt: Added.
        * js/regress/ftl-polymorphic-lshift.html: Added.
        * js/regress/ftl-polymorphic-rshift-expected.txt: Added.
        * js/regress/ftl-polymorphic-rshift.html: Added.
        * js/regress/ftl-polymorphic-urshift-expected.txt: Added.
        * js/regress/ftl-polymorphic-urshift.html: Added.
        * js/regress/script-tests/ftl-polymorphic-bitand.js: Added.
        (o1.valueOf):
        (foo):
        * js/regress/script-tests/ftl-polymorphic-bitor.js: Added.
        (o1.valueOf):
        (foo):
        * js/regress/script-tests/ftl-polymorphic-bitxor.js: Added.
        (o1.valueOf):
        (foo):
        * js/regress/script-tests/ftl-polymorphic-lshift.js: Added.
        (o1.valueOf):
        (foo):
        * js/regress/script-tests/ftl-polymorphic-rshift.js: Added.
        (o1.valueOf):
        (foo):
        * js/regress/script-tests/ftl-polymorphic-urshift.js: Added.
        (o1.valueOf):
        (foo):

2015-12-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        WebRTC: Test that RTCPeerConnection promise functions reject on closed state
        https://bugs.webkit.org/show_bug.cgi?id=152295

        Reviewed by Eric Carlson.

        Add test that verifies RTCPeerConnection's behavior in the closed state
        (signalingState). Promise functions should reject, and (some) others
        should throw. Remove old test that tests incorrect behavior.

        * fast/mediastream/RTCPeerConnection-closed-state-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-closed-state.html: Added.
        * fast/mediastream/RTCPeerConnection-state-expected.txt: Removed.
        * fast/mediastream/RTCPeerConnection-state.html: Removed.

2015-12-15  Tomas Popela  <tpopela@redhat.com>

        [GTK] Gardening: Rebaseline tests
        https://bugs.webkit.org/show_bug.cgi?id=152301

        Unreviewed GTK gardening

        * platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
        Correct the expectations after r189202 when RangeException was
        removed.
        * platform/gtk/fast/dom/adopt-attribute-crash-expected.txt: Added.
        Add a new test expectations after r187148.
        * platform/gtk/http/tests/plugins/plugin-javascript-access-expected.txt: Added.
        Add a new test expectations after r193363.

2015-12-15  Ryan Haddad  <ryanhaddad@apple.com>

        Changing expectation for storage/indexeddb/deleted-objects.html to [ Failure Crash ]
        https://bugs.webkit.org/show_bug.cgi?id=152264

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2015-12-15  Javier Fernandez  <jfernandez@igalia.com>

        [css-align][css-grid] Overflow alignment value 'true' renamed to 'unsafe'
        https://bugs.webkit.org/show_bug.cgi?id=152251

        The 'True' Overflow Alignment keyword is known now as 'Unsafe', so adapting
        layout tests using such keyword.

        Reviewed by Darin Adler.

        * css3/overwrite-content-alignment-expected.txt:
        * css3/overwrite-content-alignment.html:
        * css3/overwrite-self-alignment-expected.txt:
        * css3/overwrite-self-alignment.html:
        * css3/parse-align-content-expected.txt:
        * css3/parse-align-content.html:
        * css3/parse-align-items-expected.txt:
        * css3/parse-align-items.html:
        * css3/parse-align-self-expected.txt:
        * css3/parse-align-self.html:
        * css3/parse-justify-content-expected.txt:
        * css3/parse-justify-content.html:
        * fast/css-grid-layout/grid-align-justify-overflow.html:
        * fast/css-grid-layout/grid-content-alignment-overflow.html:
        * fast/css/parse-justify-items-expected.txt:
        * fast/css/parse-justify-items.html:
        * fast/css/parse-justify-self-expected.txt:
        * fast/css/parse-justify-self.html:

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

        Re-enabling passing test fast/viewport/ios/width-is-device-width.html, which was accidentally skipped with r194058.
        https://bugs.webkit.org/show_bug.cgi?id=152135

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2015-12-14  Yusuke Suzuki  <utatane.tea@gmail.com>

        Math.random should have an intrinsic thunk and it should be later handled as a DFG Node
        https://bugs.webkit.org/show_bug.cgi?id=152133

        Reviewed by Geoffrey Garen.

        Add new regression test.

        * js/regress/math-random-expected.txt: Added.
        * js/regress/math-random.html: Added.
        * js/regress/script-tests/math-random.js: Added.
        (test):

2015-12-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Stack traces in console incorrectly show "(anonymous function)" for global code
        https://bugs.webkit.org/show_bug.cgi?id=152280

        Reviewed by Brian Burg.

        * inspector/debugger/js-stacktrace-expected.txt:
        * inspector/debugger/js-stacktrace.html:

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

        Marking storage/indexeddb/deleted-objects.html as a flaky crash on mac-wk1
        https://bugs.webkit.org/show_bug.cgi?id=152264

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

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

        Marking platform/ios-simulator/ios/scrolling tests as failing on ios-simulator
        https://bugs.webkit.org/show_bug.cgi?id=152276

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Updating ios-simulator expectation for crashing tests http/tests/misc/large-js-program.php and js/dom/line-column-numbers.html
        https://bugs.webkit.org/show_bug.cgi?id=152279

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Removing ios-simulator TestExpectations for deleted tests: streams/reference-implementation/readable-stream-cancel.html (r192186)
        and http/tests/inspector/console/access-inspected-object.html (r192186).
        https://bugs.webkit.org/show_bug.cgi?id=152131

        Unreviewed test gardening.

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

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

        Adding a second newline to the expected result for compositing/iframes/page-cache-layer-tree.html
        https://bugs.webkit.org/show_bug.cgi?id=152132

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:

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

        Marking js/regress/generator-with-several-types.html as a flaky timeout on mac-wk1 debug.
        https://bugs.webkit.org/show_bug.cgi?id=152272

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

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

        Take 2 of updating expectations for fast/events/ios tests by removing the directory's [ Pass ] expectation.
        https://bugs.webkit.org/show_bug.cgi?id=152134

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

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

        Take 2 of updating expectations for fast/viewport/ios tests by removing the directory's [ Pass ] expectation.
        https://bugs.webkit.org/show_bug.cgi?id=152135

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

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

        Rebaseline compositing/iframes/page-cache-layer-tree.html for iOS Simulator
        https://bugs.webkit.org/show_bug.cgi?id=152267

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:

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

        Marking fast/viewport/ios/width-is-device-width-overflowing* tests as failing on iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=152135

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2015-12-14  Chris Fleizach  <cfleizach@apple.com>

        AX: iOS: Text field variations do not have the correct traits
        https://bugs.webkit.org/show_bug.cgi?id=152237

        Reviewed by Mario Sanchez Prada.

        * accessibility/ios-simulator/textentry-traits-expected.txt: Added.
        * accessibility/ios-simulator/textentry-traits.html: Added.

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

        Marking fast/viewport/ios/width-is-device-width-overflowing* tests as failing on iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=152135

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Marking fast/picture/image-picture-* as failing on iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=152141

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Removing failure expectation for css3/blending tests that are now passing on iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=152131

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

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

        Rebaselining fast/text/emoji.html for iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=152261

        Unreviewed test gardening.

        * platform/ios-simulator/fast/text/emoji-expected.txt:

2015-12-14  Daniel Bates  <dabates@apple.com>

        [iOS] DOM click event may not be dispatched when page has :active style and <input type="search">
        https://bugs.webkit.org/show_bug.cgi?id=144451
        <rdar://problem/23099482>

        Reviewed by Simon Fraser.

        Add a test to ensure that a DOM click event is dispatched to an element in a subframe on a page
        with a search field and that specifies a CSS :active pseudo-class that changes the tap highlight
        color.

        Additionally, add tests to ensure we update the cancel button visibility whenever the visibility
        of the search field changes.

        * fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field-expected.txt: Added.
        * fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html: Added.
        * fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled-expected.html: Added.
        * fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled.html: Added.
        * fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly-expected.html: Added.
        * fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly.html: Added.
        * fast/forms/search/search-cancel-in-formerly-invisible-element-expected.html: Added.
        * fast/forms/search/search-cancel-in-formerly-invisible-element.html: Added.
        * fast/forms/search/search-cancel-toggle-visibility-initially-hidden-expected.html: Added.
        * fast/forms/search/search-cancel-toggle-visibility-initially-hidden.html: Added.
        * fast/forms/search/search-cancel-toggle-visibility-initially-visible-expected.html: Added.
        * fast/forms/search/search-cancel-toggle-visibility-initially-visible.html: Added.

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

        Roll out r193974 and follow-up fixes as it caused JSC crashes
        https://bugs.webkit.org/show_bug.cgi?id=152256

        Unreviewed, roll out r193974 and follow-up fixes as it caused JSC crashes.

        * inspector/model/remote-object-get-properties-expected.txt:
        * js/Object-getOwnPropertyNames-expected.txt:
        * js/exception-for-nonobject-expected.txt:
        * js/exception-instanceof-expected.txt:
        * js/instance-of-immediates-expected.txt:
        * js/regress/instanceof-bound-expected.txt: Removed.
        * js/regress/instanceof-bound.html: Removed.
        * js/regress/script-tests/instanceof-bound.js: Removed.
        * js/script-tests/Object-getOwnPropertyNames.js:

2015-12-14  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Streams API] Expose ReadableStream and relatives to Worker
        https://bugs.webkit.org/show_bug.cgi?id=152066

        Reviewed by Darin Adler.

        Adding ByteLengthQueuingStrategy, CountQueuingStrategy and ReadableStream as worker constructors.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2015-12-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed gardening.

        * platform/gtk/TestExpectations: Update TestExpectations with the following changes:
          - Remove expectations for tests removed after r193411 r193426 and r19366.
          - Merge repeated expectations from some tests.
          - Mark tests failing after r188159.
          - Update list of imported/blink tests failing.

2015-12-14  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Fix height computation of grid items with borders
        https://bugs.webkit.org/show_bug.cgi?id=151800

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-item-with-border-in-intrinsic-expected.txt: Added.
        * fast/css-grid-layout/grid-item-with-border-in-intrinsic.html: Added.

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

        Clean up absolute positioned map properly.
        https://bugs.webkit.org/show_bug.cgi?id=152219
        rdar://problem/23861165

        Reviewed by Simon Fraser.

        We insert positioned renderers into a static map (RenderBlock::gPositionedDescendantsMap) to keep track of them.
        Since this static map is at block level, (positioned)inline renderers use their containing block to store
        their positioned descendants.
        This patch ensures that when an inline element can no longer hold positioned children, we remove them from
        the inline's containing block's map. -unless the container itself can hold positioned renderers(see RenderElement::canContainAbsolutelyPositionedObjects).

        * fast/block/positioning/crash-when-positioned-inline-has-positioned-child-expected.txt: Added.
        * fast/block/positioning/crash-when-positioned-inline-has-positioned-child.html: Added.

2015-12-13  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [EFL] Anonymous render block flow elements should be exposed as ATK_ROLE_SECTION; not ATK_ROLE_PANEL
        https://bugs.webkit.org/show_bug.cgi?id=152079

        Reviewed by Chris Fleizach.

        * platform/efl/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added.
        * platform/efl/accessibility/image-link-expected.txt: Updated.
        * platform/efl/accessibility/image-with-alt-and-map-expected.txt: Updated.
        * platform/efl/accessibility/lists-expected.txt: Updated.
        * platform/efl/accessibility/media-element-expected.txt: Updated

2015-12-13  Brady Eidson  <beidson@apple.com>

        Modern IDB: TextExpectations gardening to run more tests.
        https://bugs.webkit.org/show_bug.cgi?id=152217

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations: 5 crash/timeout tests now either pass or merely have text failures.

2015-12-12  Brady Eidson  <beidson@apple.com>

        Modern IDB: Update a couple of tests that fail only because of error message differences.
        https://bugs.webkit.org/show_bug.cgi?id=152205

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/objectstore-autoincrement-expected.txt:
        * storage/indexeddb/open-cursor-expected.txt:

2015-12-12  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/index-duplicate-keypaths.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152201

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

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

        Mousewheel events don't work in iframes in RTL documents
        https://bugs.webkit.org/show_bug.cgi?id=152200

        Reviewed by Beth Dakin.
        
        Try dispatching wheel events to an iframe in an RTL document.

        * fast/scrolling/rtl-point-in-iframe-expected.txt: Added.
        * fast/scrolling/rtl-point-in-iframe.html: Added.

2015-12-11  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !rect.isEmpty() in WebCore::GraphicsContext::drawRect
        https://bugs.webkit.org/show_bug.cgi?id=151201

        Reviewed by Simon Fraser.

        Drawing empty rect is a waste.

        * fast/borders/empty-drawrect-assert-after-pixelsnap-expected.txt: Added.
        * fast/borders/empty-drawrect-assert-after-pixelsnap.html: Added.

2015-12-11  Jiewen Tan  <jiewen_tan@apple.com>

        Strip out Referer header when requesting subresources or following links for documents with "Content-Disposition: attachment"
        https://bugs.webkit.org/show_bug.cgi?id=152102
        <rdar://problem/22124230>

        Reviewed by Andy Estes.

        * http/tests/contentdispositionattachmentsandbox/resources/echo-http-referer.php: Added.
        * http/tests/contentdispositionattachmentsandbox/resources/subresource-request-not-include-referer-header-frame.php: Added.
        * http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html: Added.

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

        [MediaStream] Add a setting to allow the mock media capture devices to be enabled and disabled
        https://bugs.webkit.org/show_bug.cgi?id=152197

        Reviewed by Dean Jackson.

        * fast/mediastream/mock-media-source-expected.txt: Added.
        * fast/mediastream/mock-media-source.html: Added.

2015-12-11  Beth Dakin  <bdakin@apple.com>

        _touchEventRegions should return regions in the view's coordinates
        https://bugs.webkit.org/show_bug.cgi?id=152189
        -and corresponding-
        rdar://problem/23188605

        Reviewed by Dan Bernstein.

        * fast/events/touch/ios/touch-event-rtl-expected.txt: Added.
        * fast/events/touch/ios/touch-event-rtl.html: Added.

2015-12-11  Alexey Proskuryakov  <ap@apple.com>

        Roll out http://trac.webkit.org/r193984, because the new test is timing out.

        Was: Strip out Referer header when requesting subresources or following links for documents with "Content-Disposition: attachment"
        https://bugs.webkit.org/show_bug.cgi?id=152102
        <rdar://problem/22124230>

        * http/tests/contentdispositionattachmentsandbox/resources/echo-http-referer.php: Removed.
        * http/tests/contentdispositionattachmentsandbox/resources/subresource-request-not-include-referer-header-frame.php: Removed.
        * http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header-expected.txt: Removed.
        * http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html: Removed.

2015-12-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/optional-arguments.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152194

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/invalid-keys-expected.txt: Updated for new error message.
        * storage/indexeddb/optional-arguments-expected.txt: Remove results that expect IDBObjectStore.openKeyCursor() to be
          a thing. That method no longer exists in the spec and was already removed from the test.

2015-12-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/cursor-continue.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152192

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/cursor-continue-expected.txt:

2015-12-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/index-basics.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152190

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-11  Keith Miller  <keith_miller@apple.com>

        Rebaseline a failing inspector test for a new property on Function.prototype.

        * inspector/model/remote-object-get-properties-expected.txt:

2015-12-11  Jiewen Tan  <jiewen_tan@apple.com>

        Strip out Referer header when requesting subresources or following links for documents with "Content-Disposition: attachment"
        https://bugs.webkit.org/show_bug.cgi?id=152102
        <rdar://problem/22124230>

        Reviewed by Andy Estes.

        * http/tests/contentdispositionattachmentsandbox/resources/echo-http-referer.php: Added.
        * http/tests/contentdispositionattachmentsandbox/resources/subresource-request-not-include-referer-header-frame.php: Added.
        * http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header-expected.txt: Added.
        * http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html: Added.

2015-12-11  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/events/ios tests as flaky on ios-simulator due to timeouts
        https://bugs.webkit.org/show_bug.cgi?id=152134

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2015-12-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/key-type-array.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152187

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/key-type-array-expected.txt:

2015-12-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: Updates to 3 intversion tests, and/or their results.
        https://bugs.webkit.org/show_bug.cgi?id=152179

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt:

        * storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
        * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
        * storage/indexeddb/intversion-upgrades-expected.txt:
        * storage/indexeddb/resources/intversion-close-in-oncomplete.js:

2015-12-11  Keith Miller  <keith_miller@apple.com>

        [ES6] Add support for Symbol.hasInstance
        https://bugs.webkit.org/show_bug.cgi?id=151839

        Reviewed by Saam Barati.

        Fix tests to reflect the changes to instanceof in ES6.

        Added a new regression test for bound functions in instanceof
        as the perfomance on bound functions should, to some degree,
        reflect the performance on C-API users.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/exception-for-nonobject-expected.txt:
        * js/exception-instanceof-expected.txt:
        * js/instance-of-immediates-expected.txt:
        * js/regress/instanceof-bound-expected.txt: Added.
        * js/regress/instanceof-bound.html: Added.
        * js/regress/script-tests/instanceof-bound.js: Added.
        (Constructor):
        (test):
        * js/script-tests/Object-getOwnPropertyNames.js:

2015-12-11  Ryan Haddad  <ryanhaddad@apple.com>

        Updating mac-wk1 TestExpectations for fast/replaced/replaced-breaking.html to Yosemite+ to fix EWS bot results.
        https://bugs.webkit.org/show_bug.cgi?id=152178

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2015-12-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152177

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * platform/wk2/storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: Copied from LayoutTests/storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt.
        * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
        * storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:

2015-12-11  Jiewen Tan  <jiewen_tan@apple.com>

        Do not fire load events from frames with scripting disabled
        https://bugs.webkit.org/show_bug.cgi?id=118042
        <rdar://problem/14272857>

        Reviewed by Brent Fulgham.

        Since the crash is not reproducible, only test case from Blink r153029 is merged:
        https://codereview.chromium.org/17682003

        * fast/images/image-load-event-crash-expected.txt: Added.
        * fast/images/image-load-event-crash.html: Added.

2015-12-11  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/index-count.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152175

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/index-count-expected.txt:
        * storage/indexeddb/modern/index-get-count-failures-expected.txt:

2015-12-11  Daniel Bates  <dabates@apple.com>

        [iOS][WK2] Update expected results for tests imported/w3c/web-platform-tests

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt: Added.

2015-12-11  Darin Adler  <darin@apple.com>

        Reduce the number of events that can be created by Document.createEvent
        https://bugs.webkit.org/show_bug.cgi?id=151931

        Reviewed by Alex Christensen.

        * TestExpectations: Added expected failures for the two tests that depend
        on createEvent("IDBVersionChangeEvent").

        * animations/animation-events-create.html: Updated to use
        "new WebKitAnimationEvent" instead of document.createEvent.

        * fast/events/event-creation-expected.txt: Removed expected results for
        various events that can no longer be created with createEvent.
        * fast/events/event-creation.html: Removed tests for various events
        that can no longer be created with createEvent.

        * imported/blink/plugins/plugin-synthetic-event-crash.html: Updated to use
        "new PopStateEvent" instead of document.createEvent.

        * indieui/create-uirequestevent-expected.txt: Removed.
        * indieui/create-uirequestevent.html: Removed.

        * platform/mac-wk2/TestExpecations: Removed expectations for some deleted tests.

        * platform/wk2/storage/indexeddb/removed-expected.txt: Removed, since this is
        no different from the platform-independent expected result.

        * transitions/transition-end-event-create.html: Updated to use
        "new WebKitTransitionEvent" instead of document.createEvent.

2015-12-11  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: When logging strings, detect stack traces and show them as StackTraceView
        https://bugs.webkit.org/show_bug.cgi?id=149790

        Reviewed by Timothy Hatcher.

        * inspector/console/js-isLikelyStackTrace.html: Added.

2015-12-10  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/objectstore-count.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152167

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/objectstore-count-expected.txt:

2015-12-10  Zalan Bujtas  <zalan@apple.com>

        ASSERTION FAILED: !simpleLineLayout() in WebCore::RenderText::collectSelectionRectsForLineBoxes
        https://bugs.webkit.org/show_bug.cgi?id=152115

        Reviewed by Simon Fraser.

        document.execCommand("indent") generates a blockquote wrapper and moves the indented content inside.
        If the indented content is already inside a selection, we need to make sure that newly created flow uses
        normal line layout.
        This patch fixes the generic case as re-parenting an already selected renderer is not specific to document.execCommand("indent").

        * fast/block/selection-inside-simple-line-layout-expected.txt: Added.
        * fast/block/selection-inside-simple-line-layout.html: Added.

2015-12-10  Brady Eidson  <beidson@apple.com>

        Unreviewed TestExpectations gardening.

        * platform/mac-wk1/TestExpectations: Move 3 failing IDB tests to the "Skipped because of Workers" section.

2015-12-10  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Expose media capture devices persistent permissions to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=152087

        Reviewed by Chris Dumez.

        * fast/mediastream/MediaDevices-enumerateDevices-expected.txt:
        * fast/mediastream/MediaDevices-enumerateDevices.html:

2015-12-10  Daniel Bates  <dabates@apple.com>

        [CSP] eval() is not blocked for stringified literals
        https://bugs.webkit.org/show_bug.cgi?id=152158
        <rdar://problem/15775625>

        Reviewed by Saam Barati.

        Update test LayoutTests/http/tests/security/contentSecurityPolicy/eval-blocked.html to be
        more comprehensive.

        Add tests to ensure that we block eval() from within an external JavaScript script when the
        policy of the page disallows eval() and that we block eval() inside a subframe that disallows
        eval() when the page in the main frame allows eval().

        * http/tests/security/contentSecurityPolicy/eval-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/eval-blocked-in-external-script-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/eval-blocked-in-external-script.html: Added.
        * http/tests/security/contentSecurityPolicy/eval-blocked-in-subframe-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/eval-blocked-expected.txt.
        * http/tests/security/contentSecurityPolicy/eval-blocked-in-subframe.html: Added.
        * http/tests/security/contentSecurityPolicy/eval-blocked.html:
        * http/tests/security/contentSecurityPolicy/resources/eval-blocked-in-external-script.js: Added.

2015-12-10  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html fails
        https://bugs.webkit.org/show_bug.cgi?id=152144

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/abort-requests-cancelled-expected.txt:
        * storage/indexeddb/modern/aborted-put-expected.txt:
        * storage/indexeddb/modern/createobjectstore-basic-expected.txt:
        * storage/indexeddb/modern/deletedatabase-2-expected.txt:
        * storage/indexeddb/modern/deletedatabase-2.html:
        * storage/indexeddb/modern/deleteindex-2-expected.txt:
        * storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
        * storage/indexeddb/modern/opendatabase-versions-expected.txt:
        * storage/indexeddb/modern/opendatabase-versions.html:
        * storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:

2015-12-10  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining fast/text/emoji.html for Yosemite.
        https://bugs.webkit.org/show_bug.cgi?id=152147

        Unreviewed test gardening.

        * platform/mac-yosemite/fast/text/emoji-expected.txt: Added.

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

        Build fix

        Unreviewed.

        * platform/mac/TestExpectations:

2015-12-10  Ryan Haddad  <ryanhaddad@apple.com>

        Adding iOS-simulator expectations for compositing/layers-inside-overflow-scroll.html
        https://bugs.webkit.org/show_bug.cgi?id=152132

        Unreviewed test gardening.

        * platform/ios-simulator/compositing/layers-inside-overflow-scroll-expected.txt: Added.

2015-12-10  Alex Christensen  <achristensen@webkit.org>

        REGRESSION (r192796) WKBundlePageResourceLoadClient should be able to setHTTPBody in willSendRequestForFrame
        https://bugs.webkit.org/show_bug.cgi?id=152022
        rdar://problem/23763584

        Reviewed by Darin Adler.

        * TestExpectations:
        * http/tests/misc/resources/post-echo.cgi: Copied from LayoutTests/http/tests/xmlhttprequest/resources/post-echo.cgi.
        * http/tests/misc/will-send-request-with-client-provided-http-body-expected.txt: Added.
        * http/tests/misc/will-send-request-with-client-provided-http-body.html: Added.
        * platform/wk2/TestExpectations:
        New test for WK2 only.

2015-12-10  Enrica Casucci  <enrica@apple.com>

        Change skin tone support for two emoji.
        https://bugs.webkit.org/show_bug.cgi?id=152147
        rdar://problem/23716993
        rdar://problem/23716344

        Reviewed by Darin Adler.

        * fast/text/emoji.html:
        * platform/mac/fast/text/emoji-expected.txt:

2015-12-10  Ryan Haddad  <ryanhaddad@apple.com>

        Skip unsupported css3/font-variant-* tests on Win
        https://bugs.webkit.org/show_bug.cgi?id=149774

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2015-12-10  Daniel Bates  <dabates@apple.com>

        [iOS][WK2] Update expected results for editing tests

        * platform/ios-simulator-wk2/editing/deleting/delete-3608462-fix-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/4278698-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/before-after-input-element-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/editable-html-element-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/editing-empty-divs-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-3778059-fix-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-3851164-fix-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-at-end-01-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-009-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-at-tabspan-001-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-at-tabspan-002-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-at-tabspan-003-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-001-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-002-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-003-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-004-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-005-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-006-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-009-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-010-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-011-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-012-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-013-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-014-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-015-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-016-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-017-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-018-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-019-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-020-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-022-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-023-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-024-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-025-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-026-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-div-027-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-paragraph-01-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-paragraph-02-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-paragraph-03-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-paragraph-04-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-paragraph-05-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-tab-003-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-text-at-tabspan-001-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-text-at-tabspan-002-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-text-at-tabspan-003-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/insert-text-with-newlines-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/line-break-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/multiple-lines-selected-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/paragraph-separator-01-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/paragraph-separator-02-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/paragraph-separator-03-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/paragraph-separator-in-table-1-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/paragraph-separator-in-table-2-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/redo-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/return-key-with-selection-001-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/return-key-with-selection-002-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/return-key-with-selection-003-expected.txt:
        * platform/ios-simulator-wk2/editing/inserting/typing-002-expected.txt:
        * platform/ios-simulator-wk2/editing/style/apple-style-editable-mix-expected.txt:
        * platform/ios-simulator-wk2/editing/style/block-style-001-expected.txt:
        * platform/ios-simulator-wk2/editing/style/block-style-002-expected.txt:
        * platform/ios-simulator-wk2/editing/style/block-style-003-expected.txt:
        * platform/ios-simulator-wk2/editing/style/block-styles-007-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-001-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-002-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-003-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-004-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-005-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-006-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-007-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-008-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-009-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-010-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-011-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-012-expected.txt:
        * platform/ios-simulator-wk2/editing/style/create-block-for-style-013-expected.txt:
        * platform/ios-simulator-wk2/editing/style/designmode-expected.txt:
        * platform/ios-simulator-wk2/editing/style/relative-font-size-change-001-expected.txt:
        * platform/ios-simulator-wk2/editing/style/relative-font-size-change-002-expected.txt:
        * platform/ios-simulator-wk2/editing/style/relative-font-size-change-003-expected.txt:
        * platform/ios-simulator-wk2/editing/style/relative-font-size-change-004-expected.txt:
        * platform/ios-simulator-wk2/editing/style/style-3681552-fix-002-expected.txt:
        * platform/ios-simulator-wk2/editing/style/style-3998892-fix-expected.txt:
        * platform/ios-simulator-wk2/editing/style/style-boundary-001-expected.txt:
        * platform/ios-simulator-wk2/editing/style/style-boundary-004-expected.txt:
        * platform/ios-simulator-wk2/editing/style/table-selection-expected.txt:
        * platform/ios-simulator-wk2/editing/style/unbold-in-bold-expected.txt:

2015-12-10  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Add several generator related JSRegress tests to measure performance change after optimization
        https://bugs.webkit.org/show_bug.cgi?id=151785

        Reviewed by Saam Barati.

        Before starting optimization for ES6 Generators, add several JSRegress tests to measure that.

        * js/regress/generator-create-expected.txt: Added.
        * js/regress/generator-create.html: Added.
        * js/regress/generator-fib-expected.txt: Added.
        * js/regress/generator-fib.html: Added.
        * js/regress/generator-function-create-expected.txt: Added.
        * js/regress/generator-function-create.html: Added.
        * js/regress/generator-sunspider-access-nsieve-expected.txt: Added.
        * js/regress/generator-sunspider-access-nsieve.html: Added.
        * js/regress/generator-with-several-types-expected.txt: Added.
        * js/regress/generator-with-several-types.html: Added.
        * js/regress/script-tests/generator-create.js: Added.
        (gen):
        * js/regress/script-tests/generator-fib.js: Added.
        (result):
        * js/regress/script-tests/generator-function-create.js: Added.
        (createGeneratorFunction.gen):
        (createGeneratorFunction):
        * js/regress/script-tests/generator-sunspider-access-nsieve.js: Added.
        (prime):
        (sieve):
        * js/regress/script-tests/generator-with-several-types.js: Added.
        (g1):
        (g2):
        (g3):

2015-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix ambiguous expectations added in r193895.

        * platform/gtk/TestExpectations:

2015-12-10  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        JSC Builtins should use safe array methods
        https://bugs.webkit.org/show_bug.cgi?id=151501

        Reviewed by Darin Adler.

        Adding shielding test for TypedArray.prototype.filter and stream enqueuing of values and read promises.

        * js/builtins/resources/shielding-typedarray.js: Added.
        (Array.prototype.push):
        (try.array.Int8Array.from.string_appeared_here.filter):
        * js/builtins/shielding-typedarray-expected.txt: Added.
        * js/builtins/shielding-typedarray.html: Added.
        * streams/streams-promises-expected.txt:
        * streams/streams-promises.html:

2015-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. GTK+ gardening: skip HLS tests crashing in debug after r192102.

        * platform/gtk/TestExpectations:

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

        font-variant-caps does not work if the font does not support font features
        https://bugs.webkit.org/show_bug.cgi?id=149774

        Reviewed by Antti Koivisto.

        Adding two new font which include lowercase characters which respond to 'smcp' and 'c2sc'. 

        The character mappings are:

        OpenType:
        'smcp': f
        'c2sc': g

        TrueType:
        kLowerCaseType / kLowerCaseSmallCapsSelector: r
        kUpperCaseType / kUpperCaseSmallCapsSelector: u

        * css3/font-variant-all-expected.html:
        * css3/font-variant-all.html:
        * css3/font-variant-small-caps-synthesis-expected.html: Added.
        * css3/font-variant-small-caps-synthesis.html: Added.
        * css3/font-variant-petite-caps-synthesis-expected.html: Added.
        * css3/font-variant-petite-caps-synthesis.html: Added.
        * css3/resources/FontWithFeaturesLowercaseSmallCaps.otf: Added.
        * css3/resources/FontWithFeaturesLowercaseSmallCaps.ttf: Added.
        * platform/mac/TestExpectations:
        * platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt:

2015-12-09  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/objectstore-basics.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152101

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * platform/wk2/storage/indexeddb/mozilla/bad-keypath-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/bad-keypath-expected.txt.
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt.
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt.
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt.
        * storage/indexeddb/invalid-keys-expected.txt:
        * storage/indexeddb/key-type-binary-expected.txt:
        * storage/indexeddb/keypath-edges-expected.txt:
        * storage/indexeddb/mozilla/bad-keypath-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
        * storage/indexeddb/objectstore-basics-expected.txt:

2015-12-09  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/metadata.html fails
        https://bugs.webkit.org/show_bug.cgi?id=152099

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/abort-objectstore-info-expected.txt: Added.
        * storage/indexeddb/modern/abort-objectstore-info.html: Added.
        * storage/indexeddb/modern/resources/abort-objectstore-info.js: Added.

2015-12-09  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/intversion-close-between-events.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152096

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-09  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/database-closepending-flag.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152095

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-09  Brady Eidson  <beidson@apple.com>

        Modern IDB: Some tests expect UInt8Array to be a valid key.
        https://bugs.webkit.org/show_bug.cgi?id=152092

        Reviewed by Alex Christensen.

        Everything that expected UInt8Array to be a valid key needs to be updated to expect it to be invalid.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/factory-cmp-expected.txt:
        * storage/indexeddb/key-type-binary-expected.txt:
        * storage/indexeddb/resources/factory-cmp.js:
        * storage/indexeddb/resources/key-type-binary.js:

2015-12-09  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/createIndex-after-failure.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152078

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/createIndex-after-failure-expected.txt:
        * storage/indexeddb/resources/createIndex-after-failure.js:

2015-12-09  Ryan Haddad  <ryanhaddad@apple.com>

        Baseline fast/dom/HTMLProgressElement/native-progress-bar.html for iOS
        https://bugs.webkit.org/show_bug.cgi?id=152094

        Unreviewed test gardening.

        * platform/ios-simulator/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt: Added.

2015-12-09  Ryan Haddad  <ryanhaddad@apple.com>

        Baseline fast/text/text-combine-shrink-on-color-change.html for iOS
        https://bugs.webkit.org/show_bug.cgi?id=151218

        Unreviewed test gardening.

        * platform/ios-simulator/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.

2015-12-09  David Hyatt  <hyatt@apple.com>

        Picture element needs to respond to dynamic viewport changes.
        https://bugs.webkit.org/show_bug.cgi?id=152013
        <rdar://problem/23766375>

        Reviewed by Dean Jackson.

        * fast/picture/resources/resize-test.js: Added.
        * fast/picture/viewport-resize-expected.txt: Added.
        * fast/picture/viewport-resize.html: Added.

2015-12-09  Mark Lam  <mark.lam@apple.com>

        Rename ftl-object-* tests to ftl-polymorphic-*.
        https://bugs.webkit.org/show_bug.cgi?id=152091

        Reviewed by Saam Barati.

        This is because those tests are actually testing the effects of polymorphic
        operands on performance, and not the correctness of operations on objects.

        * js/regress/ftl-object-div-expected.txt: Removed.
        * js/regress/ftl-object-div.html: Removed.
        * js/regress/ftl-object-mul-expected.txt: Removed.
        * js/regress/ftl-object-mul.html: Removed.
        * js/regress/ftl-object-sub-expected.txt: Removed.
        * js/regress/ftl-object-sub.html: Removed.
        * js/regress/ftl-polymorphic-div-expected.txt: Copied from LayoutTests/js/regress/ftl-object-div-expected.txt.
        * js/regress/ftl-polymorphic-div.html: Copied from LayoutTests/js/regress/ftl-object-div.html.
        * js/regress/ftl-polymorphic-mul-expected.txt: Copied from LayoutTests/js/regress/ftl-object-mul-expected.txt.
        * js/regress/ftl-polymorphic-mul.html: Copied from LayoutTests/js/regress/ftl-object-mul.html.
        * js/regress/ftl-polymorphic-sub-expected.txt: Copied from LayoutTests/js/regress/ftl-object-sub-expected.txt.
        * js/regress/ftl-polymorphic-sub.html: Copied from LayoutTests/js/regress/ftl-object-sub.html.
        * js/regress/script-tests/ftl-object-div.js: Removed.
        * js/regress/script-tests/ftl-object-mul.js: Removed.
        * js/regress/script-tests/ftl-object-sub.js: Removed.
        * js/regress/script-tests/ftl-polymorphic-div.js: Copied from LayoutTests/js/regress/script-tests/ftl-object-div.js.
        * js/regress/script-tests/ftl-polymorphic-mul.js: Copied from LayoutTests/js/regress/script-tests/ftl-object-mul.js.
        * js/regress/script-tests/ftl-polymorphic-sub.js: Copied from LayoutTests/js/regress/script-tests/ftl-object-sub.js.

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

        [GTK] Unreviewed GTK Gardening.

        Rebaseline media tests after r190054 and r190200.

        * platform/gtk/media/audio-controls-rendering-expected.txt:
        * platform/gtk/media/controls-strict-expected.txt:
        * platform/gtk/media/media-controls-clone-expected.txt:
        * platform/gtk/media/video-controls-rendering-expected.txt:
        * platform/gtk/media/video-display-toggle-expected.txt:
        * platform/gtk/media/video-empty-source-expected.txt:
        * platform/gtk/media/video-no-audio-expected.txt:
        * platform/gtk/media/video-volume-slider-expected.txt:
        * platform/gtk/media/video-zoom-controls-expected.txt:

2015-12-09  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [GTK] Anonymous render block flow elements should be exposed as ATK_ROLE_SECTION; not ATK_ROLE_PANEL
        https://bugs.webkit.org/show_bug.cgi?id=152070

        Reviewed by Mario Sanchez Prada.

        * platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added.
        * platform/gtk/accessibility/gtk/media-controls-panel-title-expected.txt: Added.
        * platform/gtk/accessibility/gtk/replaced-objects-in-anonymous-blocks-expected.txt: Added.
        * platform/gtk/accessibility/image-link-expected.txt: Updated
        * platform/gtk/accessibility/image-with-alt-and-map-expected.txt: Updated.
        * platform/gtk/accessibility/lists-expected.txt: Updated.
        * platform/gtk/accessibility/media-emits-object-replacement-expected.txt: Updated.

2015-12-09  Ryan Haddad  <ryanhaddad@apple.com>

        Replacing Yosemite flag with Release flag for two flaky xmlhttprequest tests.
        https://bugs.webkit.org/show_bug.cgi?id=151729

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2015-12-09  Ryan Haddad  <ryanhaddad@apple.com>

        Marking inspector/debugger/command-line-api-exception.html as flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=152029

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2015-12-09  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [GTK] Remove duplicate/platform media-emits-object-replacement.html and move expectations where they belong
        https://bugs.webkit.org/show_bug.cgi?id=152064

        Unreviewed test gardening.

        * accessibility/gtk/media-emits-object-replacement.html: Removed.
        * platform/gtk/accessibility/media-emits-object-replacement-expected.txt: Renamed from LayoutTests/accessibility/gtk/media-emits-object-replacement-expected.txt.

2015-12-09  Frederic Wang  <fred.wang@free.fr>

        Bad position of large operators inside an munderover element
        https://bugs.webkit.org/show_bug.cgi?id=151916

        Reviewed by Alejandro G. Castro.

        * mathml/opentype/large-operators-munderover-expected.txt: Added.
        * mathml/opentype/large-operators-munderover.html: Added.

        Add a test to verify the position and size of a large operator used as an munderover base.

2015-12-09  Joanmarie Diggs  <jdiggs@igalia.com>

        [AX][GTK] Accessibility gardening
        https://bugs.webkit.org/show_bug.cgi?id=152062

        Unreviewed test gardening.

        Skip two tests specific to AX API, mark a test which is timing out, remove passing
        test from failures.

        * platform/gtk/TestExpectations:

2015-12-09  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [Streams API] Import the web-platform-tests directly from the spec
        https://bugs.webkit.org/show_bug.cgi?id=152051

        Reviewed by Youenn Fablet.

        Removed the tests that are already imported directly from the spec.

        * streams/brand-checks-expected.txt: Added.
        * streams/brand-checks.html: Added. This includes some tests that vanished from the spec.
        * streams/reference-implementation/bad-strategies-expected.txt:
        * streams/reference-implementation/bad-strategies.html:
        * streams/reference-implementation/bad-underlying-sources.html: Removed.
        * streams/reference-implementation/brand-checks-expected.txt:
        * streams/reference-implementation/brand-checks.html:
        * streams/reference-implementation/byte-length-queuing-strategy-expected.txt:
        * streams/reference-implementation/byte-length-queuing-strategy.html:
        * streams/reference-implementation/count-queuing-strategy-expected.txt:
        * streams/reference-implementation/count-queuing-strategy.html:
        * streams/reference-implementation/readable-stream-cancel.html: Removed.
        * streams/reference-implementation/readable-stream-reader.html: Removed.
        * streams/reference-implementation/readable-stream-tee.html: Removed.
        * streams/reference-implementation/readable-stream-templated-expected.txt:
        * streams/reference-implementation/readable-stream-templated.html:
        * streams/reference-implementation/readable-stream.html: Removed.

2015-12-09  Joanmarie Diggs  <jdiggs@igalia.com>

        [AX][GTK] combobox-descendants-orientation-crash.html needs new baseline after r190648
        https://bugs.webkit.org/show_bug.cgi?id=152052

        Unreviewed test gardening.

        * accessibility/gtk/combobox-descendants-orientation-crash-expected.txt:

2015-12-09  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: The aria-table-content.html layout test should be more cross-platform friendly
        https://bugs.webkit.org/show_bug.cgi?id=152002

        Reviewed by Mario Sanchez Prada.

        Use 'debug' to dump the role instead of 'shouldBe' with a hard-coded role.

        * accessibility/aria-table-content-expected.txt: Updated
        * accessibility/aria-table-content.html: Updated
        * platform/gtk/accessibility/aria-table-content-expected.txt: Added
        * platform/efl/accessibility/aria-table-content-expected.txt: Added

2015-12-09  Joanmarie Diggs  <jdiggs@igalia.com>

        [AX][GTK] media-emits-object-replacement.html needs new baseline
        https://bugs.webkit.org/show_bug.cgi?id=152050

        Unreviewed test gardening.

        * accessibility/gtk/media-emits-object-replacement-expected.txt:

2015-12-09  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [EFL] Consider deferring to WebCore Accessibility for table exposure
        https://bugs.webkit.org/show_bug.cgi?id=144898

        Reviewed by Darin Adler.

        * platform/efl/accessibility/table-detection-expected.txt: Updated to reflect new behavior.
        * platform/efl/accessibility/table-hierarchy-expected.txt: Updated to reflect new behavior.
        * platform/efl/accessibility/table-one-cell-expected.txt: Updated to reflect new behavior.
        * platform/efl/accessibility/table-with-rules-expected.txt: Updated to reflect new behavior.

2015-12-08  David Kilzer  <ddkilzer@apple.com>

        Skip storage/indexeddb/index-multientry.html once again

        * platform/mac-wk1/TestExpectations: Skip:
        - storage/indexeddb/index-multientry.html

2015-12-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/objectstore-cursor.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=152023

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-08  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping fast/canvas/canvas-too-large-to-draw.html on win
        https://bugs.webkit.org/show_bug.cgi?id=152009

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2015-12-08  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/block/float/overhanging-tall-block.html for win after r193511
        https://bugs.webkit.org/show_bug.cgi?id=151906

        Unreviewed test gardening.

        * platform/win/fast/block/float/overhanging-tall-block-expected.txt:

2015-12-08  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping fast/canvas/canvas-too-large-to-draw.html on ElCapitan Debug
        https://bugs.webkit.org/show_bug.cgi?id=152009

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2015-12-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: IDBTransaction::hasPendingActivity() was wrong, leading to premature GC of the wrapper.
        https://bugs.webkit.org/show_bug.cgi?id=151507

        Reviewed by Beth Dakin.

        A handful of tests were marked flaky and tracked back to this bug.
        
        Ever since the presumed fix for this bug (r192687) the flakiness dashboard says they pass.
        
        * platform/mac-wk1/TestExpectations: Re-enable the no-longer-flaky tests.

2015-12-08  Brady Eidson  <beidson@apple.com>

        More IDB TestExpectations gardening.

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-08  Brady Eidson  <beidson@apple.com>

        Unreviewed IDB layout test gardening (Adding some flaky crashes)

        * platform/mac-wk1/TestExpectations:

2015-12-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: Fire blocked events for delete requests that are blocked.
        https://bugs.webkit.org/show_bug.cgi?id=152015

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-08  Brady Eidson  <beidson@apple.com>

        More IDB TestExpectations gardening.

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: Fire blocked events for upgrade requests that are blocked.
        https://bugs.webkit.org/show_bug.cgi?id=152007

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

        * storage/indexeddb/modern/blocked-open-db-requests-expected.txt: Added.
        * storage/indexeddb/modern/blocked-open-db-requests.html: Added.
        * storage/indexeddb/modern/resources/blocked-open-db-requests.js: Added.
        
        * storage/indexeddb/modern/deleteobjectstore-1.html: Fix subtly broken test.
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html: Ditto.
        
2015-12-08  Mark Lam  <mark.lam@apple.com>

        Polymorphic operand types for DFG and FTL div.
        https://bugs.webkit.org/show_bug.cgi?id=151747

        Reviewed by Geoffrey Garen.

        * js/regress/ftl-object-div-expected.txt: Added.
        * js/regress/ftl-object-div.html: Added.
        * js/regress/script-tests/ftl-object-div.js: Added.
        (o1.valueOf):
        (foo):

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

        Do not insert positioned renderers to multiple gPositionedDescendantsMap.
        https://bugs.webkit.org/show_bug.cgi?id=151878
        rdar://problem/22229889

        Reviewed by Simon Fraser.

        We insert positioned renderers into a static map (RenderBlock::gPositionedDescendantsMap) to keep track of them.
        This static map is at block level. A particular absolute positioned object is added to its closest ancestor that
        returns true for RenderElement::canContainAbsolutelyPositionedObjects().
        canContainAbsolutelyPositionedObjects() returns true if the ancestor is either positioned or has transform.
        If this container's style changes so that it's no longer positioned and it has no transform anymore,
        we need to clear its static map of positioned objects (they'll get re-inserted to another ancestor at next layout).

        This patch addresses the case when the renderer does not have transforms anymore.

        * fast/block/positioning/crash-when-transform-is-removed-expected.txt: Added.
        * fast/block/positioning/crash-when-transform-is-removed.html: Added.

2015-12-08  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/canvas/canvas-too-large-to-draw.html as flaky on ElCapitan Debug
        https://bugs.webkit.org/show_bug.cgi?id=152009

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2015-12-08  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] "super" and "this" should be lexically bound inside an arrow function and should live in a JSLexicalEnvironment
        https://bugs.webkit.org/show_bug.cgi?id=149338

        Reviewed by Saam Barati.

        * js/arrowfunction-supercall-expected.txt: Added.
        * js/arrowfunction-supercall.html: Added.
        * js/arrowfunction-tdz-expected.txt: Added new expectation.
        * js/script-tests/arrowfunction-supercall.js: Added.
        * js/script-tests/arrowfunction-tdz.js: Added new cases.

2015-12-08  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/index-cursor.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151973

        Reviewed by Darin Adler.

        * platform/mac-wk1/TestExpectations:

2015-12-08  Csaba Osztrogonác  <ossy@webkit.org>

        [EFL] REGRESSION(r173394): MiniBrowser stucked in an infinite loop if NETWORK_CACHE is disabled
        https://bugs.webkit.org/show_bug.cgi?id=137692

        Reviewed by Darin Adler.

        * platform/efl/TestExpectations: Unskip now passing tests.

2015-12-08  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL][AX] Rebaseline failing AX tests since r185662
        https://bugs.webkit.org/show_bug.cgi?id=151991

        Unreviewed EFL rebaseline.

        * platform/efl/TestExpectations:
        * platform/efl/accessibility/image-link-expected.txt:
        * platform/efl/accessibility/image-map2-expected.txt:
        * platform/efl/accessibility/lists-expected.txt:
        * platform/efl/accessibility/table-attributes-expected.txt:
        * platform/efl/accessibility/table-cell-spans-expected.txt:
        * platform/efl/accessibility/table-cells-expected.txt:
        * platform/efl/accessibility/table-detection-expected.txt:
        * platform/efl/accessibility/table-one-cell-expected.txt:
        * platform/efl/accessibility/table-sections-expected.txt:
        * platform/efl/accessibility/table-with-rules-expected.txt:

2015-12-08  Joanmarie Diggs  <jdiggs@igalia.com>

        [EFL] some ax tests have been failed since r186692
        https://bugs.webkit.org/show_bug.cgi?id=146887

        Reviewed by Mario Sanchez Prada.

        * platform/efl/TestExpectations: Removed failing tests.

2015-12-08  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] 15 accessibility tests fail since r186692.
        https://bugs.webkit.org/show_bug.cgi?id=148938

        Reviewed by Mario Sanchez Prada.

        * platform/gtk/TestExpectations: Removed failing tests.
        * platform/gtk/accessibility/roles-computedRoleString-expected.txt: Rebaselined.
        * platform/gtk/accessibility/table-attributes-expected.txt: Rebaselined.
        * platform/gtk/accessibility/table-cell-spans-expected.txt: Rebaselined.
        * platform/gtk/accessibility/table-cells-expected.txt: Rebaselined.
        * platform/gtk/accessibility/table-detection-expected.txt: Rebaselined.
        * platform/gtk/accessibility/table-sections-expected.txt: Rebaselined.
        * platform/gtk/accessibility/table-with-rules-expected.txt: Rebaselined.

2015-12-08  Frederic Wang  <fred.wang@free.fr>

        [cairo] Solid stroke of lines with thickness less than 1 pixel broken after r191658
        https://bugs.webkit.org/show_bug.cgi?id=151947

        Reviewed by Martin Robinson.

        Add a test to check that the radical overbar appears on the screen when it has thickness less than 1px.

        * mathml/presentation/radical-bar-visibility-expected-mismatch.html: Added.
        * mathml/presentation/radical-bar-visibility.html: Added.

2015-12-07  Brady Eidson  <beidson@apple.com>

        Move an IDB test from the "generic failure" section to the "fails because no workers" section.

        Rubberstamped by Andy Estes.

        * platform/mac-wk1/TestExpectations:

2015-12-07  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement String.prototype.toLocaleUpperCase in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147609

        Reviewed by Benjamin Poulain.

        * js/script-tests/string-toLocaleUpperCase.js: Added.
        * js/string-toLocaleUpperCase-expected.txt: Added.
        * js/string-toLocaleUpperCase.html: Added.

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

        [Mac] Remove Mavericks-specific TestExpectations lines
        https://bugs.webkit.org/show_bug.cgi?id=151913

        Reviewed by Alexey Proskuryakov.

        Mavericks is no longer a supported OS.

        * platform/mac/TestExpectations:

2015-12-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: Miscellaneous test cleanup.
        https://bugs.webkit.org/show_bug.cgi?id=151968

        Reviewed by Sam Weinig.

        - Reorganize TestExpectations a bit.
        - Remove two tests that primarily test features that have been removed from the spec.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/cursor-continueprimarykey-expected.txt: Removed.
        * storage/indexeddb/cursor-continueprimarykey.html: Removed.
        * storage/indexeddb/factory-basics-expected.txt: Removed.
        * storage/indexeddb/factory-basics.html: Removed.
        * storage/indexeddb/resources/cursor-continueprimarykey.js: Removed.
        * storage/indexeddb/resources/factory-basics.js: Removed.

2015-12-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/factory-deletedatabase.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151966
        
        Reviewed by Sam Weinig.

        * platform/mac-wk1/TestExpectations:

2015-12-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/cursor-continue-validity.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151961

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/cursor-finished-expected.txt:

2015-12-07  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [Streams API] pipeTo tests are failing
        https://bugs.webkit.org/show_bug.cgi?id=151949

        Unreviewed.

        * TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations: Moved the flag from Mac and Win to general as GTK+ is failing too.

2015-12-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: Fix "old versions" when upgrading databases.
        https://bugs.webkit.org/show_bug.cgi?id=151948

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/database-basics-expected.txt:
        * storage/indexeddb/modern/deletedatabase-2-expected.txt:

2015-12-07  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Unreviewed.

        http://webkit.org/b/147933 and though count queuing strategy and writable stream abort tests are fixed, there
        are still issues with pipeTo. For that I created http://webkit.org/b/151949.

        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2015-12-07  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add some more custom exception messages, passing some more tests..
        https://bugs.webkit.org/show_bug.cgi?id=151912

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:
        
        * storage/indexeddb/exceptions-expected.txt:
        * storage/indexeddb/get-keyrange-expected.txt:
        * storage/indexeddb/invalid-keys-expected.txt:
        * storage/indexeddb/keypath-edges-expected.txt:
        * storage/indexeddb/keyrange-expected.txt:
        * storage/indexeddb/transaction-active-flag-expected.txt:
        * storage/indexeddb/transaction-and-objectstore-calls-expected.txt:

        * storage/indexeddb/resources/exceptions.js:
        * storage/indexeddb/resources/transaction-and-objectstore-calls.js:

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

        Marking fast/dom/Window/property-access-on-cached-window-after-frame-removed.html as failing on Win
        https://bugs.webkit.org/show_bug.cgi?id=151759

        Unreviewed test gardening.

        * platform/win/TestExpectations:

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

        Removing Yosemite flag from flaky test http/tests/cache/disk-cache/disk-cache-request-max-stale.html
       https://bugs.webkit.org/show_bug.cgi?id=151661

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2015-12-07  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL gardening. Mark some of blink tests to failure since r190629.

        * platform/efl/TestExpectations:

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

        Clipping along compositing borders in svg-edit
        https://bugs.webkit.org/show_bug.cgi?id=151791

        Reviewed by Zalan Bujtas.
        
        Ref test that triggers recomputation of overflow.

        * svg/overflow/visual-overflow-change-expected.html: Added.
        * svg/overflow/visual-overflow-change.html: Added.

2015-12-06  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement String.prototype.toLocaleLowerCase in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147608

        Reviewed by Benjamin Poulain.

        * js/script-tests/string-toLocaleLowerCase.js: Added.
        * js/string-toLocaleLowerCase-expected.txt: Added.
        * js/string-toLocaleLowerCase.html: Added.

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

        REGRESSION (r187121): Can't get to the main content of the page at https://theintercept.com/drone-papers/
        https://bugs.webkit.org/show_bug.cgi?id=151849
        rdar://problem/23132828

        Reviewed by Zalan Bujtas.
        
        New ref test.
        
        The behavior of imported/blink/transitions/transition-not-interpolable.html changed
        with this patch, but that test is trying to determine if transitions run to/from
        'auto' values, and doing it wrong. The current patch doesn't change the user-visible
        behavior of transitions with 'auto' endpoints (covered by http://webkit.org/b/38243).

        * animations/fill-forwards-auto-height-expected.html: Added.
        * animations/fill-forwards-auto-height.html: Added.
        * imported/blink/transitions/transition-not-interpolable-expected.txt:

2015-12-06  David Kilzer  <ddkilzer@apple.com>

        REGRESSION(r193584): Causes heap use-after-free crashes in Web Inspector tests with AddressSanitizer (Requested by ddkilzer on #webkit).
        https://bugs.webkit.org/show_bug.cgi?id=151929

        Reverted changeset:

        "[ES6] "super" and "this" should be lexically bound inside an
        arrow function and should live in a JSLexicalEnvironment"
        https://bugs.webkit.org/show_bug.cgi?id=149338
        http://trac.webkit.org/changeset/193584

2015-12-06  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] "super" and "this" should be lexically bound inside an arrow function and should live in a JSLexicalEnvironment
        https://bugs.webkit.org/show_bug.cgi?id=149338

        Reviewed by Saam Barati.

        * js/arrowfunction-supercall-expected.txt: Added.
        * js/arrowfunction-supercall.html: Added.
        * js/arrowfunction-tdz-expected.txt: Added new expectation.
        * js/script-tests/arrowfunction-supercall.js: Added.
        * js/script-tests/arrowfunction-tdz.js: Added new cases.

2015-12-05  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r193487): Modern IDB: storage/indexeddb/index-multientry.html crashes

        * platform/mac-wk1/TestExpectations: Skip test that crashes
        on every run: storage/indexeddb/index-multientry.html.

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

        Garbage in page tiles when document is too long.
        https://bugs.webkit.org/show_bug.cgi?id=151906
        rdar://problem/23695858

        Reviewed by Simon Fraser.

        * platform/ios-simulator/fast/block/float/overhanging-tall-block-expected.txt:
        * platform/mac-mavericks/fast/block/float/overhanging-tall-block-expected.txt:
        * platform/mac/fast/block/float/overhanging-tall-block-expected.txt:

2015-12-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add some more custom exception messages, passing some more tests.
        https://bugs.webkit.org/show_bug.cgi?id=151898

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/keypath-arrays-expected.txt:
        * storage/indexeddb/noblobs-expected.txt:
        * storage/indexeddb/object-lookups-in-versionchange-expected.txt:
        * storage/indexeddb/request-result-cache-expected.txt:
        * storage/indexeddb/transaction-after-close-expected.txt:
        * storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
        * storage/indexeddb/transaction-read-only-expected.txt:

2015-12-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: Add some more custom exception messages, passing some more tests.
        https://bugs.webkit.org/show_bug.cgi?id=151895

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/aborted-versionchange-closes-expected.txt:
        * storage/indexeddb/cursor-continue-dir-expected.txt:
        * storage/indexeddb/cursor-continue-expected.txt:
        * storage/indexeddb/deleteIndex-expected.txt:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:

2015-12-04  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement Number.prototype.toLocaleString in ECMA-402
        https://bugs.webkit.org/show_bug.cgi?id=147610

        Reviewed by Benjamin Poulain.

        Add tests for ECMA-402 Number.prototype.toLocaleString.
        Since NumberFormat is not fully implemented, don't test locale-specific behavior yet.

        * js/number-toLocaleString-expected.txt: Added.
        * js/number-toLocaleString.html: Added.
        * js/script-tests/number-toLocaleString.js: Added.

2015-12-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: Flip test expectations around so we only list failures.
        https://bugs.webkit.org/show_bug.cgi?id=151880

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/cursor-update.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151879

        Reviewed by Oliver Hunt.

        * platform/mac-wk1/TestExpectations:

2015-12-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/version-change-exclusive.html fails
        https://bugs.webkit.org/show_bug.cgi?id=151870

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/double-open-expected.txt: Added.
        * storage/indexeddb/modern/double-open.html: Added.
        * storage/indexeddb/version-change-exclusive-expected.txt:

2015-12-04  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/exceptions.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151732

        Reviewed by Alex Christensen.

        Lots of new wk2-specific expectations to keep Legacy IDB passing for now.
        
        * platform/mac-wk1/TestExpectations:
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index5-expected.txt: Added.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_index6-expected.txt: Added.
        * platform/wk2/imported/w3c/indexeddb/idbcursor_continue_invalid-expected.txt: Added.
        * platform/wk2/imported/w3c/indexeddb/idbindex_get7-expected.txt: Added.
        * platform/wk2/imported/w3c/indexeddb/idbindex_getKey7-expected.txt: Added.
        * platform/wk2/imported/w3c/indexeddb/idbindex_openCursor2-expected.txt: Added.
        * platform/wk2/imported/w3c/indexeddb/idbindex_openKeyCursor3-expected.txt: Added.
        * platform/wk2/imported/w3c/indexeddb/keypath-expected.txt: Added.
        * platform/wk2/storage/indexeddb/aborted-versionchange-closes-expected.txt: Copied from LayoutTests/storage/indexeddb/aborted-versionchange-closes-expected.txt.
        * platform/wk2/storage/indexeddb/bad-keypath-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/bad-keypath-expected.txt.
        * platform/wk2/storage/indexeddb/basics-expected.txt: Copied from LayoutTests/storage/indexeddb/basics-expected.txt.
        * platform/wk2/storage/indexeddb/clear-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/clear-expected.txt.
        * platform/wk2/storage/indexeddb/create-and-remove-object-store-expected.txt: Copied from LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt.
        * platform/wk2/storage/indexeddb/create-objectstore-basics-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt.
        * platform/wk2/storage/indexeddb/cursor-continue-dir-expected.txt: Added.
        * platform/wk2/storage/indexeddb/cursor-continue-expected.txt: Added.
        * platform/wk2/storage/indexeddb/cursor-finished-expected.txt: Copied from LayoutTests/storage/indexeddb/cursor-finished-expected.txt.
        * platform/wk2/storage/indexeddb/cursors-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/cursors-expected.txt.
        * platform/wk2/storage/indexeddb/database-basics-expected.txt: Added.
        * platform/wk2/storage/indexeddb/deleteIndex-bug110792-expected.txt: Added.
        * platform/wk2/storage/indexeddb/index-count-expected.txt: Added.
        * platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Added.
        * platform/wk2/storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Added.
        * platform/wk2/storage/indexeddb/invalid-keys-expected.txt: Added.
        * platform/wk2/storage/indexeddb/key-requirements-delete-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt.
        * platform/wk2/storage/indexeddb/key-requirements-inline-and-passed-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt.
        * platform/wk2/storage/indexeddb/key-requirements-put-no-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt.
        * platform/wk2/storage/indexeddb/key-requirements-put-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt.
        * platform/wk2/storage/indexeddb/key-type-array-expected.txt: Added.
        * platform/wk2/storage/indexeddb/keypath-arrays-expected.txt: Added.
        * platform/wk2/storage/indexeddb/keypath-edges-expected.txt: Added.
        * platform/wk2/storage/indexeddb/keyrange-expected.txt: Added.
        * platform/wk2/storage/indexeddb/mozilla/clear-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/clear-expected.txt.
        * platform/wk2/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt.
        * platform/wk2/storage/indexeddb/mozilla/cursors-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/cursors-expected.txt.
        * platform/wk2/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt.
        * platform/wk2/storage/indexeddb/mozilla/readonly-transactions-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/readonly-transactions-expected.txt.
        * platform/wk2/storage/indexeddb/object-lookups-in-versionchange-expected.txt: Added.
        * platform/wk2/storage/indexeddb/objectstore-count-expected.txt: Added.
        * platform/wk2/storage/indexeddb/open-cursor-expected.txt: Added.
        * platform/wk2/storage/indexeddb/readonly-transactions-expected.txt: Copied from LayoutTests/storage/indexeddb/mozilla/readonly-transactions-expected.txt.
        * platform/wk2/storage/indexeddb/removed-expected.txt: Added.
        * platform/wk2/storage/indexeddb/request-result-cache-expected.txt: Added.
        * platform/wk2/storage/indexeddb/transaction-abort-expected.txt: Copied from LayoutTests/storage/indexeddb/transaction-abort-expected.txt.
        * platform/wk2/storage/indexeddb/transaction-active-flag-expected.txt: Added.
        * platform/wk2/storage/indexeddb/transaction-after-close-expected.txt: Added.
        * platform/wk2/storage/indexeddb/transaction-read-only-expected.txt: Added.
        * platform/wk2/storage/indexeddb/version-change-exclusive-expected.txt: Added.
        * storage/indexeddb/aborted-versionchange-closes-expected.txt:
        * storage/indexeddb/basics-expected.txt:
        * storage/indexeddb/create-and-remove-object-store-expected.txt:
        * storage/indexeddb/cursor-finished-expected.txt:
        * storage/indexeddb/exceptions-expected.txt:
        * storage/indexeddb/modern/createobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/double-abort-expected.txt:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
        * storage/indexeddb/mozilla/bad-keypath-expected.txt:
        * storage/indexeddb/mozilla/clear-expected.txt:
        * storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
        * storage/indexeddb/mozilla/cursors-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
        * storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
        * storage/indexeddb/mozilla/readonly-transactions-expected.txt:
        * storage/indexeddb/resources/exceptions.js:
        (testObjectStore):
        * storage/indexeddb/transaction-abort-expected.txt:

2015-12-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Unskip many inspector/debugger tests
        https://bugs.webkit.org/show_bug.cgi?id=151843

        Reviewed by Timothy Hatcher.

        * TestExpectations:
        * platform/mac/TestExpectations:
        Skip specific tests.

        * platform/mac-wk2/TestExpectations:
        Test no longer existed.

        * inspector/debugger/resources/exception.js:
        (exceptionDOM):
        Keep the code outputing a NotFoundException. This particular
        invocation was recently changed to throw a TypeError.

2015-12-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove untested and unused Worker inspection
        https://bugs.webkit.org/show_bug.cgi?id=151848

        Reviewed by Brian Burg.

        * inspector/debugger/pause-dedicated-worker-expected.txt: Removed.
        * inspector/debugger/pause-dedicated-worker.html: Removed.
        * inspector/debugger/resources/dedicated-worker.js: Removed.
        * inspector/debugger/terminate-dedicated-worker-while-paused-expected.txt: Removed.
        * inspector/debugger/terminate-dedicated-worker-while-paused.html: Removed.

2015-12-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Specifically Identify the Global Lexical Environment Scope
        https://bugs.webkit.org/show_bug.cgi?id=151828

        Reviewed by Brian Burg.

        * inspector/debugger/breakpoint-scope-expected.txt:
        * inspector/debugger/breakpoint-scope.html:
        * inspector/debugger/resources/scope.js:
        Update the test to include something in the global lexical
        environment and ensure it is identified as such.

2015-12-03  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Fix height computation of grid items with borders inside fr tracks
        https://bugs.webkit.org/show_bug.cgi?id=151798

        Reviewed by Zalan Bujtas.

        * fast/css-grid-layout/grid-item-with-border-in-fr-expected.txt: Added.
        * fast/css-grid-layout/grid-item-with-border-in-fr.html: Added.

2015-12-03  Brady Eidson  <beidson@apple.com>

        Modern IDB: Fix up tests that refer to non-standard IDBVersionChangeEvent.dataLoss.
        https://bugs.webkit.org/show_bug.cgi?id=151850

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:
        
        * storage/indexeddb/data-corruption-expected.txt: Removed.
        * storage/indexeddb/data-corruption.html: Removed.
        * storage/indexeddb/resources/data-corruption.js: Removed.

        * storage/indexeddb/events-expected.txt:
        * storage/indexeddb/resources/events.js:

2015-12-03  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/cursor-index-delete.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151847

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:

2015-12-03  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Update MediaStreamTrack.getCapabilities
        https://bugs.webkit.org/show_bug.cgi?id=151728

        Reviewed by Jer Noble.

        * fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt: Added.
        * fast/mediastream/MediaStreamTrack-getCapabilities.html: Added.
        * fast/mediastream/MediaStreamTrack-getSettings-expected.txt:
        * fast/mediastream/MediaStreamTrack-getSettings.html:

2015-12-03  Ryan Haddad  <ryanhaddad@apple.com>

        Removing deleted test storage/indexeddb/objectstore-keycursor.html from TestExpectations file
        https://bugs.webkit.org/show_bug.cgi?id=151772

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2015-12-03  Keith Rollin  <krollin@apple.com>

        [Win] fast/forms/HTMLOptionElement_label03.html failing on win7
        https://bugs.webkit.org/show_bug.cgi?id=150909
        rdar://problem/23539673

        Reviewed by Darin Adler.

        Mark fast/forms/HTMLOptionElement_label03.html as being expected to
        pass. Also update some text in HTMLOptionElement_label02.html and
        HTMLOptionElement_label03.html so that it no longer refers to our
        trying to match IE (which we are no longer doing).

        * fast/forms/HTMLOptionElement_label02.html:
        * fast/forms/HTMLOptionElement_label03.html:
        * platform/win/TestExpectations:

2015-12-03  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/cursor-advance.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151731

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/cursor-advance-expected.txt:

2015-12-03  Brent Fulgham  <bfulgham@apple.com>

        Allow JavaScript to iterate over plugins for local files
        https://bugs.webkit.org/show_bug.cgi?id=151783
        <rdar://problem/23692113>

        Modify the existing 'local file' plugin tests so that they don't turn on the debugging
        flag to allow iterating over all plugins. Then create a new HTTP test (based on the
        existing plugin-javascript-access test) to make sure that plugin iteration is blocked
        for non-local-file access.

        Reviewed by Alexey Proskuryakov.

        * http/tests/plugins/plugin-javascript-access-expected.txt: Added.
        * http/tests/plugins/plugin-javascript-access.html: Added.
        * plugins/plugin-javascript-access.html: Remove unneeded 'internals.setShowAllPlugins' call.
        * plugins/script-tests/navigator-mimeTypes-length.js: Ditto.

2015-12-03  Brady Eidson  <beidson@apple.com>

        Modern IDB: storage/indexeddb/cursor-skip-deleted.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151794

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-12-02  Sam Weinig  <sam@webkit.org>

        Promise callbacks should be called at microtask checkpoints
        https://bugs.webkit.org/show_bug.cgi?id=147933

        Reviewed by Chris Dumez.

        * fast/dom/microtask-promise-mutation-observer-order-expected.txt: Added.
        * fast/dom/microtask-promise-mutation-observer-order.html: Added.

2015-12-03  Daniel Bates  <dabates@apple.com>

        ASSERT_WITH_SECURITY_IMPLICATION in WebCore::DocumentOrderedMap::add()
        https://bugs.webkit.org/show_bug.cgi?id=126662
        <rdar://problem/15775508>

        Reviewed by Brent Fulgham.

        Add test to ensure that we do not assert when inserting a subtree that has an element with
        a duplicate id before removing the original subtree.

        * svg/custom/insert-subtree-with-duplicate-id-before-removing-subtree-expected.txt: Added.
        * svg/custom/insert-subtree-with-duplicate-id-before-removing-subtree.svg: Added.

2015-12-03  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] margin-left:auto and margin-top:auto discards the margin on opposite side
        https://bugs.webkit.org/show_bug.cgi?id=151802

        Reviewed by Sergio Villar Senin.

        Tests to verify the specified margins account for determining the available space for
        auto-margins alignment.

        * fast/css-grid-layout/grid-item-auto-margins-must-respect-specified-margins-expected.txt: Added.
        * fast/css-grid-layout/grid-item-auto-margins-must-respect-specified-margins.html: Added.

2015-12-03  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining svg/custom/bug78807.svg since actual results now match Mac expectations
        https://bugs.webkit.org/show_bug.cgi?id=151804

        Unreviewed test gardening.

        * platform/win/svg/custom/bug78807-expected.txt:

2015-12-03  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping failing sputnik/Unicode/Unicode_510 tests pending further investigation
        https://bugs.webkit.org/show_bug.cgi?id=151505

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2015-12-03  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/css/pseudo-visited-background-color-on-input.html as failing on win
        https://bugs.webkit.org/show_bug.cgi?id=151756

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2015-12-03  Ryan Haddad  <ryanhaddad@apple.com>

        fast/borders/hidpi-border-clipping-right-after-move.html
        https://bugs.webkit.org/show_bug.cgi?id=151754

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2015-12-03  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL urgent gardening. Skip web-platform-tests
        because it has been timeout since r192796.

        * platform/efl/TestExpectations:

2015-12-02  Mark Lam  <mark.lam@apple.com>

        Polymorphic operand types for DFG and FTL mul.
        https://bugs.webkit.org/show_bug.cgi?id=151746

        Reviewed by Filip Pizlo.

        * js/regress/ftl-object-mul-expected.txt: Added.
        * js/regress/ftl-object-mul.html: Added.
        * js/regress/script-tests/ftl-object-mul.js: Added.
        (o1.valueOf):
        (foo):

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

        Unify font-variant-* with font-variant shorthand
        https://bugs.webkit.org/show_bug.cgi?id=149773

        Reviewed by Darin Adler.

        Update tests. Also temporarily skip existing font-features tests until
        https://bugs.webkit.org/show_bug.cgi?id=149774 is fixed.

        * css3/font-variant-parsing-expected.txt:
        * css3/font-variant-parsing.html:
        * fast/css/font-property-priority-expected.txt:
        * fast/css/font-shorthand-expected.txt:
        * fast/css/parsing-font-variant-ligatures-expected.txt:
        * fast/css/parsing-font-variant-ligatures.html:
        * fast/inspector-support/style-expected.txt:
        * fast/text/font-variant-shorthand-expected.txt: Added.
        * fast/text/font-variant-shorthand.html: Added.
        * platform/mac/TestExpectations:
        * platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt:

2015-12-02  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaselining fast/dom/adopt-attribute-crash-expected for win
        https://bugs.webkit.org/show_bug.cgi?id=151762

        Reviewed by Darin Adler.

        * platform/win/fast/dom/adopt-attribute-crash-expected.txt:

2015-12-02  Alex Christensen  <achristensen@webkit.org>

        Asynchronously call onerror when a content blocker blocks ascript element's load
        https://bugs.webkit.org/show_bug.cgi?id=151649

        Reviewed by Brady Eidson.

        * http/tests/contentextensions/script-onerror-expected.txt: Added.
        * http/tests/contentextensions/script-onerror.html: Added.
        * http/tests/contentextensions/script-onerror.html.json: Added.
        * http/tests/misc/unloadable-script-expected.txt:
        * http/tests/misc/unloadable-script.html:
        * http/tests/security/local-JavaScript-from-remote-expected.txt:
        * http/tests/security/local-JavaScript-from-remote.html:
        Added testRunner.waitUntilDone and testRunner.notifyDone to reflect the fact that onerror is no longer called synchronously.

2015-12-02  Eric Carlson  <eric.carlson@apple.com>

        Fix flaky test added with r192954.

        Unreviewed.

        * fast/mediastream/MediaStreamTrack-getSettings.html:

2015-12-02  Commit Queue  <commit-queue@webkit.org>

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

        A large number of the tests added with this change are failing
        on Windows (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "[css border] border-image doesn't honor border-style"
        https://bugs.webkit.org/show_bug.cgi?id=99922
        http://trac.webkit.org/changeset/192955

2015-12-02  Yoav Weiss  <yoav@yoav.ws>

        Fix preloader issue with srcdoc documents.
        https://bugs.webkit.org/show_bug.cgi?id=151744

        Reviewed by Ryosuke Niwa.

        Added a test that makes sure that srcdoc based subresources are properly preloaded.

        * fast/preloader/iframe-srcdoc-expected.txt: Added.
        * fast/preloader/iframe-srcdoc.html: Added.

2015-12-02  Jer Noble  <jer.noble@apple.com>

        Add a setting and restriction which will pause invisible autoplaying video
        https://bugs.webkit.org/show_bug.cgi?id=151412

        Reviewed by Eric Carlson.

        * media/video-restricted-invisible-autoplay-not-allowed-expected.txt: Added.
        * media/video-restricted-invisible-autoplay-not-allowed.html: Added.

2015-12-02  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/parser/xml-declaration-missing-ending-mark.html, fast/parser/xml-colon-entity.html for Win
        https://bugs.webkit.org/show_bug.cgi?id=151763

        Reviewed by Brent Fulgham.

        * platform/win/fast/parser/xml-colon-entity-expected.txt:
        * platform/win/fast/parser/xml-declaration-missing-ending-mark-expected.txt:

2015-12-02  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/dynamic/text-combine.html on win
        https://bugs.webkit.org/show_bug.cgi?id=151761

        Unreviewed test gardening.

        * platform/win/fast/dynamic/text-combine-expected.png:
        * platform/win/fast/dynamic/text-combine-expected.txt:

2015-12-02  Brady Eidson  <beidson@apple.com>

        Modern IDB: Remove all traces of IDBObjectStore::openKeyCursor from tests.
        https://bugs.webkit.org/show_bug.cgi?id=151772

        Reviewed by Alex Christensen.
        
        IDBObjectStore::openKeyCursor no longer exists, so testing it is inherently bogus.

        * platform/mac-wk1/TestExpectations: Two tests now pass with small expectations changes.
        * storage/indexeddb/cursor-basics-expected.txt:
        * storage/indexeddb/cursor-overloads-expected.txt:

        * storage/indexeddb/cursor-overloads.html:
        * storage/indexeddb/optional-arguments.html:
        * storage/indexeddb/resources/cursor-basics.js:
        * storage/indexeddb/resources/deleted-objects.js:
        * storage/indexeddb/resources/exceptions.js:
        * storage/indexeddb/resources/objectstore-basics.js:
        
        * storage/indexeddb/objectstore-keycursor-expected.txt: Removed.
        * storage/indexeddb/objectstore-keycursor.html: Removed.
        * storage/indexeddb/resources/objectstore-keycursor.js: Removed.

2015-12-02  David Hyatt  <hyatt@apple.com>

        Add some more picture element layout tests
        https://bugs.webkit.org/show_bug.cgi?id=151769

        Reviewed by Dean Jackson.

        * fast/picture/image-picture-invalid-expected.txt: Added.
        * fast/picture/image-picture-invalid.html: Added.
        * fast/picture/image-picture-nested-expected.txt: Added.
        * fast/picture/image-picture-nested.html: Added.

2015-12-02  Brady Eidson  <beidson@apple.com>

        Modern IDB: Enable a couple more passing tests.
        https://bugs.webkit.org/show_bug.cgi?id=151766

        Reviewed by Beth Dakin.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/create-object-store-options-expected.txt:

2015-12-02  Ryan Haddad  <ryanhaddad@apple.com>

        Skipping tests on Win that fail due to unimplemented showModalDialog function.
        https://bugs.webkit.org/show_bug.cgi?id=151506

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2015-12-02  Brady Eidson  <beidson@apple.com>

        Modern IDB: IDBTransaction::error is not exposed.
        https://bugs.webkit.org/show_bug.cgi?id=151752

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/basic-add.html:
        * storage/indexeddb/modern/double-abort-expected.txt:
        * storage/indexeddb/modern/index-3.html:
        * storage/indexeddb/resources/transaction-error.js:
        * storage/indexeddb/transaction-error-expected.txt:

2015-12-02  Adenilson Cavalcanti  <cavalcantii@gmail.com>

        [css border] border-image doesn't honor border-style
        https://bugs.webkit.org/show_bug.cgi?id=99922

        Reviewed by Simon Fraser.

        Ensure that WebKit will be compliant to css-backgrounds spec where
        a border with an image will only be rendered if there is a style defined.

        Previous border image tests had to be edited (i.e. define border-style)
        to ensure that a decorated border would be rendered.

        * fast/borders/border-image-01.html:
        * fast/borders/border-image-border-radius.html:
        * fast/borders/border-image-fill-no-intrinsic-size.html:
        * fast/borders/border-image-longhand.html:
        * fast/borders/border-image-massive-scale.html:
        * fast/borders/border-image-omit-right-slice.html:
        * fast/borders/border-image-outset-in-shorthand.html:
        * fast/borders/border-image-outset-split-inline-expected.txt:
        * fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt:
        * fast/borders/border-image-outset-split-inline-vertical-lr.html:
        * fast/borders/border-image-outset-split-inline.html:
        * fast/borders/border-image-outset.html:
        * fast/borders/border-image-repeat.html:
        * fast/borders/border-image-rotate-transform.html:
        * fast/borders/border-image-scale-transform.html:
        * fast/borders/border-image-scaled.html:
        * fast/borders/border-image-scrambled.html:
        * fast/borders/border-image-should-not-display-expected.html: Added.
        * fast/borders/border-image-should-not-display.html: Added.
        * fast/borders/border-image-side-reduction.html:
        * fast/borders/border-image-slice-constrained.html:
        * fast/borders/border-image-slice-missing-right.html:
        * fast/borders/border-image-slices.html:
        * fast/borders/border-image-source.html:
        * fast/borders/border-image-trumps-radius-expected.txt:
        * fast/borders/border-image-trumps-radius.html:
        * fast/borders/hidpi-border-image-gradient-on-subpixels.html:
        * fast/borders/resources/red.png: Added.
        * fast/borders/scaled-border-image.html:
        * fast/gradients/border-image-gradient-expected.txt:
        * fast/gradients/border-image-gradient.html:
        * fast/hidpi/image-set-border-image-comparison.html:
        * fast/hidpi/image-set-border-image-dynamic.html:
        * fast/hidpi/image-set-border-image-simple.html:
        * fast/writing-mode/border-image-horizontal-bt.html:
        * fast/writing-mode/border-image-vertical-lr.html:
        * fast/writing-mode/border-image-vertical-rl.html:
        * platform/mac/fast/borders/border-image-01-expected.txt:
        * platform/mac/fast/borders/border-image-border-radius-expected.txt:
        * platform/mac/fast/borders/border-image-longhand-expected.txt:
        * platform/mac/fast/borders/border-image-massive-scale-expected.txt:
        * platform/mac/fast/borders/border-image-omit-right-slice-expected.txt:
        * platform/mac/fast/borders/border-image-outset-expected.txt:
        * platform/mac/fast/borders/border-image-outset-in-shorthand-expected.txt:
        * platform/mac/fast/borders/border-image-repeat-expected.txt:
        * platform/mac/fast/borders/border-image-rotate-transform-expected.txt:
        * platform/mac/fast/borders/border-image-scale-transform-expected.txt:
        * platform/mac/fast/borders/border-image-scaled-expected.txt:
        * platform/mac/fast/borders/border-image-scrambled-expected.txt:
        * platform/mac/fast/borders/border-image-side-reduction-expected.txt:
        * platform/mac/fast/borders/border-image-slice-constrained-expected.txt:
        * platform/mac/fast/borders/border-image-slices-expected.txt:
        * platform/mac/fast/borders/border-image-source-expected.txt:
        * platform/mac/fast/borders/scaled-border-image-expected.txt:
        * platform/mac/fast/hidpi/image-set-border-image-comparison-expected.txt:
        * platform/mac/fast/hidpi/image-set-border-image-dynamic-expected.txt:
        * platform/mac/fast/hidpi/image-set-border-image-simple-expected.txt:
        * platform/mac/fast/writing-mode/border-image-horizontal-bt-expected.txt:
        * platform/mac/fast/writing-mode/border-image-vertical-lr-expected.txt:
        * platform/mac/fast/writing-mode/border-image-vertical-rl-expected.txt:

2015-12-02  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Implement MediaStreamTrack.getSettings()
        https://bugs.webkit.org/show_bug.cgi?id=151727

        Reviewed by Jer Noble.

        * fast/mediastream/MediaStream-video-element-expected.txt:
        * fast/mediastream/MediaStream-video-element-track-stop-expected.txt:
        * fast/mediastream/MediaStream-video-element-track-stop.html:
        * fast/mediastream/MediaStream-video-element.html:
        * fast/mediastream/MediaStreamTrack-getSettings-expected.txt: Added.
        * fast/mediastream/MediaStreamTrack-getSettings.html: Added.

2015-12-01  David Hyatt  <hyatt@apple.com>

        Implement the picture element.
        https://bugs.webkit.org/show_bug.cgi?id=116963

        Reviewed by Dean Jackson.

        * fast/picture: Added.
        * fast/picture/image-picture-1x-expected.txt: Added.
        * fast/picture/image-picture-1x.html: Added.
        * fast/picture/resources: Added.
        * fast/picture/resources/blue_rect.jpg: Added.
        * fast/picture/resources/currentSrcHelper.js: Added.
        (fileName):
        (currentSrcFileName):
        (currentSrcFileNameNoParams):
        * fast/picture/resources/image-set-4x.png: Added.

2015-12-02  Jiewen Tan  <jiewen_tan@apple.com>

        Null dereference loading Blink layout test fast/loader/unload-mutation-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=149305
        <rdar://problem/22747892>

        Reviewed by Brent Fulgham.

        This test case is from Blink r180918:
        https://codereview.chromium.org/495743003

        * fast/loader/unload-mutation-crash-expected.txt: Added.
        * fast/loader/unload-mutation-crash.html: Added.

2015-12-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Handle YieldExpressions in the ScriptSyntaxTree
        https://bugs.webkit.org/show_bug.cgi?id=151730

        Reviewed by Brian Burg.

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

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

        [Win] Test gardening after r192895

        Unreviewed.

        * fast/text/emoji-overlap-expected.html:
        * fast/text/emoji-overlap.html:

2015-12-01  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r192894 and r192904.
        https://bugs.webkit.org/show_bug.cgi?id=151738

        Crashes sometimes on Windows (Requested by litherum on
        #webkit).

        Reverted changesets:

        "[Win] Web fonts with small caps have excess whitespace with
        the complex text codepath"
        https://bugs.webkit.org/show_bug.cgi?id=151698
        http://trac.webkit.org/changeset/192894

        "Test gardening after r192894"
        http://trac.webkit.org/changeset/192904

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

        [SVG -> OTF Converter] Force UnitsPerEm to 1000
        https://bugs.webkit.org/show_bug.cgi?id=151650

        Reviewed by Antti Koivisto.

        Some tests have quantization differences.

        * fast/ruby/ruby-expansion-cjk-2-expected.html:
        * fast/ruby/ruby-expansion-cjk-3-expected.html:
        * fast/ruby/ruby-expansion-cjk-4-expected.html:
        * fast/ruby/ruby-expansion-cjk-5-expected.html:
        * fast/ruby/ruby-expansion-cjk-expected.html:
        * platform/mac-wk2/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textPosition2-expected.txt:
        * platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
        * svg/custom/acid3-test-77-expected.txt:

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

        Add updated test result missing from http://trac.webkit.org/changeset/192924
        https://bugs.webkit.org/show_bug.cgi?id=151725

        * storage/indexeddb/modern/opendatabase-request-event-expected.txt:

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

        Marking http/tests/xmlhttprequest/methods-async.html as flaky on Yosemite WK2
        https://bugs.webkit.org/show_bug.cgi?id=151729

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

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

        Give a more detailed message for TypeErrors that result from EnforceRange.
        https://bugs.webkit.org/show_bug.cgi?id=151725

        Reviewed by Tim Horton.

        * crypto/subtle/aes-cbc-generate-key-expected.txt:
        * js/dom/webidl-type-mapping-expected.txt:
        * storage/indexeddb/intversion-bad-parameters-expected.txt:
        * storage/indexeddb/version-change-event-basic-expected.txt:

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

        Test gardening after r192894

        Unreviewed.

        * fast/text/small-caps-complex-expected.html:
        * fast/text/small-caps-complex.html:

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

        [iOS] Adjacent emoji overlap each other
        https://bugs.webkit.org/show_bug.cgi?id=151690
        <rdar://problem/23430453>

        Reviewed by Simon Fraser.

        * fast/text/emoji-overlap-expected.html: Added.
        * fast/text/emoji-overlap.html: Added.

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

        [Win] Web fonts with small caps have excess whitespace with the complex text codepath
        https://bugs.webkit.org/show_bug.cgi?id=151698

        Reviewed by Darin Adler.

        * fast/text/resources/tinyfont.svg: Added.
        * fast/text/small-caps-complex-expected.html: Added.
        * fast/text/small-caps-complex.html: Added.

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

        Marking http/tests/xmlhttprequest/workers/methods.html as flaky on Yosemite WK2
        https://bugs.webkit.org/show_bug.cgi?id=151709

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

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

        Skip some specific IDB tests in preparation for enabling the entire directory.

        Reviewed in person by Sam Weinig.

        * platform/mac-wk1/TestExpectations:

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

        Modern IDB: storage/indexeddb/create-and-remove-object-store.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151704

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:

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

        Modern IDB: storage/indexeddb/basics.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=151694

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/deletedatabase-1.html:
        * storage/indexeddb/modern/opendatabase-versions.html:
        * storage/indexeddb/modern/versionchange-event.html:

2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed, rolling out r192876.

        It broke a lot of JSC and layout tests for GTK and EFL

        Reverted changeset:

        "[ES6] "super" and "this" should be lexically bound inside an
        arrow function and should live in a JSLexicalEnvironment"
        https://bugs.webkit.org/show_bug.cgi?id=149338
        http://trac.webkit.org/changeset/192876

2015-12-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Streams API] pull function of tee should call readFromReadableStreamReader directly
        https://bugs.webkit.org/show_bug.cgi?id=151497

        Unreviewed.

        Adding non regression test.

        * streams/streams-promises-expected.txt:
        * streams/streams-promises.html:

2015-12-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Streams API] teeReadableStream should not directly use stream.getReader()
        https://bugs.webkit.org/show_bug.cgi?id=151487

        Reviewed by Darin Adler.

        Adding non-regression test.

        * streams/streams-promises-expected.txt:
        * streams/streams-promises.html:

2015-12-01  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ES6] "super" and "this" should be lexically bound inside an arrow function and should live in a JSLexicalEnvironment
        https://bugs.webkit.org/show_bug.cgi?id=149338

        Reviewed by Saam Barati.

        * js/arrowfunction-supercall-expected.txt: Added.
        * js/arrowfunction-supercall.html: Added.
        * js/arrowfunction-tdz-expected.txt: Added new expectation.
        * js/script-tests/arrowfunction-supercall.js: Added.
        * js/script-tests/arrowfunction-tdz.js: Added new cases.

2015-12-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Streams API] streams should not directly use Number and related methods
        https://bugs.webkit.org/show_bug.cgi?id=151499

        Reviewed by Darin Adler.

        Added a non-regression test.

        * streams/streams-promises-expected.txt:
        * streams/streams-promises.html:

2015-12-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Streams API] Remove use of @catch for exposed promises
        https://bugs.webkit.org/show_bug.cgi?id=151625

        Reviewed by Darin Adler.

        * streams/streams-promises.html: beefing up the catch test by also overwritting Promise.prototype.then.

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: Unskip "storage/indexeddb/mozilla" instead of each individual test inside of it.
        https://bugs.webkit.org/show_bug.cgi?id=151693

        Reviewed by Geoffrey Garen.

        * platform/mac-wk1/TestExpectations:

2015-11-30  Jiewen Tan  <jiewen_tan@apple.com>

        Amazon.com Additional Information links aren't clickable
        https://bugs.webkit.org/show_bug.cgi?id=151401
        <rdar://problem/23454261>

        Reviewed by Darin Adler.

        * fast/block/float/hit-test-on-overlapping-floats-expected.txt: Added.
        * fast/block/float/hit-test-on-overlapping-floats.html: Added.

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: Iterating index cursors to a specific key is busted.
        https://bugs.webkit.org/show_bug.cgi?id=151684

        Reviewed by Darin Adler.

        * platform/mac-wk1/TestExpectations:

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: ObjectStore cursors should not be able to iterate out of their range.
        https://bugs.webkit.org/show_bug.cgi?id=151683

        Reviewed by Darin Adler.

        * platform/mac-wk1/TestExpectations:

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: "prevunique" cursors should point at the lowest primary key that matches, not the highest.
        https://bugs.webkit.org/show_bug.cgi?id=151675.

        Reviewed by Darin Adler.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/index-cursor-1-expected.txt:
        * storage/indexeddb/modern/index-cursor-2-expected.txt:
        * storage/indexeddb/modern/index-cursor-3-expected.txt:

2015-11-30  Jiewen Tan  <jiewen_tan@apple.com>

        Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html
        https://bugs.webkit.org/show_bug.cgi?id=149309
        <rdar://problem/22748363>

        Reviewed by Brent Fulgham.

        The test case is from Blink r175601:
        https://codereview.chromium.org/317513002
        The test case will generate a set of weird ordering events that affects the documentLoader:
        1. The subframe finishes loading, and since the frame’s testRunner is not set to wait until
        done, WebKitTestRunner stops the load (by calling WKBundlePageStopLoading()).
        2. This causes the in-progress XHR to be aborted, which causes its readyState to become DONE
        (this bug doesn’t always reproduce because sometimes the XHR has already finished before the
        frame finishes loading).
        3. The onreadystatechange callback is executed, which sets innerHTML on the parent frame.
        4. Setting innerHTML disconnects the subframe, nulling out its DocumentLoader.
        5. We return to WebFrameLoaderClient::dispatchDidFinishLoad() from step #1, but now the
        FrameLoader’s DocumentLoader is null. And WebKit crashes here.

        Note that steps 2-4 happen synchronously inside WebFrameLoaderClient::dispatchDidFinishLoad().

        * http/tests/misc/detach-during-notifyDone-expected.txt: Added.
        * http/tests/misc/detach-during-notifyDone.html: Added.
        * http/tests/misc/resources/detached-frame.html: Added.

2015-11-30  Commit Queue  <commit-queue@webkit.org>

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

        This change broke existing layout tests on Windows (Requested
        by ryanhaddad on #webkit).

        Reverted changeset:

        "Unify font-variant-* with font-variant shorthand"
        https://bugs.webkit.org/show_bug.cgi?id=149773
        http://trac.webkit.org/changeset/192819

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: Set the correct source on the IDBRequest for cursor updates
        https://bugs.webkit.org/show_bug.cgi?id=151665

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:

2015-11-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking fast/forms/state-restore-per-form.html as a flaky timeout on mac-wk2
        https://bugs.webkit.org/show_bug.cgi?id=150542

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: Correct handling of cursors finishing iteration.
        https://bugs.webkit.org/show_bug.cgi?id=151664

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:

2015-11-30  Myles C. Maxfield  <mmaxfield@apple.com>

        Unify font-variant-* with font-variant shorthand
        https://bugs.webkit.org/show_bug.cgi?id=149773

        Reviewed by Darin Adler.

        Update tests. Also temporarily skip existing font-features tests until
        https://bugs.webkit.org/show_bug.cgi?id=149774 is fixed.

        * css3/font-variant-parsing-expected.txt:
        * css3/font-variant-parsing.html:
        * fast/css/font-property-priority-expected.txt:
        * fast/css/font-shorthand-expected.txt:
        * fast/css/parsing-font-variant-ligatures-expected.txt:
        * fast/css/parsing-font-variant-ligatures.html:
        * fast/inspector-support/style-expected.txt:
        * fast/text/font-variant-shorthand-expected.txt: Added.
        * fast/text/font-variant-shorthand.html: Added.
        * platform/mac/TestExpectations:
        * platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt:

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: After versionchange transactions abort, fire onerror on the original IDBOpenDBRequest.
        https://bugs.webkit.org/show_bug.cgi?id=151648

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/abort-requests-cancelled-expected.txt:
        * storage/indexeddb/modern/abort-requests-cancelled.html:
        * storage/indexeddb/modern/aborted-put-expected.txt:
        * storage/indexeddb/modern/aborted-put.html:
        * storage/indexeddb/modern/createobjectstore-basic-expected.txt:
        * storage/indexeddb/modern/createobjectstore-basic.html:
        * storage/indexeddb/modern/deleteindex-2-expected.txt:
        * storage/indexeddb/modern/deleteindex-2.html:
        * storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
        * storage/indexeddb/modern/deleteobjectstore-1.html:
        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
        * storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
        * storage/indexeddb/modern/versionchange-abort-then-reopen.html:

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

        location.origin is undefined in a web worker
        https://bugs.webkit.org/show_bug.cgi?id=151614

        Reviewed by Darin Adler.

        Update existing layout test to confirm the existence of location.origin when in a
        WorkerGlobalScope.

        * fast/workers/resources/worker-location.js:
        * fast/workers/worker-location-expected.txt:

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: Support updating cursor values when the object store uses inline keys.
        https://bugs.webkit.org/show_bug.cgi?id=151647

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: openCursor() fix resulting in at least 4 more passing tests.
        https://bugs.webkit.org/show_bug.cgi?id=151630

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:
        * storage/indexeddb/modern/cursor-2-expected.txt:
        * storage/indexeddb/modern/cursor-2.html:
        * storage/indexeddb/modern/cursor-3-expected.txt:
        * storage/indexeddb/modern/cursor-3.html:
        * storage/indexeddb/modern/cursor-4-expected.txt:
        * storage/indexeddb/modern/cursor-4.html:
        * storage/indexeddb/modern/deleteindex-1-expected.txt:
        * storage/indexeddb/modern/deleteindex-1.html:
        * storage/indexeddb/modern/deleteindex-2-expected.txt:
        * storage/indexeddb/modern/deleteindex-2.html:
        * storage/indexeddb/modern/index-4-expected.txt:
        * storage/indexeddb/modern/index-4.html:
        * storage/indexeddb/modern/index-cursor-1-expected.txt:
        * storage/indexeddb/modern/index-cursor-1.html:
        * storage/indexeddb/modern/index-cursor-2-expected.txt:
        * storage/indexeddb/modern/index-cursor-2.html:
        * storage/indexeddb/modern/index-cursor-3-expected.txt:
        * storage/indexeddb/modern/index-cursor-3.html:

2015-11-30  Ryan Haddad  <ryanhaddad@apple.com>

        Marking http/tests/cache/disk-cache/disk-cache-request-max-stale.html as flaky on Yosemite WK2
        https://bugs.webkit.org/show_bug.cgi?id=143159

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2015-11-30  Brady Eidson  <beidson@apple.com>

        Modern IDB: Support keyPath injection into object store records.
        https://bugs.webkit.org/show_bug.cgi?id=151640

        Reviewed by Andy Estes.

        * platform/mac-wk1/TestExpectations:

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

        Browser does not fall back to SVG attribute value when CSS style value is invalid or not supported
        https://bugs.webkit.org/show_bug.cgi?id=147932

        Reviewed by Dean Jackson.

        Testing that we correctly fall back to the presentation attribute for SVGPaint and SVGColor values
        specified with an invalid keyword in a `style` attribute. We also update the expected output for
        svg/css/svg-attribute-parser-mode.html which is now in line with values returned by Firefox and
        Chrome, where we correctly use the default value instead of null objects, which was definitely
        an error.

        * svg/css/invalid-color-cascade-expected.svg: Added.
        * svg/css/invalid-color-cascade.svg: Added.
        * svg/css/invalid-paint-cascade-expected.svg: Added.
        * svg/css/invalid-paint-cascade.svg: Added.
        * svg/css/script-tests/svg-attribute-parser-mode.js:
        * svg/css/svg-attribute-parser-mode-expected.txt:

2015-11-18  Andy Estes  <aestes@apple.com>

        [Content Filtering] Crash in DocumentLoader::notifyFinished() when allowing a media document to load
        https://bugs.webkit.org/show_bug.cgi?id=151433
        rdar://problem/23506594

        Reviewed by Alexey Proskuryakov.

        * contentfiltering/allow-media-document-expected.txt: Added.
        * contentfiltering/allow-media-document.html: Added.
        * contentfiltering/resources/test.mp4: Added.

2015-11-25  Pranjal Jumde  <pjumde@apple.com>

        Checks for buffer-overflows when reading characters from textRun
        https://bugs.webkit.org/show_bug.cgi?id=151055
        <rdar://problem/23251789>

        Reviewed by Myles C. Maxfield.

        * dom/html/level1/core/151055_asan.html:
        * dom/html/level1/core/151055_asan-expected.txt:

2015-11-24  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r192536, r192722, and r192743.
        https://bugs.webkit.org/show_bug.cgi?id=151593

        Still causing trouble. (Requested by kling on #webkit).

        Reverted changesets:

        "[JSC] JSPropertyNameEnumerator could be destructorless."
        https://bugs.webkit.org/show_bug.cgi?id=151242
        http://trac.webkit.org/changeset/192536

        "REGRESSION(r192536): Null pointer dereference in
        JSPropertyNameEnumerator::visitChildren()."
        https://bugs.webkit.org/show_bug.cgi?id=151495
        http://trac.webkit.org/changeset/192722

        "REGRESSION(r192536): Null pointer dereference in
        JSPropertyNameEnumerator::visitChildren()."
        https://bugs.webkit.org/show_bug.cgi?id=151495
        http://trac.webkit.org/changeset/192743

2015-11-24  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [Streams API] Implement pipeTo method in readable Stream
        https://bugs.webkit.org/show_bug.cgi?id=151588

        Reviewed by Darin Adler.

        Test "Piping to a writable stream that does not consume the writes fast enough exerts backpressure on the
        source" was moved to its own file because it causes timing issues.

        * streams/reference-implementation/pipe-to.html: Moved "Piping to a writable stream that does not consume the
        writes fast enough exerts backpressure on the source" test to its own file.
        * streams/pipe-to.html: Added with "Piping to a writable stream that does not consume the writes fast enough
        exerts backpressure on the source" test.
        * streams/reference-implementation/brand-checks.html: Fixed issue with the creation of a ReadableStreamReader.
        * streams/pipe-to-expected.txt:
        * streams/reference-implementation/brand-checks-expected.txt:
        * streams/reference-implementation/pipe-through-expected.txt:
        * streams/reference-implementation/pipe-to-expected.txt:
        * streams/reference-implementation/pipe-to-options-expected.txt:
        * streams/reference-implementation/readable-stream-templated-expected.txt: Expectations.
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations: Flagged pipe-to test because of webkit.org/b/147933.

2015-11-24  Antti Koivisto  <antti@apple.com>

        REGRESSION (r190983): Non-element, non-text nodes should not be distributed to slots
        https://bugs.webkit.org/show_bug.cgi?id=151566
        rdar://problem/23430177

        Reviewed by Zalan Bujtas.

        * fast/html/details-comment-crash-expected.html: Added.
        * fast/html/details-comment-crash.html: Added.

2015-11-23  Brady Eidson  <beidson@apple.com>

        Modern IDB: Unskip all indexeddb/mozilla tests that pass.
        https://bugs.webkit.org/show_bug.cgi?id=151568

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-11-23  Brady Eidson  <beidson@apple.com>

        Modern IDB: When a transaction is aborted, call onerror handlers for all in-progress requests.
        https://bugs.webkit.org/show_bug.cgi?id=151550

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/abort-requests-cancelled-expected.txt: Added.
        * storage/indexeddb/modern/abort-requests-cancelled.html: Added.
        * storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt:
        * storage/indexeddb/modern/idbtransaction-objectstore-failures.html:
        * storage/indexeddb/modern/index-5-expected.txt:
        * storage/indexeddb/modern/index-5.html:

2015-11-23  Brady Eidson  <beidson@apple.com>

        Modern IDB: Unskip storage/indexeddb/mozilla/global-data.html.
        https://bugs.webkit.org/show_bug.cgi?id=151557

        Reviewed by Alex Christensen.

        * platform/mac-wk1/TestExpectations:

2015-11-17  Sergio Villar Senin  <svillar@igalia.com>

        ASSERTION FAILED: freeSpace >= 0 in WebCore::RenderGrid::computeTrackSizesForDirection
        https://bugs.webkit.org/show_bug.cgi?id=151254

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-quirks-mode-huge-margin-crash-expected.txt: Added.
        * fast/css-grid-layout/grid-quirks-mode-huge-margin-crash.html: Added.

2015-11-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Add a test to make sure that font-variant: inherit works correctly.

        Unreviewed.

        * fast/text/font-variant-inherit-expected.html: Added.
        * fast/text/font-variant-inherit.html: Added.

2015-11-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Font selection should not consult font-variant property
        https://bugs.webkit.org/show_bug.cgi?id=151537

        Reviewed by Simon Fraser.

        * fast/text/font-selection-font-variant-expected.html: Added.
        * fast/text/font-selection-font-variant.html: Added.

== Rolled over to ChangeLog-2015-11-21 ==
