Timeline



Jan 23, 2018:

11:04 PM Changeset in webkit [227478] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, suppress GCC warnings
https://bugs.webkit.org/show_bug.cgi?id=181976

  • runtime/TypedArrayType.h:
9:47 PM Changeset in webkit [227477] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari 11.0.3

Added a tag for Safari 11.0.3.

9:46 PM Changeset in webkit [227476] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/iOS 11.2.5

Added a tag for iOS 11.2.5.

9:22 PM Changeset in webkit [227475] by jmarcell@apple.com
  • 47 edits in branches/safari-605-branch/LayoutTests

Apply patch. rdar://problem/36685708

Update test results for features disabled on branch
<rdar://problem/36685708>

9:22 PM Changeset in webkit [227474] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227463. rdar://problem/36807123

9:22 PM Changeset in webkit [227473] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227462. rdar://problem/36807140

9:22 PM Changeset in webkit [227472] by jmarcell@apple.com
  • 19 edits in branches/safari-605-branch

Cherry-pick r227457. rdar://problem/36807161

8:59 PM Changeset in webkit [227471] by Yusuke Suzuki
  • 4 edits
    209 adds in trunk/LayoutTests

Import WPT for modules
https://bugs.webkit.org/show_bug.cgi?id=181981

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

This patch just imports WPT for modules mechanically.

  • resources/import-expectations.json:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/bad-module-specifier.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-01-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-01.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-02-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-02.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-03-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-03.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/credentials.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/credentials.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentScript-null-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentScript-null.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentscript.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/inline-event-handler-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/inline-event-handler.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-classic-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-classic.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-module-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-module.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/w3c-import.log: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js: Added.

(errorHandler):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js: Added.

(test_dynamicOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js: Added.

(test_dynamicOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js: Added.

(test_dynamicOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js: Added.

(test_dynamicUnordered1.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js: Added.

(test_dynamicUnordered2.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js: Added.

(test_parsedOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js: Added.

(test_parsedOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js: Added.

(test_parsedUnordered1.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js: Added.

(test_parsedUnordered2.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/export-something-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/export-something.js: Added.

(export.set_foo):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-something-namespace.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle.js: Added.

(test_importCycle.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-self.js: Added.

(test_importSelf.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4c.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4d.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5c.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5d.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5e.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6c.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6d.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7c.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7d.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7e.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7f.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-matches-inner.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-matches.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches-inner.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/missing-export-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/missing-export.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml.xhtml: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/nested-missing-export.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/404-but-js.asis: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/500-but-js.asis: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/check-cookie.py: Added.

(main):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/credentials-iframe.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/delayed-modulescript.py: Added.

(main):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8-with-charset-header.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8-with-charset-header.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-404-but-js.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-500-but-js.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-b-cross-origin.sub.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/w3c-import.log: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/script-for-event-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/script-for-event.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/set-currentScript-on-window.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-cycle-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-cycle.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/specifier-error-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/specifier-error.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/syntaxerror-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/syntaxerror.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/this-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/this.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw-error.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/w3c-import.log: Added.

LayoutTests:

8:54 PM Changeset in webkit [227470] by jmarcell@apple.com
  • 57 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227425. rdar://problem/36791667

8:51 PM Changeset in webkit [227469] by Yusuke Suzuki
  • 4 edits in trunk/Source/JavaScriptCore

[YARR] Add diagnosis for YarrJIT failures
https://bugs.webkit.org/show_bug.cgi?id=181927

Reviewed by Sam Weinig.

It is nice if we can see the reason why YarrJIT fails to compile a given pattern.
This patch introduces Yarr::JITFailureReason and dumps messages if Options::dumpCompiledRegExpPatterns is specified.

  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::generateTerm):
(JSC::Yarr::YarrGenerator::backtrackTerm):
(JSC::Yarr::YarrGenerator::opCompileParenthesesSubpattern):
(JSC::Yarr::YarrGenerator::YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
(JSC::Yarr::dumpCompileFailure):
(JSC::Yarr::jitCompile):

  • yarr/YarrJIT.h:

(JSC::Yarr::YarrCodeBlock::setFallBack):
(JSC::Yarr::YarrCodeBlock::fallBack):
(JSC::Yarr::YarrCodeBlock::clear):
(JSC::Yarr::YarrCodeBlock::YarrCodeBlock): Deleted.
(JSC::Yarr::YarrCodeBlock::~YarrCodeBlock): Deleted.
(JSC::Yarr::YarrCodeBlock::isFallBack): Deleted.

8:35 PM Changeset in webkit [227468] by Yusuke Suzuki
  • 3 edits
    7 adds in trunk

Add more module scope related tests with code evaluation by string
https://bugs.webkit.org/show_bug.cgi?id=181983

Reviewed by Sam Weinig.

JSTests:

Add more module scope related tests. When the original tests are landed,
we do not have browser integration. This patch adds more module scope tests
with dynamically created script evaluation. We add tests with Function
constructor, direct eval, indirect eval, setTimeout, setInterval, and event handlers.

  • modules/scopes-eval.js: Added.

(shouldBe):

  • modules/scopes.js:

(shouldBe):

LayoutTests:

  • js/dom/modules/module-scope-event-handler-expected.txt: Added.
  • js/dom/modules/module-scope-event-handler.html: Added.
  • js/dom/modules/module-scope-set-interval-expected.txt: Added.
  • js/dom/modules/module-scope-set-interval.html: Added.
  • js/dom/modules/module-scope-set-timeout-expected.txt: Added.
  • js/dom/modules/module-scope-set-timeout.html: Added.
6:27 PM Changeset in webkit [227467] by achristensen@apple.com
  • 11 edits in trunk/Source

Remove pre-Sierra-OS-specific code in WTF and JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=182028

Reviewed by Keith Miller.

Source/JavaScriptCore:

  • inspector/remote/cocoa/RemoteInspectorXPCConnection.h:
  • inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::handleEvent):

Source/WTF:

  • wtf/Platform.h:
  • wtf/mac/AppKitCompatibilityDeclarations.h:
  • wtf/mac/DeprecatedSymbolsUsedBySafari.mm:

(WTF::MainThreadFunctionTracker::singleton): Deleted.
(WTF::MainThreadFunctionTracker::callOnMainThread): Deleted.
(WTF::MainThreadFunctionTracker::cancelCallOnMainThread): Deleted.
(WTF::MainThreadFunctionTracker::addFunction): Deleted.
(WTF::MainThreadFunctionTracker::removeIdentifier): Deleted.
(WTF::MainThreadFunctionTracker::removeFunctions): Deleted.
(WTF::callOnMainThread): Deleted.
(WTF::cancelCallOnMainThread): Deleted.

  • wtf/spi/cocoa/SecuritySPI.h:
  • wtf/spi/darwin/dyldSPI.h:
  • wtf/text/icu/TextBreakIteratorICU.h:

(WTF::TextBreakIteratorICU::TextBreakIteratorICU):
(WTF::caretRules): Deleted.

5:09 PM Changeset in webkit [227466] by jmarcell@apple.com
  • 21 edits
    2 deletes in branches/safari-605-branch

Revert r227216. rdar://problem/36722508

5:08 PM Changeset in webkit [227465] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Fix wrong redirection with relative url when it happens from
different host than original host.
https://bugs.webkit.org/show_bug.cgi?id=181873

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-23
Reviewed by Alex Christensen.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::willSendRequest):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::willSendRequest):

5:07 PM Changeset in webkit [227464] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181958

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:46 PM Changeset in webkit [227463] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Network's columns shake when scrolling at non-default zoom level
https://bugs.webkit.org/show_bug.cgi?id=181998
<rdar://problem/36449808>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-23
Reviewed by Matt Baker.

  • UserInterface/Views/Table.js:

When zoomed the bounding client rect values were fractional, which was
unexpected by this area of code. Floor the values to get a value we expect
to be able to evenly distribute.

4:40 PM Changeset in webkit [227462] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Use precise index masking for FTL GetByArgumentByVal
https://bugs.webkit.org/show_bug.cgi?id=182006

Reviewed by Keith Miller.

This protects speculative out-of-bounds on arguments[index].

Making this work right involved fixing a possible overflow situation with
numberOfArgumentsToSkip.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasNumberOfArgumentsToSkip):
(JSC::DFG::Node::numberOfArgumentsToSkip):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):

4:31 PM Changeset in webkit [227461] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked fast/visual-viewport/ios/caret-after-focus-in-fixed.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=181821

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:30 PM Changeset in webkit [227460] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Mac Sierra perf bots have been failing due to CG errors
https://bugs.webkit.org/show_bug.cgi?id=181955

Reviewed by Antti Koivisto.

Ignore the CoreGraphics error messages on macOS Sierra.

Also added tests for ignoring lines in stdout and stderr.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.run_failed): Refactored for clarity.
(PerfTest):
(PerfTest.filter_ignored_lines): Added.
(PerfTest._lines_to_ignore): Renamed from _lines_to_ignore_in_parser_result since these regular expressions
are now used to ignore lines in other kinds of tests than parser tests.
(PerfTest._errors_to_ignore_in_sierra): Added.
(PerfTest._filter_output): Added the code to ignore errors only on macOS Sierra.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(test_parse_output_with_ignored_stdout): Added.
(test_parse_output_with_ignored_stderr): Added.
(test_parse_output_with_ignored_stderr.MockPortWithSierraName): Added.

3:53 PM Changeset in webkit [227459] by jmarcell@apple.com
  • 54 edits
    7 adds in tags/Safari-606.1.1.2

Cherry-pick r227156. rdar://problem/36628581

3:50 PM Changeset in webkit [227458] by jmarcell@apple.com
  • 7 edits in tags/Safari-606.1.1.2/Source

Versioning.

3:34 PM Changeset in webkit [227457] by eric.carlson@apple.com
  • 19 edits in trunk

Resign NowPlaying status when no media element is eligible
https://bugs.webkit.org/show_bug.cgi?id=181914
<rdar://problem/35294116>

Reviewed by Jer Noble.

Source/WebCore:

Updated API test.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::removedFromAncestor): Call mediaSession->clientCharacteristicsChanged
so NowPlaying status will be updated.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::playbackPermitted const): Return early when the media
element has been suspended.
(WebCore::MediaElementSession::canShowControlsManager const): Return false when being queried
for NowPlaying status in an inactive document or when element has been suspended.
(WebCore::isMainContentForPurposesOfAutoplay): Return early if it isn't safe to update
style because HitTest can force a layout.
(WebCore::MediaElementSession::updateIsMainContent const): Ditto.

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary): Implement in for all
ports.

  • platform/audio/PlatformMediaSessionManager.h:

(WebCore::PlatformMediaSessionManager::registeredAsNowPlayingApplication const):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/mac/MediaSessionManagerMac.h:
  • platform/audio/mac/MediaSessionManagerMac.mm:

(WebCore::MediaSessionManagerMac::updateNowPlayingInfo): Call MRMediaRemoteSetCanBeNowPlayingApplication
whenever status changes.
(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary): Deleted, implemented
in the base class.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _requestActiveNowPlayingSessionInfo:]): Return registeredAsNowPlayingApplication
status.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::nowPlayingInfoCallback): Ditto.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::requestActiveNowPlayingSessionInfo): Ditto.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:

(-[NowPlayingTestWebView hasActiveNowPlayingSession]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/large-video-test-now-playing.html:
3:25 PM Changeset in webkit [227456] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Skipped fast/events/message-port.html on macOS
https://bugs.webkit.org/show_bug.cgi?id=181969

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:22 PM Changeset in webkit [227455] by achristensen@apple.com
  • 36 edits in trunk/Source

Use CompletionHandlers for ResourceHandleClient::didReceiveResponseAsync
https://bugs.webkit.org/show_bug.cgi?id=181961

Reviewed by Michael Catanzaro.

Source/WebCore:

No change in behavior.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didReceiveResponseAsync):

  • loader/ResourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didReceiveResponseAsync):

  • loader/appcache/ApplicationCacheGroup.h:
  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):
(WebCore::BlobResourceHandle::continueDidReceiveResponse): Deleted.

  • platform/network/BlobResourceHandle.h:
  • platform/network/PingHandle.h:
  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::didReceiveResponse):

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/SynchronousLoaderClient.cpp:

(WebCore::SynchronousLoaderClient::didReceiveResponseAsync):

  • platform/network/SynchronousLoaderClient.h:
  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::curlDidReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::handleDataURL):
(WebCore::ResourceHandleCurlDelegate::continueDidReceiveResponse): Deleted.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::continueDidReceiveResponse): Deleted.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse]): Deleted.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::ResourceHandle::continueDidReceiveResponse): Deleted.

Source/WebKit:

  • NetworkProcess/Downloads/Download.h:
  • NetworkProcess/NetworkLoad.cpp:
  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkResourceLoadParameters.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
  • WebProcess/WebPage/mac/WebPageMac.mm:
  • WebProcess/WebProcess.cpp:

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

Source/WebKitLegacy/mac:

  • WebView/WebPreferences.mm:
3:21 PM Changeset in webkit [227454] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked media/W3C/audio/events/event_progress.html and media/W3C/video/events/event_order_loadstart_progress.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181966

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:19 PM Changeset in webkit [227453] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Follow-up for: oss-fuzz jsc build is broken: StringImpl.h:27:10: fatal error: 'unicode/ustring.h' file not found
<https://webkit.org/b/181871>
<rdar://problem/36669691>

Address feedback for this change.

  • CMakeLists.txt: Change "SYSTEM PUBLIC" to "SYSTEM PRIVATE" per

feedback from Konstantin Tokarev.

3:15 PM Changeset in webkit [227452] by Chris Dumez
  • 21 edits
    2 deletes in trunk

Unreviewed, rollout r227216 as it seems to be causing deadlocks
https://bugs.webkit.org/show_bug.cgi?id=182013

Source/WebCore:

  • page/ChromeClient.h:
  • testing/Internals.cpp:

(WebCore::Internals::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:

(IPC::Connection::setShouldProcessIncomingMessagesWhileWaitingForSyncReply): Deleted.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::NetworkProcessConnection):

  • WebProcess/Storage/WebToStorageProcessConnection.cpp:

(WebKit::WebToStorageProcessConnection::WebToStorageProcessConnection):

  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::undo):
(WebKit::WebEditorClient::redo):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting): Deleted.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

LayoutTests:

  • fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Removed.
  • fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Removed.
3:14 PM Changeset in webkit [227451] by Matt Lewis
  • 3 edits in trunk/LayoutTests

Marked http/tests/misc/resource-timing-resolution.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181957

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
3:14 PM Changeset in webkit [227450] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

REGRESSION (r226622): ASSERTION FAILED: !m_frame in WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame()
https://bugs.webkit.org/show_bug.cgi?id=181756

Patch by Ali Juma <ajuma@chromium.org> on 2018-01-23
Reviewed by Simon Fraser.

Don't create a VisualViewport for a suspended DOMWindow. When a DOMWindow is suspended
for document suspension, all DOMWindowProperties are disconnected from their frame.
Creating a new VisualViewport while in this state means unexpectedly having a DOMWindowProperty
that's connected to a frame, and this leads to an assertion failure.

Test: http/tests/navigation/https-in-page-cache.html

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::visualViewport const):
Don't create a VisualViewport while suspended.

  • page/FrameView.cpp:

(WebCore::FrameView::updateLayoutViewport):
Handle null DOMWindow::visualViewport.

2:30 PM Changeset in webkit [227449] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Curl] CurlRequest must protect its client from disposal while it's on duty.
https://bugs.webkit.org/show_bug.cgi?id=181875

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-23
Reviewed by Alex Christensen.

No new tests. It's covered by existing tests.

  • platform/network/curl/CurlDownload.h:
  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::callClient):
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::didReceiveDataFromMultipart):
(WebCore::CurlRequest::didCompleteTransfer):
(WebCore::CurlRequest::invokeDidReceiveResponse):

  • platform/network/curl/CurlRequest.h:
  • platform/network/curl/CurlRequestClient.h:
  • platform/network/curl/ResourceHandleCurlDelegate.h:
2:30 PM Changeset in webkit [227448] by jmarcell@apple.com
  • 11 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227434. rdar://problem/36791632

2:30 PM Changeset in webkit [227447] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227431. rdar://problem/36791656

2:30 PM Changeset in webkit [227446] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227429. rdar://problem/36791608

2:30 PM Changeset in webkit [227445] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch/Source

Cherry-pick r227424. rdar://problem/36791625

2:30 PM Changeset in webkit [227444] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227419. rdar://problem/36791643

2:14 PM Changeset in webkit [227443] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WinCairo] Use 64-bit toolset
https://bugs.webkit.org/show_bug.cgi?id=181979

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2018-01-23
Reviewed by Alex Christensen.

Use 64-bit toolset for 64-bit build in order to improve build time.

  • Scripts/webkitdirs.pm:

(generateBuildSystemFromCMakeProject):

1:42 PM Changeset in webkit [227442] by commit-queue@webkit.org
  • 14 edits in trunk/Source

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

broke build (Requested by alexchristensen on #webkit).

Reverted changeset:

"Remove unused QTKit preference"
https://bugs.webkit.org/show_bug.cgi?id=181968
https://trac.webkit.org/changeset/227437

1:40 PM Changeset in webkit [227441] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Expose getKeyframes() and parsing of remaining keyframe properties
https://bugs.webkit.org/show_bug.cgi?id=181978

Not reviewed.

Fix failures for http/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html introduced in the previous patch.
Those keyword values are not expected.

  • platform/animation/TimingFunction.cpp:

(WebCore::TimingFunction::cssText const):

1:39 PM Changeset in webkit [227440] by Simon Fraser
  • 4 edits
    2 adds in trunk

feMorphology stops applying if either x or y radius is 0 but should not.
https://bugs.webkit.org/show_bug.cgi?id=181903

Reviewed by Dean Jackson.
Source/WebCore:

feMorphology should allow the radius on one axis to be zero but still apply the effect
(it's akin to a blur on just one axis). Also, any negative radius, or zero on both axes
should act like a pass-through, rather than outputting transparent blank (this is a spec
change from SVG 1.1 to SVG 2).

Tests: svg/filters/feMorphology-zero-radius-one-axis-expected.svg

svg/filters/feMorphology-zero-radius-one-axis.svg

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::platformApplyDegenerate):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::createImageBufferResult):

LayoutTests:

  • svg/filters/feMorphology-zero-radius-one-axis-expected.svg: Added.
  • svg/filters/feMorphology-zero-radius-one-axis.svg: Added.
1:33 PM Changeset in webkit [227439] by achristensen@apple.com
  • 8 edits in trunk/Source/WebCore

Remove unused MediaPlayerSupportsTypeClient
https://bugs.webkit.org/show_bug.cgi?id=182003

Reviewed by Sam Weinig.

This was used for a QTKit-specific hack I removed in r227372.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::getSupportedCapabilitiesForAudioVideoType):

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::isTypeSupported):

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementationSupportsTypeClient::DOMImplementationSupportsTypeClient): Deleted.
(): Deleted.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::canPlayType const):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks const): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerDocumentHost const): Deleted.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::supportsType):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerSupportsTypeClient::mediaPlayerNeedsSiteSpecificHacks const): Deleted.
(WebCore::MediaPlayerSupportsTypeClient::mediaPlayerDocumentHost const): Deleted.

1:32 PM Changeset in webkit [227438] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Remove compile guard around beacon API
https://bugs.webkit.org/show_bug.cgi?id=182002

Reviewed by Sam Weinig.

It's enabled everywhere now.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetBeaconAPIEnabled):
(WKPreferencesGetBeaconAPIEnabled):

  • config.h:
1:06 PM Changeset in webkit [227437] by achristensen@apple.com
  • 14 edits in trunk/Source

Remove unused QTKit preference
https://bugs.webkit.org/show_bug.cgi?id=181968

Reviewed by Alexey Proskuryakov.

Source/WebCore:

They weren't used and didn't do anything.

  • page/DeprecatedGlobalSettings.cpp:

(WebCore::DeprecatedGlobalSettings::setQTKitEnabled): Deleted.

  • page/DeprecatedGlobalSettings.h:

(WebCore::DeprecatedGlobalSettings::isQTKitEnabled): Deleted.

Source/WebKit:

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPreferencesSetQTKitEnabled):
(WKPreferencesGetQTKitEnabled):

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetQTKitEnabled): Deleted.
(WKPreferencesGetQTKitEnabled): Deleted.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setQTKitEnabled:]): Deleted.
(-[WKPreferences _qtKitEnabled]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences setQTKitEnabled:]): Deleted.
(-[WebPreferences isQTKitEnabled]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

12:50 PM Changeset in webkit [227436] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[macOS] WebProcess needs TCC entitlements for media capture
https://bugs.webkit.org/show_bug.cgi?id=181995
<rdar://problem/36674649>

Reviewed by Eric Carlson.

  • Configurations/WebContent-OSX.entitlements: Add delegated services needed to support media

capture features.

12:49 PM Changeset in webkit [227435] by rmorisset@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Rollout r219636
https://bugs.webkit.org/show_bug.cgi?id=181997
<rdar://problem/35883022>

Unreviewed, as it is a rollout.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):

  • runtime/JSArray.h:

(JSC::JSArray::tryCreate):

  • runtime/JSObject.cpp:

(JSC::JSObject::ensureLengthSlow):

12:39 PM Changeset in webkit [227434] by mark.lam@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Re-arrange TypedArray JSTypes to match the order of the TypedArrayType enum list.
https://bugs.webkit.org/show_bug.cgi?id=181976
<rdar://problem/36766936>

Reviewed by Filip Pizlo.

  1. The order of TypedArray JSTypes now matches the order the TypedArrayType enum list. I also added static asserts in TypedArrayType.h to enforce this.

Also redefined FOR_EACH_TYPED_ARRAY_TYPE() in terms of

  1. Define 4 new values:
    1. FirstTypedArrayType
    2. LastTypedArrayType
    3. NumberOfTypedArrayTypesExcludingDataView
    4. NumberOfTypedArrayTypes

Use these everywhere where we iterate or bisect the TypedArray JSTypes.

  1. Removed NUMBER_OF_TYPED_ARRAY_TYPES, and use NumberOfTypedArrayTypes instead.
  1. Simplify the code that converts between TypedArrayType and JSType.

Changed typedArrayTypeForType() to be the mirror image of typeForTypedArrayType().
Previously, typedArrayTypeForType() converts DataViewType to NotTypedArray
instead of TypeDataView. Now, it converts to TypeDataView.

This does not result in any change of behavior because typedArrayTypeForType()
is only called in Structure::hasIndexingHeader(), and its result is passed to
isTypedView(), which handles TypeDataView correctly.

  1. Also fixed a bug in SpeculativeJIT::compileGetTypedArrayByteOffset(). If the vector is null, we can skip the rest of the checks. While the current code does not result in incorrect behavior, it is inefficient, and communicates wrong information to the reader i.e. implying that there's something in the dataGPR when there's not. The dataGPR should also be null in this case.
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIsTypedArrayView):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::isTypedArrayView):

  • ftl/FTLOSRExit.cpp:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::visitChildren):

  • runtime/JSType.h:
  • runtime/TypedArrayType.cpp:

(JSC::typeForTypedArrayType): Deleted.

  • runtime/TypedArrayType.h:

(JSC::typedArrayTypeForType):
(JSC::typeForTypedArrayType):

12:32 PM Changeset in webkit [227433] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

[Cocoa] Disable header postprocessing when building for macOS High Sierra
https://bugs.webkit.org/show_bug.cgi?id=181972

Reviewed by Anders Carlsson.

  • Configurations/WebKit.xcconfig: Adopt macOSTargetConditionals.xcconfig helpers and disable postprocessing when building for macOS 10.13.
12:30 PM Changeset in webkit [227432] by jfernandez@igalia.com
  • 19 edits
    42 copies
    72 adds
    1 delete in trunk

[css-align] 'left' and 'right' should parse as invalid in block/cross-axis alignment
https://bugs.webkit.org/show_bug.cgi?id=181792

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Imported new Web Platform Tests for the css-align module.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-align-3/content-distribution/w3c-import.log: Removed.
  • web-platform-tests/css/css-align-3/default-alignment/w3c-import.log: Removed.
  • web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js: Removed.
  • web-platform-tests/css/css-align-3/self-alignment/w3c-import.log: Removed.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-001-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-002-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-002.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-003-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-004-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-004.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-005-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-005.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-001-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-002-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-002.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-003-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-004-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-005-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-005.html: Added.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html.
  • web-platform-tests/css/css-align/content-distribution/w3c-import.log: Added.
  • web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/justify-items-legacy-001-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/justify-items-legacy-001.html.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-001-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-002-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-002.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-003-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-004-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-004.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-005-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-005.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-001-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-002-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-002.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-003-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-004-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-004.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-005-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-005.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-006-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-006.html: Added.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html.
  • web-platform-tests/css/css-align/default-alignment/w3c-import.log: Added.
  • web-platform-tests/css/css-align/distribution-values/space-evenly-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht.
  • web-platform-tests/css/css-align/distribution-values/space-evenly-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html.
  • web-platform-tests/css/css-align/distribution-values/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/w3c-import.log.
  • web-platform-tests/css/css-align/resources/alignment-parsing-utils.js: Added.

(checkPlaceShorhand):
(checkPlaceShorhandLonghands):
(checkPlaceShorthandInvalidValues):
(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):
(checkSupportedValues):

  • web-platform-tests/css/css-align/resources/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/w3c-import.log.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-001-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-002-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-002.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-003-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-004-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-004.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-005-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-005.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-001-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-002-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-002.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-003-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-004-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-004.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-005-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-005.html: Added.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html.
  • web-platform-tests/css/css-align/self-alignment/w3c-import.log: Added.

Source/WebCore:

The CSS WG resolved to remove the 'left' and 'right' values from the
block/cross axis alignment properties.

https://github.com/w3c/csswg-drafts/issues/1403

This patch changes the CSS parsing logic of all the CSS Box Alignment
properties, both block-axis (align-{self, items, content} and
inline-axis (justify-{self, items, content}).

Additionally, the alignment shorthands (place-{self, items, content})
have been also changed to respect the new syntax.

Despite the number of layout tests changed, I don't think this
change will break any content in current sites. The CSS values
'left' and 'right' were introduced by the new CSS Box Alignment
spec and only implemented by the CSS Grid Layout feature, shipped
last year. Additionally, the removed values have no effect on the
layout result when they are applied to the block/cross-axis CSS
Alignment properties.

Tests: imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html

imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-006.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html
imported/w3c/web-platform-tests/css/css-align/distribution-values/space-evenly-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html

  • css/parser/CSSPropertyParser.cpp:

(WebCore::isLeftOrRightKeyword):
(WebCore::isContentPositionKeyword):
(WebCore::isContentPositionOrLeftOrRightKeyword):
(WebCore::consumeContentDistributionOverflowPosition):
(WebCore::isSelfPositionKeyword):
(WebCore::isSelfPositionOrLeftOrRightKeyword):
(WebCore::consumeSelfPositionOverflowPosition):
(WebCore::consumeAlignItems):
(WebCore::consumeJustifyItems):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeSimplifiedContentPosition):
(WebCore::CSSPropertyParser::consumePlaceContentShorthand):
(WebCore::consumeSimplifiedItemPosition):
(WebCore::CSSPropertyParser::consumePlaceItemsShorthand):
(WebCore::CSSPropertyParser::consumePlaceSelfShorthand):

LayoutTests:

Rebaseline tests because of the removal of the 'left' and right' CSS values.

  • css3/parse-align-content.html:
  • css3/parse-align-items.html:
  • css3/parse-align-self-expected.txt:
  • css3/parse-align-self.html:
  • css3/parse-alignment-of-root-elements-expected.txt:
12:16 PM Changeset in webkit [227431] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG should always flush this
https://bugs.webkit.org/show_bug.cgi?id=181999

Reviewed by Saam Barati and Mark Lam.

This is going to make it possible to use precise index masking for arguments-on-the-stack
accesses with an index adjusted so that 0 is this. Without this change, we would have no way
of masking when the argument count is 0, unless we padded the argument area so that there was
always an argument slot after this and it was always initialized.

This is neutral on all benchmarks.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flushImpl):
(JSC::DFG::ByteCodeParser::flushForTerminalImpl):
(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::flushForTerminal):
(JSC::DFG::ByteCodeParser::parse):
(JSC::DFG::flushImpl): Deleted.
(JSC::DFG::flushForTerminalImpl): Deleted.

  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):

12:11 PM Changeset in webkit [227430] by Simon Fraser
  • 5 edits
    2 adds in trunk

Element with position:fixed stops scrolling at the bottom of the page, but is painted in the right place on Chacos.com.
https://bugs.webkit.org/show_bug.cgi?id=181741
rdar://problem/36593581

Reviewed by Tim Horton.
Source/WebCore:

The #ifdef for iOS was wrong; on iOS, visibleSize() is in content coordinates and matches
unscaledDocumentRect, so there's no need to scale it. Doing so computed the wrong unscaledMaximumScrollPosition
which broke hit-testing when the document minimum scale was > 1.

Test: fast/visual-viewport/ios/min-scale-greater-than-one.html

  • page/FrameView.cpp:

(WebCore::FrameView::unscaledMaximumScrollPosition const):

Tools:

If zoomToScale:animated: is called with the current zoom level, call the callback
rather than doing nothing.

  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView zoomToScale:animated:completionHandler:]):

LayoutTests:

  • fast/visual-viewport/ios/min-scale-greater-than-one-expected.txt: Added.
  • fast/visual-viewport/ios/min-scale-greater-than-one.html: Added.
12:08 PM Changeset in webkit [227429] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Web Inspector: Window resizing is broken after detaching to separate window
https://bugs.webkit.org/show_bug.cgi?id=181992
<rdar://problem/36714840>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-23
Reviewed by Brian Burg.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformDetach):
Restore the inspector view's autoresizingMask to the initial value
that works with a detached window. This gets changed when the view
gets attached to bottom/side, so we need to revert it on detaching.

12:03 PM Changeset in webkit [227428] by graouts@webkit.org
  • 17 edits in trunk

[Web Animations] Expose getKeyframes() and parsing of remaining keyframe properties
https://bugs.webkit.org/show_bug.cgi?id=181978
<rdar://problem/36772586>

Reviewed by Dean Jackson.

Source/WebCore:

We finish our implementation of multiple keyframes by exposing the getKeyframes() method on KeyframeEffect and
parsing the remaining properties that can be exposed on keyframes: "easing" and "composite". And since we parse
those properties on keyframes, we also parse "easing" on AnimationEffectTiming and "composite" and "iterationComposite"
on KeyframeEffect.

To support this, we implement a new TimingFunction::createFromCSSText() method which takes in a string that is
a value provided directly via the JS API. As its converse, we expose a TimingFunction::cssText() method which
provides a string that can be sent back to JS to represent a timing function, using keywords when the timing
function matches one and ommitting default values.

We now also keep track of the original "offset" value provided through the JS API since that value is required
when calling getKeyframes() and distinct from the "computedOffset". These original offsets, composite operations
and timing functions are kept as separate Vectors from the KeyframeList since this type does not support exposing
those. We may consider improving that in a future patch.

Finally, we make some adjustments in the keyframe parsing to comply with the specification and correctly parse
all provided timing functions, regardless of the number of keyframes and timing functions provided.

Note that this patch is only about parsing, storing and returning provided easing and composite operations but
that such values will only be used for the resolution of animation effects in future patches.

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::getComputedTiming): Set the "easing" property on the getComputedTiming() return value
now that we expose "easing" on AnimationEffectTiming.

  • animation/AnimationEffectTiming.cpp:

(WebCore::AnimationEffectTiming::AnimationEffectTiming): Create a linear TimingFunction by default.
(WebCore::AnimationEffectTiming::setEasing): Parse the "easing" value and propagate an exception for invalid values.

  • animation/AnimationEffectTiming.h: Expose the new "easing" property and backing TimingFunction.
  • animation/AnimationEffectTiming.idl: Expose the new "easing" property.
  • animation/KeyframeEffect.cpp:

(WebCore::CSSPropertyIDToIDLAttributeName): Provide a way to convert the name of a CSS property to a string that can
be used to generate a JS property name for use by getKeyframes().
(WebCore::computeMissingKeyframeOffsets): Implement the full steps of the spec.
(WebCore::processIterableKeyframes): Fix a problematic declaration for the easing variable.
(WebCore::processPropertyIndexedKeyframes): Now that ProcessedKeyframe has both an offset and a computedOffset, use
computed offsets. We also fix a couple of loops to fix compliance issues revealed by WPT tests.
(WebCore::KeyframeEffect::create): Parse the provided "easing" property on the KeyframeEffectOptions object.
(WebCore::KeyframeEffect::getKeyframes): Implement the getKeyframes() method as mandated by the spec.
(WebCore::KeyframeEffect::processKeyframes): Keep a list of unused easings so these might be parsed as well, and
potentially throw exceptions, as mandated by the spec. For valid easings, store their matching TimingFunction in
m_timingFunctions, original offset values in m_offsets and CompositeOperation values in m_compositeOperations.

  • animation/KeyframeEffect.h: Switch the order in which we specify some of the Variant types so that default values

are correctly used.

  • animation/KeyframeEffect.idl: Switch the order in which we specify some of the Variant types so that default values

are correctly used.

  • platform/animation/TimingFunction.cpp:

(WebCore::TimingFunction::createFromCSSText):
(WebCore::TimingFunction::cssText const):

  • platform/animation/TimingFunction.h:

LayoutTests:

Update expectations with progressions and new failure points now we expose more of the API.

  • http/wpt/web-animations/interfaces/Animatable/animate-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/composite-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:
11:31 AM Changeset in webkit [227427] by ddkilzer@apple.com
  • 18 edits in trunk/Tools

Add ignore_errors keyword argument to Executive.run_command() for replacing the common pattern of error_handler usage
https://bugs.webkit.org/show_bug.cgi?id=180820

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-23
Reviewed by David Kilzer.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.in_working_directory):
(Git.clone):
(Git.read_git_config):
(Git.apply_reverse_diff):

  • Scripts/webkitpy/common/checkout/scm/scm.py:

(SCM.run):

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVNRepository.has_authorization_for_realm):

  • Scripts/webkitpy/common/net/credentials_unittest.py:
  • Scripts/webkitpy/common/system/abstractexecutive.py:

(AbstractExecutive.run_command):

  • Scripts/webkitpy/common/system/executive.py:

(Executive.kill_process.is):
(Executive.running_pids):
(Executive.kill_all):
(Executive.run_command):

  • Scripts/webkitpy/common/system/executive_mock.py:

(MockExecutive.run_command):
(MockExecutive2.run_command):

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ExecutiveTest.test_run_command_with_bad_command.run_bad_command):

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo.xcode_sdk_version):

  • Scripts/webkitpy/layout_tests/servers/http_server.py:

(Lighttpd._check_and_kill):

  • Scripts/webkitpy/port/base.py:

(Port._symbols_string):

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_environ_for_server):

  • Scripts/webkitpy/port/win.py:

(WinPort._runtime_feature_list):
(WinPort.read_registry_value):

  • Scripts/webkitpy/port/win_unittest.py:

(WinPortTest.test_runtime_feature_list):

  • Scripts/webkitpy/tool/commands/analyzechangelog.py:
  • Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py:
11:29 AM Changeset in webkit [227426] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening.

  • platform/mac/TestExpectations:
11:24 AM Changeset in webkit [227425] by beidson@apple.com
  • 57 edits
    4 adds in trunk

Allow passing MessagePorts across processes (e.g. ServiceWorkers).
https://bugs.webkit.org/show_bug.cgi?id=181178

Reviewed by Andy Estes.

LayoutTests/imported/w3c:

Re-baseline for many new passes and a few new failure modes.

  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-fetch.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-not-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-worker-fetch.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/client-id.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get-cross-origin.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-exact-controller.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-order.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/extendable-event-async-waituntil.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-throws-after-respond-with.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-css-base-url.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-css-images.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-fallback.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/immutable-prototype-serviceworker.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-end-to-end.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-events.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/skip-waiting-installed.https-expected.txt:

Source/WebCore:

Test: http/tests/workers/service/basic-messageport.html

  • dom/MessagePort.cpp:

(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::~MessagePort):

  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::entanglePortWithProcess):

  • dom/messageports/MessagePortChannel.h:
  • workers/service/SWClientConnection.cpp:

(WebCore::SWClientConnection::postMessageToServiceWorkerClient):

  • workers/service/SWClientConnection.h:
  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::postMessage):

  • workers/service/ServiceWorkerClient.cpp:

(WebCore::ServiceWorkerClient::postMessage):

  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::postMessageToServiceWorker):

  • workers/service/context/SWContextManager.h:

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::postMessageToServiceWorker):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerClient):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::postMessageToServiceWorkerClient):

  • StorageProcess/StorageProcess.h:
  • StorageProcess/StorageProcess.messages.in:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::entangleLocalPortInThisProcessToRemote):
(WebKit::WebProcessProxy::postMessageToRemote):

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::postMessageToServiceWorker):
(WebKit::WebSWClientConnection::postMessageToServiceWorkerClient):

  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::postMessageToServiceWorker):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/Storage/WebSWContextManagerConnection.messages.in:

LayoutTests:

  • http/tests/workers/service/basic-messageport-expected.txt: Added.
  • http/tests/workers/service/basic-messageport.html: Added.
  • http/tests/workers/service/resources/basic-messageport.js: Added.
  • http/tests/workers/service/resources/messageport-echo-worker.js: Added.
10:26 AM Changeset in webkit [227424] by fpizlo@apple.com
  • 4 edits in trunk/Source

JSC should use a speculation fence on VM entry/exit
https://bugs.webkit.org/show_bug.cgi?id=181991

Reviewed by JF Bastien and Mark Lam.

Source/JavaScriptCore:

This adds a WTF::speculationFence on VM entry and exit.

For a microbenchmark that just calls a native function (supplied via an Objective-C block) in a
tight loop from JS is a 0% regression on x86 and a 11% regression on ARM64.

  • runtime/JSLock.cpp:

(JSC::JSLock::didAcquireLock):
(JSC::JSLock::willReleaseLock):

Source/WTF:

Implement speculationFence as lfence on x86 and isb on ARM64. I'm not sure if isb is
appropriate for all ARM64's.

  • wtf/Atomics.h:

(WTF::speculationFence):
(WTF::x86_lfence):

10:22 AM Changeset in webkit [227423] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unskip http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=181833

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:52 AM Changeset in webkit [227422] by commit-queue@webkit.org
  • 19 edits in trunk

Unreviewed, rolling out r227279 and r227373.
https://bugs.webkit.org/show_bug.cgi?id=181988

The LayoutTest crash fix introduced an API test failure.
(Requested by ryanhaddad on #webkit).

Reverted changesets:

"Resign NowPlaying status when no media element is eligible"
https://bugs.webkit.org/show_bug.cgi?id=181914
https://trac.webkit.org/changeset/227279

"Resign NowPlaying status when no media element is eligible"
https://bugs.webkit.org/show_bug.cgi?id=181914
https://trac.webkit.org/changeset/227373

9:38 AM Changeset in webkit [227421] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

Follow-up layout test fix after r227260.

I missed a few places that were still using version 3 API requests.

  • http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html:
9:26 AM Changeset in webkit [227420] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix some format specifiers added in r227190
https://bugs.webkit.org/show_bug.cgi?id=181454

  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::takeAllMessagesForPort):

9:21 AM Changeset in webkit [227419] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION (r227348): ASSERT_NOT_REACHED in WebKit::ServiceWorkerClientFetch::didFinish()
https://bugs.webkit.org/show_bug.cgi?id=181956
<rdar://problem/36755492>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-23
Reviewed by Chris Dumez.

Covered by test no longer crashing in Debug builds.
Reset m_redirectionStatus to None when starting an SW fetch.

  • WebProcess/Storage/ServiceWorkerClientFetch.cpp:

(WebKit::ServiceWorkerClientFetch::start):
(WebKit::ServiceWorkerClientFetch::didFinish):

9:19 AM Changeset in webkit [227418] by Michael Catanzaro
  • 5 edits in trunk/Source/WebKit

[WPE] TestWebKitFindController asserts
https://bugs.webkit.org/show_bug.cgi?id=181472

Reviewed by Carlos Garcia Campos.

Let's fix this in two independent ways.

First, use a GRefPtr to hold ownership of the WebKitWebViewBackend. This way, we don't need
to change the order in which WebKitWebView destroys its priv struct members from what is
used in WebKitGTK+, which can lead to odd bugs.

Additionally, just for good measure, stop resetting the find client when disposing
WebKitFindController. This is unnecessary because it will never be destroyed before the
WebKitWebView.

  • UIProcess/API/glib/WebKitFindController.cpp:

(webkit_find_controller_class_init):
(webkitFindControllerDispose): Deleted.

  • UIProcess/API/glib/WebKitWebView.cpp:

(_WebKitWebViewPrivate::~_WebKitWebViewPrivate):
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkitWebViewCreatePage):
(webkit_web_view_get_backend):

  • UIProcess/API/wpe/WebKitWebViewBackend.cpp:

(webkitWebViewBackendCreateDefault):
(WTF::refGPtr):
(WTF::derefGPtr):

  • UIProcess/API/wpe/WebKitWebViewBackendPrivate.h:
9:11 AM Changeset in webkit [227417] by fpizlo@apple.com
  • 1 edit
    18 moves in trunk/JSTests

Unreviewed, retire some microbenchmarks that are proportionately very slow. Benchmark running time should be proportional to their value. Microbenchmarks have little value, so they should be very fast.

  • microbenchmarks/array-push-3.js: Removed.
  • microbenchmarks/bigswitch-indirect-symbol-or-undefined.js: Removed.
  • microbenchmarks/double-to-int32.js: Removed.
  • microbenchmarks/fake-iterators-that-throw-when-finished.js: Removed.
  • microbenchmarks/ftl-polymorphic-bitand.js: Removed.
  • microbenchmarks/ftl-polymorphic-bitor.js: Removed.
  • microbenchmarks/ftl-polymorphic-bitxor.js: Removed.
  • microbenchmarks/ftl-polymorphic-lshift.js: Removed.
  • microbenchmarks/ftl-polymorphic-rshift.js: Removed.
  • microbenchmarks/ftl-polymorphic-sub.js: Removed.
  • microbenchmarks/ftl-polymorphic-urshift.js: Removed.
  • microbenchmarks/map-constant-key.js: Removed.
  • microbenchmarks/nested-function-parsing.js: Removed.
  • microbenchmarks/rest-parameter-allocation-elimination.js: Removed.
  • microbenchmarks/spread-large-array.js: Removed.
  • microbenchmarks/string-add-constant-folding.js: Removed.
  • microbenchmarks/to-lower-case.js: Removed.
  • microbenchmarks/undefined-property-access.js: Removed.
  • slowMicrobenchmarks/array-push-3.js: Copied from JSTests/microbenchmarks/array-push-3.js.
  • slowMicrobenchmarks/bigswitch-indirect-symbol-or-undefined.js: Copied from JSTests/microbenchmarks/bigswitch-indirect-symbol-or-undefined.js.
  • slowMicrobenchmarks/double-to-int32.js: Copied from JSTests/microbenchmarks/double-to-int32.js.
  • slowMicrobenchmarks/fake-iterators-that-throw-when-finished.js: Copied from JSTests/microbenchmarks/fake-iterators-that-throw-when-finished.js.
  • slowMicrobenchmarks/ftl-polymorphic-bitand.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitand.js.
  • slowMicrobenchmarks/ftl-polymorphic-bitor.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitor.js.
  • slowMicrobenchmarks/ftl-polymorphic-bitxor.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitxor.js.
  • slowMicrobenchmarks/ftl-polymorphic-lshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-lshift.js.
  • slowMicrobenchmarks/ftl-polymorphic-rshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-rshift.js.
  • slowMicrobenchmarks/ftl-polymorphic-sub.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-sub.js.
  • slowMicrobenchmarks/ftl-polymorphic-urshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-urshift.js.
  • slowMicrobenchmarks/map-constant-key.js: Copied from JSTests/microbenchmarks/map-constant-key.js.
  • slowMicrobenchmarks/nested-function-parsing.js: Copied from JSTests/microbenchmarks/nested-function-parsing.js.
  • slowMicrobenchmarks/rest-parameter-allocation-elimination.js: Copied from JSTests/microbenchmarks/rest-parameter-allocation-elimination.js.
  • slowMicrobenchmarks/spread-large-array.js: Copied from JSTests/microbenchmarks/spread-large-array.js.
  • slowMicrobenchmarks/string-add-constant-folding.js: Copied from JSTests/microbenchmarks/string-add-constant-folding.js.
  • slowMicrobenchmarks/to-lower-case.js: Copied from JSTests/microbenchmarks/to-lower-case.js.
  • slowMicrobenchmarks/undefined-property-access.js: Copied from JSTests/microbenchmarks/undefined-property-access.js.
9:10 AM Changeset in webkit [227416] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Add user agent quirk for Microsoft Outlook Web App
https://bugs.webkit.org/show_bug.cgi?id=181982

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2018-01-23
Reviewed by Michael Catanzaro.

Microsoft Outlook Web App forces users to switch to the lite version on
the login page with our standard user agent on all non-macOS systems.
Since it is an application that can be installed by different companies,
schools and organizations, it is not possible to fix the issue unless
we keep a big list of host names that are known to run it. We check the
host name instead of the base domain name here because it is not
expected to run all sites under a base domain on this webmail and
calendar application.

https://mail.ntu.edu.tw is a site that is known to run Microsoft Outlook
Web App for several years, and it is not likely to change. When there
are other sites found to run it and having the same user agent problem,
we can expand the list to include them.

  • platform/UserAgentQuirks.cpp:

(WebCore::urlRequiresMacintoshPlatform):

8:51 AM Changeset in webkit [227415] by Michael Catanzaro
  • 3 edits in trunk/Source/WebCore/PAL

[WPE][GTK] Sleep inhibitors do not work under Flatpak
https://bugs.webkit.org/show_bug.cgi?id=180812

Reviewed by Carlos Garcia Campos.

Ensure SleepDisablerGLib works even when running inside a Flatpak sandbox by using the
Freedesktop inhibit portal D-Bus API.

Unfortunately this has to be tested manually.

  • pal/system/glib/SleepDisablerGLib.cpp:

(PAL::SleepDisablerGLib::SleepDisablerGLib):
(PAL::SleepDisablerGLib::~SleepDisablerGLib):
(PAL::SleepDisablerGLib::acquireInhibitor):
(PAL::SleepDisablerGLib::acquireInhibitorViaScreenSaverProxy):
(PAL::SleepDisablerGLib::acquireInhibitorViaInhibitPortalProxy):
(PAL::SleepDisablerGLib::releaseInhibitor):
(PAL::SleepDisablerGLib::releaseInhibitorViaScreenSaverProxy):
(PAL::SleepDisablerGLib::releaseInhibitorViaInhibitPortalProxy):

8:22 AM Changeset in webkit [227414] by Carlos Garcia Campos
  • 4 edits in trunk

WebDriver: several tests in imported/w3c/webdriver/tests/sessions/new_session/merge.py are failing
https://bugs.webkit.org/show_bug.cgi?id=180407

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

This is actually a bug in the spec, see https://github.com/w3c/webdriver/issues/1203. It seems the idea in any
case is that we should check all the firstMatch capabilities before matching them, and return if there's any
error.

  • WebDriverService.cpp:

(WebDriver::WebDriverService::mergeCapabilities const):
(WebDriver::WebDriverService::processCapabilities const):

WebDriverTests:

Remove expectations for tests that are passing now and update the bug number of the other ones referencing
#180407.

8:21 AM Changeset in webkit [227413] by Carlos Garcia Campos
  • 5 edits in trunk

WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/response.py::test_timeouts fails
https://bugs.webkit.org/show_bug.cgi?id=180412

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Include all missing capabilities in the new session response message.

Fixes: imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_capabilites

imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_data
imported/w3c/webdriver/tests/sessions/new_session/response.py::test_timeouts

  • Session.h:

(WebDriver::Session::scriptTimeout const):
(WebDriver::Session::pageLoadTimeout const):
(WebDriver::Session::implicitWaitTimeout const):

  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

WebDriverTests:

Remove expectations for imported/w3c/webdriver/tests/sessions/new_session/response.py since all tests are
passing now.

8:20 AM Changeset in webkit [227412] by Carlos Garcia Campos
  • 7 edits in trunk

WebDriver: matched capabilities should include setWindowRect
https://bugs.webkit.org/show_bug.cgi?id=180411

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Handle setWindowRect in capabilities. It's always true for GTK and false for WPE.

  • Capabilities.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::parseCapabilities const):
(WebDriver::WebDriverService::matchCapabilities const):
(WebDriver::WebDriverService::newSession):

  • gtk/WebDriverServiceGtk.cpp:

(WebDriver::WebDriverService::platformCapabilities):

  • wpe/WebDriverServiceWPE.cpp:

(WebDriver::WebDriverService::platformCapabilities):

WebDriverTests:

Change the bug number of test imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_data,
since now it's failing due to missing timeouts value.

7:11 AM Changeset in webkit [227411] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] JIT requires sizeof(bool) == 1
https://bugs.webkit.org/show_bug.cgi?id=181150

Reviewed by Saam Barati.

LLInt and JIT assumes that sizeof(bool) == 1. But it is implementation-dependent in C++ spec.
Since this is a mandatory requirement in JSC, we add a static_assert to ensure this.

  • runtime/InitializeThreading.cpp:
6:28 AM Changeset in webkit [227410] by rmorisset@apple.com
  • 20 edits
    1 add in trunk

Update the argument count in DFGByteCodeParser::handleRecursiveCall
https://bugs.webkit.org/show_bug.cgi?id=181739
<rdar://problem/36627662>

Reviewed by Saam Barati.

JSTests:

  • stress/recursive-tail-call-with-different-argument-count.js: Added.

(foo):
(bar):

Source/JavaScriptCore:

When calling a function, its number of arguments is set on the stack. When we turn a recursive tail call
into a jump, we should update that stack slot as there is no guarantee that the function was originally
called with the same number of arguments. Forgetting to do this is observable through 'arguments.length'.

It required adding a new DFG node: 'SetArgumentCountIncludingThis', that takes an unsigned int
as its first OpInfo field, and stores it to the stack at the right place.

We must be a bit careful in where we put this new node, as it ClobbersExit.
We must also fix DFGArgumentsEliminationPhase and DFGPutStackSinkingPhase as they assumed that any node that writes to the stack must write to either an argument or a local.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArgumentsEliminationPhase.cpp:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleRecursiveTailCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGMayExit.cpp:
  • dfg/DFGNode.h:

(JSC::DFG::Node::argumentCountIncludingThis):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGPutStackSinkingPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileSetArgumentCountIncludingThis):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileSetArgumentCountIncludingThis):

4:07 AM Changeset in webkit [227409] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[EME] Add support of multi keys from different sessions in CDMinstanceClearKey
https://bugs.webkit.org/show_bug.cgi?id=180083

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-01-23
Reviewed by Xabier Rodriguez-Calvar.

Add support of multi keys from different MediaKeySession in CDMInstanceClearKey.

Currently the CDMInstanceClearKey manages two "m_keys", one is a WTF::Vector
where it stores the list of last added keys, an other which is defined in the
ClearKeyState::singleton it is a WTF::HashMap, in this last one, it stores the
keys lists of each created session.

The method "keys()" of CDMInstanceClearKey returns the first "m_keys" which
contains just the list of last keys.

The goal of this commit is to return all keys lists of all sessions, thus
we remove the "m_keys" which is WTF::Vector and we modify the method
"keys()" to return all keys lists, which is stored in "m_keys" WTF::HashMap,
in one Vector instead of return just the list of last keys.

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMInstanceClearKey::keys const):
(WebCore::CDMInstanceClearKey::updateLicense):

  • platform/encryptedmedia/clearkey/CDMClearKey.h:
1:43 AM Changeset in webkit [227408] by Carlos Garcia Campos
  • 4 edits in trunk

WebDriver: test imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py::testChangeWindowSize fails
https://bugs.webkit.org/show_bug.cgi?id=181728

Reviewed by Sergio Villar Senin.

Source/WebDriver:

Due to a copy-paste error we are getting the window height using the width variable.

Fixes: imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py::testChangeWindowSize

imported/selenium/py/test/selenium/webdriver/common/position_and_size_tests.py::testShouldScrollPageAndGetCoordinatesOfAnElementThatIsOutOfViewPort
imported/w3c/webdriver/tests/get_window_rect.py::test_payload
imported/w3c/webdriver/tests/set_window_rect.py::test_width_height_floats
imported/w3c/webdriver/tests/set_window_rect.py::test_height_width
imported/w3c/webdriver/tests/set_window_rect.py::test_height_width_larger_than_max
imported/w3c/webdriver/tests/contexts/resizing_and_positioning.py::test_window_resize

  • Session.cpp:

(WebDriver::Session::getToplevelBrowsingContextRect):

WebDriverTests:

Remove expectations for tests that are now passing.

1:26 AM Changeset in webkit [227407] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Mark some service-worker fetch tests as DumpJSConsoleLogInStdErr
https://bugs.webkit.org/show_bug.cgi?id=181975

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-23

Jan 22, 2018:

11:11 PM Changeset in webkit [227406] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Add test case for slow in test_expectations.py.

I forgot to also check slow tests in test_expectations.py unit tests.

  • Scripts/webkitpy/common/test_expectations_unittest.py:

(assert_slow):
(test_build_type):
(test_slow):

10:50 PM Changeset in webkit [227405] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Mark test WTF_Lock.ManyContendedShortSections as slow.

  • TestWebKitAPI/glib/TestExpectations.json:
10:42 PM Changeset in webkit [227404] by jmarcell@apple.com
  • 6 edits
    1 add in branches/safari-605-branch

Cherry-pick r227351. rdar://problem/36746029

10:42 PM Changeset in webkit [227403] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKitLegacy/mac

Cherry-pick r227371. rdar://problem/36763183

10:42 PM Changeset in webkit [227402] by jmarcell@apple.com
  • 7 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227370. rdar://problem/36763189

10:42 PM Changeset in webkit [227401] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227358. rdar://problem/36763023

10:42 PM Changeset in webkit [227400] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227357. rdar://problem/36763204

10:42 PM Changeset in webkit [227399] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227353. rdar://problem/36763011

10:42 PM Changeset in webkit [227398] by jmarcell@apple.com
  • 5 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227277. rdar://problem/36763214

10:42 PM Changeset in webkit [227397] by jmarcell@apple.com
  • 18 edits
    4 adds in branches/safari-605-branch/Source

Cherry-pick r227340. rdar://problem/36746140

9:36 PM Changeset in webkit [227396] by Simon Fraser
  • 4 edits in trunk

Optimize building the non-fast scrollable region with multiple iframes
https://bugs.webkit.org/show_bug.cgi?id=181971

Reviewed by Zalan Bujtas.

Source/WebCore:

AsyncScrollingCoordinator::frameViewLayoutUpdated() is called every time a subframe lays out.
We don't need to eagerly update the non-fast scrollable region at this time; we can just mark
it dirty, and rely on the existing scrolling tree commit code to recompute it.

On my machine this makes fast/frames/lots-of-objects.html no longer a timeout.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):

LayoutTests:

  • platform/mac-wk2/TestExpectations: fast/frames/lots-of-objects.html is no longer always a timeout.
8:39 PM Changeset in webkit [227395] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

'run-test.py' script should make sure 'node_modules' directory exists before installing node packages.
https://bugs.webkit.org/show_bug.cgi?id=181808

Reviewed by Ryosuke Niwa.

'run-test.py' will fail if 'node_modules' does not exist before running this script.
Instead of calling 'os.chdir' to change directory, use 'cwd' in subprocess instead.

  • tools/run-tests.py: Added the logic to ensure 'node_modules' exists.

Also use 'cwd' in subprocess.call instead of calling 'os.chdir' ahead.

8:08 PM Changeset in webkit [227394] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227218. rdar://problem/36746114

8:08 PM Changeset in webkit [227393] by jmarcell@apple.com
  • 10 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227275. rdar://problem/36745983

8:08 PM Changeset in webkit [227392] by jmarcell@apple.com
  • 16 edits in branches/safari-605-branch/Source

Cherry-pick r227282. rdar://problem/36746077

8:08 PM Changeset in webkit [227391] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227298. rdar://problem/36746084

8:08 PM Changeset in webkit [227390] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r227338. rdar://problem/36746095

8:08 PM Changeset in webkit [227389] by jmarcell@apple.com
  • 10 edits in branches/safari-605-branch

Cherry-pick r227339. rdar://problem/36745908

8:08 PM Changeset in webkit [227388] by jmarcell@apple.com
  • 4 edits
    1 add in branches/safari-605-branch

Cherry-pick r227341. rdar://problem/36746038

8:08 PM Changeset in webkit [227387] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227343. rdar://problem/36746168

8:08 PM Changeset in webkit [227386] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227345. rdar://problem/36745991

8:08 PM Changeset in webkit [227385] by jmarcell@apple.com
  • 5 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227346. rdar://problem/36746149

8:08 PM Changeset in webkit [227384] by jmarcell@apple.com
  • 4 edits
    3 adds in branches/safari-605-branch

Cherry-pick r227348. rdar://problem/36746180

8:08 PM Changeset in webkit [227383] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227349. rdar://problem/36746053

7:00 PM Changeset in webkit [227382] by jiewen_tan@apple.com
  • 24 edits
    4 copies
    21 adds in trunk

[WebAuthN] Implement PublicKeyCredential's Create? with a dummy authenticator
https://bugs.webkit.org/show_bug.cgi?id=181928
<rdar://problem/36459893>

Reviewed by Brent Fulgham.

Source/WebCore:

This patch implements PublicKeyCredential's Create? from https://www.w3.org/TR/webauthn/#createCredential
as of 5 December 2017. In order to do testing, a dummy authenticator is implemented to exercise a failure
and a pass path. A number of dependencies need to be resolved later in order to comply with the spec.
Also, the current architecture of handling async WebAuthN operations including dispatching, timeout, and aborting
might need a redesign once the underlying authenticator is clear. Since this is our first attempt to implement
a prototype, all those limitations, in my opinion, can be marked as non-blocking to accelerate the whole
process. Those limitations will then be addressed once the first prototype is finshed.

Tests: http/tests/webauthn/public-key-credential-create-with-invalid-parameters.https.html

http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https.html
http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https.html
http/wpt/webauthn/idl.https.html
http/wpt/webauthn/public-key-credential-create-failure.https.html
http/wpt/webauthn/public-key-credential-create-success.https.html

  • Modules/credentialmanagement/BasicCredential.h:
  • Modules/credentialmanagement/BasicCredential.idl:
  • Modules/credentialmanagement/CredentialsContainer.cpp:

(WebCore::CredentialsContainer::PendingPromise::PendingPromise):
(WebCore::CredentialsContainer::dispatchTask):
(WebCore::CredentialsContainer::get):
(WebCore::CredentialsContainer::isCreate):
(WebCore::CredentialsContainer::preventSilentAccess const):
(WebCore::CredentialsContainer::preventSilentAccess): Deleted.

  • Modules/credentialmanagement/CredentialsContainer.h:

(WebCore::CredentialsContainer::PendingPromise::create):

  • Modules/webauthn/Authenticator.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp.

(WebCore::Authenticator::singleton):
(WebCore::Authenticator::makeCredential const):

  • Modules/webauthn/Authenticator.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h.
  • Modules/webauthn/AuthenticatorAssertionResponse.cpp:

(WebCore::AuthenticatorAssertionResponse::authenticatorData const):
(WebCore::AuthenticatorAssertionResponse::signature const):
(WebCore::AuthenticatorAssertionResponse::userHandle const):
(WebCore::AuthenticatorAssertionResponse::~AuthenticatorAssertionResponse): Deleted.
(WebCore::AuthenticatorAssertionResponse::authenticatorData): Deleted.
(WebCore::AuthenticatorAssertionResponse::signature): Deleted.
(WebCore::AuthenticatorAssertionResponse::userHandle): Deleted.

  • Modules/webauthn/AuthenticatorAssertionResponse.h:

(WebCore::AuthenticatorAssertionResponse::create):

  • Modules/webauthn/AuthenticatorAttestationResponse.cpp:

(WebCore::AuthenticatorAttestationResponse::attestationObject const):
(WebCore::AuthenticatorAttestationResponse::~AuthenticatorAttestationResponse): Deleted.
(WebCore::AuthenticatorAttestationResponse::attestationObject): Deleted.

  • Modules/webauthn/AuthenticatorAttestationResponse.h:

(WebCore::AuthenticatorAttestationResponse::create):

  • Modules/webauthn/AuthenticatorResponse.cpp:

(WebCore::AuthenticatorResponse::clientDataJSON const):
(WebCore::AuthenticatorResponse::~AuthenticatorResponse): Deleted.
(WebCore::AuthenticatorResponse::clientDataJSON): Deleted.

  • Modules/webauthn/AuthenticatorResponse.h:
  • Modules/webauthn/AuthenticatorResponse.idl:
  • Modules/webauthn/PublicKeyCredential.cpp:

(WebCore::PublicKeyCredentialInternal::produceClientDataJson):
(WebCore::PublicKeyCredentialInternal::produceClientDataJsonHash):
(WebCore::PublicKeyCredentialInternal::getIdFromAttestationObject):
(WebCore::PublicKeyCredential::PublicKeyCredential):
(WebCore::PublicKeyCredential::discoverFromExternalSource):
(WebCore::PublicKeyCredential::create):
(WebCore::PublicKeyCredential::rawId const):
(WebCore::PublicKeyCredential::response const):
(WebCore::PublicKeyCredential::getClientExtensionResults const):
(WebCore::PublicKeyCredential::rawId): Deleted.
(WebCore::PublicKeyCredential::response): Deleted.
(WebCore::PublicKeyCredential::getClientExtensionResults): Deleted.

  • Modules/webauthn/PublicKeyCredential.h:
  • Modules/webauthn/PublicKeyCredential.idl:
  • Modules/webauthn/PublicKeyCredentialCreationOptions.h:

(): Deleted.

  • Modules/webauthn/PublicKeyCredentialDescriptor.h:
  • Modules/webauthn/PublicKeyCredentialDescriptor.idl:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSAuthenticatorResponseCustom.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.cpp.

(WebCore::toJSNewlyCreated):
(WebCore::toJS):

  • bindings/js/JSBasicCredentialCustom.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp.

(WebCore::toJSNewlyCreated):
(WebCore::toJS):

  • bindings/js/JSBindingsAllInOne.cpp:

LayoutTests:

Test cases are divided into two different folders. One follows wpt style. The other contains tests
that I don't know how to write them in wpt style.

  • http/tests/webauthn/public-key-credential-create-with-invalid-parameters.https-expected.txt: Added.
  • http/tests/webauthn/public-key-credential-create-with-invalid-parameters.https.html: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https-expected.txt: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https.html: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https-expected.txt: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https.html: Added.
  • http/tests/webauthn/resources/last-layer-frame.https.html: Added.
  • http/tests/webauthn/resources/second-layer-frame.https.html: Added.
  • http/tests/webauthn/resources/util.js: Added.

It will be good to convert them into wpt style.

  • http/wpt/webauthn/WebAuthN.idl: Added.
  • http/wpt/webauthn/idl.https-expected.txt: Added.
  • http/wpt/webauthn/idl.https.html: Added.
  • http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-create-failure.https.html: Added.
  • http/wpt/webauthn/public-key-credential-create-success.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-create-success.https.html: Added.
  • http/wpt/webauthn/resources/util.js: Added.
6:09 PM Changeset in webkit [227381] by mmaxfield@apple.com
  • 13 edits in trunk/Source/WebCore

[Cocoa] Support font collections
https://bugs.webkit.org/show_bug.cgi?id=181826
<rdar://problem/36455137>

Reviewed by Dean Jackson.

Source/WebCore:

Use the CoreText call CTFontManagerCreateFontDescriptorsFromData() to get all the descriptors inside
the collection file. We select which one by using the fragment identifier at the end of the url linking
to the remote font. For example, to select the 4th font inside a TTC file, the @font-face block would
look like:

@font-face {

font-family: "MyFont";
src: url("path/to/font.ttc#4");

}

Note that these numbers are 1-indexed.

The CSS Fonts spec states:

Fragment identifiers are used to indicate which font to load. If a container format lacks a defined
fragment identifier scheme, implementations should use a simple 1-based indexing scheme (e.g.
"font-collection#1" for the first font, "font-collection#2" for the second font).

Not only are TTC font collections supported, but WOFF2 font collections are also supported, which is
increasingly important web standard.

No new tests because I don't have a font collection file with the appropriate license for the
WebKit repository. I tested manually.

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::load):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::calculateIndex const):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::createCustomFontData):

  • loader/cache/CachedFont.h:
  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/mac/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformData.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/win/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::createFontCustomPlatformData):

Source/WebCore/PAL:

  • pal/spi/cocoa/CoreTextSPI.h:
6:04 PM Changeset in webkit [227380] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=181833

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
6:00 PM Changeset in webkit [227379] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

REGRESSION (r227011): fast/frames/hidpi-position-iframe-on-device-pixel.html times out
https://bugs.webkit.org/show_bug.cgi?id=181959

Reviewed by Zalan Bujtas.

This test creates 300 iframes, which became slow after r227011 because they all became part
of the non-fast scrollable region, slowing down ScrollingCoordinator::absoluteEventTrackingRegionsForFrame().

Fix by not adding non-scrollable iframes, and making FrameView::isScrollable() more efficient for frames
that have not done layout yet.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollable):
(WebCore::FrameView::addChild):

5:54 PM Changeset in webkit [227378] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit

Update title label size
https://bugs.webkit.org/show_bug.cgi?id=181962
rdar://problem/36754744

Reviewed by Simon Fraser.

  • UIProcess/ios/WKFullScreenWindowControllerIOS.mm:

(-[_WKFullScreenViewController setLocation:secure:trustedName:trustedSite:]): Move titleLabel properties into
createSubviews.
(-[_WKFullScreenViewController createSubviews]): Set the title label for both the cancel and location buttons.
Refer to a const CGFloat for the font size.

5:45 PM Changeset in webkit [227377] by Megan Gardner
  • 13 edits in trunk/Source/WebKit

Temporarily restore block selection code conditionally
https://bugs.webkit.org/show_bug.cgi?id=181895
<rdar://problem/36567325>

Reviewed by Tim Horton.

We need to restore this code temporarily to avoid a crash.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):

5:37 PM Changeset in webkit [227376] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed building for macOS 10.12 with the macOS 10.13 SDK after r227156.

  • Configurations/WebCore.xcconfig:
5:36 PM Changeset in webkit [227375] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

We should not try to link against the Safe Browsing framework on watchOS and tvOS.
https://bugs.webkit.org/show_bug.cgi?id=181965.

Patch by Zach Li <zacharyli323@gmail.com> on 2018-01-22
Reviewed by Tim Horton.

  • Configurations/WebKit.xcconfig:
5:34 PM Changeset in webkit [227374] by Simon Fraser
  • 6 edits
    4 adds in trunk

REGRESSION (r226981): ASSERTION FAILED: startY >= 0 && endY <= height && startY < endY in WebCore::FEMorphology::platformApplyGeneric
https://bugs.webkit.org/show_bug.cgi?id=181836

Reviewed by Tim Horton.
Source/WebCore:

All the filters that use ParallelJobs<> has the same type of bug where very wide but not tall
filter regions could result in computing an optimalThreadNumber that was greater than the
number of rows to process, which resulted in jobs with zero rows to process.

Since we split the work by rows, cap the maximum number of threads to height/8 so that each job
has at least 8 rows of pixels to process. Add some assertions to detect jobs with zero rows.

FEMorphology was also using implicit float -> int conversion to detect integer overflow of radius,
so change that to use explicit clamping.

Tests: svg/filters/feLighting-parallel-jobs.svg

svg/filters/feTurbulence-parallel-jobs-wide.svg

  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::platformApplyGenericPaint):
(WebCore::FELighting::platformApplyGeneric):

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::platformApplyGeneric):
(WebCore::FEMorphology::platformApply):
(WebCore::FEMorphology::platformApplyDegenerate):
(WebCore::FEMorphology::platformApplySoftware):

  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::fillRegion const):
(WebCore::FETurbulence::platformApplySoftware):

LayoutTests:

  • svg/filters/feLighting-parallel-jobs.svg: Added.
  • svg/filters/feMorphology-invalid-radius.svg: Change the test to detect the bug on non-Retina too.
  • svg/filters/feTurbulence-parallel-jobs-wide.svg: Added.
5:29 PM Changeset in webkit [227373] by Ryan Haddad
  • 3 edits in trunk/Source/WebCore

Resign NowPlaying status when no media element is eligible
https://bugs.webkit.org/show_bug.cgi?id=181914
<rdar://problem/35294116>

Patch by Eric Carlson <eric.carlson@apple.com> on 2018-01-22
Reviewed by Jer Noble.

No new tests, these changes prevent existing tests from crashing.

  • html/HTMLMediaElement.h:
  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::playbackPermitted const): Return early when the media
element has been suspended.
(WebCore::MediaElementSession::canShowControlsManager const): Return false when the
media element has been suspended.
(WebCore::isMainContentForPurposesOfAutoplay): Return early if it isn't safe to update
style because HitTest can force a layout.
(WebCore::MediaElementSession::updateIsMainContent const): Ditto.

5:25 PM Changeset in webkit [227372] by achristensen@apple.com
  • 8 edits
    4 deletes in trunk/Source

Begin removing QTKit code
https://bugs.webkit.org/show_bug.cgi?id=181951

Reviewed by Jer Noble.

Source/WebCore:

QTKit was being used on El Capitan and before.

  • Configurations/WebCore.xcconfig:
  • SourcesMac.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::buildMediaEnginesVector):
(WebCore::MediaPlayer::supportsType):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h: Removed.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Removed.
  • platform/graphics/mac/MediaTimeQTKit.h: Removed.
  • platform/graphics/mac/MediaTimeQTKit.mm: Removed.
  • platform/mac/WebVideoFullscreenController.mm:

(-[WebVideoFullscreenController setVideoElement:]):
(-[WebVideoFullscreenController updatePowerAssertions]):

Source/WTF:

  • wtf/Platform.h:
5:09 PM Changeset in webkit [227371] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKitLegacy/mac

WebViews created via -initSimpleHTMLDocumentWithStyle: don't propagate attachmentElementEnabled state
https://bugs.webkit.org/show_bug.cgi?id=181960
<rdar://problem/36431678>

Reviewed by Tim Horton.

Mail's compose view is initialized via the -initSimpleHTMLDocumentWithStyle: codepath. This is intended to be
a fast path for initializing WebViews, which bypasses certain initialization steps present in the regular -init
path, such as calling -_preferencesChanged: to sync RuntimeEnabledFeatures with WebPreferences.

This means that even though we set -[WebPreferences attachmentElementEnabled] to YES for Mail, the value of the
RuntimeEnabledFeature isn't updated to match. To fix this, we explicitly invoke
RuntimeEnabledFeatures::setAttachmentElementEnabled here to make sure the value is in sync with WebPreferences.

  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

4:52 PM Changeset in webkit [227370] by Nikita Vasilyev
  • 7 edits
    2 adds in trunk

Web Inspector: Styles Redesign: data corruption when updating values quickly
https://bugs.webkit.org/show_bug.cgi?id=179461
<rdar://problem/35431882>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
update synchronously. Making two or more quick changes resulted in corrupted data.

Imagine we modify a CSS value 3 times:

Front-end: (1)-(2)---(3)
Back-end: (1)-----(2)-(3)

The first response from the backend could happen after the 2nd edit. In this patch,
CSSStyleDeclaration is locked when its view is being edited.

To correctly display invalid and overridden properties, the backend is allowed to update
CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
matches the model's text. This should happen when the backend is caught up with the
front-end changes.

  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype.update):

  • UserInterface/Models/CSSStyleDeclaration.js:

(WI.CSSStyleDeclaration):
(WI.CSSStyleDeclaration.prototype.get locked):
(WI.CSSStyleDeclaration.prototype.set locked):
(WI.CSSStyleDeclaration.prototype.set text):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
Lock CSSStyleDeclaration when a CSS property name or value is focused or
an inline widget is active.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
When selector is focused, clicking on the white-space should not add a new blank property.

LayoutTests:

  • inspector/css/modify-css-property-expected.txt: Added.
  • inspector/css/modify-css-property.html: Added.
4:45 PM Changeset in webkit [227369] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked fast/forms/searchfield-heights.html as flaky on High Sierra.
https://bugs.webkit.org/show_bug.cgi?id=181914

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:01 PM Changeset in webkit [227368] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Skipped http/tests/resourceLoadStatistics/grandfathering.html.
https://bugs.webkit.org/show_bug.cgi?id=181482

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:53 PM Changeset in webkit [227367] by jmarcell@apple.com
  • 7 edits in tags/Safari-606.1.2.2/Source

Versioning.

2:45 PM Changeset in webkit [227366] by jmarcell@apple.com
  • 1 copy in tags/Safari-606.1.2.2

New tag.

2:38 PM Changeset in webkit [227365] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Mark inspector/debugger/tail-deleted-frames-from-vm-entry.html as slow on macOS Debug.
https://bugs.webkit.org/show_bug.cgi?id=181952

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
2:28 PM Changeset in webkit [227364] by achristensen@apple.com
  • 52 edits
    8 deletes in trunk/Source/WebKit

Remove pre-NetworkSession loading code
https://bugs.webkit.org/show_bug.cgi?id=181944

Reviewed by Tim Horton.

We were keeping it around for El Capitan.

  • NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm:

(WebKit::LegacyCustomProtocolManager::registerProtocolClass):

  • NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp:

(WebKit::LegacyCustomProtocolManager::initialize):

  • NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
  • NetworkProcess/Downloads/BlobDownloadClient.cpp: Removed.
  • NetworkProcess/Downloads/BlobDownloadClient.h: Removed.
  • NetworkProcess/Downloads/Download.cpp:

(WebKit::Download::~Download):
(WebKit::Download::cancel):
(WebKit::Download::didReceiveChallenge):
(WebKit::Download::didFinish):
(WebKit::Download::isAlwaysOnLoggingAllowed const):
(WebKit::Download::start): Deleted.
(WebKit::Download::startWithHandle): Deleted.
(WebKit::Download::didStart): Deleted.
(WebKit::Download::willSendRedirectedRequest): Deleted.
(WebKit::Download::didReceiveAuthenticationChallenge): Deleted.
(WebKit::Download::didReceiveResponse): Deleted.
(WebKit::Download::shouldDecodeSourceDataOfMIMEType): Deleted.
(WebKit::Download::decideDestinationWithSuggestedFilename): Deleted.
(WebKit::Download::decideDestinationWithSuggestedFilenameAsync): Deleted.
(WebKit::Download::didDecideDownloadDestination): Deleted.
(WebKit::Download::continueDidReceiveResponse): Deleted.

  • NetworkProcess/Downloads/Download.h:

(WebKit::Download::setBlobFileReferences): Deleted.
(WebKit::Download::request const): Deleted.

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::willDecidePendingDownloadDestination):
(WebKit::DownloadManager::convertNetworkLoadToDownload):
(WebKit::DownloadManager::continueDecidePendingDownloadDestination):
(WebKit::DownloadManager::resumeDownload):
(WebKit::DownloadManager::cancelDownload):

  • NetworkProcess/Downloads/DownloadManager.h:

(WebKit::DownloadManager::startDownload):

  • NetworkProcess/Downloads/PendingDownload.cpp:
  • NetworkProcess/Downloads/PendingDownload.h:
  • NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
  • NetworkProcess/Downloads/ios/DownloadIOS.mm: Removed.
  • NetworkProcess/Downloads/mac/DownloadMac.mm: Removed.
  • NetworkProcess/NetworkCORSPreflightChecker.cpp:
  • NetworkProcess/NetworkCORSPreflightChecker.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::loadPing):

  • NetworkProcess/NetworkDataTask.cpp:
  • NetworkProcess/NetworkDataTask.h:
  • NetworkProcess/NetworkDataTaskBlob.cpp:
  • NetworkProcess/NetworkDataTaskBlob.h:
  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::setDefersLoading):
(WebKit::NetworkLoad::cancel):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::continueDidReceiveResponse):
(WebKit::NetworkLoad::shouldCaptureExtraNetworkLoadMetrics const):
(WebKit::NetworkLoad::didReceiveResponseAsync): Deleted.
(WebKit::NetworkLoad::didReceiveBuffer): Deleted.
(WebKit::NetworkLoad::didFinishLoading): Deleted.
(WebKit::NetworkLoad::didFail): Deleted.
(WebKit::NetworkLoad::willSendRequestAsync): Deleted.
(WebKit::NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
(WebKit::NetworkLoad::shouldUseCredentialStorage): Deleted.
(WebKit::NetworkLoad::didReceiveAuthenticationChallenge): Deleted.
(WebKit::NetworkLoad::receivedCancellation): Deleted.

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::clearCachedCredentials):
(WebKit::NetworkProcess::findPendingDownloadLocation):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):

  • NetworkProcess/NetworkSession.cpp:
  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/PingLoad.cpp:
  • NetworkProcess/PingLoad.h:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:
  • NetworkProcess/mac/NetworkLoadMac.mm: Removed.
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):

  • Shared/Authentication/AuthenticationManager.h:
  • Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: Removed.
  • Shared/SessionTracker.cpp:

(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):

  • Shared/SessionTracker.h:
  • Shared/mac/CookieStorageShim.h: Removed.
  • Shared/mac/CookieStorageShim.mm: Removed.
  • UIProcess/API/APIDownloadClient.h:

(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType): Deleted.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDownloadClient):

  • UIProcess/Cocoa/DownloadClient.h:
  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::shouldDecodeSourceDataOfMIMEType): Deleted.

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::didReceiveResponse):
(WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType): Deleted.
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): Deleted.

  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/Downloads/DownloadProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::clearCachedCredentials):

  • config.h:
2:21 PM Changeset in webkit [227363] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening.

2:17 PM Changeset in webkit [227362] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227213. rdar://problem/36722644

2:17 PM Changeset in webkit [227361] by jmarcell@apple.com
  • 24 edits
    11 adds
    4 deletes in branches/safari-605-branch/Source/WebCore

Cherry-pick r227190. rdar://problem/36722644

2:17 PM Changeset in webkit [227360] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227176. rdar://problem/36723030

2:17 PM Changeset in webkit [227359] by jmarcell@apple.com
  • 8 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227174. rdar://problem/36723030

2:15 PM Changeset in webkit [227358] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

SW: Make sure ServiceWorker loading and requests are correctly cleared by ITP
https://bugs.webkit.org/show_bug.cgi?id=181942
<rdar://problem/35132091>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-22
Reviewed by Chris Dumez.

Add ServiceWorkerRegistrations and DOMCache as persistent data to be cleared according ITP decisions.

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::monitoredDataTypes):

2:12 PM Changeset in webkit [227357] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Null pointer crash under WebCore::RenderStyle::colorIncludingFallback.
https://bugs.webkit.org/show_bug.cgi?id=181801
<rdar://problem/35614900>

Reviewed by Brent Fulgham.

Do not paint synchronously when popup items have been added or changed while the popup is visible.
If new popup items have been added after the popup was shown, a synchronous paint operation will
possibly access their style before it is ready, leading to a null pointer crash. The invalidated
area will be painted asynchronously.

No new tests. To reproduce this crash, it is necessary to open a popup with JavaScript, add new
popup items, and then end the test. Opening the popup can be done by sending a mousedown event
with the eventsender. However, on Windows the mousedown event is sent synchronously, and will
block as long as the popup is open and running the popup event loop. This means no JS can be
executed until the popup is closed, causing the test to always time out before new popup items
can be added. I have verified the fix with a manual test case.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::updateFromElement):

2:08 PM Changeset in webkit [227356] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

Extend 'ifBuilt' config key to set property based on whether certain repositories are built or not.
https://bugs.webkit.org/show_bug.cgi?id=181906

Reviewed by Ryosuke Niwa.

Before this change, 'ifBuilt' will always set specified property for test properties as long as there
is a build type build in the same build request group. However, this is no longer valid as we don't
want to set specified property for testing when only owned commit is built in previous build.
'ifBuilt' needs to conditionally set property based on whether certain required repositories are built.
Empty required repository list means no requirement on repository to set property.

  • tools/js/buildbot-syncer.js:

(BuildbotSyncer.prototype._propertiesForBuildRequest):In the case of 'built', only set property when
repository requirment is meet and there is a 'build' root request in the same build request group.
(BuildbotSyncer._parseRepositoryGroup): Extend 'ifBuild' to pass information based on contition.

  • unit-tests/buildbot-syncer-tests.js: Added unit tests.
1:49 PM Changeset in webkit [227355] by Megan Gardner
  • 13 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227274. rdar://problem/36722660

2018-01-20 Andy Estes <aestes@apple.com>

[Apple Pay] Stop eagerly loading PassKit.framework
https://bugs.webkit.org/show_bug.cgi?id=181911
<rdar://problem/36555369>

Reviewed by Tim Horton.

  • Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode):
  • Shared/WebPageCreationParameters.h:

Removed availablePaymentNetworks from WebPageCreationParameters.

  • UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetApplePayEnabled):
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]):

Stopped calling WebPaymentCoordinatorProxy::platformSupportsPayments().

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp: (WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks):
  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:

Added message AvailablePaymentNetworks, which synchronously returns a Vector of payment
networks.

  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: (WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):

Returned false if PassKitLibrary() fails.

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup):

Called completionHandler with false if PassKitLibrary() fails.

(WebKit::WebPaymentCoordinatorProxy::platformAvailablePaymentNetworks):
(WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks):

Renamed availablePaymentNetworks to platformAvailablePaymentNetworks

(WebKit::WebPaymentCoordinatorProxy::platformSupportsPayments): Deleted.

  • UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm: (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):

Called completionHandler with false if PassKitLibrary() fails.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters):

Stopped calling WebPaymentCoordinatorProxy::availablePaymentNetworks().

  • WebProcess/ApplePay/WebPaymentCoordinator.cpp: (WebKit::WebPaymentCoordinator::availablePaymentNetworks): (WebKit::WebPaymentCoordinator::validatedPaymentNetwork):
  • WebProcess/ApplePay/WebPaymentCoordinator.h:

Implemented PaymentCoordinatorClient::validatedPaymentNetwork(). m_availablePaymentNetworks
starts off as std::nullopt, but is initialized by sending the AvailablePaymentNetworks sync
message the first time it's accessed.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage):

Stopped setting PageConfiguration::availablePaymentNetworks.

Patch by Jason Marcell <jmarcell@apple.com> on 2018-01-22

1:32 PM Changeset in webkit [227354] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked http/wpt/service-workers/update-service-worker.https.html as flaky on High Sierra release.
https://bugs.webkit.org/show_bug.cgi?id=181753

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:27 PM Changeset in webkit [227353] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

RELEASE_ASSERT(registration) hit in SWServer::installContextData(const ServiceWorkerContextData&)
https://bugs.webkit.org/show_bug.cgi?id=181941
<rdar://problem/36744892>

Reviewed by Youenn Fablet.

Make sure we clear SWServer::m_pendingContextDatas & SWServer::m_pendingJobs as needed
when clearing Website data. Otherwise, we will hit assertion when those gets processed
after the connection to the SW process has been established (not to mentioned we failed
to clear some in-memory data even though the user asked us to).

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::clearAll):
(WebCore::SWServer::clear):

1:25 PM Changeset in webkit [227352] by jmarcell@apple.com
  • 1 copy in tags/Safari-606.1.1.2

New tag.

1:13 PM Changeset in webkit [227351] by rniwa@webkit.org
  • 6 edits
    1 add in trunk

Blob conversion and sanitization doesn't work with Microsoft Word for Mac 2011
https://bugs.webkit.org/show_bug.cgi?id=181616
<rdar://problem/36484908>

Reviewed by Wenson Hsieh.

Source/WebCore:

The bug was caused by WebContentReader::readHTML and WebContentMarkupReader::readHTML not sanitizing plain HTML string
as done for web archives even when custom pasteboard data is enabled. Fixed the bug by doing the sanitization.

Unfortunately, we can't make file URLs available in this case because WebContent process doesn't have sandbox extensions
to access local files referenced by the HTML source in the clipboard, and we can't make WebContent process request for
a sandbox extension¸on an arbitrary local file, as it would defeat the whole point of sandboxing.

Instead, we strip away all HTML attributes referencing a URL whose scheme is not HTTP, HTTPS, or data when sanitizing
text/html from the clipboard to avoid exposing local file paths, which can reveal privacy & security sensitive data
such as the user's full name, and the location of private containers of other applications in the system.

Tests: PasteHTML.DoesNotSanitizeHTMLWhenCustomPasteboardDataIsDisabled

PasteHTML.DoesNotStripFileURLsWhenCustomPasteboardDataIsDisabled
PasteHTML.ExposesHTMLTypeInDataTransfer
PasteHTML.KeepsHTTPURLs
PasteHTML.SanitizesHTML
PasteHTML.StripsFileURLs

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::WebContentReader::readHTML): Fixed the bug by sanitizing the markup, and stripping away file URLs.
(WebCore::WebContentMarkupReader::readHTML): Ditto.

  • editing/markup.cpp:

(WebCore::removeSubresourceURLAttributes): Added.
(WebCore::sanitizeMarkup): Added.

  • editing/markup.h:

Tools:

Added tests to make sure we sanitize plain HTML, not just web archives,
when and only when custom pasteboard data is enabled.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: Added.

(writeHTMLToPasteboard): Added.
(createWebViewWithCustomPasteboardDataSetting): Added.

1:08 PM Changeset in webkit [227350] by Chris Dumez
  • 11 edits in trunk/Source

Add release logging to help debug issues related to service workers
https://bugs.webkit.org/show_bug.cgi?id=181935
<rdar://problem/36735900>

Reviewed by Brady Eidson.

Source/WebCore:

  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::ServiceWorker):
(WebCore::ServiceWorker::scheduleTaskToUpdateState):
(WebCore::ServiceWorker::postMessage):
(WebCore::ServiceWorker::isAlwaysOnLoggingAllowed const):

  • workers/service/ServiceWorker.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::removeRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):
(WebCore::ServiceWorkerContainer::jobFailedWithException):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
(WebCore::ServiceWorkerContainer::startScriptFetchForJob):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::isAlwaysOnLoggingAllowed const):

  • workers/service/ServiceWorkerContainer.h:
  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::updateStateFromServer):
(WebCore::ServiceWorkerRegistration::scheduleTaskToFireUpdateFoundEvent):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::scriptContextFailedToStart):
(WebCore::SWServer::didFinishInstall):
(WebCore::SWServer::didFinishActivation):
(WebCore::SWServer::terminateWorkerInternal):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::didResolveRegistrationPromise):
(WebCore::SWServerJobQueue::runRegisterJob):

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::startFetch):
(WebKit::WebSWServerConnection::didFinishFetch):
(WebKit::WebSWServerConnection::didFailFetch):
(WebKit::WebSWServerConnection::didNotHandleFetch):

1:01 PM Changeset in webkit [227349] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[iOS] REGRESSION (r225763): Allow access to power logging features
https://bugs.webkit.org/show_bug.cgi?id=181938
<rdar://problem/36442803>

Reviewed by Eric Carlson.

I denied access to the powerlog facility in r225763, not realizing that it
gets activated in certain logging scenarios. This patch reverts this change.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
12:22 PM Changeset in webkit [227348] by Chris Dumez
  • 4 edits
    3 adds in trunk

Safari Tech Preview can't use GitHub login at forums.swift.org
https://bugs.webkit.org/show_bug.cgi?id=181908
<rdar://problem/36715111>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-22
Reviewed by Chris Dumez.

Source/WebCore:

Test: http/wpt/service-workers/navigation-redirect.https.html

For subresource loads, redirections will not change who is in charge of continuing the load (service worker or network process).
For navigation loads, we need to match the registration for every redirection since this is using the Manual redirect mode.
This allows starting the load with a service worker and finishing the load with another service worker, which will become the controller.

Implement this by wrapping the registration matching of an URL within DocumentLoader::matchRegistration.
Use that method in DocumentLoader::redirectReceived.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::matchRegistration):
(WebCore::doRegistrationsMatch):
(WebCore::DocumentLoader::redirectReceived):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/DocumentLoader.h:

LayoutTests:

  • http/wpt/service-workers/navigation-redirect-worker.js: Added.

(async):

  • http/wpt/service-workers/navigation-redirect.https-expected.txt: Added.
  • http/wpt/service-workers/navigation-redirect.https.html: Added.
12:18 PM Changeset in webkit [227347] by Antti Koivisto
  • 2 edits in trunk/PerformanceTests

StyleBench: Separate test for :nth pseudo classes
https://bugs.webkit.org/show_bug.cgi?id=181932

Reviewed by Sam Weinig.

Optimization strategies for nth are different from other structural pseudo classes (:first-child etc). Move them to a separate test.

  • StyleBench/resources/style-bench.js:

(structuralPseudoClassConfiguration):
(nthPseudoClassConfiguration):

Add a new configuration.

(predefinedConfigurations):
(pseudoClassConfiguration): Deleted.

12:07 PM Changeset in webkit [227346] by Antti Koivisto
  • 5 edits
    2 adds in trunk

REGRESSION (Safari 11): Buttons inside a fieldset legend cannot be clicked on in Safari 11
https://bugs.webkit.org/show_bug.cgi?id=179666
<rdar://problem/35534292>

Reviewed by Zalan Bujtas.

Source/WebCore:

The legend element of a fieldset is in the border area, outside the clip rect.
With overflow:hidden mouse events won't reach it.

Test case by Dhaya Benmessaoud.

Test: fast/forms/legend-overflow-hidden-hit-test.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestExcludedChildrenInBorder):

Add a special case to hit testing to handle legend, similarly to what is done for painting.

  • rendering/RenderBlock.h:

LayoutTests:

  • fast/forms/legend-overflow-hidden-hit-test-expected.txt: Added.
  • fast/forms/legend-overflow-hidden-hit-test.html: Added.
  • platform/ios/TestExpectations:
11:25 AM Changeset in webkit [227345] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[macOS, iOS] Allow accss to AVFoundation preference
https://bugs.webkit.org/show_bug.cgi?id=181937
<rdar://problem/33137029>

Reviewed by Eric Carlson.

Grant access to the 'com.apple.avfoundation.frecents' preference.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
11:16 AM Changeset in webkit [227344] by jdiggs@igalia.com
  • 15 edits in trunk

AX: Implement support for Graphics ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=181796

Reviewed by Chris Fleizach.

Source/WebCore:

Add mappings for the three new roles (graphics-document, graphics-object,
and graphics-symbol) as per the Graphics Accessibility API Mappings spec.

No new tests; instead, new test cases added to roles-computedRoleString.html
and roles-exposed.html.

  • accessibility/AccessibilityObject.cpp:

(WebCore::initializeRoleMap):
(WebCore::AccessibilityObject::computedRoleString const):

  • accessibility/AccessibilityObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):

LayoutTests:

Add new test cases and update expectations accordingly.

  • accessibility/gtk/xml-roles-exposed-expected.txt:
  • accessibility/gtk/xml-roles-exposed.html:
  • accessibility/roles-computedRoleString.html:
  • accessibility/roles-exposed.html:
  • platform/gtk/accessibility/roles-computedRoleString-expected.txt:
  • platform/gtk/accessibility/roles-exposed-expected.txt:
  • platform/mac/accessibility/roles-computedRoleString-expected.txt:
  • platform/mac/accessibility/roles-exposed-expected.txt:
10:48 AM Changeset in webkit [227343] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r224535): Can't write reviews in the App Store
https://bugs.webkit.org/show_bug.cgi?id=181936
<rdar://problem/36670246>

Reviewed by Zalan Bujtas.

  • page/LayoutContext.cpp:

(WebCore::LayoutContext::updateStyleForLayout):

r224535 was about media queries but it also removed a seemingly spurious call to SyleScope::didChangeStyleSheetEnvironment
from the path that does not involve media queries.
Turns out UITextContentView somehow depended on it, so revert this specific change.

10:42 AM Changeset in webkit [227342] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r226485): Many new wasm leaks detected by the leaks bot
https://bugs.webkit.org/show_bug.cgi?id=181400
rdar://problem/36358768

Reviewed by JF Bastien.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Disable poisoning on the leaks bot.
10:37 AM Changeset in webkit [227341] by msaboff@apple.com
  • 4 edits
    1 add in trunk

DFG abstract interpreter needs to properly model effects of some Math ops
https://bugs.webkit.org/show_bug.cgi?id=181886

Reviewed by Saam Barati.

JSTests:

New regression test.

  • stress/arith-nodes-abstract-interpreter-untypeduse.js: Added.

(test):

Source/JavaScriptCore:

Reviewed the processing of the various ArithXXX and CompareXXX and found that
several nodes don't handle UntypedUse. Added clobberWorld() for those cases.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeDoubleUnaryOpEffects):

10:35 AM Changeset in webkit [227340] by beidson@apple.com
  • 18 edits
    4 adds in trunk/Source

In WebKit2, make the MessagePortChannelRegistry live in the UI process.
https://bugs.webkit.org/show_bug.cgi?id=181922

Reviewed by Andy Estes.

Source/WebCore:

No new tests (Refactor, no behavior change)

Add encoder/decoders and EXPORT a whole bunch of stuff.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/MessagePort.h:
  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::processForPort):

  • dom/messageports/MessagePortChannel.h:
  • dom/messageports/MessagePortChannelProvider.h:
  • dom/messageports/MessagePortChannelRegistry.h:
  • dom/messageports/MessageWithMessagePorts.h:

(WebCore::MessageWithMessagePorts::encode const):
(WebCore::MessageWithMessagePorts::decode):

Source/WebKit:

With all of the work that went into making MessagePorts be fully asynchronous
and to be process-aware, formally moving them out-of-process is just a matter
of adding WebKit IPC layers.

The basic unit of asynchronicity is "MessagePortChannelProvider", and this patch
adds both a WebMessagePortChannelProvider and UIMessagePortChannelProvider for
each side of the process divide.

  • UIProcess/UIMessagePortChannelProvider.cpp: Added.

(WebKit::UIMessagePortChannelProvider::singleton):
(WebKit::UIMessagePortChannelProvider::UIMessagePortChannelProvider):
(WebKit::UIMessagePortChannelProvider::~UIMessagePortChannelProvider):
(WebKit::UIMessagePortChannelProvider::createNewMessagePortChannel):
(WebKit::UIMessagePortChannelProvider::entangleLocalPortInThisProcessToRemote):
(WebKit::UIMessagePortChannelProvider::messagePortDisentangled):
(WebKit::UIMessagePortChannelProvider::messagePortClosed):
(WebKit::UIMessagePortChannelProvider::takeAllMessagesForPort):
(WebKit::UIMessagePortChannelProvider::postMessageToRemote):
(WebKit::UIMessagePortChannelProvider::checkRemotePortForActivity):
(WebKit::UIMessagePortChannelProvider::checkProcessLocalPortForActivity):

  • UIProcess/UIMessagePortChannelProvider.h: Added.

(WebKit::UIMessagePortChannelProvider::registry):

  • UIProcess/WebPageProxy.cpp:

(WebKit::m_configurationPreferenceValues):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::processForIdentifier):
(WebKit::m_userMediaCaptureManagerProxy):
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::createNewMessagePortChannel):
(WebKit::WebProcessProxy::entangleLocalPortInThisProcessToRemote):
(WebKit::WebProcessProxy::messagePortDisentangled):
(WebKit::WebProcessProxy::messagePortClosed):
(WebKit::WebProcessProxy::takeAllMessagesForPort):
(WebKit::WebProcessProxy::didDeliverMessagePortMessages):
(WebKit::WebProcessProxy::postMessageToRemote):
(WebKit::WebProcessProxy::checkRemotePortForActivity):
(WebKit::WebProcessProxy::checkProcessLocalPortForActivity):
(WebKit::WebProcessProxy::didCheckProcessLocalPortForActivity):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp: Added.

(WebKit::WebMessagePortChannelProvider::singleton):
(WebKit::WebMessagePortChannelProvider::WebMessagePortChannelProvider):
(WebKit::WebMessagePortChannelProvider::~WebMessagePortChannelProvider):
(WebKit::WebMessagePortChannelProvider::createNewMessagePortChannel):
(WebKit::WebMessagePortChannelProvider::entangleLocalPortInThisProcessToRemote):
(WebKit::WebMessagePortChannelProvider::messagePortDisentangled):
(WebKit::WebMessagePortChannelProvider::messagePortClosed):
(WebKit::WebMessagePortChannelProvider::takeAllMessagesForPort):
(WebKit::WebMessagePortChannelProvider::didTakeAllMessagesForPort):
(WebKit::WebMessagePortChannelProvider::didCheckRemotePortForActivity):
(WebKit::WebMessagePortChannelProvider::postMessageToRemote):
(WebKit::WebMessagePortChannelProvider::checkProcessLocalPortForActivity):
(WebKit::WebMessagePortChannelProvider::checkRemotePortForActivity):

  • WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h: Added.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeProcess):
(WebKit::WebProcess::didTakeAllMessagesForPort):
(WebKit::WebProcess::checkProcessLocalPortForActivity):
(WebKit::WebProcess::didCheckRemotePortForActivity):
(WebKit::WebProcess::messagesAvailableForPort):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
10:33 AM Changeset in webkit [227339] by commit-queue@webkit.org
  • 10 edits in trunk

Fetch Headers from an Opaque response should be filtered out
https://bugs.webkit.org/show_bug.cgi?id=181926

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-22
Reviewed by Chris Dumez.

Source/WebCore:

Covered by updated test.

Refactor to use the same FetchResponse::create for Cache API and cloning.
In this method, ensure that response and headers are filtered correctly according response tainting.
Make also sure that synthetic responses do not get filtered (not needed since created by JavaScript).

Introduce helper routine to set the header map of a resource response.
Use this routine when cloning a synthetic response as in that case, m_internalResponse has no header at all.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::updateRecords):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::create):
(WebCore::FetchResponse::clone):

  • Modules/fetch/FetchResponse.h:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::setHTTPHeaderFields):

  • platform/network/ResourceResponseBase.h:
  • testing/ServiceWorkerInternals.cpp:

(WebCore::ServiceWorkerInternals::createOpaqueWithBlobBodyResponse):

LayoutTests:

  • http/wpt/fetch/response-opaque-clone-expected.txt:
  • http/wpt/fetch/response-opaque-clone.html:
10:24 AM Changeset in webkit [227338] by aestes@apple.com
  • 4 edits in trunk/LayoutTests

LayoutTest http/tests/paymentrequest/payment-request-abort-method.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=178107
<rdar://problem/34901064>

Reviewed by Brady Eidson.

Modified the test to call show() with user activation.

  • http/tests/paymentrequest/payment-request-abort-method.https.html:
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
9:59 AM Changeset in webkit [227337] by jmarcell@apple.com
  • 5 edits
    5 adds in branches/safari-605-branch

Cherry-pick r227280. rdar://problem/36722450

9:59 AM Changeset in webkit [227336] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch

Cherry-pick r227278. rdar://problem/36722580

9:58 AM Changeset in webkit [227335] by jmarcell@apple.com
  • 27 edits in branches/safari-605-branch/Source

Cherry-pick r227274. rdar://problem/36722660

9:58 AM Changeset in webkit [227334] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Tools

Cherry-pick r227273. rdar://problem/36722654

9:58 AM Changeset in webkit [227333] by jmarcell@apple.com
  • 7 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227272. rdar://problem/36722635

9:58 AM Changeset in webkit [227332] by jmarcell@apple.com
  • 14 edits in branches/safari-605-branch

Cherry-pick r227270. rdar://problem/36722650

9:58 AM Changeset in webkit [227331] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227269. rdar://problem/36722433

9:58 AM Changeset in webkit [227330] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227266. rdar://problem/36723017

9:58 AM Changeset in webkit [227329] by jmarcell@apple.com
  • 7 edits in branches/safari-605-branch

Cherry-pick r227245. rdar://problem/36722470

9:58 AM Changeset in webkit [227328] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227243. rdar://problem/36722430

9:58 AM Changeset in webkit [227327] by jmarcell@apple.com
  • 18 edits
    1 add in branches/safari-605-branch

Cherry-pick r227242. rdar://problem/36722539

9:58 AM Changeset in webkit [227326] by jmarcell@apple.com
  • 14 edits
    1 copy in branches/safari-605-branch

Cherry-pick r227240. rdar://problem/36722464

9:58 AM Changeset in webkit [227325] by jmarcell@apple.com
  • 4 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227238. rdar://problem/36722424

9:58 AM Changeset in webkit [227324] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-605-branch

Cherry-pick r227236. rdar://problem/36722544

9:58 AM Changeset in webkit [227323] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227232. rdar://problem/36722564

9:58 AM Changeset in webkit [227322] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227229. rdar://problem/36722641

9:58 AM Changeset in webkit [227321] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227228. rdar://problem/36722601

9:58 AM Changeset in webkit [227320] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/ThirdParty/libwebrtc

Cherry-pick r227226. rdar://problem/36722612

9:58 AM Changeset in webkit [227319] by jmarcell@apple.com
  • 94 edits in branches/safari-605-branch

Cherry-pick r227225. rdar://problem/36722527

9:57 AM Changeset in webkit [227318] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227221. rdar://problem/36722533

9:57 AM Changeset in webkit [227317] by jmarcell@apple.com
  • 5 edits in branches/safari-605-branch

Cherry-pick r227220. rdar://problem/36722596

9:57 AM Changeset in webkit [227316] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch

Cherry-pick r227219. rdar://problem/36722501

9:57 AM Changeset in webkit [227315] by jmarcell@apple.com
  • 21 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227216. rdar://problem/36722508

9:57 AM Changeset in webkit [227314] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch/Source/WebKitLegacy/win

Cherry-pick r227209. rdar://problem/36722622

9:57 AM Changeset in webkit [227313] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-605-branch/Source/ThirdParty/libwebrtc

Cherry-pick r227206. rdar://problem/36722612

9:57 AM Changeset in webkit [227312] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r227199. rdar://problem/36722438

9:57 AM Changeset in webkit [227311] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227168. rdar://problem/36722591

9:57 AM Changeset in webkit [227310] by jmarcell@apple.com
  • 16 edits in branches/safari-605-branch/Source

Cherry-pick r227161. rdar://problem/36722461

9:57 AM Changeset in webkit [227309] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227159. rdar://problem/36722618

9:57 AM Changeset in webkit [227308] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227157. rdar://problem/36723021

9:57 AM Changeset in webkit [227307] by jmarcell@apple.com
  • 7 edits in branches/safari-605-branch

Cherry-pick r227153. rdar://problem/36722558

9:57 AM Changeset in webkit [227306] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227145. rdar://problem/36722475

9:57 AM Changeset in webkit [227305] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227141. rdar://problem/36722585

9:57 AM Changeset in webkit [227304] by jmarcell@apple.com
  • 13 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227140. rdar://problem/36722478

9:57 AM Changeset in webkit [227303] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227136. rdar://problem/36722486

9:57 AM Changeset in webkit [227302] by jmarcell@apple.com
  • 5 edits in branches/safari-605-branch

Cherry-pick r227135. rdar://problem/36722512

9:57 AM Changeset in webkit [227301] by jmarcell@apple.com
  • 5 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227082. rdar://problem/36722629

9:56 AM Changeset in webkit [227300] by jmarcell@apple.com
  • 23 edits in branches/safari-605-branch

Cherry-pick r227079. rdar://problem/36722442

9:56 AM Changeset in webkit [227299] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227008. rdar://problem/36722458

9:51 AM Changeset in webkit [227298] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Bump default cache storage quota to 50MB
https://bugs.webkit.org/show_bug.cgi?id=181924

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-22
Reviewed by Chris Dumez.

Existing web sites use more than 20 MB.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
9:01 AM Changeset in webkit [227297] by jfernandez@igalia.com
  • 22 edits in trunk

[css-align] 'overflow' keyword must precede the self-position and content-position value
https://bugs.webkit.org/show_bug.cgi?id=181793

Reviewed by Antti Koivisto.

Source/WebCore:

There were several discussions to avoid ambiguities with the complex
values, specially when it comes to define the place-xxx shorthands.

One of the sources of problems is the 'overflow-position' keyword. The
CSS WG has decided to change the syntax of all the CSS Box Alignment
properties so that the 'overflow-position' keyword always precede the
'self-position' or the 'content-position' keywords.

https://github.com/w3c/csswg-drafts/issues/1446#event-1125715434

In order to apply this change to the Content Distribution properties'
(align-content and justify-content) syntax I had to completely
re-implement their parsing function. Thanks to this I addressed also
the issue with the content-distribution fallback, which cannot be
specified explicitly now.

https://github.com/w3c/csswg-drafts/issues/1002#ref-commit-c38cac4

No new tests, just rebaselined the expected results of the test cases affected.

Despite the so many layout tests affected by this change, it's
unlikely that it might break any content in current web
sites. This patch changes the new CSS syntax, obviously backward
compatible, defined by the new CSS Box Alignment. The
'overflow-position' keyword is only used by the layout models
implementing the new spec, so far only CSS Grid Layout.
Considering that CSS Grid has been shipped last year, it's unlikely
that many sites are using the new CSS values.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForItemPositionWithOverflowAlignment):
(WebCore::valueForContentPositionAndDistributionWithOverflowAlignment):

  • css/CSSContentDistributionValue.cpp:

(WebCore::CSSContentDistributionValue::customCSSText const):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeOverflowPositionKeyword):
(WebCore::consumeContentPositionKeyword):
(WebCore::consumeContentDistributionOverflowPosition):
(WebCore::consumeSelfPositionOverflowPosition):

LayoutTests:

Rebaseline expected results of the test cases affected by this change.

  • css3/parse-align-content.html:
  • css3/parse-align-items.html:
  • css3/parse-align-self.html:
  • css3/parse-justify-content.html:
  • css3/overwrite-self-alignment.html:
  • css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html:
  • css3/overwrite-content-alignment.html:
  • fast/css-grid-layout/grid-content-alignment-overflow.html:
  • fast/css-grid-layout/grid-align-justify-overflow.html:
  • fast/css/parse-justify-items.html:
  • fast/css/parse-justify-self.html:
  • fast/repaint/align-items-overflow-change.html:
  • fast/repaint/align-self-overflow-change.html:
  • fast/repaint/justify-items-overflow-change.html:
  • fast/repaint/justify-self-overflow-change.html:
9:01 AM Changeset in webkit [227296] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark svg/filters/fePointLight-color.svg as failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=181869

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:07 AM Changeset in webkit [227295] by commit-queue@webkit.org
  • 21 edits
    2 copies
    57 adds
    1 delete in trunk

Parse calc() in CSS media queries
https://bugs.webkit.org/show_bug.cgi?id=181716

LayoutTests/imported/w3c:

Patch by Chris Nardi <csnardi1@gmail.com> on 2018-01-22
Reviewed by Antti Koivisto.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/mediaqueries/OWNERS: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-001.html: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-002.html: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-003.html: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-004.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-001.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-002.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-003.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-004.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-005-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-005.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-006-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-006.html: Added.
  • web-platform-tests/css/mediaqueries/min-width-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/min-width-001.xht: Added.
  • web-platform-tests/css/mediaqueries/min-width-tables-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/min-width-tables-001.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-001.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-002.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-003.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-004.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-005-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-005.html: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-001.html: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-002.html: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-003.html: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-004.html: Added.
  • web-platform-tests/css/mediaqueries/relative-units-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/relative-units-001.html: Added.
  • web-platform-tests/css/mediaqueries/relative-units-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/relative-units-002.html: Added.
  • web-platform-tests/css/mediaqueries/relative-units-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/relative-units-003.html: Added.
  • web-platform-tests/css/mediaqueries/relative-units-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/relative-units-004.html: Added.
  • web-platform-tests/css/mediaqueries/support/media_queries_iframe.html: Renamed from LayoutTests/fast/media/w3c/resources/media_queries_iframe.html.
  • web-platform-tests/css/mediaqueries/support/min-width-tables-001-iframe.html: Added.
  • web-platform-tests/css/mediaqueries/support/w3c-import.log: Added.
  • web-platform-tests/css/mediaqueries/test_media_queries-expected.txt: Renamed from LayoutTests/fast/media/w3c/test_media_queries-expected.txt.
  • web-platform-tests/css/mediaqueries/test_media_queries.html: Renamed from LayoutTests/fast/media/w3c/test_media_queries.html.
  • web-platform-tests/css/mediaqueries/w3c-import.log: Added.

Source/WebCore:

calc() was previously unsupported inside of media queries. This change
adds in support for parsing calc inside of media queries.

Patch by Chris Nardi <csnardi1@gmail.com> on 2018-01-22
Reviewed by Antti Koivisto.

Tests: Imported web-platform-tests/css/mediaqueries

  • css/MediaQueryExpression.cpp:

(WebCore::featureWithValidIdent): Updated function to take a CSSPrimitiveValue.
(WebCore::featureWithValidDensity): Updated function to take a CSSPrimitiveValue instead of a CSSParserToken.
(WebCore::featureWithValidPositiveLength): Ditto.
(WebCore::featureExpectingPositiveInteger): Ditto.
(WebCore::featureWithPositiveInteger): Ditto.
(WebCore::featureWithPositiveNumber): Ditto.
(WebCore::featureWithZeroOrOne): Ditto.
(WebCore::MediaQueryExpression::MediaQueryExpression): Use CSSPropertyParserHelpers for consuming.

  • css/MediaQueryExpression.h:
  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeResolution): Added function for use in media query expression parsing.

  • css/parser/CSSPropertyParserHelpers.h:
  • css/parser/MediaQueryParser.cpp:

(WebCore::MediaQueryParser::readRestrictor): Updated functions to take a CSSParserTokenRange in order to use CSSPropertyParserHelpers.
(WebCore::MediaQueryParser::readMediaNot): Ditto.
(WebCore::MediaQueryParser::readMediaType): Ditto.
(WebCore::MediaQueryParser::readAnd): Ditto.
(WebCore::MediaQueryParser::readFeatureStart): Ditto.
(WebCore::MediaQueryParser::readFeature): Ditto.
(WebCore::MediaQueryParser::readFeatureColon): Ditto.
(WebCore::MediaQueryParser::readFeatureValue): Ditto.
(WebCore::MediaQueryParser::readFeatureEnd): Ditto.
(WebCore::MediaQueryParser::skipUntilComma): Ditto.
(WebCore::MediaQueryParser::skipUntilBlockEnd): Ditto.
(WebCore::MediaQueryParser::processToken): Ditto.
(WebCore::MediaQueryParser::parseInternal): Ditto.
(WebCore::MediaQueryData::clear): Removed reference to m_valueList
(WebCore::MediaQueryData::addExpression): Use CSSParserTokenRange.
(WebCore::MediaQueryData::lastExpressionValid): New helper function.
(WebCore::MediaQueryData::removeLastExpression): New helper function.

  • css/parser/MediaQueryParser.h:

LayoutTests:

Imported CSS mediaqueries tests from WPT, deleting our (old) copy of one test. Updated
expectations.

Patch by Chris Nardi <csnardi1@gmail.com> on 2018-01-22
Reviewed by Antti Koivisto.

  • TestExpectations:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
  • fast/media/w3c/README: Removed.
  • fast/media/w3c/test_media_queries-expected.txt: Removed.
  • platform/ios/TestExpectations:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
7:03 AM Changeset in webkit [227294] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r227292. Fixing a bad copy-paste that broke
the GTK+ debug builds.

  • WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

(WebKit::convertCairoSurfaceToShareableBitmap):

6:33 AM Changeset in webkit [227293] by Carlos Garcia Campos
  • 7 edits in trunk

WebDriver: implement get element CSS value command
https://bugs.webkit.org/show_bug.cgi?id=181736

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

13.4 Get Element CSS Value
https://w3c.github.io/webdriver/webdriver-spec.html#get-element-css-value

Fixes: imported/selenium/py/test/selenium/webdriver/common/rendered_webelement_tests.py::testShouldPickUpStyleOfAnElement

imported/selenium/py/test/selenium/webdriver/common/rendered_webelement_tests.py::testShouldAllowInheritedStylesToBeUsed

  • Session.cpp:

(WebDriver::Session::getElementProperty):
(WebDriver::Session::getElementCSSValue):

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::getElementCSSValue):

  • WebDriverService.h:

WebDriverTests:

6:23 AM Changeset in webkit [227292] by zandobersek@gmail.com
  • 9 edits in trunk/Source

[Cairo] Refactor PlatformContextCairo::drawSurfaceToContext() into a Cairo operation
https://bugs.webkit.org/show_bug.cgi?id=181930

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Move the PlatformContextCairo::drawSurfaceToContext() code into the
Cairo namespace as an operation, renaming it to drawSurface(). Mirroring
other operations, the PlatformContextCairo object is now passed through
a reference as the first argument to the function, and cairo_t context
object is retrieved from that.

Call sites of the PlatformContextCairo::drawSurfaceToContext() method
are adjusted to now call Cairo::drawSurface() and properly pass the
PlatformContextCairo object to the function.

No new tests -- no change in functionality.

  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::prepareForStroking): Make this static.
(WebCore::Cairo::drawPatternToCairoContext):
(WebCore::Cairo::drawNativeImage):
(WebCore::Cairo::drawSurface):

  • platform/graphics/cairo/CairoOperations.h:
  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::drawPatternToCairoContext): Deleted.
(WebCore::PlatformContextCairo::drawSurfaceToContext): Deleted.

  • platform/graphics/cairo/PlatformContextCairo.h:
  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):

Source/WebKit:

Call sites of the PlatformContextCairo::drawSurfaceToContext() method
are adjusted to now call Cairo::drawSurface() and properly pass the
PlatformContextCairo object to the function.

  • Shared/cairo/ShareableBitmapCairo.cpp:

(WebKit::ShareableBitmap::paint):

  • WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

(WebKit::convertCairoSurfaceToShareableBitmap):

6:22 AM Changeset in webkit [227291] by Carlos Garcia Campos
  • 38 edits
    1 copy
    2 adds
    2 deletes in trunk/WebDriverTests

Unreviewed. Update W3C WebDriver imported tests.

  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/webdriver/client.py:
  • imported/w3c/tools/webdriver/webdriver/protocol.py:
  • imported/w3c/tools/webdriver/webdriver/servo.py: Removed.
  • imported/w3c/tools/webdriver/webdriver/transport.py:
  • imported/w3c/tools/wptrunner/MANIFEST.in:
  • imported/w3c/tools/wptrunner/README.rst:
  • imported/w3c/tools/wptrunner/docs/conf.py:
  • imported/w3c/tools/wptrunner/docs/usage.rst:
  • imported/w3c/tools/wptrunner/setup.py:
  • imported/w3c/tools/wptrunner/tox.ini:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/init.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/b2g_setup/certtest_app.zip: Removed.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome_android.py: Copied from WebDriverTests/imported/w3c/tools/wptrunner/wptrunner/browsers/ie.py.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/ie.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/servo.py:
  • imported/w3c/tools/wptrunner/wptrunner/environment.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservo.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservodriver.py:
  • imported/w3c/tools/wptrunner/wptrunner/manifestupdate.py:
  • imported/w3c/tools/wptrunner/wptrunner/metadata.py:
  • imported/w3c/tools/wptrunner/wptrunner/stability.py:
  • imported/w3c/tools/wptrunner/wptrunner/testloader.py:
  • imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_hosts.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/init.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/sync.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/tree.py:
  • imported/w3c/tools/wptrunner/wptrunner/vcs.py:
  • imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_serializer.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
  • imported/w3c/webdriver/tests/execute_async_script/init.py: Added.
  • imported/w3c/webdriver/tests/execute_script/init.py: Added.
  • imported/w3c/webdriver/tests/sessions/new_session/response.py:
6:04 AM Changeset in webkit [227290] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/response.py is crashing in the bots
https://bugs.webkit.org/show_bug.cgi?id=181904

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Handle the case of failing to launch the browser. The test is actually failing because it's sending wrong
capabilities, the driver tries to fall back to the default driver, but since WebKit is not installed in the
bots, it fails to find the MiniBrowser. The test needs to be fixed, but we shouldn't crash when the browser
can't be spawned for whatever reason in any case. This patch handles that case and changes the boolean result of
connectToBrowser to be an optional error string instead. This way we can provide more detailed error message
when we reject the session creation because the browser failed to start.

  • SessionHost.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::connectToBrowser):
(WebDriver::ConnectToBrowserAsyncData::ConnectToBrowserAsyncData):
(WebDriver::SessionHost::launchBrowser):
(WebDriver::SessionHost::setupConnection):

WebDriverTests:

Unskip imported/w3c/webdriver/tests/sessions/new_session/response.py.

6:03 AM Changeset in webkit [227289] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Test /webkit/WebKitWebsiteData/resource-load-statistics is failing since r227223
https://bugs.webkit.org/show_bug.cgi?id=181929

Reviewed by Michael Catanzaro.

The test is checking that the resource load stats file is deleted after clearing website data. Since r227223,
the website data completion callback is not called immediately, and a new file is created when the operation
finishes. We need to check that the file was removing after calling clear.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:

(fileChangedCallback):
(testWebsiteDataResourceLoadStatistics):

4:33 AM Changeset in webkit [227288] by Manuel Rego Casasnovas
  • 4 edits
    4 adds in trunk

[css-grid] Spanning Grid item has too much space at the bottom / is too high
https://bugs.webkit.org/show_bug.cgi?id=181677

LayoutTests/imported/w3c:

Imported WPT tests to check this change.

Reviewed by Javier Fernandez.

  • web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-001-expected.txt: Added.
  • web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-001.html: Added.
  • web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-002-expected.txt: Added.
  • web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-002.html: Added.
  • web-platform-tests/css/css-grid/layout-algorithm/w3c-import.log:

Source/WebCore:

Reviewed by Javier Fernandez.

In IndefiniteSizeStrategy::findUsedFlexFraction() we were not
subtracting the size of the gutters when we call findFrUnitSize().
If an item spans several tracks, we cannot pass the maxContentForChild()
directly, we need to subtract the gutters as they are treated
as fixed size tracks in the algorithm.

The spec text is pretty clear regarding this
(https://drafts.csswg.org/css-grid/#algo-find-fr-size):
"Let leftover space be the space to fill minus the base sizes

of the non-flexible grid tracks."

Gutters are treated as fixed-size tracks for the purpose
of the track sizing algorithm, so we need to subtract them from the
leftover space while finding the size of an "fr".

Tests: imported/w3c/web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-001.html

imported/w3c/web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-002.html

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::findFrUnitSize const):
(WebCore::IndefiniteSizeStrategy::findUsedFlexFraction const):

1:02 AM Changeset in webkit [227287] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Reviewed GTK gardening. Mark /webkit/WebKitWebView/mouse-target as fail too.

  • TestWebKitAPI/glib/TestExpectations.json:
12:12 AM Changeset in webkit [227286] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK+ gardening. Fix /webkit/WebKitConsoleMessage/network-error.

Partially revert r226782, the fix was wrong for the GLib version we currently use.

  • TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:

(testWebKitConsoleMessageNetworkError):

12:00 AM Changeset in webkit [227285] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Remove unused verbose mode from GLib API tests runner.

  • glib/api_test_runner.py:

(add_options):

Jan 21, 2018:

11:57 PM Changeset in webkit [227284] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

Unreviewed. Fix compile warning.

Use #include instead of #import in cross-platform code.

  • Shared/WebPreferencesDefaultValues.cpp:
11:38 PM Changeset in webkit [227283] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

Should reject updating a build request which has an associated build.
https://bugs.webkit.org/show_bug.cgi?id=181893

Reviewed by Ryosuke Niwa.

Current code does not prevent submitting to same build request multiple times.
This could lead to a build losing its associated build request.
As a result, this build will be visible in charts which is not right.
Added a check when a build request is reported.
Addressed a 'FIXME' for the race condition inside ReportProcessor->resolve_build_id by surrounding
it with a database transaction.

  • public/include/report-processor.php:

Wrap adding platform and resolve_build_id with a database transaction.
Add a check to make sure only a build request has no associated build can be updated.

  • server-tests/api-report-tests.js: Added unit tests accordingly.
10:41 PM Changeset in webkit [227282] by rniwa@webkit.org
  • 16 edits in trunk/Source

Turning off custom pasteboard data doesn't actually turn it off in WK2
https://bugs.webkit.org/show_bug.cgi?id=181920
<rdar://problem/36686429>

Reviewed by Wenson Hsieh.

Source/WebCore:

Replaced the global settings for custom pasteboard data by regular runtime enabled flags.

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::getDataForItem const):
(WebCore::DataTransfer::shouldSuppressGetAndSetDataToAvoidExposingFilePaths const):
(WebCore::DataTransfer::setDataFromItemList):
(WebCore::DataTransfer::types const):
(WebCore::DataTransfer::commitToPasteboard):

  • dom/DataTransferItemList.cpp:

(WebCore::shouldExposeTypeInItemList):

  • editing/Editor.cpp:

(WebCore::createDataTransferForClipboardEvent):

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::createFragmentAndAddResources):
(WebCore::WebContentReader::readWebArchive):

  • page/DeprecatedGlobalSettings.cpp:

(WebCore::DeprecatedGlobalSettings::defaultCustomPasteboardDataEnabled): Deleted.

  • page/DeprecatedGlobalSettings.h:

(WebCore::DeprecatedGlobalSettings::setCustomPasteboardDataEnabled): Deleted.
(WebCore::DeprecatedGlobalSettings::customPasteboardDataEnabled): Deleted.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setCustomPasteboardDataEnabled):
(WebCore::RuntimeEnabledFeatures::customPasteboardDataEnabled const):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setCustomPasteboardDataEnabled):

Source/WebKit:

Moved the code to decide when to enable custom pasteboard data from WebCore
since we never enable this feature in WebKit1.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.cpp:

(defaultCustomPasteboardDataEnabled): Added.

  • Shared/WebPreferencesDefaultValues.h:

Source/WebKitLegacy/mac:

Always disable custom pasteboard data in WebKit1. See r226156 for details.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

7:58 PM Changeset in webkit [227281] by Wenson Hsieh
  • 14 edits in trunk

Add a new feature flag for EXTRA_ZOOM_MODE and reintroduce AdditionalFeatureDefines.h
https://bugs.webkit.org/show_bug.cgi?id=181918

Reviewed by Tim Horton.

Source/JavaScriptCore:

Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default).

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default). No change in behavior.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default).

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default).

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default).

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Include AdditionalFeatureDefines.h, if possible. This allows WebKitAdditions to override
the value of certain feature flags in the OpenSource WebKit repository.

  • wtf/Platform.h:

Tools:

Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default).

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
7:39 PM Changeset in webkit [227280] by rniwa@webkit.org
  • 5 edits
    5 adds in trunk

Release assertion in canExecuteScript when executing scripts during page cache restore
https://bugs.webkit.org/show_bug.cgi?id=181902

Reviewed by Antti Koivisto.

Source/WebCore:

The crash was caused by an erroneous instantiation of ScriptDisallowedScope::InMainThread in CachedPage::restore.
It can execute arbitrary scripts since CachedFrame::open can update style, layout, and evaluate media queries.

This is fine because there is no way to put this page back into a page cache until the load is commited via
FrameLoader::commitProvisionalLoad is invoked later which only happens after CachedPage::restore had exited.

Also added a release assert to make sure this condition holds.

Tests: fast/history/page-cache-execute-script-during-restore.html

fast/history/page-cache-navigate-during-restore.html

  • history/CachedPage.cpp:

(WebCore::CachedPageRestorationScope::CachedPageRestorationScope): Added.
(WebCore::CachedPageRestorationScope::~CachedPageRestorationScope): Added.
(WebCore::CachedPage::restore): Don't instantiate ScriptDisallowedScope::InMainThread. Set isRestoringCachedPage
on the cached pate to release-assert that there won't be any attempt to put this very page back into the cache.

  • history/PageCache.cpp:

(WebCore::canCachePage): Added a release assert to make sure the page which is in the process of being restored
from the page cache is not put into the page cache.

  • page/Page.h:

(WebCore::Page::setIsRestoringCachedPage): Added.
(WebCore::Page::isRestoringCachedPage const): Added.

LayoutTests:

Added regression tests for the release assertion and navigating while a document is being restored from the page cache.
WebKit should not hit any assertions in either situations.

  • fast/history/page-cache-execute-script-during-restore-expected.txt: Added.
  • fast/history/page-cache-execute-script-during-restore.html: Added.
  • fast/history/page-cache-navigate-during-restore-expected.txt: Added.
  • fast/history/page-cache-navigate-during-restore.html: Added.
  • fast/history/resources/navigate-back-with-finish-test-stage.html: Added.
7:30 PM Changeset in webkit [227279] by eric.carlson@apple.com
  • 18 edits in trunk

Resign NowPlaying status when no media element is eligible
https://bugs.webkit.org/show_bug.cgi?id=181914
<rdar://problem/35294116>

Reviewed by Jer Noble.

Source/WebCore:

Updated API test.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::removedFromAncestor): Call mediaSession->clientCharacteristicsChanged
so NowPlaying status will be updated.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::canShowControlsManager const): Return false when being queried
for NowPlaying status in an inactive document.

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary): Implement in for all
ports.

  • platform/audio/PlatformMediaSessionManager.h:

(WebCore::PlatformMediaSessionManager::registeredAsNowPlayingApplication const):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/mac/MediaSessionManagerMac.h:
  • platform/audio/mac/MediaSessionManagerMac.mm:

(WebCore::MediaSessionManagerMac::updateNowPlayingInfo): Call MRMediaRemoteSetCanBeNowPlayingApplication
whenever status changes.
(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary): Deleted, implemented
in the base class.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _requestActiveNowPlayingSessionInfo:]): Return registeredAsNowPlayingApplication
status.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::nowPlayingInfoCallback): Ditto.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::requestActiveNowPlayingSessionInfo): Ditto.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:

(-[NowPlayingTestWebView hasActiveNowPlayingSession]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/large-video-test-now-playing.html:
6:38 PM Changeset in webkit [227278] by jer.noble@apple.com
  • 4 edits in trunk

REGRESSION (macOS 10.13.2): imported/w3c/web-platform-tests/media-source/mediasource-* LayoutTests failing
https://bugs.webkit.org/show_bug.cgi?id=181891

Reviewed by Eric Carlson.

Source/WebCore:

In macOS 10.13.2, CoreMedia changed the definition of CMSampleBufferGetDuration() to return
the presentation duration rather than the decode duration. For media streams where those two
durations are identical (or at least, closely similar), this isn't a problem. But the media
file used in the WPT tests have an unusual frame cadence: decode durations go {3000, 1, 5999,
1, 5999,...} and presentation durations go {3000, 2999, 3000, 2999}. This caused one check in
the "Coded Frame Processing" algorithm to begin failing, where it checks that the delta
between the last sample's decode time and the new decode time is no more than 2x as far as
the last sample's duration. That's not a problem as long as the "duration" is the "decode
duration" and the samples are all adjacent. Once the "duration" is "presentation duration",
all the assumptions in the algorithm are invalidated. In the WPT test case, the delta between
decode times is 5999, and 2 * the presentation duration is 5998, causing all samples up to
the next sync sample to be dropped.

To work around this change in behavior, we'll adopt the same technique used by Mozilla's MSE
implementation, which was done for similar reasons. Rather than track the "last frame duration",
we'll record the "greatest frame duration", and use actual decode timestamps to derive this
duration. The "greatest frame duration" field will be reset at the same times as "last frame
duration", and will be used only in the part of the algorithm that checks for large decode
timestamp gaps.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer):
(WebCore::SourceBuffer::resetParserState):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

LayoutTests:

  • platform/mac/TestExpectations:
1:41 PM Changeset in webkit [227277] by aestes@apple.com
  • 5 edits
    4 adds in trunk

[ios] LayoutTest imported/w3c/web-platform-tests/payment-request/rejects_if_not_active.https.html is crashing in JSC::JSONParse
https://bugs.webkit.org/show_bug.cgi?id=177832
<rdar://problem/34805315>

Reviewed by Tim Horton.

Source/WebCore:

Test: http/tests/paymentrequest/rejects_if_not_active.https.html

  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::show): Rejected promise if the document is not active.

LayoutTests:

Made a copy of imported/w3c/web-platform-tests/payment-request/rejects_if_not_active.https.html
and modified it to handle Apple Pay and user gesture requirements.

  • http/tests/paymentrequest/rejects_if_not_active.https-expected.txt: Added.
  • http/tests/paymentrequest/rejects_if_not_active.https.html: Added.
  • http/tests/paymentrequest/resources/page1.html: Added.
  • http/tests/paymentrequest/resources/page2.html: Added.
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
12:57 AM Changeset in webkit [227276] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Fix broken unit-tests after r227192
https://bugs.webkit.org/show_bug.cgi?id=181909

Reviewed by Carlos Garcia Campos.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:

Jan 20, 2018:

11:07 PM Changeset in webkit [227275] by beidson@apple.com
  • 10 edits in trunk/Source/WebCore

Make garbage collection of MessagePort objects be asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=181910

Reviewed by Andy Estes.

No new tests (Covered by existing tests, including GC-specific ones).

The basic premise here is as follows:

  • You can *always* GC a MessagePort that is closed
  • You can *always* GC a MessagePort that has no onmessage handler, as incoming messages cannot possibly revive it.
  • You can GC a MessagePort, even if it has a message handler, as long as there are no messages in flight between it and the remote port, and as long as the remote port is "maybe eligible for GC."

A MessagePort is considered "maybe eligible for GC" once hasPendingActivity is asked once.

A MessagePort loses "maybe eligible for GC" status once it is used for sending or receiving a message.

The changes to MessagePort.cpp implement the above with a tiny little bool-driven state machine.

  • dom/MessagePort.cpp:

(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentangle):
(WebCore::MessagePort::registerLocalActivity):
(WebCore::MessagePort::start):
(WebCore::MessagePort::close):
(WebCore::MessagePort::contextDestroyed):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::hasPendingActivity const):
(WebCore::MessagePort::isLocallyReachable const):
(WebCore::MessagePort::addEventListener):
(WebCore::MessagePort::removeEventListener):

  • dom/MessagePort.h:
  • Remove the lock and any background-thread code paths
  • Add ASSERT(isMainThread())s throughout
  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::MessagePortChannel):
(WebCore::MessagePortChannel::includesPort):
(WebCore::MessagePortChannel::entanglePortWithProcess):
(WebCore::MessagePortChannel::disentanglePort):
(WebCore::MessagePortChannel::closePort):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::takeAllMessagesForPort):
(WebCore::MessagePortChannel::checkRemotePortForActivity):
(WebCore::MessagePortChannel::hasAnyMessagesPendingOrInFlight const):

  • dom/messageports/MessagePortChannel.h:

Add a callback for a MessagePortChannel to go ask the remote MessagePort object about local activity:

  • dom/messageports/MessagePortChannelProvider.h:
  • dom/messageports/MessagePortChannelProviderImpl.cpp:

(WebCore::MessagePortChannelProviderImpl::checkRemotePortForActivity):
(WebCore::MessagePortChannelProviderImpl::checkProcessLocalPortForActivity):
(WebCore::MessagePortChannelProviderImpl::hasMessagesForPorts_temporarySync): Deleted.

  • dom/messageports/MessagePortChannelProviderImpl.h:
  • Remove the lock and any background-thread code paths
  • Add ASSERT(isMainThread())s throughout
  • dom/messageports/MessagePortChannelRegistry.cpp:

(WebCore::MessagePortChannelRegistry::messagePortChannelCreated):
(WebCore::MessagePortChannelRegistry::messagePortChannelDestroyed):
(WebCore::MessagePortChannelRegistry::didEntangleLocalToRemote):
(WebCore::MessagePortChannelRegistry::didDisentangleMessagePort):
(WebCore::MessagePortChannelRegistry::didCloseMessagePort):
(WebCore::MessagePortChannelRegistry::didPostMessageToRemote):
(WebCore::MessagePortChannelRegistry::takeAllMessagesForPort):
(WebCore::MessagePortChannelRegistry::checkRemotePortForActivity):
(WebCore::MessagePortChannelRegistry::existingChannelContainingPort):
(WebCore::MessagePortChannelRegistry::hasMessagesForPorts_temporarySync): Deleted.

  • dom/messageports/MessagePortChannelRegistry.h:
8:29 PM Changeset in webkit [227274] by aestes@apple.com
  • 27 edits in trunk/Source

[Apple Pay] Stop eagerly loading PassKit.framework
https://bugs.webkit.org/show_bug.cgi?id=181911
<rdar://problem/36555369>

Reviewed by Tim Horton.

Source/WebCore:

r226458 and r226123 added code that caused PassKit.framework to be eagerly loaded when
initializing a WKWebView. This is costly and should only be done when Apple Pay is first used.

To avoid eagerly loading PassKit, this patch does two things:

  1. Instead of sending the available payment networks as part of WebPageCreationParameters,

PaymentCoordinator asks for them using a syncrhonous message the first time they are needed.

  1. Instead of setting the Apple Pay preference to false when PassKit can't be loaded,

the following API entry points check for a missing PassKit and return false, or throw
exceptions, or reject promises:

  • ApplePaySession.canMakePayments()
  • ApplePaySession.canMakePaymentsWithActiveCard()
  • ApplePaySession.openPaymentSetup()
  • ApplePaySession.begin()

No new tests for (1), which causes no change in behavior. (2) was manually verified by
locally moving aside PassKit.framework, but that's not possible to do in an automated test.

  • Modules/applepay/PaymentCoordinator.cpp:

(WebCore::PaymentCoordinator::PaymentCoordinator):
(WebCore::PaymentCoordinator::validatedPaymentNetwork const):
(WebCore::toHashSet): Deleted.

  • Modules/applepay/PaymentCoordinator.h:
  • Modules/applepay/PaymentCoordinatorClient.h:
  • loader/EmptyClients.cpp:
  • page/MainFrame.cpp:

(WebCore::MainFrame::MainFrame):

Removed PaymentCoordinator::m_availablePaymentNetworks and made
PaymentCoordinator::validatedPaymentNetwork() call
PaymentCoordinatorClient::validatedPaymentNetwork() instead.

  • page/PageConfiguration.h:

Removed availablePaymentNetworks from PageConfiguration.

  • testing/Internals.cpp:

(WebCore::Internals::Internals):

  • testing/MockPaymentCoordinator.cpp:

(WebCore::MockPaymentCoordinator::validatedPaymentNetwork):

  • testing/MockPaymentCoordinator.h:

Implemented PaymentCoordinatorClient::validatedPaymentNetwork().

Source/WebKit:

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:

Removed availablePaymentNetworks from WebPageCreationParameters.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetApplePayEnabled):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):

Stopped calling WebPaymentCoordinatorProxy::platformSupportsPayments().

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks):

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:

Added message AvailablePaymentNetworks, which synchronously returns a Vector of payment
networks.

  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):

Returned false if PassKitLibrary() fails.

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup):

Called completionHandler with false if PassKitLibrary() fails.

(WebKit::WebPaymentCoordinatorProxy::platformAvailablePaymentNetworks):
(WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks):

Renamed availablePaymentNetworks to platformAvailablePaymentNetworks

(WebKit::WebPaymentCoordinatorProxy::platformSupportsPayments): Deleted.

  • UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:

(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):

Called completionHandler with false if PassKitLibrary() fails.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

Stopped calling WebPaymentCoordinatorProxy::availablePaymentNetworks().

  • WebProcess/ApplePay/WebPaymentCoordinator.cpp:

(WebKit::WebPaymentCoordinator::availablePaymentNetworks):
(WebKit::WebPaymentCoordinator::validatedPaymentNetwork):

  • WebProcess/ApplePay/WebPaymentCoordinator.h:

Implemented PaymentCoordinatorClient::validatedPaymentNetwork(). m_availablePaymentNetworks
starts off as std::nullopt, but is initialized by sending the AvailablePaymentNetworks sync
message the first time it's accessed.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

Stopped setting PageConfiguration::availablePaymentNetworks.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPaymentCoordinatorClient.h:
  • WebCoreSupport/WebPaymentCoordinatorClient.mm:

(WebPaymentCoordinatorClient::validatedPaymentNetwork):

Implemented PaymentCoordinatorClient::validatedPaymentNetwork().

12:02 PM Changeset in webkit [227273] by Chris Dumez
  • 2 edits in trunk/Tools

API test URLSchemeHandler.Leaks1 is timing out on iOS simulator debug
https://bugs.webkit.org/show_bug.cgi?id=174984
<rdar://problem/33665676>

Reviewed by Alexey Proskuryakov.

Disable URLSchemeHandler.Leaks1 API test on iOS as it sometimes times out.

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:

(TEST):

8:55 AM Changeset in webkit [227272] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk

Release ASSERT when reloading Vimeo page @ WebCore: WebCore::Document::updateLayout
https://bugs.webkit.org/show_bug.cgi?id=181840
<rdar://problem/36186214>

Reviewed by Simon Fraser.

Source/WebCore:

Test: media/video-fullscreen-reload-crash.html

Short circuit play() or pause() operations if the document is suspended or stopped.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::playInternal):
(WebCore::HTMLMediaElement::pauseInternal):

Source/WebKit:

Updating layout while the document is suspended or stopped is unsafe.

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::inlineVideoFrame):

LayoutTests:

  • media/video-fullscreen-reload-crash-expected.txt: Added.
  • media/video-fullscreen-reload-crash.html: Added.
  • platform/ios/TestExpectations:
4:53 AM Changeset in webkit [227271] by Caio Lima
  • 5 edits
    6 adds in trunk

[JSC] NumberPrototype::extractRadixFromArgs incorrectly cast double to int32_t
https://bugs.webkit.org/show_bug.cgi?id=181182

Reviewed by Darin Adler.

JSTests:

  • stress/big-int-prototype-to-string-cast-overflow.js: Added.
  • stress/big-int-prototype-to-string-exception.js: Added.
  • stress/big-int-prototype-to-string-wrong-values.js: Added.
  • stress/number-prototype-to-string-cast-overflow.js: Added.
  • stress/number-prototype-to-string-exception.js: Added.
  • stress/number-prototype-to-string-wrong-values.js: Added.

Source/JavaScriptCore:

Casting double to integer is undefined behavior when the truncation
results into a value that doesn't fit into integer size,
according C++ spec[1]. Thus, we are changing bigIntProtoFuncToString and
numberProtoFuncToString to remove these source of undefined
behavior.

[1] - http://en.cppreference.com/w/cpp/language/implicit_conversion

  • runtime/BigIntPrototype.cpp:

(JSC::bigIntProtoFuncToString):

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToString):
(JSC::extractToStringRadixArgument):
(JSC::extractRadixFromArgs): Deleted.

  • runtime/NumberPrototype.h:
2:45 AM Changeset in webkit [227270] by commit-queue@webkit.org
  • 14 edits in trunk

fetch redirect is incompatible with "no-cors" mode
https://bugs.webkit.org/show_bug.cgi?id=181866
<rdar://problem/35827140>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-20
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/redirect/redirect-mode-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-mode-worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-mode.js:

(redirectMode):

  • web-platform-tests/service-workers/service-worker/fetch-event-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-redirect.https.html:
  • web-platform-tests/service-workers/service-worker/fetch-request-redirect.https-expected.txt:

Source/WebCore:

Covered by updated tests.

Return a network error when no-cors mode and redirect mode is manual or error.
Update preflight implementation to no longer use manual redirect mode to simulate https://fetch.spec.whatwg.org/#http-network-or-cache-fetch.
Instead implement redirectReceived callback to treat any redirect response as the preflight response.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

  • loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::redirectReceived):
(WebCore::CrossOriginPreflightChecker::startPreflight):

  • loader/CrossOriginPreflightChecker.h:

LayoutTests:

  • http/tests/fetch/redirectmode-and-preload-expected.txt:
  • http/tests/fetch/redirectmode-and-preload.html:
2:43 AM Changeset in webkit [227269] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

DOMCache data sometimes not properly removed when clearing data for a given origin
https://bugs.webkit.org/show_bug.cgi?id=181887
<rdar://problem/36671239>

Reviewed by Youenn Fablet.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::clearCachesForOrigin):
This code was iterating through folders on disk, then reading the folder's origin
from the origin file on disk. Then, if the origin would match the one we want to
delete, it would regenerate the folder path using cachesRootPath(*folderOrigin).
I don't know how but on my machine, I was ended up in a state where the path
generated by cachesRootPath(*folderOrigin) differed from the actual folder path
we read the origin from (Likely a different salt?). To make the code more robust,
I updated the code to delete "folderPath", which is the path we read the origin
from.

12:42 AM Changeset in webkit [227268] by BJ Burg
  • 2 edits in trunk/Tools

WebDriver: fix some nits that prevent running W3C tests on Mac
https://bugs.webkit.org/show_bug.cgi?id=181864

Reviewed by Carlos Garcia Campos.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:

(WebDriverW3CWebServer.init): _wsout needs to always be defined,
as we assume that the property exists later.

(WebDriverW3CWebServer.stop): If the temporary file doesn't
exist for some reason, the remove call will raise and exception.
Gracefully handle the case where the file isn't created due to
a problem/exception that happened elsewhere.

Jan 19, 2018:

11:45 PM Changeset in webkit [227267] by Carlos Garcia Campos
  • 2 edits in trunk/WebDriverTests

Unreviewed GTK+ gardening. Skip imported/w3c/webdriver/tests/sessions/new_session/response.py.

It's causing a crash in the driver process and affecting all other tests.

11:24 PM Changeset in webkit [227266] by Wenson Hsieh
  • 3 edits in trunk/Source/WebCore

[macOS] [WK2] Drag location is computed incorrectly when dragging content from subframes
https://bugs.webkit.org/show_bug.cgi?id=181896
<rdar://problem/35479043>

Reviewed by Tim Horton.

In r218837, I packaged most of the information needed to start a drag into DragItem, which is propagated to the client layer
via the startDrag codepath. However, this introduced a bug in computing the event position and drag location in window
coordinates. Consider the case where we're determining the drag image offset for a dragged element in a subframe:

Before the patch, the drag location (which starts out in the subframe's content coordinates) would be converted to root view
coordinates, which would then be converted to mainframe content coordinates, which would then be converted to window coordinates
using the mainframe's view. After the patch, we carry out the same math until the last step, where we erroneously use the
_subframe's_ view to convert to window coordinates from content coordinates. This results in the position of the iframe relative
to the mainframe being accounted for twice.

To fix this, we simply use the main frame's view to convert from mainframe content coordinates to window coordinates while
computing the drag location. As for the event position in window coordinates, this is currently unused by any codepath in WebKit,
so we can just remove it altogether.

Since this bug only affects drag and drop in the macOS WebKit2 port, there's currently no way to test this. I'll be using
<https://bugs.webkit.org/show_bug.cgi?id=181898> to track adding test support for drag and drop on macOS WebKit2. Manually tested
dragging in both WebKit1 and WebKit2 on macOS. dragLocationInWindowCoordinates isn't used at all for iOS drag and drop.

  • page/DragController.cpp:

(WebCore::DragController::doSystemDrag):

  • platform/DragItem.h:

(WebCore::DragItem::encode const):
(WebCore::DragItem::decode):

10:40 PM Changeset in webkit [227265] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Expose Safe Browsing SPI
https://bugs.webkit.org/show_bug.cgi?id=181804
<rdar://problem/36626946>

Patch by Zach Li <zacharyli323@gmail.com> on 2018-01-19
Reviewed by Dan Bernstein.

If client is using Apple internal SDK, then we can just import the header; if not,
then we declare necessary symbols that client will need.

  • Configurations/WebKit.xcconfig:

Only link against SafariSafeBrowsing framework on macOS High Sierra
and iOS 11 and above. Weak link against SafariSafeBrowsing framework
because it is not present on the Base system.

  • Platform/spi/Cocoa/SafeBrowsingSPI.h: Added.
  • WebKit.xcodeproj/project.pbxproj:

Added SafeBrowsingSPI.h.

  • WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/11/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd:

Added.

8:34 PM Changeset in webkit [227264] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181901

Unreviewed test gardening.

8:21 PM Changeset in webkit [227263] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181900

Unreviewed test gardening.

8:05 PM Changeset in webkit [227262] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181897

Unreviewed test gardening.

7:55 PM Changeset in webkit [227261] by Ryan Haddad
  • 6 edits
    3 deletes in trunk

Unreviewed, rolling out r227235.

The test for this change consistently times out on High
Sierra.

Reverted changeset:

"Support for preconnect Link headers"
https://bugs.webkit.org/show_bug.cgi?id=181657
https://trac.webkit.org/changeset/227235

7:50 PM Changeset in webkit [227260] by Ryan Haddad
  • 4 edits
    2 adds in trunk/LayoutTests

[Sierra Debug WK2] ASSERTION FAILED: paymentCoordinator().supportsVersion(version)
https://bugs.webkit.org/show_bug.cgi?id=181833

Patch by Andy Estes <aestes@apple.com> on 2018-01-19
Reviewed by Youenn Fablet.

Moved the version 3 test into its own file that only runs on High Sierra and later.

  • http/tests/ssl/applepay/ApplePayRequestShippingContactV3.https-expected.txt: Added.
  • http/tests/ssl/applepay/ApplePayRequestShippingContactV3.https.html: Added.
  • platform/mac-wk2/TestExpectations:
6:29 PM Changeset in webkit [227259] by jmarcell@apple.com
  • 12 edits in branches/safari-605-branch/Source

Apply patch. rdar://problem/36654954

Update OS Version-based conditionals.
<rdar://problem/36654954>

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • editing/cocoa/HTMLConverter.mm: (_WebMessageDocumentClass):
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:
  • platform/mac/EventLoopMac.mm: (WebCore::EventLoop::cycle):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • Platform/IPC/mac/ConnectionMac.mm: (IPC::AccessibilityProcessSuspendedNotification):
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::shouldLeakBoost):
  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeProcess):

Source/WTF:

  • wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
  • wtf/spi/cocoa/NSMapTableSPI.h:
6:24 PM Changeset in webkit [227258] by lingcherd_ho@apple.com
  • 4 edits in trunk/Tools

Move Bingdings EWS and Webkitpy EWS queues to High Sierra on buildbot dashboard.
https://bugs.webkit.org/show_bug.cgi?id=181881

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.mac-os-x-elcapitan img.logo): Deleted.

5:58 PM Changeset in webkit [227257] by Ryan Haddad
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix, removed unused lambda capture.

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):

5:57 PM Changeset in webkit [227256] by jmarcell@apple.com
  • 12 edits in tags/Safari-605.1.24.2/Source

Apply patch. rdar://problem/36654954

Update OS Version-based conditionals.
<rdar://problem/36654954>

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • editing/cocoa/HTMLConverter.mm: (_WebMessageDocumentClass):
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:
  • platform/mac/EventLoopMac.mm: (WebCore::EventLoop::cycle):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • Platform/IPC/mac/ConnectionMac.mm: (IPC::AccessibilityProcessSuspendedNotification):
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::shouldLeakBoost):
  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeProcess):

Source/WTF:

  • wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
  • wtf/spi/cocoa/NSMapTableSPI.h:
5:50 PM Changeset in webkit [227255] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/wpt/web-animations/timing-model/animation-effects/current-iteration.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181888

Unreviewed test gardening.

5:47 PM Changeset in webkit [227254] by jmarcell@apple.com
  • 7 edits in tags/Safari-605.1.24.2/Source

Versioning.

5:40 PM Changeset in webkit [227253] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.24.2

New tag.

5:13 PM Changeset in webkit [227252] by jmarcell@apple.com
  • 7 edits in tags/Safari-605.1.24.1/Source

Versioning.

4:58 PM Changeset in webkit [227251] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.24.1

New tag.

4:16 PM Changeset in webkit [227250] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Update TestExpectations for webrtc/video-mute.html.
https://bugs.webkit.org/show_bug.cgi?id=177501

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:16 PM Changeset in webkit [227249] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-* tests as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181565

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:10 PM Changeset in webkit [227248] by wilander@apple.com
  • 2 edits in trunk/Source/WebKit

Resource Load Statistics: Remove unused calls to WebResourceLoadStatisticsStore:logTestingEvent() to fix API test
https://bugs.webkit.org/show_bug.cgi?id=181890
<rdar://problem/36674772>

Unreviewed API test fix.

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):

3:37 PM Changeset in webkit [227247] by Megan Gardner
  • 4 edits in branches/safari-605-branch/Source/WebKit

Present WKFileUploadPanel on correct ViewController
https://bugs.webkit.org/show_bug.cgi?id=181884
<rdar://problem/35114892>

Reviewed by Tim Horton and Joseph Pecoraro

We should not be getting the main view controller directly, as done in
ValidationBubbleIOS. This will keep us from presenting on view controllers are
in the midst of being dismissed, etc, causing us to get into states where we lose
the ability to present the WKFileUploadPanel.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView viewControllerForPresentingFileUploadPanel:]):

  • UIProcess/ios/forms/WKFileUploadPanel.h:
  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(fallbackViewController):
(-[WKFileUploadPanel _presentFullscreenViewController:animated:]):

3:35 PM Changeset in webkit [227246] by Ryan Haddad
  • 2 edits in trunk/JSTests

Disable Atomics when SharedArrayBuffer isn’t enabled
https://bugs.webkit.org/show_bug.cgi?id=181572

Unreviewed test gardening.

  • test262.yaml: Skip tests that fail after this change.
3:26 PM Changeset in webkit [227245] by commit-queue@webkit.org
  • 7 edits in trunk

Cache storage errors like Quota should trigger console messages
https://bugs.webkit.org/show_bug.cgi?id=181879
<rdar://problem/36669048>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-19
Reviewed by Chris Dumez.

Source/WebCore:

Covered by rebased test.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::retrieveRecords):
(WebCore::DOMCache::batchDeleteOperation):
(WebCore::DOMCache::batchPutOperation):

  • Modules/cache/DOMCacheEngine.cpp:

(WebCore::DOMCacheEngine::errorToException):
(WebCore::DOMCacheEngine::logErrorAndConvertToException):

  • Modules/cache/DOMCacheEngine.h:
  • Modules/cache/DOMCacheStorage.cpp:

(WebCore::DOMCacheStorage::retrieveCaches):
(WebCore::DOMCacheStorage::doOpen):
(WebCore::DOMCacheStorage::doRemove):

LayoutTests:

  • http/wpt/cache-storage/cache-quota.any-expected.txt:
3:18 PM Changeset in webkit [227244] by Ross Kirsling
  • 6 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Layers tab should do away with popovers (if possible)
https://bugs.webkit.org/show_bug.cgi?id=181805

Reviewed by Matt Baker.

  • Localizations/en.lproj/localizedStrings.js:

Remove superfluous colon from a string.

  • UserInterface/Main.html:
  • UserInterface/Views/LayerDetailsSidebarPanel.css:
  • UserInterface/Views/Layers3DContentView.css: Added.

Remove popover styling from sidebar, add new file with similar styling for canvas overlay.

  • UserInterface/Views/LayerDetailsSidebarPanel.js:

(WI.LayerDetailsSidebarPanel):
(WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
(WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
(WI.LayerDetailsSidebarPanel.prototype._updateLayers):
(WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
(WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
(WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted.
(WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted.
(WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted.
(WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted.
(WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted.

  • UserInterface/Views/Layers3DContentView.js:

(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.shown):
(WI.Layers3DContentView.prototype.selectLayerById):
(WI.Layers3DContentView.prototype._canvasMouseDown):
(WI.Layers3DContentView.prototype._buildLayerInfoElement):
(WI.Layers3DContentView.prototype._updateLayerInfoElement):
(WI.Layers3DContentView.prototype._updateReasonsList):
Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas.
Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar!

3:01 PM Changeset in webkit [227243] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed
https://bugs.webkit.org/show_bug.cgi?id=181865
<rdar://problem/36664737>

Reviewed by Devin Rousso.

  • UserInterface/Views/CanvasContentView.js:

(WI.CanvasContentView.prototype._recordingStarted):
(WI.CanvasContentView.prototype._recordingStopped):

2:58 PM Changeset in webkit [227242] by commit-queue@webkit.org
  • 18 edits
    1 add in trunk

Do not go to the storage process when registering a service worker client if there is no service worker registered
https://bugs.webkit.org/show_bug.cgi?id=181740
<rdar://problem/36650400>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-19
Reviewed by Chris Dumez.

Source/WebCore:

Register a document as service worker client only if there is an existing service worker connection.
This allows not creating any connection if no service worker is registered.

Add internals API to test whether a service worker connection was created or not.
This is used by API tests that cover the changes.

  • dom/Document.cpp:

(WebCore::Document::privateBrowsingStateDidChange): No need to create a service worker connection if client is not registered yet.
(WebCore::Document::setServiceWorkerConnection): No need to unregister/register if service worker connection is the same.
Similarly, if Document is to be destroyed or suspended, we should not register it.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::commitData):

  • testing/Internals.cpp:

(WebCore::Internals::hasServiceWorkerConnection):

  • testing/Internals.h:
  • testing/Internals.idl:
  • workers/service/ServiceWorkerProvider.cpp:

(WebCore::ServiceWorkerProvider::registerServiceWorkerClients):

  • workers/service/ServiceWorkerProvider.h:

Source/WebKit:

UIProcess notifies all web processes to register their service worker clients when spinning the service worker process.
Add private API to set the number of web processes for testing purposes.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setMaximumNumberOfProcesses:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::establishWorkerContextConnectionToStorageProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::registerServiceWorkerClients):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Tools:

Add support for internals inside API tests.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/InjectInternals_Bundle.cpp: Added.

(TestWebKitAPI::InternalsInjectedBundleTest::InternalsInjectedBundleTest):
(TestWebKitAPI::InternalsInjectedBundleTest::initialize):
(TestWebKitAPI::InternalsInjectedBundleTest::didCreatePage):
(TestWebKitAPI::InternalsInjectedBundleTest::didClearWindowForFrame):

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

(setConfigurationInjectedBundlePath):
(-[RegularPageMessageHandler userContentController:didReceiveScriptMessage:]):

2:53 PM Changeset in webkit [227241] by jmarcell@apple.com
  • 7 edits in tags/Safari-606.1.2.1/Source

Versioning.

2:48 PM Changeset in webkit [227240] by dino@apple.com
  • 14 edits
    1 copy in trunk

REGRESSION (r221092): Swipe actions are hard to perform in FastMail app
https://bugs.webkit.org/show_bug.cgi?id=181817
<rdar://problem/35274055>

Source/WebCore:

Add a setting for controlling whether touch listeners are passive
by default on document/window/body.

Updated existing test.

  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListener):

  • page/Settings.yaml:

Source/WebKit:

Reviewed by Simon Fraser.

Add a linked-on-or-after check to set passive touch listeners on document in WebCore.

  • CMakeLists.txt:
  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.cpp: Copied from Source/WebKit/UIProcess/Cocoa/VersionChecks.h.

(defaultPassiveTouchListenersAsDefaultOnDocument):

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/Cocoa/VersionChecks.h:
  • WebKit.xcodeproj/project.pbxproj:

Source/WebKitLegacy/mac:

Reviewed by Simon Fraser.

Add a linked-on-or-after check to set passive touch listeners on document in WebCore.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

LayoutTests:

Reviewed by Simon Fraser.

  • fast/events/touch/ios/passive-by-default-on-document-and-window-expected.txt:
2:43 PM Changeset in webkit [227239] by jmarcell@apple.com
  • 1 copy in tags/Safari-606.1.2.1

New tag.

2:43 PM Changeset in webkit [227238] by dbates@webkit.org
  • 4 edits
    4 adds in trunk

Update frame-ancestor directive to match Content Security Policy Level 3
https://bugs.webkit.org/show_bug.cgi?id=178891
<rdar://problem/35209458>

Reviewed by Alex Christensen.

Derived from Blink e667cc2e501fabab3605b838e4ee0d642a9c4a59:
<https://chromium.googlesource.com/chromium/src.git/+/e667cc2e501fabab3605b838e4ee0d642a9c4a59>

Source/WebCore:

Update frame-ancestor directive to match against the origin of the ancestor document per the
Content Security Policy Level 3 spec.: <https://w3c.github.io/webappsec-csp/> (15 January 2018).
Specifically this change in behavior was made to CSP 3 in <https://github.com/w3c/webappsec/issues/311>.
In earlier versions of the spec, the frame-ancestor directive matched against the URL of the
ancestor document.

Disregarding allow-same-origin sandboxed iframes, a document with policy "frame-ancestor 'self'"
will be blocked from loading in a sandboxed iframe as a result of this change.

Tests: http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-allow-same-origin-sandboxed-cross-url-allow.html

http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-sandboxed-cross-url-block.html

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::checkFrameAncestors):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-allow-same-origin-sandboxed-cross-url-allow-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-allow-same-origin-sandboxed-cross-url-allow.html: Added.
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-sandboxed-cross-url-block-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-sandboxed-cross-url-block.html: Added.
  • http/tests/security/contentSecurityPolicy/resources/frame-ancestors-test.js:

(injectNestedIframe):
(window.onload):
(testNestedIFrame):

2:33 PM Changeset in webkit [227237] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[Curl] Add timeout support to XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=181876

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-19
Reviewed by Alex Christensen

  • platform/network/ResourceRequestBase.cpp:
  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::setTimeout):

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::setupTransfer):
(WebCore::CurlRequest::didCompleteTransfer):

  • platform/network/curl/ResourceError.h:
  • platform/network/curl/ResourceErrorCurl.cpp:

(WebCore::ResourceError::httpError):

2:30 PM Changeset in webkit [227236] by sbarati@apple.com
  • 3 edits
    1 add in trunk

Kill ArithNegate's ArithProfile assert inside BytecodeParser
https://bugs.webkit.org/show_bug.cgi?id=181877
<rdar://problem/36630552>

Reviewed by Mark Lam.

JSTests:

  • stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js: Added.

(runNearStackLimit):
(f1):
(f2):
(f3):
(i.catch):
(i.try.runNearStackLimit):
(catch):

Source/JavaScriptCore:

Before this patch, we used to assert that op_negate's result ArithProfile
only produces number. It's logically true that negate only produces a number.
However, the DFG may incorrectly pick this ArithProfile when doing OSR exit
profiling. So we'll end up profiling something that's likely the input to
negate. This patch removes the assert. We cede to the fact that Graph::methodOfGettingAValueProfileFor
is entirely heuristic based, potentially leading to profiling results being imprecise.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::makeSafe):

2:16 PM Changeset in webkit [227235] by yoav@yoav.ws
  • 6 edits
    4 adds in trunk

Support for preconnect Link headers
https://bugs.webkit.org/show_bug.cgi?id=181657

Reviewed by Darin Adler.

Source/WebCore:

Move the preconnect functionality into its own function, and
also call this function when Link headers are processed.

Test: http/tests/preconnect/link-header-rel-preconnect-http.php

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::loadLinksFromHeader): Call preconnectIfNeeded.
(WebCore::LinkLoader::preconnectIfNeeded): Preconnect to a host functionality moved here.
(WebCore::LinkLoader::loadLink): Call preconnectIfNeeded.

  • loader/LinkLoader.h:

LayoutTests:

Add test to see Link preconnect headers trigger a connection.

  • http/tests/preconnect/link-header-rel-preconnect-http-expected.txt: Added.
  • http/tests/preconnect/link-header-rel-preconnect-http.html: Added.
  • http/tests/preconnect/resources/header-preconnect.php: Added.
  • platform/ios-simulator/TestExpectations: Skipped the test, as ios-simulator doesn't process Link headers for subresources.
  • platform/win/TestExpectations: Skipped the preconnect test directory, as it doesn't work on Windows.
2:12 PM Changeset in webkit [227234] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

Should allow updating a build-request to 'canceled'.
https://bugs.webkit.org/show_bug.cgi?id=181819

Reviewed by Ryosuke Niwa.

It's possible syncing script update a build-request to 'canceled' state.

  • public/api/build-requests.php: Added 'canceled' as an acceptable update state.
  • server-tests/api-build-requests-tests.js: Added a unit test to update a build-request to 'canceled'.
1:48 PM Changeset in webkit [227233] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

oss-fuzz jsc build is broken: StringImpl.h:27:10: fatal error: 'unicode/ustring.h' file not found
<https://webkit.org/b/181871>

Rubber-stamped by JF Bastien.

  • CMakeLists.txt: Add ICU header search path to

LLIntOffsetsExtractor target by reusing
JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES.

1:36 PM Changeset in webkit [227232] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: tabbing on commented out property throws exception
https://bugs.webkit.org/show_bug.cgi?id=180676
<rdar://problem/35981058>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
Tabbing from the selector field should focus on the first editable property.
When no editable properties are present, a new blank property should be added after the commented out ones.

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule.
When no editable properties are present, a new blank property should be added after the commented out ones.

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
When navigating between properties skip the commented out ones.

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore):

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype.get enabled):
(WI.SpreadsheetStyleProperty.prototype._update):

1:22 PM Changeset in webkit [227231] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[Cocoa] _WKNSWindowExtras.h: Add missing availability annotation
https://bugs.webkit.org/show_bug.cgi?id=181868

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-19
Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/_WKNSWindowExtras.h:
1:19 PM Changeset in webkit [227230] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Fix jsc-only build
https://bugs.webkit.org/show_bug.cgi?id=181874

Patch by Alex Christensen <achristensen@webkit.org> on 2018-01-19
Reviewed by JF Bastien.

This makes "build-webkit --jsc-only" work on Mac!

  • wtf/PlatformJSCOnly.cmake:
1:15 PM Changeset in webkit [227229] by sbarati@apple.com
  • 4 edits
    2 adds in trunk

Spread's effects are modeled incorrectly both in AI and in Clobberize
https://bugs.webkit.org/show_bug.cgi?id=181867
<rdar://problem/36290415>

Reviewed by Michael Saboff.

JSTests:

  • stress/ai-needs-to-model-spreads-effects.js: Added.

(try.p.Symbol.iterator):
(try.go):
(catch):

  • stress/clobberize-needs-to-model-spread-effects.js: Added.

(assert):
(foo):
(a.Symbol.iterator):

Source/JavaScriptCore:

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

12:13 PM Changeset in webkit [227228] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Make styles sidebar always LTR
https://bugs.webkit.org/show_bug.cgi?id=175357
<rdar://problem/33787988>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:

(WI.SpreadsheetRulesStyleDetailsPanel):

12:11 PM Changeset in webkit [227227] by wilander@apple.com
  • 2 edits in trunk/Source/WebKit

Resource Load Statistics: Add void to argument list to fix build with -Wstrict-prototypes
https://bugs.webkit.org/show_bug.cgi?id=181870
<rdar://problem/36666750>

Unreviewed build fix.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
12:04 PM Changeset in webkit [227226] by Joseph Pecoraro
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Follow-up build fix for r227206.

Unreviewed.

  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.h:

Avoid duplicate and different definitions of ALWAYS_INLINE.

11:54 AM Changeset in webkit [227225] by commit-queue@webkit.org
  • 94 edits in trunk

AppCache: Log a Deprecation warning to the Console when AppCache is used
https://bugs.webkit.org/show_bug.cgi?id=181778

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-19
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_cached-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_checking-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_noupdate-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_progress-expected.txt:
  • web-platform-tests/html/browsers/offline/manifest_url_check-expected.txt:
  • web-platform-tests/service-workers/service-worker/appcache-ordering-main.https-expected.txt:

Source/WebCore:

  • html/HTMLHtmlElement.cpp:

(WebCore::HTMLHtmlElement::insertedByParser):

LayoutTests:

  • http/tests/appcache/404-manifest-expected.txt:
  • http/tests/appcache/404-resource-expected.txt:
  • http/tests/appcache/404-resource-with-slow-main-resource-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-resource-404-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-resource-404-expected.txt:
  • http/tests/appcache/abort-cache-onprogress-expected.txt:
  • http/tests/appcache/access-via-redirect-expected.txt:
  • http/tests/appcache/crash-when-navigating-away-then-back-expected.txt:
  • http/tests/appcache/credential-url-expected.txt:
  • http/tests/appcache/cyrillic-uri-expected.txt:
  • http/tests/appcache/decide-navigation-policy-after-delay-expected.txt:
  • http/tests/appcache/deferred-events-delete-while-raising-expected.txt:
  • http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt:
  • http/tests/appcache/deferred-events-expected.txt:
  • http/tests/appcache/different-https-origin-resource-main-expected.txt:
  • http/tests/appcache/different-origin-manifest-expected.txt:
  • http/tests/appcache/different-scheme-expected.txt:
  • http/tests/appcache/document-write-html-element-2-expected.txt:
  • http/tests/appcache/empty-manifest-expected.txt:
  • http/tests/appcache/fail-on-update-2-expected.txt:
  • http/tests/appcache/fail-on-update-expected.txt:
  • http/tests/appcache/fallback-expected.txt:
  • http/tests/appcache/fallback-namespace-outside-manifest-path-expected.txt:
  • http/tests/appcache/foreign-fallback-expected.txt:
  • http/tests/appcache/foreign-iframe-main-expected.txt:
  • http/tests/appcache/history-test-expected.txt:
  • http/tests/appcache/idempotent-update-expected.txt:
  • http/tests/appcache/identifier-test-expected.txt:
  • http/tests/appcache/interrupted-update-expected.txt:
  • http/tests/appcache/local-content-expected.txt:
  • http/tests/appcache/main-resource-fallback-for-network-error-crash-expected.txt:
  • http/tests/appcache/main-resource-hash-expected.txt:
  • http/tests/appcache/main-resource-redirect-expected.txt:
  • http/tests/appcache/manifest-containing-itself-expected.txt:
  • http/tests/appcache/manifest-parsing-expected.txt:
  • http/tests/appcache/manifest-redirect-2-expected.txt:
  • http/tests/appcache/manifest-redirect-expected.txt:
  • http/tests/appcache/manifest-with-empty-file-expected.txt:
  • http/tests/appcache/max-size-expected.txt:
  • http/tests/appcache/multi-fallback-expected.txt:
  • http/tests/appcache/navigating-away-while-cache-attempt-in-progress-expected.txt:
  • http/tests/appcache/non-html-expected.txt:
  • http/tests/appcache/offline-access-expected.txt:
  • http/tests/appcache/online-fallback-layering-expected.txt:
  • http/tests/appcache/online-whitelist-expected.txt:
  • http/tests/appcache/origin-delete-expected.txt:
  • http/tests/appcache/origin-quota-continued-download-expected.txt:
  • http/tests/appcache/origin-quota-continued-download-multiple-manifests-expected.txt:
  • http/tests/appcache/origin-quota-expected.txt:
  • http/tests/appcache/origin-usage-expected.txt:
  • http/tests/appcache/origins-with-appcache-expected.txt:
  • http/tests/appcache/progress-counter-expected.txt:
  • http/tests/appcache/reload-expected.txt:
  • http/tests/appcache/remove-cache-expected.txt:
  • http/tests/appcache/resource-redirect-2-expected.txt:
  • http/tests/appcache/resource-redirect-expected.txt:
  • http/tests/appcache/simple-expected.txt:
  • http/tests/appcache/simple-video-async-expected.txt:
  • http/tests/appcache/simple-video-sync-expected.txt:
  • http/tests/appcache/top-frame-1-expected.txt:
  • http/tests/appcache/top-frame-2-expected.txt:
  • http/tests/appcache/top-frame-3-expected.txt:
  • http/tests/appcache/top-frame-4-expected.txt:
  • http/tests/appcache/update-cache-expected.txt:
  • http/tests/appcache/video-expected.txt:
  • http/tests/appcache/whitelist-wildcard-expected.txt:
  • http/tests/appcache/wrong-content-type-expected.txt:
  • http/tests/appcache/wrong-signature-2-expected.txt:
  • http/tests/appcache/wrong-signature-expected.txt:
  • http/tests/appcache/x-frame-options-prevents-framing-expected.txt:
  • http/tests/appcache/xhr-foreign-resource-expected.txt:
  • http/tests/contentfiltering/load-substitute-data-from-appcache-expected.txt:
  • http/tests/security/appcache-switching-private-browsing-expected.txt:
  • http/tests/security/cross-origin-appcache-allowed-expected.txt:
  • http/tests/security/cross-origin-appcache-expected.txt:
  • http/tests/security/same-origin-appcache-blocked-expected.txt:
  • http/tests/ssl/upgrade-origin-usage-expected.txt:
11:47 AM Changeset in webkit [227224] by Ryan Haddad
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r227211.

Breaks iOS Simulator tests.

Reverted changeset:

"Expose Safe Browsing SPI"
https://bugs.webkit.org/show_bug.cgi?id=181804
https://trac.webkit.org/changeset/227211

11:26 AM Changeset in webkit [227223] by wilander@apple.com
  • 20 edits in trunk

Resource Load Statistics: Implement callback support for removal of WebsiteDataType::ResourceLoadStatistics
https://bugs.webkit.org/show_bug.cgi?id=181822
https://bugs.webkit.org/show_bug.cgi?id=175263
https://bugs.webkit.org/show_bug.cgi?id=178536
https://bugs.webkit.org/show_bug.cgi?id=181223
https://bugs.webkit.org/show_bug.cgi?id=181482
<rdar://problem/33491222>
<rdar://problem/33805293>
<rdar://problem/36332683>
<rdar://problem/36549026>

Reviewed by Alex Christensen.

Source/WebKit:

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore]):

Calls the new API with no-op completion handler.

(-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore:]):

New API with completion handler.

(-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:]):

Calls the new API with no-op completion handler.

(-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:completionHandler:]):

New API with completion handler.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:

(WebKit::ResourceLoadStatisticsPersistentStorage::populateMemoryStoreFromDisk):

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):

  • UIProcess/WebResourceLoadStatisticsStore.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::clearResourceLoadStatisticsInWebProcesses):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::statisticsClearInMemoryAndPersistentStore):
(WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):

LayoutTests:

  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html:
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html:
  • http/tests/resourceLoadStatistics/grandfathering.html:
  • platform/ios/TestExpectations:

Marked the three updated tests as [ Pass ].

  • platform/mac-wk2/TestExpectations:

Marked the three updated tests as [ Pass ].

11:15 AM Changeset in webkit [227222] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-webkit-tests fails when there is a curly brace in Xcode build output
https://bugs.webkit.org/show_bug.cgi?id=181254
<rdar://problem/36453374>

Reviewed by Daniel Bates.

  • Scripts/webkitpy/port/base.py:

(Port._run_script): Encode script output before logging it.

11:13 AM Changeset in webkit [227221] by Chris Dumez
  • 6 edits in trunk/Source/WebCore
ASSERT(registration
isTerminating()) hit in SWServerWorker::skipWaiting()

https://bugs.webkit.org/show_bug.cgi?id=181761
<rdar://problem/36594564>

Reviewed by Youenn Fablet.

There is a short period of time, early in the registration process where a
SWServerWorker object exists for a registration but is not in the registration's
installing/waiting/active slots yet. As a result, if a registration is cleared
during this period (for e.g. due to the user clearing all website data), that
SWServerWorker will not be terminated. We then hit assertion later on when this
worker is trying to do things (like call skipWaiting).

To address the issue, we now keep a reference this SWServerWorker on the
registration, via a new SWServerRegistration::m_preInstallationWorker data member.
When the registration is cleared, we now take care of terminating this worker.

No new tests, covered by existing tests that crash flakily in debug builds.

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::stop):
if the mutex is locked, then the worker thread is still starting. We spin the
runloop and try to stop again later. This avoids the deadlock shown in
Bug 181763 as the worker thread may need to interact with the main thread
during startup.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::installContextData):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::scriptContextFailedToStart):
(WebCore::SWServerJobQueue::install):

  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::~SWServerRegistration):
(WebCore::SWServerRegistration::setPreInstallationWorker):
(WebCore::SWServerRegistration::clear):

  • workers/service/server/SWServerRegistration.h:

(WebCore::SWServerRegistration::preInstallationWorker const):

11:13 AM Changeset in webkit [227220] by Chris Dumez
  • 5 edits in trunk

Service worker registrations restored from disk may not be reused when the JS calls register() again
https://bugs.webkit.org/show_bug.cgi?id=181810
<rdar://problem/36591711>

Reviewed by Youenn Fablet.

Source/WebCore:

The issue was that when restoring a registration from disk, we would not set its active worker right
away. We only set it later in installContextData(). installContextData() is only called after we’ve
launched the service worker process and established a connection to it.

However, we would start processing jobs (such as registrations) before we’ve established the connection
to the service worker process. SWServerJobQueue::runRegisterJob(), in order to reuse an existing
registration checks the registration’s active worker has the right script URL. The issue was that when
this code would execute, we may not have set the registration’s active service worker yet, in which case,
we would update the existing registration instead of reusing it as-is.

To address the issue, we now delay the processing of jobs until the connection to the service worker
process has been established and we've installed all pending contexts via installContextData().

Changed is covered by new API test.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::Connection::scheduleJobInServer):
(WebCore::SWServer::scheduleJob):
(WebCore::SWServer::serverToContextConnectionCreated):

  • workers/service/server/SWServer.h:

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

(-[SWMessageHandlerForRestoreFromDiskTest initWithExpectedMessage:]):
(-[SWMessageHandlerForRestoreFromDiskTest userContentController:didReceiveScriptMessage:]):

11:12 AM Changeset in webkit [227219] by jcraig@apple.com
  • 6 edits in trunk

AX: when invert colors is on, double-invert image and picture elements in UserAgentStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=181281
<rdar://problem/36291776>

Reviewed by Simon Fraser.

Source/WebCore:

Updated "Smart Invert" to include img and picture element inversion and tests.

Tests: accessibility/smart-invert-reference.html

accessibility/smart-invert.html

  • css/html.css:

(@media (inverted-colors)):
(img:not(picture>img), picture, video):

LayoutTests:

Updated to include img and picture element tests.

  • accessibility/smart-invert-expected.txt:
  • accessibility/smart-invert-reference-expected.html:
  • accessibility/smart-invert.html:
11:02 AM Changeset in webkit [227218] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION (r223149): Ref WebPageProxy objects before calling their functionality
https://bugs.webkit.org/show_bug.cgi?id=181863
<rdar://problem/36662452>

Reviewed by Chris Dumez.

More fix ups following r223149. When notifying all pages of a process state change we need to
take care to ref all the pages before iterating over them and notifying them of the change.
Notifying a page of such a state change may ultimately delegate to the embedding client. And
the embedding client can do anything, including deallocating one or more pages.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::didBecomeResponsive):
(WebKit::WebProcessProxy::willChangeIsResponsive):
(WebKit::WebProcessProxy::didChangeIsResponsive):
(WebKit::WebProcessProxy::requestTermination):

10:51 AM Changeset in webkit [227217] by Ryan Haddad
  • 2 edits in trunk/Tools

Remove El Capitan queues from flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=181860

Reviewed by Aakash Jain.

  • TestResultServer/static-dashboards/builders.jsonp:
10:38 AM Changeset in webkit [227216] by Chris Dumez
  • 21 edits
    2 adds in trunk

The WebContent process should not process incoming IPC while waiting for a sync IPC reply
https://bugs.webkit.org/show_bug.cgi?id=181560

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add internals API for testing purposes.

Test: fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html

  • page/ChromeClient.h:
  • testing/Internals.cpp:

(WebCore::Internals::testIncomingSyncIPCMessageWhileWaitingForSyncReply):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

The WebContent process should not process incoming IPC while waiting for a sync IPC reply.
This is causing hard-to-debug crashes because developers often assume the state does not
change during a sendSync() call.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:

(IPC::Connection::setShouldProcessIncomingMessagesWhileWaitingForSyncReply):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::NetworkProcessConnection):

  • WebProcess/Storage/WebToStorageProcessConnection.cpp:

(WebKit::WebToStorageProcessConnection::WebToStorageProcessConnection):

  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::undo):
(WebKit::WebEditorClient::redo):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

LayoutTests:

Add layout test coverage.

  • fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Added.
  • fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Added.
10:33 AM Changeset in webkit [227215] by keith_miller@apple.com
  • 17 edits in trunk

HaveInternalSDK includes should be "#include?"
https://bugs.webkit.org/show_bug.cgi?id=179670

Reviewed by Dan Bernstein.

Source/bmalloc:

  • Configurations/Base.xcconfig:

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Source/WebCore:

  • Configurations/Base.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:

Source/WebKit:

  • Configurations/Base.xcconfig:

Source/WTF:

  • Configurations/Base.xcconfig:

Tools:

  • MiniBrowser/Configurations/Base.xcconfig:
  • MobileMiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
10:32 AM Changeset in webkit [227214] by dbates@webkit.org
  • 9 edits in trunk/Source

Fix misspelling; substitute willDetachRenderer for willDetatchRenderer.

Source/WebCore:

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::willDetachRenderers):

  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::willDetachRenderer):
(WebCore::PluginViewBase::willDetatchRenderer): Deleted.

Source/WebKit:

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::willDetachRenderer):
(WebKit::PDFPlugin::willDetatchRenderer): Deleted.

  • WebProcess/Plugins/Plugin.h:

(WebKit::Plugin::willDetachRenderer):
(WebKit::Plugin::willDetatchRenderer): Deleted.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::willDetachRenderer):
(WebKit::PluginView::willDetatchRenderer): Deleted.

  • WebProcess/Plugins/PluginView.h:
10:12 AM Changeset in webkit [227213] by Jonathan Bedard
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix, remove unused lambda captures.

  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::takeAllMessagesForPort):

  • dom/messageports/MessagePortChannelRegistry.cpp:

(WebCore::MessagePortChannelRegistry::messagePortChannelCreated):

10:09 AM Changeset in webkit [227212] by ap@apple.com
  • 2 edits in trunk/Source/WTF

Update XPCSPI.h
https://bugs.webkit.org/show_bug.cgi?id=181827
rdar://problem/36393031

Reviewed by Daniel Bates.

  • wtf/spi/darwin/XPCSPI.h:
10:05 AM Changeset in webkit [227211] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Expose Safe Browsing SPI
https://bugs.webkit.org/show_bug.cgi?id=181804
<rdar://problem/36626946>

Patch by Zach Li <zacharyli323@gmail.com> on 2018-01-19
Reviewed by Alex Christensen.

If client is using Apple internal SDK, then we can just import the header; if not,
then we declare necessary symbols that client will need.

  • Configurations/WebKit.xcconfig:

Only link against SafariSafeBrowsing framework on macOS High Sierra
and iOS 11 and above. Weak link against SafariSafeBrowsing framework
because it is not present on the Base system.

  • Platform/spi/Cocoa/SafeBrowsingSPI.h: Added.
  • WebKit.xcodeproj/project.pbxproj:

Added SafeBrowsingSPI.h.

  • WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/11/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd:

Added.

9:59 AM Changeset in webkit [227210] by graouts@webkit.org
  • 1 edit
    1 delete in trunk/LayoutTests

[Web Animations] Remove http/wpt/wk-web-animations tests
https://bugs.webkit.org/show_bug.cgi?id=181861

These tests were written early on during our Web Animations implementation before we had a good sense of the quality
of the coverage of the W3C WPT suite. That suite is extremely comprehensive and all of the assertions we wrote ourselves
are redundant and should be removed so that all testing, unless specific to our implementation, is done through the WPT
suite.

Reviewed by Dean Jackson.

  • http/wpt/wk-web-animations/interfaces/document-get-animations-expected.txt: Removed.
  • http/wpt/wk-web-animations/interfaces/document-get-animations.html: Removed.
  • http/wpt/wk-web-animations/interfaces/element-get-animations-expected.txt: Removed.
  • http/wpt/wk-web-animations/interfaces/element-get-animations.html: Removed.
  • http/wpt/wk-web-animations/interfaces/keyframe-effect-getComputedStyle-expected.txt: Removed.
  • http/wpt/wk-web-animations/interfaces/keyframe-effect-getComputedStyle.html: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-creation-basic-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-creation-basic.html: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-current-time-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-current-time.html: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-effect-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-effect-timing-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-effect-timing.html: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship.html: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-effect.html: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-interface-effect-property-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-interface-effect-property.html: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property.html: Removed.
  • http/wpt/wk-web-animations/timing-model/document-timeline-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/document-timeline.html: Removed.
  • http/wpt/wk-web-animations/timing-model/keyframe-effect-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html: Removed.
  • http/wpt/wk-web-animations/timing-model/keyframe-effect.html: Removed.
  • http/wpt/wk-web-animations/timing-model/timeline-current-time-expected.txt: Removed.
  • http/wpt/wk-web-animations/timing-model/timeline-current-time.html: Removed.
9:58 AM Changeset in webkit [227209] by pvollan@apple.com
  • 4 edits in trunk/Source/WebKitLegacy/win

[Win] Compile error: 'WebKitQuartzCoreAdditionsBase.h' not found.
https://bugs.webkit.org/show_bug.cgi?id=181859
<rdar://problem/36659886>

Reviewed by Alex Christensen.

Use local include patch.

  • WebKitQuartzCoreAdditions/API/WKCACFImage.h:
  • WebKitQuartzCoreAdditions/API/WKCACFView.h:
  • WebKitQuartzCoreAdditions/API/WKCACFViewPrivate.h:
9:56 AM Changeset in webkit [227208] by graouts@webkit.org
  • 40 edits
    3 copies in trunk

[Web Animations] Expose timing properties (delay, endDelay, fill, iterationStart, iterations, direction) and getComputedTiming()
https://bugs.webkit.org/show_bug.cgi?id=181857
<rdar://problem/36660081>

Reviewed by Dean Jackson.

Source/WebCore:

We start the work to implement the rest of the Web Animations timing and animation model by exposing more properties on
AnimationEffectTiming to control delay (delay, endDelay), looping (iterationStart, iterations), fill and direction.
Additionally, we expose the getComputedTiming() method on AnimationEffect, although it currently lacks some computed
properties that will come in later patch as we implement various processes defined by the spec. We also update the
existing duration() method on AnimationEffectTiming to be called iterationDuration() to match the terms used in the
specification.

Finally, we make all new properties, and update existing ones, that expose a time value go through the new utility
function secondsToWebAnimationsAPITime() to guarantee rounded values with microseconds precision, as advised by
the Web Animations specification.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::localTime const):
(WebCore::AnimationEffect::getComputedTiming):

  • animation/AnimationEffect.h:
  • animation/AnimationEffect.idl:
  • animation/AnimationEffectTiming.cpp:

(WebCore::AnimationEffectTiming::AnimationEffectTiming):
(WebCore::AnimationEffectTiming::setIterationStart):
(WebCore::AnimationEffectTiming::setIterations):
(WebCore::AnimationEffectTiming::bindingsDuration const):
(WebCore::AnimationEffectTiming::setBindingsDuration):
(WebCore::AnimationEffectTiming::endTime const):
(WebCore::AnimationEffectTiming::activeDuration const):

  • animation/AnimationEffectTiming.h:
  • animation/AnimationEffectTiming.idl:
  • animation/AnimationPlaybackEvent.cpp:

(WebCore::AnimationPlaybackEvent::bindingsCurrentTime const):
(WebCore::AnimationPlaybackEvent::bindingsTimelineTime const):

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::bindingsCurrentTime):

  • animation/ComputedTimingProperties.h: Added.
  • animation/ComputedTimingProperties.idl: Added. We set nullable double values to a default value of "null" since

otherwise setting those properties to a null value would not set the properties in the converted JS dictionary.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::create): Handle new timing properties passed in the KeyframeEffectOptions dictionary.
(WebCore::KeyframeEffect::applyAtLocalTime):
(WebCore::KeyframeEffect::getAnimatedStyle):
(WebCore::KeyframeEffect::startOrStopAccelerated):

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::bindingsStartTime const):
(WebCore::WebAnimation::bindingsCurrentTime const):
(WebCore::WebAnimation::effectEndTime const):
(WebCore::WebAnimation::timeToNextRequiredTick const):

  • animation/WebAnimationUtilities.h: Added.

(WebCore::secondsToWebAnimationsAPITime):

LayoutTests:

Update expectations with progressions and new failure points now we expose more of the API.

  • http/wpt/web-animations/animation-model/animation-types/discrete-animation-expected.txt:
  • http/wpt/web-animations/interfaces/Animatable/animate-expected.txt:
  • http/wpt/web-animations/interfaces/Animation/finish-expected.txt:
  • http/wpt/web-animations/interfaces/Animation/finished-expected.txt:
  • http/wpt/web-animations/interfaces/Animation/pause-expected.txt:
  • http/wpt/web-animations/interfaces/Animation/play-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/active-time-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/current-iteration-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/local-time-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/phases-and-states-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt:
  • http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt:
  • http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt:
  • http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt:
  • http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html:
9:55 AM Changeset in webkit [227207] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove dead networking code
https://bugs.webkit.org/show_bug.cgi?id=181813

Patch by Alex Christensen <achristensen@webkit.org> on 2018-01-19
Reviewed by Tim Horton.

CFURLConnection is only used on Windows.

  • platform/network/cf/ResourceError.h:
  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::encodingRequiresPlatformData const):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::setStorageSession):

  • platform/network/cf/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

9:48 AM Changeset in webkit [227206] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk/Source/ThirdParty/libwebrtc

Softlink VideoProcessing in WebKit
https://bugs.webkit.org/show_bug.cgi?id=181853
<rdar://problem/36590005>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-19
Reviewed by Eric Carlson.

  • Configurations/libwebrtc.xcconfig:
  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp: Added.
  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.h: Added.
  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h:
  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:

(internal::SetVTSessionProperty):
(webrtc::H264VideoToolboxEncoderVCP::Encode):

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm:

(webrtc::VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory):

  • libwebrtc.xcodeproj/project.pbxproj:
9:46 AM Changeset in webkit [227205] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Remove unused WebViewPrivate _allowCookies
https://bugs.webkit.org/show_bug.cgi?id=181812

Patch by Alex Christensen <achristensen@webkit.org> on 2018-01-19
Reviewed by Tim Horton.

Source/WebCore:

This SPI was in the original iOS upstreaming and has not been used in many years.

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::setDefaultAllowCookies): Deleted.
(WebCore::ResourceRequestBase::defaultAllowCookies): Deleted.

  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::ResourceRequestBase):

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(+[WebView _setAllowCookies:]): Deleted.
(+[WebView _allowCookies]): Deleted.

  • WebView/WebViewPrivate.h:
9:45 AM Changeset in webkit [227204] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/images/image-supports-video.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181862

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
9:38 AM Changeset in webkit [227203] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Update TestExpectations for media/W3C/audio/networkState/networkState_during_loadstart.html.
https://bugs.webkit.org/show_bug.cgi?id=123010

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:12 AM Changeset in webkit [227202] by Jonathan Bedard
  • 3 edits in trunk/LayoutTests

Move select-out-of-floated-non-editable iOS Simulator expectations to iOS

Unreviewed test gardening.

r222317 introduced these test expectations. These expectations should apply to both
Simulator and device testing.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-wk2/TestExpectations:
8:45 AM Changeset in webkit [227201] by fred.wang@free.fr
  • 10 edits in trunk/LayoutTests

Use promises for basic-gestures.js and 'await' for the corresponding tests
https://bugs.webkit.org/show_bug.cgi?id=181841

Patch by Frederic Wang <fwang@igalia.com> on 2018-01-19
Reviewed by Megan Gardner.

  • fast/events/touch/ios/drag-to-autoscroll-in-single-line-editable.html: Remove redundant

check for testRunner.runUIScript, rewrite runUIScript calls to just await a promise, add the
async keyword to runTest and reindent.
Also remove extraneous space after + operator.

  • fast/events/touch/ios/long-press-then-drag-down-to-change-selected-text.html: Ditto.
  • fast/events/touch/ios/long-press-then-drag-left-to-change-selected-text.html: Ditto.
  • fast/events/touch/ios/long-press-then-drag-right-to-change-selected-text.html: Ditto.
  • fast/events/touch/ios/long-press-then-drag-to-select-text.html: Ditto.
  • fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text.html: Ditto.
  • fast/events/touch/ios/long-press-to-select-and-tap-to-clear.html: Ditto.
  • fast/events/touch/ios/long-press-to-select-text.html: Ditto.
  • resources/basic-gestures.js: For all functions in this file, wrap the script source into a

runUIScript call and a new promise, reindent.

8:21 AM Changeset in webkit [227200] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark svg/filters/feDiffuseLighting-bottomRightPixel.html as failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=181854

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:10 AM Changeset in webkit [227199] by graouts@webkit.org
  • 2 edits in trunk/LayoutTests

[iOS] LayoutTest media/modern-media-controls/media-controller/ios/media-controller-ios-do-not-hide-controls-when-tapping-button.html fails on Internal bots
https://bugs.webkit.org/show_bug.cgi?id=181843
<rdar://problem/36061363>

The button we were trying to press was outside of the viewable screen area and so the tap wouldn't occur.
Resizing the video to fit in the window fixes the issue.

Reviewed by Youenn Fablet.

  • media/modern-media-controls/media-controller/ios/media-controller-ios-do-not-hide-controls-when-tapping-button.html:
7:19 AM Changeset in webkit [227198] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

WebDriver: driver environment not passed to pytest when running w3c tests
https://bugs.webkit.org/show_bug.cgi?id=181852

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2018-01-19
Reviewed by Carlos Alberto Lopez Perez.

That's why color codes are not used in the bots log for selenium tests but they appear in w3c tests.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:

(WebDriverW3CExecutor.run):

6:19 AM Changeset in webkit [227197] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] WebDriver: wayland display no used in wayland bot
https://bugs.webkit.org/show_bug.cgi?id=181851

Reviewed by Carlos Alberto Lopez Perez.

We need to handle the additionalArguments property in the WebDriverTests step.

  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(RunWebDriverTests.start):

5:06 AM Changeset in webkit [227196] by Yusuke Suzuki
  • 2 edits in trunk/JSTests

Unreviewed, reduce count of iteration to fix timing out debug JSC test
https://bugs.webkit.org/show_bug.cgi?id=181535

  • stress/inserted-recovery-with-set-last-index.js:
4:22 AM Changeset in webkit [227195] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] TERM environment variable is not passed to the test driver.
https://bugs.webkit.org/show_bug.cgi?id=181847

Rubber-stamped by by Carlos Garcia Campos.

  • Scripts/webkitpy/port/base.py:

(Port.to.setup_environ_for_server):

3:54 AM Changeset in webkit [227194] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

WebDriver: run-webdriver-tests is crashing in the bots when creating results json file
https://bugs.webkit.org/show_bug.cgi?id=181844

Reviewed by Carlos Alberto Lopez Perez.

We always try to create the directory where to store the json file, but when the filename is given directly,
like in the bots, the current dir is used.

  • Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:

(WebDriverTestRunner.dump_results_to_json_file): Do not try to create the directory if dirname() returns an
empty string.

1:58 AM Changeset in webkit [227193] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] WebDriver tests are running outside the jhbuild env
https://bugs.webkit.org/show_bug.cgi?id=181842

Reviewed by Žan Doberšek.

We need to enter jhbuild env in run-webdriver-tests.

  • Scripts/run-webdriver-tests:
Note: See TracTimeline for information about the timeline view.