Timeline



Sep 15, 2021:

10:48 PM Changeset in webkit [282488] by Russell Epstein
  • 8 edits in branches/safari-612-branch/Source

Versioning.

WebKit-7612.2.7

9:39 PM Changeset in webkit [282487] by commit-queue@webkit.org
  • 29 edits in trunk

Fixes for build-webkit --minimal
https://bugs.webkit.org/show_bug.cgi?id=229780

Patch by Philip Chimento <pchimento@igalia.com> on 2021-09-15
Reviewed by Fujii Hironori.

.:

Remove ENABLE_INTERSECTION_OBSERVER build-time option. This option is
quite broken if you try to disable it.

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

Covered by existing tests.

Remove ENABLE_INTERSECTION_OBSERVER build-time option. This option is
quite broken if you try to disable it.

  • dom/Document.cpp:

(WebCore::Document::~Document):
(WebCore::Document::intersectionObserversInitialUpdateTimerFired):
(WebCore::Document::scheduleRenderingUpdate):

  • dom/Document.h:

(WebCore::Document::intersectionObserverDataIfExists):

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::didMoveToNewDocument):

  • dom/Element.h:
  • dom/ElementRareData.cpp:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::setIntersectionObserverData):

  • page/IntersectionObserver.cpp:
  • page/IntersectionObserver.h:
  • page/IntersectionObserver.idl:
  • page/IntersectionObserverCallback.h:
  • page/IntersectionObserverCallback.idl:
  • page/IntersectionObserverEntry.cpp:
  • page/IntersectionObserverEntry.h:
  • page/IntersectionObserverEntry.idl:
  • page/Page.cpp:

(WebCore::Page::updateRendering):
(WebCore::operator<<):

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

(WebCore::Internals::numberOfIntersectionObservers const):

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

Source/WTF:

Remove ENABLE_INTERSECTION_OBSERVER build-time option. This option is
quite broken if you try to disable it.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/PlatformEnableCocoa.h:

Tools:

Remove ENABLE_INTERSECTION_OBSERVER build-time option. This option is
quite broken if you try to disable it.

  • Scripts/webkitperl/FeatureList.pm: Remove intersection-observer option
8:06 PM Changeset in webkit [282486] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Fix Xcode build

Unreviewed.

  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
6:40 PM Changeset in webkit [282485] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fixes for build-webkit --minimal
https://bugs.webkit.org/show_bug.cgi?id=229780

Patch by Philip Chimento <pchimento@igalia.com> on 2021-09-15
Reviewed by Fujii Hironori.

Remove the fast-jit-permissions, legacy-css-vendor-prefixes,
webassembly-streaming-api, and webgpu options. These don't seem to exist
anymore within the codebase and print an error if they are used.

  • Scripts/webkitperl/FeatureList.pm:
6:08 PM Changeset in webkit [282484] by commit-queue@webkit.org
  • 282 edits
    2 copies
    12 adds in trunk

Add IDL skeleton for SharedWorker
https://bugs.webkit.org/show_bug.cgi?id=230293

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-15
Reviewed by Geoff Garen.

LayoutTests/imported/w3c:

  • web-platform-tests/content-security-policy/connect-src/connect-src-eventsource-allowed.sub-expected.txt:
  • web-platform-tests/content-security-policy/form-action/form-action-src-blocked.sub-expected.txt:
  • web-platform-tests/content-security-policy/frame-src/frame-src-same-document.sub-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/script-tag.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/script-tag.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/script-tag.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/script-tag.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worklet-audio-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/script-tag.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/script-tag.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/worklet-audio-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/script-tag.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/script-tag.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/worklet-audio-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/script-tag.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/script-tag.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/script-tag.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/script-tag.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worklet-audio-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/script-tag.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/script-tag.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/worklet-audio-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/script-tag.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/script-tag.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/worklet-audio-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-wildcard/worklet-audio.https-expected.txt:
  • web-platform-tests/content-security-policy/inside-worker/sharedworker-connect-src.sub-expected.txt:
  • web-platform-tests/content-security-policy/inside-worker/sharedworker-report-only.sub-expected.txt:
  • web-platform-tests/content-security-policy/inside-worker/sharedworker-script-src.sub-expected.txt:
  • web-platform-tests/content-security-policy/reporting-api/reporting-api-works-on-frame-ancestors.https.sub-expected.txt:
  • web-platform-tests/content-security-policy/reporting/report-same-origin-with-cookies-expected.txt:
  • web-platform-tests/content-security-policy/sandbox/shared-worker-sandbox-expected.txt:
  • web-platform-tests/content-security-policy/script-src/worker-data-set-timeout.sub-expected.txt:
  • web-platform-tests/content-security-policy/script-src/worker-importscripts.sub-expected.txt:
  • web-platform-tests/content-security-policy/script-src/worker-set-timeout.sub-expected.txt:
  • web-platform-tests/fetch/api/cors/data-url-shared-worker-expected.txt:
  • web-platform-tests/fetch/api/request/destination/fetch-destination-worker.https-expected.txt:
  • web-platform-tests/fetch/metadata/sharedworker.https.sub-expected.txt:
  • web-platform-tests/fetch/sec-metadata/sharedworker.tentative.https.sub-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window-expected.txt:
  • web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker.https-expected.txt:
  • web-platform-tests/html/browsers/offline/no-appcache-in-shared-workers-historical.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/cache-storage-reporting-shared-worker.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.tentative.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.tentative.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/reporting-subresource-corp.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/worker-inheritance.sub.https-expected.txt:
  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-sharedworker-success.https-expected.txt:
  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-sharedworker-failure.https-expected.txt:
  • web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/utf-8-expected.txt:
  • web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/windows-1252-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/evaluation-order-1-nothrow-sharedworker-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/evaluation-order-1-sharedworker-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-order-1-nothrow-sharedworker-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-order-1-sharedworker-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-order-2-import-sharedworker-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-order-3-dynamic-sharedworker-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker-expected.txt:
  • web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin-expected.txt:
  • web-platform-tests/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/shared-worker/no-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/shared-worker/no-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/no-referrer/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/no-referrer/http-rp/same-origin/http-http/shared-worker/no-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/shared-worker/no-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/same-origin-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/shared-worker/no-redirect/same-origin-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/same-origin-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/shared-worker/no-redirect/same-origin-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/origin/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/origin/http-rp/same-origin/http-http/shared-worker/no-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/origin/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/origin/meta-referrer/same-origin/http-http/shared-worker/no-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/same-origin/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/same-origin-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/same-origin/http-rp/same-origin/http-http/shared-worker/no-redirect/same-origin-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/same-origin/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/same-origin-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/same-origin/meta-referrer/same-origin/http-http/shared-worker/no-redirect/same-origin-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/same-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/shared-worker/no-redirect/same-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/same-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/shared-worker/no-redirect/same-insecure.http-expected.txt:
  • web-platform-tests/referrer-policy/strict-origin/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/strict-origin/http-rp/same-origin/http-http/shared-worker/no-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/shared-worker/no-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/unsafe-url/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/unsafe-url/http-rp/same-origin/http-http/shared-worker/no-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/shared-worker/no-redirect/generic.http-expected.txt:
  • web-platform-tests/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/shared-worker/keep-origin-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/shared-worker/no-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/shared-worker/keep-origin-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/shared-worker/no-redirect/insecure-protocol.http-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/worker-interception-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success-and-failure-expected.txt:
  • web-platform-tests/wasm/serialization/module/window-sharedworker-failure-expected.txt:
  • web-platform-tests/webmessaging/broadcastchannel/workers-expected.txt:
  • web-platform-tests/workers/SharedWorker-constructor-expected.txt:
  • web-platform-tests/workers/SharedWorker-detach-frame-in-error-event-expected.txt:
  • web-platform-tests/workers/SharedWorker-exception-expected.txt:
  • web-platform-tests/workers/SharedWorker-exception-propagation-expected.txt:
  • web-platform-tests/workers/SharedWorker-script-error-expected.txt:
  • web-platform-tests/workers/SharedWorker-simple-expected.txt:
  • web-platform-tests/workers/SharedWorkerPerformanceNow-expected.txt:
  • web-platform-tests/workers/SharedWorker_blobUrl-expected.txt:
  • web-platform-tests/workers/SharedWorker_dataUrl-expected.txt:
  • web-platform-tests/workers/abrupt-completion-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/importScripts-in-sharedworker-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/xhr-in-sharedworker-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/connect-event-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/dummy-name-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/dummy-shared-worker-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/empty-name-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/global-members-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/interface-objects-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/name-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/no-arguments-ctor-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/null-arguments-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/number-arguments-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/port-onmessage-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/port-properties-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/port-readonly-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/same-origin-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/setting-port-members-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/undefined-arguments-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/unexpected-global-properties-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/unresolvable-url-expected.txt:
  • web-platform-tests/workers/data-url-shared-expected.txt:
  • web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/name/getting-expected.txt:
  • web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/name/setting-expected.txt:
  • web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/onconnect-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-sharedworker-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-import-blob-url.window-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-import-csp-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-import-data-url-cross-origin-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-import-data-url.window-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-import-failure-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-import-meta-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-import-referrer-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-import.window-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-options-credentials-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-options-type-expected.txt:
  • web-platform-tests/workers/modules/shared-worker-parse-error-failure-expected.txt:
  • web-platform-tests/workers/name-property-expected.txt:
  • web-platform-tests/workers/semantics/encodings/002-expected.txt:
  • web-platform-tests/workers/semantics/encodings/004-expected.txt:
  • web-platform-tests/workers/semantics/multiple-workers/001-expected.txt:
  • web-platform-tests/workers/semantics/multiple-workers/004-expected.txt:
  • web-platform-tests/workers/semantics/multiple-workers/008-expected.txt:
  • web-platform-tests/workers/semantics/multiple-workers/exposure.any-expected.txt:
  • web-platform-tests/workers/semantics/reporting-errors/001-expected.txt:
  • web-platform-tests/workers/semantics/reporting-errors/002-expected.txt:
  • web-platform-tests/workers/semantics/reporting-errors/003-expected.txt:
  • web-platform-tests/workers/semantics/reporting-errors/004-expected.txt:
  • web-platform-tests/workers/semantics/run-a-worker/002-expected.txt:
  • web-platform-tests/workers/semantics/run-a-worker/003-expected.txt:
  • web-platform-tests/workers/semantics/structured-clone/shared-expected.txt:
  • web-platform-tests/workers/semantics/xhr/003-expected.txt:
  • web-platform-tests/workers/semantics/xhr/004-expected.txt:
  • web-platform-tests/workers/semantics/xhr/006-expected.txt:
  • web-platform-tests/workers/shared-worker-from-blob-url.window-expected.txt:
  • web-platform-tests/workers/shared-worker-name-via-options-expected.txt:
  • web-platform-tests/workers/shared-worker-options-mismatch-expected.txt:
  • web-platform-tests/workers/shared-worker-parse-error-failure-expected.txt:
  • web-platform-tests/xhr/open-url-redirected-sharedworker-origin-expected.txt:

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • bindings/js/WebCoreJSClientData.h:
  • bindings/scripts/preprocess-idls.pl:
  • dom/EventTargetFactory.in:
  • workers/SharedWorker.cpp: Added.

(WebCore::SharedWorker::SharedWorker):
(WebCore::SharedWorker::port const):
(WebCore::SharedWorker::scriptExecutionContext const):
(WebCore::SharedWorker::eventTargetInterface const):

  • workers/SharedWorker.h: Added.
  • workers/SharedWorker.idl: Added.
  • workers/SharedWorkerGlobalScope.cpp: Added.

(WebCore::SharedWorkerGlobalScope::name const):
(WebCore::SharedWorkerGlobalScope::close):

  • workers/SharedWorkerGlobalScope.h: Added.

(isType):

  • workers/SharedWorkerGlobalScope.idl: Added.
  • workers/Worker.cpp:

(WebCore::Worker::Worker):
(WebCore::Worker::create):

  • workers/Worker.h:
  • workers/Worker.idl:
  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::isSharedWorkerGlobalScope const):

  • workers/WorkerOptions.h: Copied from Source/WebCore/workers/Worker.idl.
  • workers/WorkerOptions.idl: Copied from Source/WebCore/workers/Worker.idl.

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
6:02 PM Changeset in webkit [282483] by Chris Dumez
  • 6 edits in trunk

Implement network process crash recovery for BroadcastChannel
https://bugs.webkit.org/show_bug.cgi?id=230236

Reviewed by Alex Christensen.

Source/WebKit:

Have the WebBroadcastChannelRegistry register its BroadcastChannels with the network
process after a network process crash. This is useful so that cross-WebProcess
communication can keep happening via existing BroadcastChannel after a network process
crash.

  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.cpp:

(WebKit::WebBroadcastChannelRegistry::networkProcessCrashed):

  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::networkProcessConnectionClosed):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:

(-[BroadcastChannelMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):

5:26 PM Changeset in webkit [282482] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Remove the "core.webKitBranchBuild" prompt from setup-git-clone
https://bugs.webkit.org/show_bug.cgi?id=230323

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/tool/commands/setupgitclone.py:

(SetupGitClone.execute):
"core.webKitBranchBuild" is an advanced feature and also doesn't work
at all for Apple folks (leading to a myriad of bizarro build problems).
Folks who want it can use the documentation (UsingGitWithWebKit on the Wiki),
but in general, until it's well supported, it's best if we don't encourage it.

5:03 PM Changeset in webkit [282481] by Eric Hutchison
  • 2 edits in trunk/LayoutTests/imported/w3c

[Catalina Release] imported/w3c/web-platform-tests/css/css-transforms/crashtests/transform-marquee-resize-div-image-001.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230327.

Unreviewed re-baseline.

  • web-platform-tests/css/css-transforms/crashtests/transform-marquee-resize-div-image-001-expected.txt:
4:50 PM Changeset in webkit [282480] by Simon Fraser
  • 13 edits
    3 moves in trunk/Source/WebCore

Rename ScrollController to ScollingEffectsController
https://bugs.webkit.org/show_bug.cgi?id=230312

Reviewed by Tim Horton.

ScrollController is about rubberbanding, momentum etc, which are scrolling "effects",
so rename to ScrollingEffectsController.

ScrollController is the name I want to ultimately use for ScrollAnimator.

  • PlatformMac.cmake:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/EventHandler.cpp:

(WebCore::EventHandler::scrollableAreaCanHandleEvent):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::startAnimationCallback):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::stopAnimationCallback):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching const):

  • platform/KeyboardScrollingAnimator.cpp:

(WebCore::KeyboardScrollingAnimator::KeyboardScrollingAnimator):

  • platform/KeyboardScrollingAnimator.h:
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::startAnimationCallback):
(WebCore::ScrollAnimator::stopAnimationCallback):

  • platform/ScrollAnimator.h:
  • platform/ScrollingEffectsController.cpp: Renamed from Source/WebCore/platform/ScrollController.cpp.

(WebCore::ScrollingEffectsController::ScrollingEffectsController):
(WebCore::ScrollingEffectsController::animationCallback):
(WebCore::ScrollingEffectsController::startOrStopAnimationCallbacks):
(WebCore::ScrollingEffectsController::beginKeyboardScrolling):
(WebCore::ScrollingEffectsController::stopKeyboardScrolling):
(WebCore::ScrollingEffectsController::setIsAnimatingRubberBand):
(WebCore::ScrollingEffectsController::setIsAnimatingScrollSnap):
(WebCore::ScrollingEffectsController::setIsAnimatingKeyboardScrolling):
(WebCore::ScrollingEffectsController::usesScrollSnap const):
(WebCore::ScrollingEffectsController::setSnapOffsetsInfo):
(WebCore::ScrollingEffectsController::snapOffsetsInfo const):
(WebCore::ScrollingEffectsController::activeScrollSnapIndexForAxis const):
(WebCore::ScrollingEffectsController::setActiveScrollSnapIndexForAxis):
(WebCore::ScrollingEffectsController::setNearestScrollSnapIndexForAxisAndOffset):
(WebCore::ScrollingEffectsController::adjustScrollDestination):
(WebCore::ScrollingEffectsController::updateActiveScrollSnapIndexForClientOffset):
(WebCore::ScrollingEffectsController::resnapAfterLayout):
(WebCore::ScrollingEffectsController::updateKeyboardScrollingAnimatingState):
(WebCore::ScrollingEffectsController::~ScrollingEffectsController):
(WebCore::ScrollingEffectsController::stopAllTimers):
(WebCore::ScrollingEffectsController::scrollPositionChanged):
(WebCore::ScrollingEffectsController::updateScrollSnapAnimatingState):
(WebCore::ScrollingEffectsController::updateRubberBandAnimatingState):

  • platform/ScrollingEffectsController.h: Renamed from Source/WebCore/platform/ScrollController.h.
  • platform/mac/ScrollingEffectsController.mm: Renamed from Source/WebCore/platform/mac/ScrollController.mm.

(WebCore::ScrollingEffectsController::~ScrollingEffectsController):
(WebCore::ScrollingEffectsController::stopAllTimers):
(WebCore::ScrollingEffectsController::handleWheelEvent):
(WebCore::ScrollingEffectsController::wheelDeltaBiasingTowardsVertical):
(WebCore::ScrollingEffectsController::directionFromEvent):
(WebCore::ScrollingEffectsController::updateRubberBandAnimatingState):
(WebCore::ScrollingEffectsController::scrollPositionChanged):
(WebCore::ScrollingEffectsController::isUserScrollInProgress const):
(WebCore::ScrollingEffectsController::isRubberBandInProgress const):
(WebCore::ScrollingEffectsController::isScrollSnapInProgress const):
(WebCore::ScrollingEffectsController::stopRubberbanding):
(WebCore::ScrollingEffectsController::startRubberbandAnimation):
(WebCore::ScrollingEffectsController::stopSnapRubberbandAnimation):
(WebCore::ScrollingEffectsController::snapRubberBand):
(WebCore::ScrollingEffectsController::shouldRubberBandInHorizontalDirection const):
(WebCore::ScrollingEffectsController::shouldRubberBandInDirection const):
(WebCore::ScrollingEffectsController::isRubberBandInProgressInternal const):
(WebCore::ScrollingEffectsController::updateRubberBandingState):
(WebCore::ScrollingEffectsController::updateRubberBandingEdges):
(WebCore::ScrollingEffectsController::shouldOverrideMomentumScrolling const):
(WebCore::ScrollingEffectsController::scheduleStatelessScrollSnap):
(WebCore::ScrollingEffectsController::statelessSnapTransitionTimerFired):
(WebCore::ScrollingEffectsController::startDeferringWheelEventTestCompletionDueToScrollSnapping):
(WebCore::ScrollingEffectsController::stopDeferringWheelEventTestCompletionDueToScrollSnapping):
(WebCore::ScrollingEffectsController::processWheelEventForScrollSnap):
(WebCore::ScrollingEffectsController::updateGestureInProgressState):
(WebCore::ScrollingEffectsController::startScrollSnapAnimation):
(WebCore::ScrollingEffectsController::stopScrollSnapAnimation):
(WebCore::ScrollingEffectsController::updateScrollSnapAnimatingState):

4:13 PM Changeset in webkit [282479] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Update test expectations for security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html.
https://bugs.webkit.org/show_bug.cgi?id=229505.

Unreviewed test gardening .

3:18 PM Changeset in webkit [282478] by sbarati@apple.com
  • 47 edits in trunk/Source/JavaScriptCore

Move some profiling to UnlinkedCodeBlock
https://bugs.webkit.org/show_bug.cgi?id=230078
<rdar://problem/82947571>

Reviewed by Yusuke Suzuki.

This patch moves ValueProfiles and ArrayProfiles for non-call opcodes into
UnlinkedCodeBlock. This way, the data is shared between the linked CodeBlocks
of the same UnlinkedCodeBlock. The profiling bet here is that when the same code
runs in a different global object, it largely runs in the same way. We've made
this same bet in other ways with our profiling, and it largely makes sense
to do for ValueProfile and ArrayProfile since they both hold global object
independent data.

Because ArrayProfiles are now shared between CodeBlocks, the existing m_usesOriginalArrayStructures
bit is slightly harder to track now, since the ArrayProfile may see inputs from a different
global object, an array may be an original array in one lexical global object,
but not another. So we now track when an ArrayProfile sees a different global
object than the lexical global object, and when we observe exits in the DFG,
we propagate that bit to the m_usesOriginalArrayStructures bit.

This patch also makes it so we no longer hold the CodeBlock lock when
processing ValueProfiles and ArrayProfiles. We now allow multiple compiler
threads to race against each other when updating these profiles. This is fine.
It may end up with incomplete data in the profiles, but it won't corrupt them.

This patch also makes it so we finalized visited UnlinkedCodeBlocks to finalize
their value profiles. We no longer do that work inside CodeBlock for the
ValueProfiles that UnlinkedCodeBlock owns. This also means that we have to
WriteBarrier UnlinkedCodeBlock when executing in the LLInt, Baseline, and
other areas, such as OSR exit, and in the GC when a CodeBlock was executing.
That way we're guaranteed to visit the UnlinkedCodeBlock, add it to the
visited set, and then finalize it at the end of GC.

This patch also makes it so that inside CodeBlock::finishCreation, we finish
linking before we do anything that can throw an exception. It's not valid to
finalize a CodeBlock that isn't linked.

This was measured as a 0.5-1% speedup on Speedometer2.

  • bytecode/ArrayProfile.cpp:

(JSC::ArrayProfile::computeUpdatedPrediction):
(JSC::ArrayProfile::briefDescription):
(JSC::ArrayProfile::briefDescriptionWithoutUpdating):

  • bytecode/ArrayProfile.h:

(JSC::ArrayProfile::ArrayProfile):
(JSC::ArrayProfile::observedArrayModes const):
(JSC::ArrayProfile::mayInterceptIndexedAccesses const):
(JSC::ArrayProfile::mayStoreToHole const):
(JSC::ArrayProfile::outOfBounds const):
(JSC::ArrayProfile::usesOriginalArrayStructures const):
(JSC::ArrayProfile::setDoesNotUseOriginalArrayStructures):
(JSC::ArrayProfile::observedDifferentGlobalObject const):

  • bytecode/BytecodeList.rb:
  • bytecode/BytecodeOperandsForCheckpoint.h:

(JSC::valueProfileForImpl):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::setConstantRegisters):
(JSC::CodeBlock::initializeTemplateObjects):
(JSC::CodeBlock::setNumParameters):
(JSC::CodeBlock::visitChildren):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::getArrayProfile):
(JSC::CodeBlock::updateAllValueProfilePredictionsAndCountLiveness):
(JSC::CodeBlock::updateAllArrayPredictions):
(JSC::CodeBlock::tryGetValueProfileForBytecodeIndex):
(JSC::CodeBlock::valueProfilePredictionForBytecodeIndex):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::offsetOfUnlinkedCodeBlock):
(JSC::CodeBlock::numberOfArgumentValueProfiles):
(JSC::CodeBlock::valueProfileForArgument):
(JSC::CodeBlock::metadata):

  • bytecode/CodeBlockInlines.h:

(JSC::CodeBlock::forEachValueProfile):
(JSC::CodeBlock::forEachArrayProfile):

  • bytecode/DFGExitProfile.cpp:

(JSC::DFG::ExitProfile::hasAnyExitsAt const):

  • bytecode/DFGExitProfile.h:
  • bytecode/GetByIdMetadata.h:

(JSC::GetByIdModeMetadata::setArrayLengthMode):

  • bytecode/LazyOperandValueProfile.cpp:

(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
(JSC::LazyOperandValueProfileParser::prediction const):

  • bytecode/MetadataTable.cpp:

(JSC::DeallocTable::withOpcodeType):

  • bytecode/MetadataTable.h:

(JSC::MetadataTable::get):
(JSC::MetadataTable::forEach):
(JSC::MetadataTable::getWithoutAligning):
(JSC::MetadataTable::getImpl): Deleted.

  • bytecode/Opcode.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::visitChildrenImpl):
(JSC::UnlinkedCodeBlock::allocateSharedProfiles):
(JSC::UnlinkedCodeBlock::finalizeUnconditionally):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::hasAnyExitsAt const):
(JSC::UnlinkedCodeBlock::hasAnyExitsAt):
(JSC::UnlinkedCodeBlock::valueProfile):
(JSC::UnlinkedCodeBlock::arrayProfile):
(JSC::UnlinkedCodeBlock::numValueProfiles const):
(JSC::UnlinkedCodeBlock::numArrayProfiles const):

  • bytecode/UnlinkedCodeBlockGenerator.cpp:

(JSC::UnlinkedCodeBlockGenerator::finalize):

  • bytecode/UnlinkedMetadataTable.cpp:

(JSC::UnlinkedMetadataTable::finalize):

  • bytecode/UnlinkedMetadataTable.h:

(JSC::UnlinkedMetadataTable::isFinalized):
(JSC::UnlinkedMetadataTable::hasMetadata):

  • bytecode/UnlinkedMetadataTableInlines.h:

(JSC::UnlinkedMetadataTable::numEntries):

  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::ValueProfileBase):
(JSC::ValueProfileBase::clearBuckets):
(JSC::ValueProfileBase::briefDescription):
(JSC::ValueProfileBase::computeUpdatedPrediction):
(JSC::ValueProfile::offsetOfFirstBucket):
(JSC::ValueProfileBase::classInfo const): Deleted.

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::fromObserved):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::withSpeculationFromProfile const):
(JSC::DFG::ArrayMode::withProfile const):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getArrayMode):
(JSC::DFG::ByteCodeParser::handleVarargsInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::handlePutByVal):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):

  • dfg/DFGGraph.h:
  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::osrWriteBarrier):
(JSC::DFG::adjustAndJumpToTarget):

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • heap/CodeBlockSetInlines.h:

(JSC::CodeBlockSet::iterateViaSubspaces):

  • heap/Heap.cpp:

(JSC::Heap::finalizeMarkedUnconditionalFinalizers):
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::deleteUnmarkedCompiledCode):
(JSC::Heap::runEndPhase):
(JSC::Heap::addCoreConstraints):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::emitValueProfilingSiteIfProfiledOpcode):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_enter):
(JSC::JIT::op_enter_handlerGenerator):

  • jit/JITOperations.cpp:

(JSC::putByValOptimize):
(JSC::directPutByValOptimize):
(JSC::JSC_DEFINE_JIT_OPERATION):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::generateGetByValSlowCase):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_in_by_val):
(JSC::JIT::emitSlow_op_in_by_val):
(JSC::JIT::generateOpGetFromScopeThunk):
(JSC::JIT::slow_op_get_from_scopeGenerator):
(JSC::JIT::emit_op_enumerator_get_by_val):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_in_by_val):
(JSC::JIT::emitSlow_op_in_by_val):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::performLLIntGetByID):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::getByVal):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence):

  • runtime/CachedTypes.cpp:

(JSC::CachedCodeBlock::numValueProfiles const):
(JSC::CachedCodeBlock::numArrayProfiles const):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
(JSC::CachedCodeBlock<CodeBlockType>::encode):

  • runtime/CommonSlowPaths.cpp:

(JSC::iteratorNextTryFastImpl):
(JSC::JSC_DEFINE_COMMON_SLOW_PATH):

  • runtime/JSScope.cpp:

(JSC::abstractAccess):
(JSC::JSScope::abstractResolve):

  • runtime/VM.cpp:
  • runtime/VM.h:

(JSC::VM::forEachUnlinkedCodeBlockSpace):
(JSC::VM::forEachCodeBlockSpace): Deleted.

3:12 PM Changeset in webkit [282477] by Patrick Angle
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: TreeOutline should return early when failing to find an ancestor while populating the tree
https://bugs.webkit.org/show_bug.cgi?id=230287

Reviewed by Devin Rousso.

When an ancestor can not be found, we should return to prevent additional work (which will fail) from being done.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype.findTreeElement):

2:51 PM Changeset in webkit [282476] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS Mac Debug ] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/coop-navigated-history-popup.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230268

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations: Removed [ Debug ]
  • platform/mac-wk2/TestExpectations: Updated bug number
2:49 PM Changeset in webkit [282475] by Patrick Angle
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: DOMTreeUpdater doesn't complete deferred updating/clear updated lists when a node isn't found in the tree
https://bugs.webkit.org/show_bug.cgi?id=230289

Reviewed by Devin Rousso.

Instead of an early return when a tree element can't be found, we should continue on to the next updated node
and finish out by clearing the collections of updated nodes, otherwise a node that will never be findable again
will cause extra work to be done on every update.

  • UserInterface/Views/DOMTreeUpdater.js:

(WI.DOMTreeUpdater.prototype._updateModifiedNodes):

2:43 PM Changeset in webkit [282474] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ Monterey wk2 ] imported/w3c/web-platform-tests/service-workers/service-worker/import-scripts-cross-origin.https.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=228200

Unreviewed test gardening. Removing no longer needed test expectation.

  • platform/mac-wk2/TestExpectations:
2:41 PM Changeset in webkit [282473] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ BigSur ] fast/canvas/canvas-draw-canvas-on-canvas-flushing-order.html is a flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=230313

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:02 PM Changeset in webkit [282472] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Unreviewed, build fix after r282464

  • Modules/applepay/ApplePayDetailsUpdateData.h:

(WebCore::ApplePayDetailsUpdateData::encode const):
(WebCore::ApplePayDetailsUpdateData::decodeData):

1:59 PM Changeset in webkit [282471] by clopez@igalia.com
  • 36 edits
    13 adds
    2 deletes in trunk/LayoutTests

[GTK][WPE] Gardening of tests: report new failures and rebaseline tests.

Unreviewed test gardening.

Mark some expected new failures and also rebaseline several tests.

rebaseline after r282356

imported/w3c/web-platform-tests/css/css-typed-om/rotate-by-added-angle.html
imported/w3c/web-platform-tests/css/css-typed-om/width-by-max-px-em.html
imported/w3c/web-platform-tests/css/css-typed-om/width-by-min-px-em.html

rebaseline after r282341

imported/w3c/web-platform-tests/css/cssom-view/getBoundingClientRect-empty-inline.html
imported/w3c/web-platform-tests/css/cssom-view/getBoundingClientRect-shy.html
imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline.html
imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline.html

rebaseline after r282143

imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html

rebaseline after r282357

imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html

rebaseline after r282441

imported/w3c/web-platform-tests/resize-observer/svg.html

rebaseline after r282306

tables/mozilla/bugs/bug39209.html
tables/mozilla/bugs/bug44505.html
tables/mozilla/marvin/x_col_valign_baseline.xml
tables/mozilla/marvin/x_colgroup_valign_baseline.xml
tables/mozilla_expected_failures/bugs/bug1725.html
fast/forms/file/file-input-direction.html
fast/multicol/span/span-as-immediate-child-property-removal.html
fast/replaced/width100percent-button.html
fast/table/mozilla-bug10296-vertical-align-1.html
fast/table/mozilla-bug10296-vertical-align-2.html
fast/table/rowspan-paint-order-vertical.html

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/css/cssom-view/getBoundingClientRect-shy-expected.txt: Added.
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/forms/file/file-input-direction-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
  • platform/gtk/fast/replaced/width100percent-button-expected.txt:
  • platform/gtk/fast/table/mozilla-bug10296-vertical-align-1-expected.txt:
  • platform/gtk/fast/table/mozilla-bug10296-vertical-align-2-expected.txt:
  • platform/gtk/fast/table/rowspan-paint-order-vertical-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-typed-om/rotate-by-added-angle-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-typed-om/width-by-max-px-em-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-typed-om/width-by-min-px-em-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom-view/getBoundingClientRect-empty-inline-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt: Removed.
  • platform/gtk/tables/mozilla/bugs/bug39209-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug44505-expected.txt:
  • platform/gtk/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
  • platform/gtk/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
  • platform/wpe/fast/forms/file/file-input-direction-expected.txt: Added.
  • platform/wpe/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
  • platform/wpe/fast/replaced/width100percent-button-expected.txt:
  • platform/wpe/fast/table/mozilla-bug10296-vertical-align-1-expected.txt:
  • platform/wpe/fast/table/mozilla-bug10296-vertical-align-2-expected.txt:
  • platform/wpe/fast/table/rowspan-paint-order-vertical-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-typed-om/rotate-by-added-angle-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-typed-om/width-by-max-px-em-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-typed-om/width-by-min-px-em-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt: Removed.
  • platform/wpe/tables/mozilla/bugs/bug39209-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug44505-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
1:43 PM Changeset in webkit [282470] by ysuzuki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, build failure on Big Sur

Whether encoder / decoder are used is relying on the Internal code expanded by the macro.

  • Modules/applepay/ApplePayDetailsUpdateData.h:

(WebCore::ApplePayDetailsUpdateData::encode const):
(WebCore::ApplePayDetailsUpdateData::decodeData):

1:18 PM Changeset in webkit [282469] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Avoid GCC warnings introduced in r282125
https://bugs.webkit.org/show_bug.cgi?id=230154

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-09-15
Reviewed by Fujii Hironori.

Yusuke suggested casting to UChar to avoid -Wswitch-out-of-range. This works!

Also, avoid -Wredundant-move by removing one unnecessary WTFMove.

  • runtime/ISO8601.cpp:

(JSC::ISO8601::parseTimeZoneBracketedAnnotation):
(JSC::ISO8601::canBeTimeZone):
(JSC::ISO8601::parseTimeZone):

1:17 PM Changeset in webkit [282468] by ysuzuki@apple.com
  • 6 edits
    2 adds in trunk

[JSC] Optimize leaf object creation in JSON.parse
https://bugs.webkit.org/show_bug.cgi?id=230298

Reviewed by Keith Miller.

JSTests:

  • microbenchmarks/json-parse-leaf-object.js: Added.

Source/JavaScriptCore:

This patch optimizes JSON.parse.

  1. Use table in isJSONWhiteSpace.
  2. Extract primitive value creation as parsePrimitiveValue function to use it in different place.
  3. Add leaf-object creation fast path. Previously, when creating a leaf-object from JSON.parse we are too generic and jumping around the code. Instead we add a fast path that does not perform unnecessary operations and code gets tight.

It offers 3-4% improvement in microbenchmarks.

ToT Patched

vanilla-es2015-babel-webpack-todomvc-json-parse

104.7169+-0.1113 101.4836+-0.2168 definitely 1.0319x faster

flight-todomvc-json-parse 53.9074+-0.0957 52.1347+-0.0802 definitely 1.0340x faster
vanilla-es2015-todomvc-json-parse 104.9373+-0.1631 101.4978+-0.1073 definitely 1.0339x faster
vanilla-todomvc-json-parse 79.1330+-0.0963 76.7568+-0.1606 definitely 1.0310x faster

This offers 0.2% improvement in Speedometer2.


| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |


| Elm-TodoMVC |116.860000 |116.825000 |0.999700 | 0.901070 |
| VueJS-TodoMVC |24.658333 |24.763333 |1.004258 | 0.571728 |
| EmberJS-TodoMVC |126.666667 |126.335000 |0.997382 | 0.289517 |
| BackboneJS-TodoMVC |48.435000 |48.523333 |1.001824 | 0.455638 |
| Preact-TodoMVC |17.585000 |17.368333 |0.987679 | 0.247658 |
| AngularJS-TodoMVC |129.576667 |129.398333 |0.998624 | 0.625634 |
| Vanilla-ES2015-TodoMVC |62.746667 |62.241667 |0.991952 | 0.000019 (significant) |
| Inferno-TodoMVC |63.741667 |63.495000 |0.996130 | 0.448861 |
| Flight-TodoMVC |78.021667 |77.306667 |0.990836 | 0.087137 |
| Angular2-TypeScript-TodoMVC |39.823333 |39.923333 |1.002511 | 0.736279 |
| VanillaJS-TodoMVC |50.073333 |49.791667 |0.994375 | 0.136495 |
| jQuery-TodoMVC |221.300000 |221.586667 |1.001295 | 0.418008 |
| EmberJS-Debug-TodoMVC |340.145000 |339.965000 |0.999471 | 0.691490 |
| React-TodoMVC |85.698333 |85.650000 |0.999436 | 0.761586 |
| React-Redux-TodoMVC |140.510000 |140.785000 |1.001957 | 0.285922 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |60.928333 |60.500000 |0.992970 | 0.000069 (significant) |


a mean = 262.15844
b mean = 262.72261
pValue = 0.0428052487
(Bigger means are better.)
1.002 times better
Results ARE significant

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::makeIdentifier):
(JSC::isJSONWhiteSpace):
(JSC::LiteralParser<CharType>::Lexer::lex):
(JSC::LiteralParser<CharType>::parsePrimitiveValue):
(JSC::LiteralParser<CharType>::parse):

  • runtime/LiteralParser.h:

LayoutTests:

  • js/dom/JSON-parse-expected.txt:
1:06 PM Changeset in webkit [282467] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip a layout worklet test as it is not supported.

1:02 PM Changeset in webkit [282466] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip a couple of SharedWorker tests.

These tests are flaky and we do not support SharedWorkers at the moment.

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

Cache resource paths in run-jsc-stress-tests for speedup
https://bugs.webkit.org/show_bug.cgi?id=230263

Patch by Geza Lore <gezalore@gmail.com> on 2021-09-15
Reviewed by Adrian Perez de Castro.

A large portion of the serial startup time of run-jsc-stress-tests is
just re-computing file system paths of bundle resources over and over
again. Cache results for a 40% speedup of the test enumeration phase.

  • Scripts/run-jsc-stress-tests:
11:37 AM Changeset in webkit [282464] by Devin Rousso
  • 14 edits in trunk/Source

[Payment Request] Clean up some WKA hooks
https://bugs.webkit.org/show_bug.cgi?id=230182
<rdar://problem/78824639>

Reviewed by Tim Horton.

Source/WebCore:

  • Modules/applepay/ApplePaySession.cpp:

(WebCore::convertAndValidate):
(WebCore::merge):

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::convertAndValidate):

  • testing/MockPaymentCoordinator.h:
  • testing/MockPaymentCoordinator.cpp:

(WebCore::MockPaymentCoordinator::showPaymentUI):
(WebCore::MockPaymentCoordinator::completeShippingMethodSelection):
(WebCore::MockPaymentCoordinator::completeShippingContactSelection):
(WebCore::MockPaymentCoordinator::completePaymentMethodSelection):
(WebCore::MockPaymentCoordinator::completeCouponCodeChange):
(WebCore::MockPaymentCoordinator::merge):
Instead of using #define, create actual functions so that the code in WKA is cleaner.

  • Modules/applepay/ApplePayRequestBase.h:
  • Modules/applepay/ApplePayRequestBase.cpp:

(WebCore::convertAndValidate):
Remove unnecessary WKA hooks.

  • Modules/applepay/PaymentSummaryItems.h:
  • Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:

(WebCore::platformRecurringSummaryItem): Added.
(WebCore::platformDeferredSummaryItem): Added.
(WebCore::platformSummaryItem): Added.
(WebCore::toPKPaymentSummaryItem): Deleted.
Expose functions that convert ApplePayLineItem to PKPaymentSummaryItem (and subclasses).

Source/WebCore/PAL:

  • pal/spi/cocoa/PassKitSPI.h:

Source/WebKit:

  • Platform/cocoa/PaymentAuthorizationPresenter.mm:

(WebKit::merge):
(WebKit::PaymentAuthorizationPresenter::completePaymentMethodSelection):
(WebKit::PaymentAuthorizationPresenter::completeShippingContactSelection):
(WebKit::PaymentAuthorizationPresenter::completeShippingMethodSelection):
(WebKit::PaymentAuthorizationPresenter::completeCouponCodeChange):

  • Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::merge):
(WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest):
Instead of using #define, create actual functions so that the code in WKA is cleaner.

11:06 AM Changeset in webkit [282463] by Ziran Sun
  • 7 edits in trunk

[css-grid] Overflow should be computed with the actual logical bottom
https://bugs.webkit.org/show_bug.cgi?id=226981

Reviewed by Javier Fernandez.

When computing the overflow area in the grid container, we need to obtain the result of ClientLogicalBottom
function. This value should be retrieved after computing the actual logical height rather than before.

For grid, width/height of the overflow rect should be the width/height of the grid area of the items rather than
the width/height of the container block. As per https://github.com/w3c/csswg-drafts/issues/3653, child's margins
along with padding should contribute to the scrollable overflow area.

Test: imported/w3c/web-platform-tests/css/css-grid/alignment/grid-content-alignment-overflow-002.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::clientLogicalBottomAfterRepositioning):
(WebCore::RenderBlock::computeOverflow):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::logicalLeftForChild const):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::clientLogicalBottomAfterRepositioning): Deleted.

  • rendering/RenderFlexibleBox.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):

11:05 AM Changeset in webkit [282462] by Alan Coon
  • 1 copy in tags/Safari-613.1.1.5

Tag Safari-613.1.1.5.

10:57 AM Changeset in webkit [282461] by Alan Coon
  • 8 edits in branches/safari-613.1.1-branch/Source

Versioning.

WebKit-7613.1.1.5

10:52 AM Changeset in webkit [282460] by Alan Coon
  • 1 copy in tags/Safari-613.1.1.4

Tag Safari-613.1.1.4.

10:07 AM Changeset in webkit [282459] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

imported/w3c/web-platform-tests/webrtc-extensions/transfer-datachannel.html is failing after https://trac.webkit.org/changeset/282445/webkit
https://bugs.webkit.org/show_bug.cgi?id=230308

Reviewed by Eric Carlson.

Covered by no longer failing test.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::OnDataChannel):
We need to create the data channel object at the time we fire the event,
so that JS can transfer it synchronously in the same event loop.
This got regressed as we were creating the data channel, enqueuing a task to fire the data channel event.

9:55 AM Changeset in webkit [282458] by Russell Epstein
  • 8 edits in branches/safari-613.1.1-branch/Source

Versioning.

WebKit-7613.1.1.4

9:08 AM Changeset in webkit [282457] by Martin Robinson
  • 5 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-writing-modes.html depends on scrollbar placement and width
https://bugs.webkit.org/show_bug.cgi?id=230305

Reviewed by Manuel Rego Casasnovas.

LayoutTests/imported/w3c:

Modify this test so that scrollbars are not shown, which should make it independent
of scrollbar size and placement.

  • web-platform-tests/css/css-position/sticky/position-sticky-writing-modes-expected.html:
  • web-platform-tests/css/css-position/sticky/position-sticky-writing-modes.html:

LayoutTests:

8:23 AM Changeset in webkit [282456] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[WPE][GTK] Silence -Wswitch warning enumeration value ‘ExceededProcessCountLimit’ not handled in switch
https://bugs.webkit.org/show_bug.cgi?id=230280

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-09-15
Reviewed by Darin Adler.

  • UIProcess/API/glib/WebKitNavigationClient.cpp:
7:57 AM Changeset in webkit [282455] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

AX: Move platform specific code for isolated tree mode to the platform files
https://bugs.webkit.org/show_bug.cgi?id=230301
<rdar://problem/83138024>

Unreviewed follow up after r282450.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData): Remove PreventKeyboardDOMEventDispatch property set that
I forgot in r282450, since it's now done in initializePlatformProperties().

7:53 AM Changeset in webkit [282454] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore

Merge r282453 - Fix size calculation in ImageBufferCairoImageSurfaceBackend::create()
https://bugs.webkit.org/show_bug.cgi?id=229365

Reviewed by Don Olmstead.

  • platform/graphics/cairo/ImageBufferCairoImageSurfaceBackend.cpp:

(WebCore::ImageBufferCairoImageSurfaceBackend::calculateSafeBackendSize): Check the result of
cairo_format_stride_for_width() and the multiplication doesn't overflow.
(WebCore::ImageBufferCairoImageSurfaceBackend::create): Use tryFastCalloc() instead of tryFastZeroedMalloc().

7:52 AM Changeset in webkit [282453] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Fix size calculation in ImageBufferCairoImageSurfaceBackend::create()
https://bugs.webkit.org/show_bug.cgi?id=229365

Reviewed by Don Olmstead.

  • platform/graphics/cairo/ImageBufferCairoImageSurfaceBackend.cpp:

(WebCore::ImageBufferCairoImageSurfaceBackend::calculateSafeBackendSize): Check the result of
cairo_format_stride_for_width() and the multiplication doesn't overflow.
(WebCore::ImageBufferCairoImageSurfaceBackend::create): Use tryFastCalloc() instead of tryFastZeroedMalloc().

7:21 AM Changeset in webkit [282452] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] TextBoxSelectableRange::additionalLengthAtEnd miscomputed
https://bugs.webkit.org/show_bug.cgi?id=230306

Reviewed by Alan Bujtas.

It should be non-zero only if the run contains a hyphen. This doesn't yet affect
anything, but it will.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::selectableRange const):

6:46 AM Changeset in webkit [282451] by Aditya Keerthi
  • 5 edits
    2 adds in trunk

[iOS] Search inputs with '-webkit-appearance: textfield' should have a textfield background color
https://bugs.webkit.org/show_bug.cgi?id=229883
rdar://82146288

Reviewed by Tim Horton.

Source/WebCore:

In iOS 15, search inputs have a gray background color by default.
Some sites, such as booking.com, request that the input appear like
a textfield, by specifying '-webkit-appearance: textfield', over the
default 'searchfield'. This request was previously ignored, but there
was no observable difference since search inputs and text inputs had
the same default styling before iOS 15.

Now that the default styling is different, the appearance should be
honored, so that sites get the background color they expect.

Test: fast/forms/ios/form-control-refresh/search/textfield-appearance-background.html

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::adjustTextFieldStyle const):

Exclude any elements that have a textfield appearance by default from
the background color adjustment, so that their background color can be
customized.

LayoutTests:

  • fast/forms/ios/form-control-refresh/search/textfield-appearance-background-expected.txt: Added.
  • fast/forms/ios/form-control-refresh/search/textfield-appearance-background.html: Added.
  • platform/ios/fast/css/input-search-padding-expected.txt: Rebaseline.
6:44 AM Changeset in webkit [282450] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

AX: Move platform specific code for isolated tree mode to the platform files
https://bugs.webkit.org/show_bug.cgi?id=230301
<rdar://problem/83138024>

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-09-15
Reviewed by Adrian Perez de Castro.

Add missing ifdefs in the headers and move the mac specific code to mac files.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::isolatedTreeRootObject):
(WebCore::AXObjectCache::clientSupportsIsolatedTree): Deleted.
(WebCore::AXObjectCache::isIsolatedTreeEnabled): Deleted.
(WebCore::AXObjectCache::initializeSecondaryAXThread): Deleted.
(WebCore::AXObjectCache::usedOnAXThread): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::children):
(WebCore::AXIsolatedObject::preventKeyboardDOMEventDispatch const): Deleted.
(WebCore::AXIsolatedObject::setPreventKeyboardDOMEventDispatch): Deleted.
(WebCore::AXIsolatedObject::convertRectToPlatformSpace const): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:

(WebCore::AXIsolatedObject::initializePlatformProperties):
(WebCore::AXIsolatedObject::convertRectToPlatformSpace const):
(WebCore::AXIsolatedObject::preventKeyboardDOMEventDispatch const):
(WebCore::AXIsolatedObject::setPreventKeyboardDOMEventDispatch):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::clientSupportsIsolatedTree):
(WebCore::AXObjectCache::isIsolatedTreeEnabled):
(WebCore::AXObjectCache::initializeSecondaryAXThread):
(WebCore::AXObjectCache::usedOnAXThread):

6:33 AM Changeset in webkit [282449] by Antti Koivisto
  • 10 edits in trunk/Source/WebCore

[Layout][Integration] Remove unnecessary Run typedef
https://bugs.webkit.org/show_bug.cgi?id=230303

Reviewed by Alan Bujtas.

Use Layout::Run directly instead of LayoutIntegration::Run.

  • layout/integration/LayoutIntegrationInlineContent.cpp:

(WebCore::LayoutIntegration:: const):
(WebCore::LayoutIntegration::InlineContent::indexForRun const):
(WebCore::LayoutIntegration::InlineContent::firstRunForLayoutBox const):

  • layout/integration/LayoutIntegrationInlineContent.h:

(WebCore::LayoutIntegration::InlineContent::lineForRun const):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paintTextRunUsingPhysicalCoordinates):

  • layout/integration/LayoutIntegrationLineLayout.h:
  • layout/integration/LayoutIntegrationPagination.cpp:

(WebCore::LayoutIntegration::makeAdjustedContent):

  • layout/integration/LayoutIntegrationRunIterator.cpp:

(WebCore::LayoutIntegration::textRunFor):

  • layout/integration/LayoutIntegrationRunIterator.h:
  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::run const):

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::clearGlyphDisplayLists):

5:20 AM Changeset in webkit [282448] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

AX: Remove AXCoreObject::containsText
https://bugs.webkit.org/show_bug.cgi?id=230299
<rdar://problem/83134668>

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-09-15
Reviewed by Adrian Perez de Castro.

It's only used by isAccessibilityTextSearchMatch() in AccessibilityObject.cpp. We can move the implementation
there and avoid to include TextIterator.h in AccessibilityObjectInterface.h.

  • accessibility/AccessibilityObject.cpp:

(WebCore::Accessibility::isAccessibilityTextSearchMatch):

  • accessibility/AccessibilityObjectInterface.h:

(WebCore::AXCoreObject::containsText const): Deleted.

  • accessibility/isolatedtree/AXIsolatedTree.cpp:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
  • page/mac/ServicesOverlayController.mm:
5:09 AM Changeset in webkit [282447] by Martin Robinson
  • 9 edits in trunk

offsetLeft on display:inline element in vertical-rl parent can return a negative number
https://bugs.webkit.org/show_bug.cgi?id=230217

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt:
  • web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt:

Source/WebCore:

No new tests. This is covered by imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-inline.html.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::firstInlineBoxTopLeft const): When calculating offsetLeft and offsetTop instead
of using topLeft unconditionally, use LegacyInlineBox::locationIncludingFlipping which takes into
account writing mode.

LayoutTests:

  • TestExpectations: Unskip a newly passing test.
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt:
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt:
2:53 AM Changeset in webkit [282446] by timothy_horton@apple.com
  • 2 edits
    1 delete in trunk/Source/WebKit

Remove the "Replace WebKitAdditions in Framework Headers" build phase
https://bugs.webkit.org/show_bug.cgi?id=230300

Reviewed by Wenson Hsieh.

  • WebKit.xcodeproj/project.pbxproj:
  • mac/replace-webkit-additions-includes.py: Removed.

As Wenson pointed out in bug 230198, this build phase is currently unused.
It's also wasting a quarter of the WebKit-only null build time, so let's
just remove it and hope we never need it again (but if we do, it's in the history!).
This gets us down to 11 seconds on the same benchmark mentioned in r282367.

2:11 AM Changeset in webkit [282445] by youenn@apple.com
  • 25 edits in trunk

Use event queue to fire RTCPeerConnection events
https://bugs.webkit.org/show_bug.cgi?id=229944
<rdar://problem/83045723>

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCPeerConnection-createOffer-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-operations.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-stress-glare-linear.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-stress-glare.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer-expected.txt:
  • web-platform-tests/webrtc/no-media-call-expected.txt:

Source/WebCore:

Instead of using a dedicated task queue in peer connection to handle the suspend cases,
we now rely on queueTask to do this.
We do this for both promise resolution and dispatching events.

This allows to better order some promise resolutions and some event dispatching as well.
Previously, we were sometimes resolving a promise, then scheduling a task to fire an event.
The promise resolution callbacks in that case are expected to run first, in the same event loop,
then the event listeners are supposed to be executed.
It was not happening since we were not in the event loop, so the event was fired then the promise resolution callbacks executed.

Drive-by fix to reject createOffer/createAnswer in case signaling state is not correct as per
https://w3c.github.io/webrtc-pc/#dfn-creating-an-offer and https://w3c.github.io/webrtc-pc/#dfn-creating-an-answer.
Drive-by fix to not fire open event when data channel is closing as per https://w3c.github.io/webrtc-pc/#announcing-a-data-channel-as-open.

Update mock backend to correctly report signaling state.

Covered by updated tests.
Some tests are still flaky which might mean we still have some races that need to be investigated.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::iceGatheringStateChanged):
(WebCore::PeerConnectionBackend::newICECandidate):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):

  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::didChangeReadyState):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::resume):
(WebCore::RTCPeerConnection::setSignalingState):
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::updateConnectionState):
(WebCore::RTCPeerConnection::processIceTransportStateChange):
(WebCore::RTCPeerConnection::updateNegotiationNeededFlag):
(WebCore::RTCPeerConnection::scheduleEvent):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::OnDataChannel):
(WebCore::toRTCIceGatheringState):
(WebCore::LibWebRTCMediaEndpoint::OnIceGatheringChange):

  • testing/MockLibWebRTCPeerConnection.cpp:

(WebCore::MockLibWebRTCPeerConnection::signaling_state):

  • testing/MockLibWebRTCPeerConnection.h:

LayoutTests:

  • fast/mediastream/RTCPeerConnection-media-setup-single-dialog-expected.txt:
  • fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt:
  • fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt:
  • webrtc/peerconnection-page-cache-long.html:

The peer connection object might not be in disconnected state synchronously in
pageshow event handler. In that case, we should wait for disconnected state.

1:19 AM Changeset in webkit [282444] by youenn@apple.com
  • 9 edits in trunk/Source

Migrate to libwebrtc non-racy setRemoteDescription/setLocalDescription variants
https://bugs.webkit.org/show_bug.cgi?id=230262

Reviewed by Darin Adler.

Source/ThirdParty/libwebrtc:

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:

Source/WebCore:

We were using the old versions of libwebrtc SetLocalDescription/SetRemoteDescription.
As per the header file, these versions are potentially racy.
This patch migrates to new versions of the same API which in addition take more modern parameters instead of raw pointers.
We also modernize a bit the code by using methods manipulating unique_ptr instead of raw pointers.
Drive-by fix: Add support for getting back to new for ICE gathering state. This was missing and without it,
imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html would time out.
Update mock to implement the new method versions.

Covered by existing tests.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::sessionDescriptionType):
(WebCore::LibWebRTCMediaEndpoint::doSetLocalDescription):
(WebCore::LibWebRTCMediaEndpoint::doSetRemoteDescription):
(WebCore::LibWebRTCMediaEndpoint::OnIceGatheringChange):

  • Modules/mediastream/libwebrtc/LibWebRTCObservers.h:
  • testing/MockLibWebRTCPeerConnection.cpp:

(WebCore::MockLibWebRTCPeerConnection::SetLocalDescription):
(WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):

  • testing/MockLibWebRTCPeerConnection.h:
12:26 AM Changeset in webkit [282443] by Said Abou-Hallawa
  • 3 edits
    2 adds in trunk

Linear gradient sometimes is drawn incorrectly and sometimes hangs
https://bugs.webkit.org/show_bug.cgi?id=230145
<rdar://82428383>

Reviewed by Simon Fraser.

Source/WebCore:

Gradient::paint() has a few flaws:

1) We have to use atan2() instead of acos() to get the angle of the vector

(p0, p1) in the correct quadrant. acos() returns an angle between [0, pi].

2) The order in the case of 'repeat' and 'reflect' should be the following:

-- Move the points forward towards the bounding box.
-- Draw gradient and move the points forward till they are not

intersecting the bounding box.

-- Move the points backward towards the bounding box.
-- Draw gradient and move the points backward till they are not

intersecting the bounding box.

Tests: svg/gradients/gradient-flipped-start-end-points-expected.svg

svg/gradients/gradient-flipped-start-end-points.svg

  • platform/graphics/cg/GradientCG.cpp:

(WebCore::Gradient::paint):

LayoutTests:

  • svg/gradients/gradient-flipped-start-end-points-expected.svg: Added.
  • svg/gradients/gradient-flipped-start-end-points.svg: Added.
12:19 AM Changeset in webkit [282442] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

CSSFontFaceSrcValue.cssText should be quoted consistently with other browsers
https://bugs.webkit.org/show_bug.cgi?id=230273

Reviewed by Darin Adler.

Addressing post-review comments.

  • fast/css/font-face-src-parsing-expected.txt:
  • fast/css/font-face-src-parsing.html:

Sep 14, 2021:

11:16 PM Changeset in webkit [282441] by Simon Fraser
  • 23 edits
    4 copies
    4 adds
    1 delete in trunk

Implement the borderBoxSize/contentBoxSize parts of ResizeObserver
https://bugs.webkit.org/show_bug.cgi?id=230242

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

New results. WebKit seems to fire the "resize loop error" more than
other browsers, which seems to be an issue with the spec[1].

[1] https://github.com/w3c/csswg-drafts/issues/6610

  • web-platform-tests/resize-observer/idlharness.window-expected.txt:
  • web-platform-tests/resize-observer/observe-expected.txt:
  • web-platform-tests/resize-observer/svg-expected.txt:

Source/WebCore:

The Resize Observer spec has been updated to allow authors to observe
"content-box", "border-box" and "device-pixel-content-box". Add support
for the first two, adding ResizeObserverSize, ResizeObserverBoxOptions and
ResizeObserverOptions per spec.

ResizeObserverEntry also contains borderBoxSize and contentBoxSize now,
so support that.

Add some helpers to make it easier to get box logical sizes.

"device-pixel-content-box" is not yet supported because it's expensive to compute[2].

[1] https://drafts.csswg.org/resize-observer
[2] https://github.com/w3c/csswg-drafts/issues/6608

Tested by WPT.

  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/ResizeObservation.cpp:

(WebCore::ResizeObservation::create):
(WebCore::ResizeObservation::ResizeObservation):
(WebCore::ResizeObservation::updateObservationSize):
(WebCore::ResizeObservation::computeObservedSizes const):
(WebCore::ResizeObservation::computeContentRect const):
(WebCore::ResizeObservation::borderBoxSize const):
(WebCore::ResizeObservation::contentBoxSize const):
(WebCore::ResizeObservation::snappedContentBoxSize const):
(WebCore::ResizeObservation::elementSizeChanged const):
(WebCore::ResizeObservation::~ResizeObservation): Deleted.
(WebCore::ResizeObservation::computeObservedSize const): Deleted.

  • page/ResizeObservation.h:

(WebCore::ResizeObservation::observedBox const):

  • page/ResizeObserver.cpp:

(WebCore::ResizeObserver::observe):
(WebCore::ResizeObserver::gatherObservations):
(WebCore::ResizeObserver::deliverObservations):

  • page/ResizeObserver.h:
  • page/ResizeObserver.idl:
  • page/ResizeObserverBoxOptions.h: Added.
  • page/ResizeObserverBoxOptions.idl: Copied from Source/WebCore/page/ResizeObserverEntry.idl.
  • page/ResizeObserverEntry.h:

(WebCore::ResizeObserverEntry::create):
(WebCore::ResizeObserverEntry::contentRect const):
(WebCore::ResizeObserverEntry::borderBoxSize const):
(WebCore::ResizeObserverEntry::contentBoxSize const):
(WebCore::ResizeObserverEntry::ResizeObserverEntry):
(WebCore::ResizeObserverEntry::m_contentBoxSizes):

  • page/ResizeObserverEntry.idl:
  • page/ResizeObserverOptions.h: Added.
  • page/ResizeObserverOptions.idl: Copied from Source/WebCore/page/ResizeObserverEntry.idl.
  • page/ResizeObserverSize.h: Added.

(WebCore::ResizeObserverSize::create):
(WebCore::ResizeObserverSize::inlineSize const):
(WebCore::ResizeObserverSize::blockSize const):
(WebCore::ResizeObserverSize::ResizeObserverSize):

  • page/ResizeObserverSize.idl: Copied from Source/WebCore/page/ResizeObserverEntry.idl.
  • rendering/RenderBox.h:

(WebCore::RenderBox::logicalSize const):
(WebCore::RenderBox::borderBoxLogicalSize const):
(WebCore::RenderBox::contentLogicalSize const):

  • rendering/RenderElement.h:

(WebCore::adjustLayoutSizeForAbsoluteZoom):

  • rendering/style/RenderStyle.h:

(WebCore::adjustLayoutSizeForAbsoluteZoom):

LayoutTests:

Give macOS a platform expectation for this test since its results seem to be the odd one out.

  • platform/ios/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt: Removed.
  • platform/mac/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt.
11:14 PM Changeset in webkit [282440] by commit-queue@webkit.org
  • 4 edits in trunk

Fix button-min-width.html
https://bugs.webkit.org/show_bug.cgi?id=229984

Patch by Rob Buis <rbuis@igalia.com> on 2021-09-14
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-sizing/button-min-width-expected.txt:

Source/WebCore:

Do not use theme min-width/min-height values unless
it is bigger than the actual CSS property values.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):

11:01 PM Changeset in webkit [282439] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer][EME] Accomodate cbcs as cipher-mode instead of mime
https://bugs.webkit.org/show_bug.cgi?id=230265

Reviewed by Philippe Normand.

In https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1013
it was decided that there should not be x-cbcs as mime type but
rather x-cenc with cbcs as cipher-mode.

Fly-by change, we will return GST_FLOW_NOT_SUPPORTED when we get
skip and crypt cbcs encryption scheme.

  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

(transformInPlace):

10:38 PM Changeset in webkit [282438] by commit-queue@webkit.org
  • 4 edits in trunk

imported/w3c/web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change* tests fail
https://bugs.webkit.org/show_bug.cgi?id=203508

Patch by Rob Buis <rbuis@igalia.com> on 2021-09-14
Reviewed by Simon Fraser.

Source/WebCore:

For replaced elements like images, non specified min/max logical widths are a
reason for re-layout after intrinsic size change (for example min-width: min-content).

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::setNeedsLayoutIfNeededAfterIntrinsicSizeChange):

LayoutTests:

10:09 PM Changeset in webkit [282437] by Russell Epstein
  • 1 copy in tags/Safari-612.2.4.1.2

Tag Safari-612.2.4.1.2.

10:08 PM Changeset in webkit [282436] by Russell Epstein
  • 1 copy in tags/Safari-612.2.4.0.1

Tag Safari-612.2.4.0.1.

10:01 PM Changeset in webkit [282435] by Russell Epstein
  • 8 edits in branches/safari-612.2.4.0-branch/Source

Versioning.

WebKit-7612.2.4.0.1

9:57 PM Changeset in webkit [282434] by Russell Epstein
  • 1 copy in tags/Safari-612.2.6

Tag Safari-612.2.6.

9:24 PM Changeset in webkit [282433] by Kocsen Chung
  • 8 edits in branches/safari-612.2.4.1-branch/Source

Versioning.

WebKit-7612.2.4.1.2

9:21 PM Changeset in webkit [282432] by Russell Epstein
  • 1 copy in branches/safari-612.2.4.0-branch

New branch.

8:39 PM Changeset in webkit [282431] by don.olmstead@sony.com
  • 2 edits in trunk/Tools

Rename RESOURCE_LOAD_STATISTICS to INTELLIGENT_TRACKING_PREVENTION
https://bugs.webkit.org/show_bug.cgi?id=230279
<rdar://problem/83118683>

Reviewed by John Wilander.

Followup renaming the variables in FeatureList.pm.

  • Scripts/webkitperl/FeatureList.pm:
7:28 PM Changeset in webkit [282430] by don.olmstead@sony.com
  • 18 edits in trunk/Source

Non-unified build fixes, mid September 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=230110

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • runtime/TemporalPlainTimeConstructor.cpp:
  • runtime/TemporalPlainTimePrototype.cpp:

Source/WebCore:

  • css/calc/CSSCalcOperationNode.cpp:
  • css/calc/CSSCalcPrimitiveValueNode.cpp:
  • layout/formattingContexts/FormattingQuirks.cpp:
  • layout/formattingContexts/inline/invalidation/InlineDamage.h:
  • layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
  • loader/CrossOriginOpenerPolicy.cpp:
  • loader/DocumentWriter.cpp:
  • rendering/TextBoxPainter.cpp:

Source/WebKit:

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.cpp:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementNetworkLoader.cpp:

(WebKit::PCM::NetworkLoader::start):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementNetworkLoader.h:
  • NetworkProcess/storage/OriginStorageManager.h:
6:13 PM Changeset in webkit [282429] by wilander@apple.com
  • 106 edits in trunk

Rename RESOURCE_LOAD_STATISTICS to INTELLIGENT_TRACKING_PREVENTION
https://bugs.webkit.org/show_bug.cgi?id=230279
<rdar://problem/83118683>

Reviewed by Darin Adler.

.:

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsPlayStation.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):

  • dom/BroadcastChannel.cpp:

(WebCore::shouldPartitionOrigin):

  • dom/Document+StorageAccess.idl:
  • dom/Document.cpp:

(WebCore::Document::referrer):

  • dom/Document.h:
  • dom/DocumentStorageAccess.cpp:
  • dom/DocumentStorageAccess.h:
  • history/CachedPage.cpp:

(WebCore::CachedPage::CachedPage):
(WebCore::CachedPage::restore):
(WebCore::CachedPage::clear):

  • history/CachedPage.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):

  • loader/EmptyClients.cpp:
  • loader/EmptyFrameLoaderClient.h:
  • loader/FrameLoaderClient.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestInternal):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • page/ChromeClient.h:
  • page/CrossSiteNavigationDataTransfer.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::open):

  • page/Quirks.cpp:

(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):

  • page/Quirks.h:
  • platform/network/NetworkStorageSession.cpp:
  • platform/network/NetworkStorageSession.h:
  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::cookiesForURL const):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):

  • platform/network/curl/NetworkStorageSessionCurl.cpp:

(WebCore::NetworkStorageSession::setCookiesFromDOM const):

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::cookiesForSession):

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::updateClientSideCookiesAgeCap):

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::clearPageSpecificData):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::restrictRequestReferrerToOriginIfNeeded):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::resume):

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

(WebKit::NetworkResourceLoader::retrieveCacheEntryInternal):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::validateCacheEntryForMaxAgeCapValidation):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::~NetworkSession):
(WebKit::NetworkSession::invalidateAndCancel):

  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::storeRedirect):

  • NetworkProcess/cache/NetworkCacheEntry.cpp:
  • NetworkProcess/cache/NetworkCacheEntry.h:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

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

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

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):

  • NetworkProcess/curl/NetworkDataTaskCurl.cpp:

(WebKit::NetworkDataTaskCurl::NetworkDataTaskCurl):
(WebKit::NetworkDataTaskCurl::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCurl::blockCookies):
(WebKit::NetworkDataTaskCurl::unblockCookies):
(WebKit::NetworkDataTaskCurl::shouldBlockCookies):

  • NetworkProcess/curl/NetworkSessionCurl.cpp:

(WebKit::NetworkSessionCurl::NetworkSessionCurl):

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::createRequest):

  • Shared/ResourceLoadStatisticsParameters.h:

(WebKit::ResourceLoadStatisticsParameters::encode const):
(WebKit::ResourceLoadStatisticsParameters::decode):

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • Shared/WebProcessDataStoreParameters.h:

(WebKit::WebProcessDataStoreParameters::encode const):
(WebKit::WebProcessDataStoreParameters::decode):

  • Shared/WebsiteData/WebsiteData.cpp:

(WebKit::WebsiteData::encode const):
(WebKit::WebsiteData::decode):
(WebKit::WebsiteData::isolatedCopy const):

  • Shared/WebsiteData/WebsiteData.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadedSubresourceDomains):
(WKPageClearLoadedSubresourceDomains):

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreRemoveITPDataForDomain):
(WKWebsiteDataStoreDoesStatisticsDomainIDExistInDatabase):
(WKWebsiteDataStoreSetResourceLoadStatisticsEnabled):
(WKWebsiteDataStoreIsStatisticsEphemeral):
(WKWebsiteDataStoreSetResourceLoadStatisticsDebugModeWithCompletionHandler):
(WKWebsiteDataStoreSetResourceLoadStatisticsPrevalentResourceForDebugMode):
(WKWebsiteDataStoreSetStatisticsLastSeen):
(WKWebsiteDataStoreSetStatisticsMergeStatistic):
(WKWebsiteDataStoreSetStatisticsExpiredStatistic):
(WKWebsiteDataStoreSetStatisticsPrevalentResource):
(WKWebsiteDataStoreSetStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreDumpResourceLoadStatistics):
(WKWebsiteDataStoreIsStatisticsPrevalentResource):
(WKWebsiteDataStoreIsStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubresourceUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
(WKWebsiteDataStoreSetStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsOnlyInDatabaseOnce):
(WKWebsiteDataStoreSetStatisticsGrandfathered):
(WKWebsiteDataStoreIsStatisticsGrandfathered):
(WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsCrossSiteLoadWithLinkDecoration):
(WKWebsiteDataStoreSetStatisticsTimeToLiveUserInteraction):
(WKWebsiteDataStoreStatisticsProcessStatisticsAndDataRecords):
(WKWebsiteDataStoreStatisticsUpdateCookieBlocking):
(WKWebsiteDataStoreSetStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WKWebsiteDataStoreSetStatisticsIsRunningTest):
(WKWebsiteDataStoreSetStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WKWebsiteDataStoreSetStatisticsMinimumTimeBetweenDataRecordsRemoval):
(WKWebsiteDataStoreSetStatisticsGrandfatheringTime):
(WKWebsiteDataStoreSetStatisticsMaxStatisticsEntries):
(WKWebsiteDataStoreSetStatisticsPruneEntriesDownTo):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
(WKWebsiteDataStoreStatisticsDeleteCookiesForTesting):
(WKWebsiteDataStoreStatisticsHasLocalStorage):
(WKWebsiteDataStoreSetStatisticsCacheMaxAgeCap):
(WKWebsiteDataStoreStatisticsHasIsolatedSession):
(WKWebsiteDataStoreSetResourceLoadStatisticsShouldDowngradeReferrerForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsShouldBlockThirdPartyCookiesForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsFirstPartyWebsiteDataRemovalModeForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsToSameSiteStrictCookiesForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
(WKWebsiteDataStoreStatisticsResetToConsistentState):
(WKWebsiteDataStoreGetAllStorageAccessEntries):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _seedResourceLoadStatisticsForTestingWithFirstParty:thirdParty:shouldScheduleNotification:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _resourceLoadStatisticsDebugMode]):
(-[WKWebsiteDataStore _setResourceLoadStatisticsDebugMode:]):
(-[WKWebsiteDataStore _setResourceLoadStatisticsTestingCallback:]):
(-[WKWebsiteDataStore _loadedSubresourceDomainsFor:completionHandler:]):
(-[WKWebsiteDataStore _clearLoadedSubresourceDomainsFor:]):
(-[WKWebsiteDataStore _getAllStorageAccessEntriesFor:completionHandler:]):
(-[WKWebsiteDataStore _scheduleCookieBlockingUpdate:]):
(-[WKWebsiteDataStore _logUserInteraction:completionHandler:]):
(-[WKWebsiteDataStore _setPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _getIsPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _clearPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _clearResourceLoadStatistics:]):
(-[WKWebsiteDataStore _getResourceLoadStatisticsDataSummary:]):
(-[WKWebsiteDataStore _isRelationshipOnlyInDatabaseOnce:thirdParty:completionHandler:]):
(-[WKWebsiteDataStore _isRegisteredAsSubresourceUnderFirstParty:thirdParty:completionHandler:]):
(-[WKWebsiteDataStore _statisticsDatabaseHasAllTables:]):
(-[WKWebsiteDataStore _processStatisticsAndDataRecords:]):
(-[WKWebsiteDataStore _setThirdPartyCookieBlockingMode:onlyOnSitesWithoutUserInteraction:completionHandler:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Network/NetworkProcessProxy.cpp:
  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::webProcessDataStoreParameters):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:
  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::platformSetNetworkParameters):

  • UIProcess/WebsiteData/WebsiteDataRecord.cpp:

(WebKit::WebsiteDataRecord::isolatedCopy const):

  • UIProcess/WebsiteData/WebsiteDataRecord.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::setCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::resetCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::resourceLoadStatisticsEnabled const):
(WebKit::WebsiteDataStore::resourceLoadStatisticsDebugMode const):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsDebugMode):
(WebKit::WebsiteDataStore::isResourceLoadStatisticsEphemeral const):
(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::detachedFromParent2):
(WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
  • WebProcess/WebCoreSupport/WebResourceLoadObserver.h:
  • WebProcess/WebPage/WebCookieJar.cpp:

(WebKit::WebCookieJar::cookies const):
(WebKit::WebCookieJar::setCookies):
(WebKit::WebCookieJar::cookiesEnabled const):
(WebKit::WebCookieJar::cookieRequestHeaderFieldValue const):
(WebKit::WebCookieJar::getRawCookies const):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):

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

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::setWebsiteDataStoreParameters):
(WebKit::WebProcess::setResourceLoadStatisticsEnabled):
(WebKit::WebProcess::clearResourceLoadStatistics):
(WebKit::WebProcess::flushResourceLoadStatistics):
(WebKit::WebProcess::seedResourceLoadStatisticsForTesting):

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

Source/WTF:

  • wtf/PlatformEnableCocoa.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
5:31 PM Changeset in webkit [282428] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Remove test expectations for imported/w3c/web-platform-tests/resource-timing/status-codes-create-entry.html.
https://bugs.webkit.org/show_bug.cgi?id=229516.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
5:16 PM Changeset in webkit [282427] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Remove test expectations for imported/w3c/web-platform-tests/css/css-fonts/downloadable-font-in-iframe-print.html.
https://bugs.webkit.org/show_bug.cgi?id=229506.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
5:14 PM Changeset in webkit [282426] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Enable BroadcastChannel for modern WebKit
https://bugs.webkit.org/show_bug.cgi?id=230235

Reviewed by Geoffrey Garen.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
5:08 PM Changeset in webkit [282425] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[MacOS wk2 & iOS] 2 fast/canvas tests are flaky timeouts.
https://bugs.webkit.org/show_bug.cgi?id=228082

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
4:58 PM Changeset in webkit [282424] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[builtins-generator-tests] Invoke with Python 3
https://bugs.webkit.org/show_bug.cgi?id=229879

Patch by Kevin Neal <kevin_neal@apple.com> on 2021-09-14
Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/steps.py:

(RunBuiltinsTests):

  • Scripts/run-builtins-generator-tests:

(main): Deleted.

4:56 PM Changeset in webkit [282423] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

REGRESSION: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html is timing out on some bots.
https://bugs.webkit.org/show_bug.cgi?id=227973

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:52 PM Changeset in webkit [282422] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Remove test expectations for 3 iOS tests.
https://bugs.webkit.org/show_bug.cgi?id=229573.

Unreviewed test gardening.

  • platform/ios-14/TestExpectations:
4:47 PM Changeset in webkit [282421] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Fix -Wredundant-move warnings
https://bugs.webkit.org/show_bug.cgi?id=230282

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-09-14
Reviewed by Alex Christensen.

  • Platform/IPC/ArgumentCoders.cpp:

(IPC::ArgumentCoder<CString>::decode):

  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(IPC::ArgumentCoder<CertificateInfo>::decode):

3:57 PM Changeset in webkit [282420] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk/LayoutTests

[GLIB] Update platform test expectations and baselines after WPT import in r282287
https://bugs.webkit.org/show_bug.cgi?id=230281

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-09-14

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-computed-value-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/css-transform-inherit-rotate-expected.png: Added.
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/css-transform-inherit-rotate-expected.txt: Added.
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
3:42 PM Changeset in webkit [282419] by Wenson Hsieh
  • 10 edits in trunk/Source

[macOS] Avoid computing post-layout EditorState data unless necessary
https://bugs.webkit.org/show_bug.cgi?id=230204
<rdar://problem/83078713>

Reviewed by Devin Rousso.

Source/WebCore:

See WebKit/ChangeLog for more details.

  • page/Page.h:

(WebCore::Page::isEditable const): Mark this getter const.
(WebCore::Page::isEditable): Deleted.

Source/WebKit:

Add a new codepath on macOS that allows us to entirely avoid post-layout EditorState computation in the case
where it's not needed for anything; in particular, unless the text touch bar may be presented or the UI delegate
implements the -webView:didChangeFontAttributes: method, the post-layout portion of EditorState is not needed
at all.

See below for more details.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:

Plumb a bit indicating whether user interaction is required in order to show the text touch bar. See
WebPage::shouldAvoidComputingPostLayoutDataForEditorState below for more details.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState const):
(WebKit::WebPage::updateEditorStateAfterLayoutIfEditabilityChanged):

When computing EditorState.isContentEditable, use VisibleSelection's hasEditableStyle method instead of
isContentEditable. Unlike the latter, the former does not trigger style resolution.

(WebKit::WebPage::didStartPageTransition):

Make a slight adjustment to only set the m_hasEverFocusedElementDueToUserInteractionSincePageTransition bit if
the user is actually interacting with text form control or editable element. This allows us to still avoid
computing post-layout editor state data in cases where the user has clicked on non-editable elements on the
page, such that text editing controls in the touch bar are still not being shown.

(WebKit::WebPage::didChangeSelectionOrOverflowScrollPosition):
(WebKit::WebPage::sendEditorStateUpdate):

Don't bother scheduling another post-layout EditorState in the case where post-layout data is missing, but we're
avoiding post-layout data computation altogether due to shouldAvoidComputingPostLayoutDataForEditorState
returning true.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::requiresPostLayoutDataForEditorState const):
(WebKit::WebPage::shouldAvoidComputingPostLayoutDataForEditorState const):
(WebKit::WebPage::platformNeedsLayoutForEditorState const): Deleted.

Rename this to requiresPostLayoutDataForEditorState, to avoid some confusion with the new method,
shouldAvoidComputingPostLayoutDataForEditorState. The former is a way for platforms to indicate that post-
layout data *must* be included, even if layout is not up to date yet upon computing the EditorState. The latter
is a way for platforms to indicate that we can completely avoid all post-layout editor state computation,
regardless of whether or not layout is up to date.

By default, if both of the above methods return false, we compute and include post-layout data only if layout
is up-to-date when computing the EditorState, and schedule a subsequent "full" EditorState update after the
next rendering update in the case where layout was *not* up-to-date already (indicated by the EditorState's
isMissingPostLayoutData flag).

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requiresPostLayoutDataForEditorState const):
(WebKit::WebPage::platformNeedsLayoutForEditorState const): Deleted.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::shouldAvoidComputingPostLayoutDataForEditorState const):

Only return true here if the user interaction requirements for showing text editing controls on the touch bar
have not been met, and the UI delegate method for observing font attributes is also not implemented by the
client.

3:41 PM Changeset in webkit [282418] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ Catalina EWS ] http/tests/media/hls/range-request.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=229424

Unreviewed test gardening.

  • platform/mac/TestExpectations: Removed expectation
3:28 PM Changeset in webkit [282417] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Remove test expectations for pointerevents/mouse/compatibility-mouse-events-prevention-mouse-released.html.
https://bugs.webkit.org/show_bug.cgi?id=229522.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
3:25 PM Changeset in webkit [282416] by Ryan Haddad
  • 15 edits in trunk

Unreviewed, reverting r282408.

Breaks internal builds.

Reverted changeset:

"Enable RTCRtpScriptTransform by default"
https://bugs.webkit.org/show_bug.cgi?id=230220
https://commits.webkit.org/r282408

3:19 PM Changeset in webkit [282415] by mmaxfield@apple.com
  • 9 edits
    2 adds in trunk

CSSFontFaceSrcValue.cssText should be quoted consistently with other browsers
https://bugs.webkit.org/show_bug.cgi?id=230273
<rdar://problem/79644124>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

This is being upstreamed in https://github.com/web-platform-tests/wpt/pull/30784.

  • web-platform-tests/css/css-fonts/font-family-src-quoted-expected.txt: Added.
  • web-platform-tests/css/css-fonts/font-family-src-quoted.html: Added.
  • web-platform-tests/css/cssom/cssom-fontfacerule-expected.txt:

Source/WebCore:

In a src: line like "src: local(foobar)", Firefox and Chrome will both quote
"foobar" when reading out of the OM. Same thing with "src: url(foobar)".
We should match them.

Test: imported/w3c/web-platform-tests/css/css-fonts/font-family-src-quoted.html

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::customCSSText const):

  • css/CSSMarkup.cpp:

(WebCore::serializeIdentifier):
(WebCore::serializeString):

Source/WTF:

  • wtf/unicode/CharacterNames.h:

LayoutTests:

  • fast/css/font-face-src-parsing-expected.txt:
3:11 PM Changeset in webkit [282414] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

Run tests in fast/forms/ios by default in EWS.
https://bugs.webkit.org/show_bug.cgi?id=229656

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
3:09 PM Changeset in webkit [282413] by Ross Kirsling
  • 2 edits in trunk/Source/JavaScriptCore

[Win] JSRemoteInspector.h missing stdint include
https://bugs.webkit.org/show_bug.cgi?id=230275

Reviewed by Don Olmstead.

  • API/JSRemoteInspector.h:

Include stdint for uint8_t definition on Windows.

2:52 PM Changeset in webkit [282412] by commit-queue@webkit.org
  • 2 edits in trunk

Add dvh@apple.com to the list of contributors.
https://bugs.webkit.org/show_bug.cgi?id=230276

Patch by Hoa Dinh <dvh@apple.com> on 2021-09-14
Reviewed by Jonathan Bedard.

  • metadata/contributors.json:
2:29 PM Changeset in webkit [282411] by Russell Epstein
  • 1 copy in tags/Safari-612.1.29.41.4

Tag Safari-612.1.29.41.4.

2:27 PM Changeset in webkit [282410] by Russell Epstein
  • 8 edits in branches/safari-612.1.29.41-branch/Source

Versioning.

WebKit-7612.1.29.41.4

2:14 PM Changeset in webkit [282409] by Jonathan Bedard
  • 6 edits in trunk/Tools

[git-webkit] Reset author time when editing commits (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=230224
<rdar://problem/83065417>

Reviewed by Stephanie Lewis.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.pull): Force-update ref of pulled branch, reset author time of all rebased commits.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Add update-ref mock.
  • Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:

(TestDoPullRequest):

1:21 PM Changeset in webkit [282408] by youenn@apple.com
  • 15 edits in trunk

Enable RTCRtpScriptTransform by default
https://bugs.webkit.org/show_bug.cgi?id=230220
Source/WebCore:

Reviewed by Eric Carlson.

No change of behavior, renaming WebRTCInsertableStreamsEnabled to WebRTCEncodedTransformEnabled
and WebRTCSFrameTransformEnabled.

  • Modules/mediastream/RTCEncodedAudioFrame.idl:
  • Modules/mediastream/RTCEncodedVideoFrame.idl:
  • Modules/mediastream/RTCRtpReceiver+Transform.idl:
  • Modules/mediastream/RTCRtpSFrameTransform.idl:
  • Modules/mediastream/RTCRtpSFrameTransformErrorEvent.idl:
  • Modules/mediastream/RTCRtpScriptTransform.idl:
  • Modules/mediastream/RTCRtpScriptTransformer.idl:
  • Modules/mediastream/RTCRtpSender+Transform.idl:
  • Modules/mediastream/RTCTransformEvent.idl:
  • workers/DedicatedWorkerGlobalScope.idl:

Source/WTF:

Reviewed by Eric Carlson.

Splitting WebRTCInsertableStreamsEnabled to WebRTCEncodedTransformEnabled and WebRTCSFrameTransformEnabled.
Keeping WebRTCSFrameTransformEnabled as off by default until SFrame solidifies and mark WebRTCEncodedTransformEnabled as on by default.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

<rdar://problem/83090247>

Reviewed by Eric Carlson.

  • http/wpt/webrtc/no-webrtc-transform.html:

Migrate to new internal setting.

1:18 PM Changeset in webkit [282407] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS Mac Debug ] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/coop-navigated-history-popup.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230268

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
1:14 PM Changeset in webkit [282406] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

Enable IPCMessages debug logging for non-Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=230081
<rdar://problem/82939596>

Reviewed by Don Olmstead.

  • Platform/IPC/MessageArgumentDescriptions.h: Added some #if to

align with the generated MessageArgumentDescriptions.cpp.

1:09 PM Changeset in webkit [282405] by Fujii Hironori
  • 2 edits in trunk/Source/WTF

StackTrace outputs a garbage prefix because WTF::StackTrace::m_prefix is filled with the stack content
https://bugs.webkit.org/show_bug.cgi?id=230207

Reviewed by Yusuke Suzuki.

r278474 (Bug 226390) added a new member m_prefix to StackTrace at
the bottom of the structure. However, StackTrace isn't a normal
structure. The members are filled with the stack content.

  • wtf/StackTrace.h: Moved the m_prefix to the top of the members.
1:06 PM Changeset in webkit [282404] by Jonathan Bedard
  • 3 edits in trunk/Tools

[git-webkit] Reset author time when editing commits (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=230224
<rdar://problem/83065417>

Reviewed by Stephanie Lewis.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Capture 'git commit date=now'.
  • Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:

(PullRequest.create_commit): Always reset commit date.

12:59 PM Changeset in webkit [282403] by Darin Adler
  • 12 edits in trunk

URLs in CSS variables must be resolved against the base URL of the stylesheet, not the document
https://bugs.webkit.org/show_bug.cgi?id=230243

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/css/variables/url-with-variable-is-sheet-relative.html

  • css/CSSPendingSubstitutionValue.h: Removed baseURL, since CSSVariableReferenceValue now

contains an appropriate parsing context, which includes the base URL.

  • css/CSSVariableReferenceValue.cpp:

(WebCore::CSSVariableReferenceValue::CSSVariableReferenceValue): Store a CSSParserContext.
(WebCore::CSSVariableReferenceValue::create): Ditto.

  • css/CSSVariableReferenceValue.h: Updated for the above.
  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences): Use the context from the
variable reference, not the current one in the parser.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseValueStart): Pass a parser context when creating a
CSSVariableReferenceValue.

  • css/parser/CSSVariableParser.cpp:

(WebCore::CSSVariableParser::parseDeclarationValue): Ditto.

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::resolvedVariableValue): Remove the special case for
CSSPendingSubstitutionValue since CSSParser::parseValueWithVariableReferences
now takes care of this.

LayoutTests:

  • fast/css/variables/support/styles/url-with-variable-is-sheet-relative.css: Added 10 more test cases.
  • fast/css/variables/url-with-variable-is-sheet-relative-expected.html: Ditto.
  • fast/css/variables/url-with-variable-is-sheet-relative.html: Ditto.
12:53 PM Changeset in webkit [282402] by commit-queue@webkit.org
  • 2 edits
    6 adds in trunk/LayoutTests/imported/w3c

Add wpts for sin,cos,tan
https://bugs.webkit.org/show_bug.cgi?id=230129

Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2021-09-14
Reviewed by Simon Fraser.

  • web-platform-tests/css/support/numeric-testcommon.js:

(test_math_used):
Added helper function for testing approximate equals.

12:31 PM Changeset in webkit [282401] by Alan Bujtas
  • 4 edits
    4 adds in trunk/Source/WebCore

[LFC][IFC] Introduce InlineInvalidation/InlineDamage
https://bugs.webkit.org/show_bug.cgi?id=229225
<rdar://problem/82324227>

Reviewed by Antti Koivisto.

This is in preparation for supporting partial inline layout.

The initial implementation is going to only support a single type of damage (content changed, style changed etc) on a single line.
Anything more involved either

  1. folds into a full damage type of layout (i.e. no range support) e.g changing multiple images on different lines triggers vertical alignment on all the lines
  2. triggers the lowest level type of layout e.g. changing content on the first line while resizing the containing block folds into NeedsContentUpdateAndLineLayout.
  • CMakeLists.txt:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/formattingContexts/inline/invalidation/InlineDamage.h: Added.

(WebCore::Layout::InlineDamage::type const):
(WebCore::Layout::InlineDamage::line const):
(WebCore::Layout::InlineDamage::setDamageType):
(WebCore::Layout::InlineDamage::setDamagedLine):

  • layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp: Added.

(WebCore::Layout::InlineInvalidation::InlineInvalidation):
(WebCore::Layout::InlineInvalidation::styleChanged):
(WebCore::Layout::InlineInvalidation::textInserted):
(WebCore::Layout::InlineInvalidation::textWillBeRemoved):
(WebCore::Layout::InlineInvalidation::inlineLevelBoxInserted):
(WebCore::Layout::InlineInvalidation::inlineLevelBoxWillBeRemoved):

  • layout/formattingContexts/inline/invalidation/InlineInvalidation.h: Added.
12:26 PM Changeset in webkit [282400] by commit-queue@webkit.org
  • 1 edit
    21 adds in trunk/LayoutTests

[GLIB] Create platform specific baselines for new web platform tests imported in r282287
https://bugs.webkit.org/show_bug.cgi?id=230272

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-09-14

  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/crashtests/large-scaley-001-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/crashtests/preserve3d-scene-001-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/crashtests/w-negative-001-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/crashtests/w-negative-002-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/crashtests/w-negative-003-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/large-matrix-crash-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/text-perspective-001-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-transforms/crashtests/preserve3d-scene-002-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-transforms/rotate-180-degrees-001-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-transforms/rotate-270-degrees-001-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-transforms/rotate-90-degrees-001-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-transforms/crashtests/preserve3d-scene-002-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-transforms/crashtests/transform-marquee-resize-div-image-001-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-transforms/rotate-180-degrees-001-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-transforms/rotate-270-degrees-001-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-transforms/rotate-90-degrees-001-expected.txt: Added.
11:51 AM Changeset in webkit [282399] by Kate Cheney
  • 2 edits in trunk/Source/WTF

Followup to https://bugs.webkit.org/show_bug.cgi?id=217784

Reviewed by Wenson Hsieh.

Update platform name for watchOS.

  • Scripts/Preferences/WebPreferences.yaml:
11:42 AM Changeset in webkit [282398] by mmaxfield@apple.com
  • 6 edits in trunk/Source

[Cocoa] Migrate to CTFontHasTable() from CTFontCopyAvailableTables()
https://bugs.webkit.org/show_bug.cgi?id=230248

Reviewed by Anders Carlsson.

Source/WebCore:

CTFontHasTable() has been around for a while, but it's only actually
faster than CTFontCopyAvailableTables() on certain operating systems.

No new tests because there is no behavior change.

  • platform/graphics/coretext/FontCoreText.cpp:

(WebCore::fontHasTable):
(WebCore::fontHasEitherTable):

Source/WebCore/PAL:

  • pal/spi/cf/CoreTextSPI.h:

Source/WTF:

  • wtf/PlatformUse.h:
11:38 AM Changeset in webkit [282397] by mmaxfield@apple.com
  • 35 edits in trunk

Implement text-decoration-skip-ink
https://bugs.webkit.org/show_bug.cgi?id=230244

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt:
  • web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt:
  • web-platform-tests/css/css-text-decor/inheritance-expected.txt:
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-computed-expected.txt:
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-valid-expected.txt:
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-expected.txt:
  • web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

First, there was "text-decoration-skip: ink", and that was what we implemented in WebKit. That had a
problem, though, which was that you couldn't add a value into the set without resetting the entire
property, so the CSSWG split it up into a bunch of constituent properties:

  • text-decoration-skip-self
  • text-decoration-skip-box
  • text-decoration-skip-inset
  • text-decoration-skip-spaces
  • text-decoration-skip-ink

text-decoration-skip was turned into a shorthand for all of these constituent properties.

Chrome and Firefox, however, implemented text-decoration-skip-ink rather than text-decoration-skip.
From what I understand, Firefox isn't interested in implementing the shorthand until they implement
all the longhands. Therefore, because WebKit implements only the shorthand and Firefox implements only
the longhand, authors have to write two different properties in their style for the two different
browsers. That's unfortunate, so this patch makes WebKit follow the CSSWG, and turns
text-decoration-skip into a shorthand, and adds support for text-decoration-skip-ink. Therefore,
there's no new behavior here; it's just a new way of accessing the same functionality we already have.

The spec actually removed the "ink" value from the text-decoration-skip shorthand, but we have to
maintain it because of compat. So, this patch maps "text-decoration-skip: ink" to
"text-decoration-skip-ink: auto". There's an issue in the spec about this:
https://drafts.csswg.org/css-text-decor-4/#issue-070668ae

Back when we implemented text-decoration-skip: ink, we only implemented the "ink" value, and none of
the other values. This patch also doesn't implement the other values.

Also, previously, we used to parse "text-decoration-skip: objects" but we didn't do anything with it.
This patch removes parsing support for that, so @supports works properly.

Covered by existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationSkipToCSSValue):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
(WebCore::renderTextDecorationSkipFlagsToCSSValue): Deleted.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextDecorationSkipInk const):

  • css/CSSProperties.json:
  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::textDecorationSkipValue const):

  • css/StyleProperties.h:
  • css/html.css:

(ins, del):

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumeTextDecorationSkip):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseShorthand):
(WebCore::consumeTextDecorationSkip): Deleted.

  • css/parser/CSSPropertyParser.h:
  • rendering/TextDecorationPainter.cpp:

(WebCore::TextDecorationPainter::paintTextDecoration):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::textDecorationSkipInk const):
(WebCore::RenderStyle::setTextDecorationSkipInk):
(WebCore::RenderStyle::initialTextDecorationSkipInk):
(WebCore::RenderStyle::textDecorationSkip const): Deleted.
(WebCore::RenderStyle::setTextDecorationSkip): Deleted.
(WebCore::RenderStyle::initialTextDecorationSkip): Deleted.

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):

  • rendering/style/StyleRareInheritedData.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::minLogicalTopForTextDecorationLine):
(WebCore::maxLogicalBottomForTextDecorationLine):

  • style/PropertyCascade.cpp:

(WebCore::Style::shouldApplyPropertyInParseOrder):

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::valueToDecorationSkip): Deleted.
(WebCore::Style::BuilderConverter::convertTextDecorationSkip): Deleted.

LayoutTests:

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
10:08 AM Changeset in webkit [282396] by Sam Sneddon
  • 22 edits in trunk

Support the x resolution unit
https://bugs.webkit.org/show_bug.cgi?id=229777

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Rebaseline for more passing tests.

  • web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:

Source/WebCore:

Covered by existing (progressing) tests.

  • css/CSSPrimitiveValue.cpp:

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):
(WebCore::CSSPrimitiveValue::unitTypeString):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
(WebCore::CSSPrimitiveValue::equals const):

  • css/CSSPrimitiveValue.h:
  • css/CSSUnits.cpp:

(WebCore::unitCategory):
(WebCore::operator<<):

  • css/CSSUnits.h:
  • css/DeprecatedCSSOMPrimitiveValue.cpp:

(WebCore::DeprecatedCSSOMPrimitiveValue::primitiveType const):
(WebCore::DeprecatedCSSOMPrimitiveValue::getFloatValue const):

  • css/calc/CSSCalcCategoryMapping.cpp:

(WebCore::hasDoubleValue):

  • css/parser/CSSParserToken.cpp:

(WebCore::cssPrimitiveValueUnitFromTrie):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeResolutionCSSPrimitiveValueWithKnownTokenTypeDimension):
(WebCore::CSSPropertyParserHelpers::consumeResolution):
(WebCore::CSSPropertyParserHelpers::consumeImageSet):

  • css/parser/CSSPropertyParserHelpers.h:

(WebCore::CSSPropertyParserHelpers::consumeResolution):
Remove the optional allowX argument now it's part of the normal syntax.

LayoutTests:

Update tests so that they expect the x unit to serialize as the x unit
(and not magically change to the dppx unit).

  • fast/css/cursor-parsing-image-set-expected.txt:
  • fast/css/cursor-parsing-image-set.html:
  • fast/css/image-set-parsing-expected.txt:
  • fast/css/image-set-parsing-generated-expected.txt:
  • fast/css/image-set-parsing-generated.html:
  • fast/css/image-set-parsing.html:
  • fast/css/image-set-setting-expected.txt:
  • fast/css/image-set-setting.html:
  • fast/css/image-set-unprefixed.html:
10:02 AM Changeset in webkit [282395] by youenn@apple.com
  • 9 edits in trunk/Source/WebCore

Refactor WritableStream to better integrate https://streams.spec.whatwg.org/#create-writable-stream
https://bugs.webkit.org/show_bug.cgi?id=230219

Reviewed by Sihui Liu.

Previously to create a WritableStream as https://streams.spec.whatwg.org/#create-writable-stream,
we were still going through the WritableStream constructor taking an underlying sink.
We refactor code to stop doing that, which will make it easy to introduce https://streams.spec.whatwg.org/#writablestream-set-up
which is now used in other web specifications.

To do so, we introduce a createFromUnderlyingSink built-in function that creates a WritableStream from an InternalWritableStream.
Covered by existing tests.

  • Modules/streams/StreamInternals.js:

(extractHighWaterMark): Make sure extractHighWaterMark returns a number as WebIDL defines HWM as a double.

  • Modules/streams/WritableStream.cpp:

(WebCore::WritableStream::create):

  • Modules/streams/WritableStream.h:
  • Modules/streams/WritableStreamInternals.js:

(createWritableStream):
(createInternalWritableStreamFromUnderlyingSink):

  • bindings/js/InternalWritableStream.cpp:

(WebCore::InternalWritableStream::createFromUnderlyingSink):
(WebCore::InternalWritableStream::fromObject):
(WebCore::InternalWritableStream::create): Deleted.

  • bindings/js/InternalWritableStream.h:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

  • bindings/js/WebCoreBuiltinNames.h:
9:48 AM Changeset in webkit [282394] by Ayumi Kojima
  • 4 edits in trunk/LayoutTests

REGRESSION (r281981): [iOS, BigSur+] webrtc/datachannel/getStats-no-prflx-remote-candidate.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=229877

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
9:21 AM Changeset in webkit [282393] by Chris Dumez
  • 21 edits in trunk/Source

[Hardening] Validate IDBValue's blob paths in WebIDBServer::putOrAdd()
https://bugs.webkit.org/show_bug.cgi?id=230233
<rdar://79562514>

Reviewed by Brady Eidson.

Source/WebCore:

Rename writeBlobsToTemporaryFiles() to writeBlobsToTemporaryFilesForIndexedDB() for clarity
since it is currently only used for IndexedDB and we wouldn't want to expand usage to
other things.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):

  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFilesForIndexedDB):

  • platform/network/BlobRegistryImpl.h:

Source/WebKit:

When the SerializedScriptValue contains BlobURLs, IDBTransaction::putOrAddOnServer()
calls SerializedScriptValue::writeBlobsToDiskForIndexedDB() before sending the
WebIDBServer::PutOrAdd IPC to the network process. writeBlobsToDiskForIndexedDB()
sends a NetworkProcessConnection::writeBlobsToTemporaryFilesForIndexedDB IPC to the
network process and the network process will write the blobs to temporary files and
then return the file paths to those temporary files to the WebProcess. The file paths
are then stored inside the IDBValue object that gets sent in the WebIDBServer::PutOrAdd
IPC.

This patch hardens our IPC by validating in WebIDBServer::PutOrAdd() that the IDBValue's
Blob file paths were indeed file paths previously created by the network process on behalf
of the WebProcess sending the IPC. If it is not, we ignore the IPC.

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::WebIDBServer::putOrAdd):
(WebKit::WebIDBServer::removeConnection):
(WebKit::WebIDBServer::registerTemporaryBlobFilePaths):

  • NetworkProcess/IndexedDB/WebIDBServer.h:
  • NetworkProcess/IndexedDB/WebIDBServer.messages.in:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFilesForIndexedDB):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcessPlatformStrategies.cpp:

(WebKit::NetworkProcessPlatformStrategies::createBlobRegistry):

  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::writeBlobsToTemporaryFilesForIndexedDB):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::writeBlobsToTemporaryFilesForIndexedDB):

  • WebProcess/Network/NetworkProcessConnection.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPlatformStrategies.mm:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebPlatformStrategies.cpp:
9:11 AM Changeset in webkit [282392] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GLIB] Update test baselines after r282307
https://bugs.webkit.org/show_bug.cgi?id=230267

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-09-14

  • platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/wpe/fast/dom/navigator-detached-no-crash-expected.txt:
8:56 AM Changeset in webkit [282391] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Provide a way to update the commit message with an updated list of changed files/functions
https://bugs.webkit.org/show_bug.cgi?id=230195

Patch by Hoa Dinh <dvh@apple.com> on 2021-09-14
Reviewed by Jonathan Bedard.

Add a new parameter --only-files to request generation of only the part of the changed files/functions.

  • Scripts/prepare-ChangeLog:

(main):
(generateNewChangeLogs):

8:53 AM Changeset in webkit [282390] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Don't schedule text rendering updates for a non-rendered Document
https://bugs.webkit.org/show_bug.cgi?id=230246
rdar://81905586

Reviewed by Anders Carlsson.

Memory use could grow without limit as these updates would not get cleared until
the document was destroyed.

No test, hard to make a reasonable regression test as the memory growth is not extreme.

  • dom/Document.cpp:

(WebCore::Document::updateTextRenderer):

Bail out if the Document has no render tree.

8:45 AM Changeset in webkit [282389] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ Mac wk2 iOS ] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=230266

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
8:18 AM Changeset in webkit [282388] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ MacOS & iOS ] imported/w3c/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=228089

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
6:49 AM Changeset in webkit [282387] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Remove unnecessary exception checks in DFGOperations
https://bugs.webkit.org/show_bug.cgi?id=230247

Patch by Xan Lopez <Xan Lopez> on 2021-09-14
Reviewed by Caio Araujo Neponoceno de Lima.

JSValue::decode cannot throw an exception, remove a couple of
unnecessary RETURN_IF_EXCEPTION() calls.

  • dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

6:19 AM Changeset in webkit [282386] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] InlineDisplayContentBuilder should not operate on the global inline run list
https://bugs.webkit.org/show_bug.cgi?id=230232

Reviewed by Antti Koivisto.

InlineDisplayContentBuilder builds one line worth of runs. It should not have access to the global (all runs in the formatting context) run list.

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent):
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineSpanningInlineBoxes):
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForInlineBoxRuns):

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/formattingContexts/inline/InlineFormattingState.h:

(WebCore::Layout::InlineFormattingState::addRuns):
(WebCore::Layout::InlineFormattingState::addRun): Deleted.

  • layout/formattingContexts/inline/InlineLineRun.h:
3:13 AM Changeset in webkit [282385] by commit-queue@webkit.org
  • 8 edits in trunk/Source/JavaScriptCore

[JSC] ASSERT failed in stress/for-in-tests.js (32bit)
https://bugs.webkit.org/show_bug.cgi?id=229543

Patch by Xan López <Xan Lopez> on 2021-09-14
Reviewed by Yusuke Suzuki.

Since r280760 DFG::SpeculativeJIT::compileEnumeratorGetByVal uses
too many registers for 32bit. Revert to the slow path as a
temporary measure to avoid crashes, we'll try to reenable the
optimizations later on (see bug #230189).

  • dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION): define a generic call
operation for compileEnumeratorGetByVal.

  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.cpp: move the current version of

compileEnumeratorGetByVal to 64bit, since it won't work on 32bit.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal): call the generic call op always.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal): use the previous version here.

  • runtime/CommonSlowPaths.cpp:

(JSC::JSC_DEFINE_COMMON_SLOW_PATH): refactor a bit the slow path
for enumeratorGetByVal so it can be called from DFG as a call
operation.

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opEnumeratorGetByVal):

2:36 AM Changeset in webkit [282384] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit

Merge r282383 - REGRESSION(r274929): [CoordinatedGraphics] DrawingAreaCoordinatedGraphics::createDisplayRefreshMonitor is no longer used
https://bugs.webkit.org/show_bug.cgi?id=230214

Reviewed by Adrian Perez de Castro.

That means we use the right display refresh monitor in the threaded compositor but a different one for rendering
update scheduler.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::displayRefreshMonitorFactory const): Remove platform ifdef, DrawingArea
unconditionally inherits from DisplayRefreshMonitorFactory and the default implementation of
createDisplayRefreshMonitor() returns nullptr.

2:32 AM Changeset in webkit [282383] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

REGRESSION(r274929): [CoordinatedGraphics] DrawingAreaCoordinatedGraphics::createDisplayRefreshMonitor is no longer used
https://bugs.webkit.org/show_bug.cgi?id=230214

Reviewed by Adrian Perez de Castro.

That means we use the right display refresh monitor in the threaded compositor but a different one for rendering
update scheduler.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::displayRefreshMonitorFactory const): Remove platform ifdef, DrawingArea
unconditionally inherits from DisplayRefreshMonitorFactory and the default implementation of
createDisplayRefreshMonitor() returns nullptr.

12:46 AM Changeset in webkit [282382] by calvaris@igalia.com
  • 3 edits
    4 adds in trunk

[GStreamer] Enable H265 codec
https://bugs.webkit.org/show_bug.cgi?id=229920

Reviewed by Philippe Normand.

Source/WebCore:

Check for H265 decoder and parser and add the corresponding
variants.

Test: media/media-can-play-h265-video.html

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::initializeDecoders):

LayoutTests:

  • media/media-can-play-h265-video-expected.txt: Added.
  • media/media-can-play-h265-video.html: Added.
  • platform/ios/media/media-can-play-h265-video-expected.txt: Added.
  • platform/mac/media/media-can-play-h265-video-expected.txt: Added.
12:40 AM Changeset in webkit [282381] by youenn@apple.com
  • 15 edits in trunk/LayoutTests/imported/w3c

Migrate some WPT WebRTC tests our of legacy offerToReceive parameters
https://bugs.webkit.org/show_bug.cgi?id=230000

Reviewed by Eric Carlson.

offerToReceive options are legacy options tested in WPT webrtc-legacy folder.
Move to addTransceiver instead.

  • web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html:
  • web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer.html:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-rollback.html:
  • web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html:
  • web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html:
  • web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html:
  • web-platform-tests/webrtc/protocol/RTCPeerConnection-payloadTypes.html:
12:18 AM Changeset in webkit [282380] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix bug in calc functions sin/cos/tan
https://bugs.webkit.org/show_bug.cgi?id=230133

Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2021-09-14
Reviewed by Myles Maxfield.

WPTs added in seperate patch: https://bugs.webkit.org/show_bug.cgi?id=230129.

  • css/calc/CSSCalcOperationNode.cpp:

(WebCore::CSSCalcOperationNode::simplifyNode):
Fix bug where sin,cos,tan functions are applied twice when root.

Sep 13, 2021:

9:42 PM Changeset in webkit [282379] by Simon Fraser
  • 10 edits in trunk

Fix computed style for transform-origin on SVG boxes
https://bugs.webkit.org/show_bug.cgi?id=230172

Reviewed by Alan Bujtas.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-transforms/transform-origin-014-expected.txt:

Source/WebCore:

When getting the computed value for transform-origin on SVG boxes, we need to get
the appropriate "reference box" from the renderer. Do minor refactoring to share
code between rendering and computed style for SVG and non-SVG boxes.

Tested by imported/w3c/web-platform-tests/css/css-transforms/transform-origin-014.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::transformReferenceBox):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • rendering/RenderLayer.cpp:

(WebCore::transformBoxToCSSBoxType): Deleted.

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::transformBoxToCSSBoxType):

  • rendering/style/RenderStyleConstants.h:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::transformReferenceBox):

  • rendering/svg/SVGRenderSupport.h:
  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::animatedLocalTransform const):

9:16 PM Changeset in webkit [282378] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[ Mac iOS ] 2 imported/w3c/web-platform-tests/css/cssom-view/ (layout-tests) are constant text failures
https://bugs.webkit.org/show_bug.cgi?id=230237

Unreviewed test gardening.

9:15 PM Changeset in webkit [282377] by Chris Dumez
  • 12 edits in trunk

[WK2] Reduce amount of IPC needed by BroadcastChannel
https://bugs.webkit.org/show_bug.cgi?id=230181

Reviewed by Alex Christensen.

Source/WebCore:

Introduce ScriptExecutionContext::ensureOnContextThread() which is similar to
ScriptExecutionContext::postTaskTo() but doesn't call postTask() if we're already
on the ScriptExecutionContext's context thread. Use it in BroadcastChannel::dispatchMessageTo()
to avoid unnecessary thread hopping when the BroadcastChannel belongs to a Window
environment.

  • dom/BroadcastChannel.cpp:

(WebCore::BroadcastChannel::dispatchMessageTo):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::ensureOnContextThread):

  • dom/ScriptExecutionContext.h:

Source/WebKit:

Reduce amount of IPC needed by BroadcastChannel for both registration / unregistration
and communication. Each WebBroadcastChannelRegistry in the WebProcess now maintains
a map of BroadcastChannels within the WebProcess. As a result, we are able to dispatch
messages to other BroadcastChannels within the same process without going via the
NetworkProcess.

Also, the NetworkBroadcastChannelRegistry on the NetworkProcess side no longer needs
to store individual BroadcastChannelIdentifiers. It merely needs to know which
WebProcesses have one or more BroadcastChannels for a given ClientOrigin / name.
When NetworkBroadcastChannelRegistry::postMessage() is called, we no longer send
IPC to the source process in case there are other BroadcastChannels than the source
with the given ClientOrigin / name in that process. Also, if there is more than
one BroadcastChannel for the given ClientOrigin / name within a given destination
WebProcess, we now send a single IPC message instead of sending one per BroadcastChannel.

  • NetworkProcess/NetworkBroadcastChannelRegistry.cpp:

(WebKit::NetworkBroadcastChannelRegistry::registerChannel):
(WebKit::NetworkBroadcastChannelRegistry::unregisterChannel):
(WebKit::NetworkBroadcastChannelRegistry::postMessage):
(WebKit::NetworkBroadcastChannelRegistry::removeConnection):

  • NetworkProcess/NetworkBroadcastChannelRegistry.h:
  • NetworkProcess/NetworkBroadcastChannelRegistry.messages.in:
  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.cpp:

(WebKit::WebBroadcastChannelRegistry::registerChannel):
(WebKit::WebBroadcastChannelRegistry::unregisterChannel):
(WebKit::WebBroadcastChannelRegistry::postMessage):
(WebKit::WebBroadcastChannelRegistry::postMessageLocally):
(WebKit::WebBroadcastChannelRegistry::postMessageToRemote):

  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.h:
  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.messages.in:
8:55 PM Changeset in webkit [282376] by Fujii Hironori
  • 3 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo-wk1/TestExpectations:
  • platform/wincairo/TestExpectations:
8:11 PM Changeset in webkit [282375] by Wenson Hsieh
  • 9 edits in trunk/Source/WebKit

Refactor -[WKWebViewConfiguration _setRequiresUserActionForEditingControlsManager:] to use API::PageConfiguration
https://bugs.webkit.org/show_bug.cgi?id=230238
rdar://83078713

Reviewed by Tim Horton.

Move the _requiresUserActionForEditingControlsManager bit out of WebViewImpl and into API::PageConfiguration.
This makes it easier to introduce state in WebPage that keeps track of whether or not user action is required
for showing text editing controls on the touch bar, since we can fetch the (unchanging) state off of
API::PageConfiguration, and propagate it to the web process via WebPageCreationParameters.

No change in behavior.

  • UIProcess/API/APIPageConfiguration.cpp:

(API::PageConfiguration::copy const):

  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::requiresUserActionForEditingControlsManager const):
(API::PageConfiguration::setRequiresUserActionForEditingControlsManager):

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _requiresUserActionForEditingControlsManager]):
(-[WKWebViewConfiguration _setRequiresUserActionForEditingControlsManager:]):

Call into API::PageConfiguration instead.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _requiresUserActionForEditingControlsManager]): Deleted.
(-[WKView _setRequiresUserActionForEditingControlsManager:]): Deleted.

Additionally delete this private method on WKView, which was only used by Safari on macOS, back before Safari
used WKWebView. There are currently no internal clients of this SPI method.

  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::setRequiresUserActionForEditingControlsManager): Deleted.
(WebKit::WebViewImpl::requiresUserActionForEditingControlsManager const): Deleted.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::requiresUserActionForEditingControlsManager const):

Turn this into a helper method that just asks the API::PageConfiguration.

(WebKit::WebViewImpl::updateTouchBar):

6:17 PM Changeset in webkit [282374] by Jean-Yves Avenard
  • 3 edits in trunk/Source/WebCore

Playback stops although the progress bar moves
https://bugs.webkit.org/show_bug.cgi?id=230210
rdar://81123838

Reviewed by Eric Carlson.

When playback has stalled due to insufficient data being buffered, the effective rate
should be 0 as time is no longer progressing.
While the GPU process would indicate that the rate has changed once the player has
stalled, the effective rate reported would remain the same causing the current time
position to continue moving as it's estimated based on the effective rate.
This is also workaround rdar://83048005 which can report that the buffer is both
full and empty at the same time.

Fly-By fix: set the new rate in HTMLMediaElement if previously the requested rate
is different.

The buffering is handled by the AVPlayer and is dependent on network conditions making
it difficult to test.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updatePlaybackRate):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::effectiveRate const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::timeControlStatusDidChange):

5:18 PM Changeset in webkit [282373] by ysuzuki@apple.com
  • 1 edit
    1 move
    3 adds in trunk/JSTests

[JSC] Add JSON.parse microbenchmarks from Speedometer2
https://bugs.webkit.org/show_bug.cgi?id=230234

Reviewed by Saam Barati.

This patch adds JSON.parse microbenchmarks from Speedometer2. We record JSON.parse call in Speedometer2 subtests,
and create benchmark which performs the same calls.

  • microbenchmarks/flight-todomvc-json-parse.js: Renamed from JSTests/microbenchmarks/flight-todomvc-json.js.
  • microbenchmarks/vanilla-es2015-babel-webpack-todomvc-json-parse.js: Added.
  • microbenchmarks/vanilla-es2015-todomvc-json-parse.js: Added.
  • microbenchmarks/vanilla-todomvc-json-parse.js: Added.
5:05 PM Changeset in webkit [282372] by Russell Epstein
  • 8 edits in branches/safari-612-branch/Source

Versioning.

WebKit-7612.2.6

3:53 PM Changeset in webkit [282371] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[iOS] Investigate unclassified CSS LayoutTest failures.
https://bugs.webkit.org/show_bug.cgi?id=178588

Unreviewed test gardening.

  • platform/ios/TestExpectations:
3:49 PM Changeset in webkit [282370] by Wenson Hsieh
  • 12 edits in trunk

[macOS] -toggleAutomaticSpellingCorrection: menu item validation shouldn't require post-layout editor state
https://bugs.webkit.org/show_bug.cgi?id=230205

Reviewed by Darin Adler.

Source/WebCore:

See WebKit ChangeLog for more details.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::canEnableAutomaticSpellingCorrection const):

Slightly improve the performance of this method in the case where we're focusing a text field, by only
consulting the host form control element, rather than both the form control and the contenteditable shadow root
element.

Source/WebKit:

In preparation for https://webkit.org/b/230204, refactor code on macOS that determines whether or not the
"Correct Spelling Automatically" menu bar item should be enabled, such that it doesn't require post-layout
editor state data. This is requisite to avoiding post-layout editor state computation altogether on macOS, when
the touch bar is either unavailable, or hasn't ever been shown in the context of text editing. See below for
more details.

We also take this opportunity to remove support for the unused _WKSelectionAttributeAtStartOfSentence SPI value
in _WKSelectionAttributes, which was originally intended for use in Mail compose in WebKit2 but seems to have
been obviated by the ability to swipe horizontally on the custom input accessory view in Mail compose to switch
between text candidates and the text formatting options.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode const):
(WebKit::EditorState::decode):
(WebKit::EditorState::PostLayoutData::encode const):
(WebKit::EditorState::PostLayoutData::decode):
(WebKit::operator<<):

Remove the atStartOfSentence bit on EditorState's post-layout data that was only used to implement the
_WKSelectionAttributeAtStartOfSentence SPI flag value, and also move the canEnableAutomaticSpellingCorrection
bit out of post-layout data, and into the EditorState struct. Importantly, computing this bit does not require
or trigger layout, and this refactoring will allow us to completely forgo post-layout data on configurations
that do not require it (i.e. when the text touch bar is not active).

  • Shared/EditorState.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(selectionAttributes):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Remove an unused value, _WKSelectionAttributeAtStartOfSentence, in the _WKSelectionAttributes SPI flag.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::validateUserInterfaceItem):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPlatformEditorState const):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::getPlatformEditorState const):

Tools:

See WebKit ChangeLog for more details.

  • TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:

(TestWebKitAPI::TEST):

3:42 PM Changeset in webkit [282369] by Andres Gonzalez
  • 15 edits
    2 adds in trunk

AX: set insertion point to the end of a native text control does not work when passing a collapsed TextMarkerRange with both start and end equals to the end TextMarker for the element.
https://bugs.webkit.org/show_bug.cgi?id=230166

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/mac/native-text-control-set-selected-textmarker-range.html

Added a special case to AX object's setSelectedVisiblePositionRange for
when the passed range is a collapsed range to the end of a native text
control element's range.
To accomplish this, it is necessary to compare for equality two
VisiblePositions obtained from TextMarkers.
In order to reconstruct the VisiblePositions from the TextMarkers in a
way that equality is preserved, the AnchorType of the underlying
Position needs to be added to the TextMarkerData.

  • accessibility/AXObjectCache.cpp:

Added the AnchorType to the TextMarkerData struct.
(WebCore::AXObjectCache::visiblePositionForTextMarkerData):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):

  • accessibility/mac/AXObjectCacheMac.mm:

Exposed textMarkerRangeFromMarkers.
(WebCore::textMarkerRangeFromMarkers):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

Added the AXTextMarkerRangeForTextMarkers attribute which, unlike
AXTextMarkerRangeForUnorderedTextMarkers, assumes that the range's start
and end are ordered, and thus is more efficient.
(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

Tools:

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
Use AXTextMarkerRangeForTextMarkers instead of
AXTextMarkerRangeForUnorderedTextMarkers.

LayoutTests:

  • accessibility/mac/bounds-for-range-expected.txt:

Added AXTextMarkerRangeForTextMarkers attribute name.

  • accessibility/mac/native-text-control-set-selected-textmarker-range-expected.txt:
  • accessibility/mac/native-text-control-set-selected-textmarker-range.html:

Expanded to include the test cases to move the insertion point to the
beginning and end of the text cotnrol.

  • accessibility/text-marker/text-marker-previous-next-expected.txt:
  • accessibility/text-marker/text-marker-previous-next.html:

Adjusted expected value to include linebreak character.

3:36 PM Changeset in webkit [282368] by achristensen@apple.com
  • 27 edits
    2 adds in trunk

Add unit test that uses PCM daemon
https://bugs.webkit.org/show_bug.cgi?id=230191

Reviewed by Chris Dumez.

Source/WebKit:

I make a way to specify what mach service to connect to,
then I temporarily register an executable with launchd to provide that mach service,
then I run the test communicating with that executable.

  • NetworkProcess/NetworkSession.cpp:

(WebKit::managerOrProxy):

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/NetworkSessionCreationParameters.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp:

(WebKit::PCM::Connection::Connection):
(WebKit::PCM::Connection::send const):
(WebKit::PCM::Connection::sendWithReply const):
(WebKit::PCM::Connection::connectionToDaemon): Deleted.
(WebKit::PCM::Connection::send): Deleted.
(WebKit::PCM::Connection::sendWithReply): Deleted.

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.cpp:

(WebKit::PCM::managerPointer):
(WebKit::PCM::initializePCMStorageInDirectory):
(WebKit::PCM::daemonManager):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.cpp:

(WebKit::PCM::ManagerProxy::sendMessage const):
(WebKit::PCM::ManagerProxy::sendMessageWithReply const):
(WebKit::PCM::ManagerProxy::ManagerProxy):
(WebKit::PCM::sendMessage): Deleted.
(WebKit::PCM::sendMessageWithReply): Deleted.

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.h:
  • NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementDaemonConnectionCocoa.mm:

(WebKit::PCM::Connection::Connection):
(WebKit::PCM::Connection::initializeConnectionIfNeeded const):
(WebKit::PCM::Connection::send const):
(WebKit::PCM::Connection::sendWithReply const):
(WebKit::PCM::Connection::connectionToDaemon): Deleted.
(WebKit::PCM::Connection::send): Deleted.
(WebKit::PCM::Connection::sendWithReply): Deleted.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:

(WebKit::startListeningForMachServiceConnections):
(WebKit::registerScheduledActivityHandler):
(WebKit::PCMDaemonMain):

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration pcmMachServiceName]):
(-[_WKWebsiteDataStoreConfiguration setPCMMachServiceName:]):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
(WebKit::WebsiteDataStoreConfiguration::copy const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

(WebKit::WebsiteDataStoreConfiguration::setPCMMachServiceName):
(WebKit::WebsiteDataStoreConfiguration::pcmMachServiceName const):

Source/WTF:

  • wtf/PlatformHave.h:
  • wtf/spi/darwin/XPCSPI.h:

Tools:

  • TestWebKitAPI/Configurations/TestPCMDaemon.xcconfig: Added.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:

(TestWebKitAPI::currentExecutableLocation):
(TestWebKitAPI::testDaemonPList):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/cocoa/TestPCMDaemonMain.c: Copied from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp.

(main):

3:26 PM Changeset in webkit [282367] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Postprocess framework headers in parallel
https://bugs.webkit.org/show_bug.cgi?id=230198

Reviewed by Wenson Hsieh.

  • mac/postprocess-framework-headers.sh:

Previously, the framework header postprocessing step operated serially
on each of our 665 framework headers; not doing a particularly large
amount of work on any, but still, 20 wall clock ms * 665 headers is
a good chunk of time.

Instead, run them in parallel and wait on the result.

On a 10 core machine, this better than halves the time of a WebKit-only
null build (from 36 seconds to 15).

This is definitely not an ideal solution; we're still wasting a ton
of time launching processes; it's likely possible to get further wins
here; on the other hand, header postprocessing only takes 2 seconds now.

3:18 PM Changeset in webkit [282366] by Chris Dumez
  • 10 edits
    4 adds in trunk

Relax BroadcastChannel origin partitioning if iframe has storage access
https://bugs.webkit.org/show_bug.cgi?id=230164

Reviewed by Alex Christensen.

Source/WebCore:

In r282105, we started partitioning origins for BroadcastChannel using topOrigin/frameOrigin.
This prevents a topFrame of origin A to message a subframe of origin A if that subframe if under
another domain B. However, the document.requestStorageAccess() API exists to relax storage
partitioning and Gecko relies on this to relax BroadcastChannel origin partitioning as well.
This patch aligns WebKit's behavior with Gecko.

Test: http/tests/messaging/broadcastchannel-partitioning-with-storage-access.html

  • dom/BroadcastChannel.cpp:

(WebCore::shouldPartitionOrigin):
(WebCore::BroadcastChannel::MainThreadBridge::create):
(WebCore::BroadcastChannel::MainThreadBridge::name const):
(WebCore::BroadcastChannel::MainThreadBridge::identifier const):
(WebCore::BroadcastChannel::MainThreadBridge::MainThreadBridge):
(WebCore::BroadcastChannel::MainThreadBridge::ensureOnMainThread):
(WebCore::BroadcastChannel::MainThreadBridge::registerChannel):
(WebCore::BroadcastChannel::MainThreadBridge::unregisterChannel):
(WebCore::BroadcastChannel::MainThreadBridge::postMessage):
(WebCore::BroadcastChannel::BroadcastChannel):
(WebCore::BroadcastChannel::~BroadcastChannel):
(WebCore::BroadcastChannel::identifier const):
(WebCore::BroadcastChannel::name const):
(WebCore::BroadcastChannel::postMessage):
(WebCore::BroadcastChannel::close):
(WebCore::BroadcastChannel::dispatchMessage):

  • dom/BroadcastChannel.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::hasPageLevelStorageAccess const):

Source/WebKit:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::hasPageLevelStorageAccess const):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

LayoutTests:

Add layout test coverage.

  • http/tests/messaging/broadcastchannel-partitioning-with-storage-access-expected.txt: Added.
  • http/tests/messaging/broadcastchannel-partitioning-with-storage-access.html: Added.
  • http/tests/messaging/resources/broadcastchannel-partitioning-with-storage-access-iframe.html: Added.
  • http/tests/messaging/resources/broadcastchannel-partitioning-with-storage-access-popup.html: Added.
3:06 PM Changeset in webkit [282365] by Chris Dumez
  • 4 edits in trunk

Crash under WebPage::runJavaScript()
https://bugs.webkit.org/show_bug.cgi?id=230223
<rdar://80172436>

Reviewed by Brady Eidson.

Source/WebKit:

The resolveFunction() was capturing frame = makeRef(frame) and then calling frame->coreFrame()->script().
This would lead to a null dereference crash in the case where the core frame gets destroyed before the JS
promise gets resolved. Protecting the WebFrame does not keep the core Frame alive as WebFrame::m_coreFrame
is merely a WeakPtr. To address the issue, the lambda now also protects the core frame and uses it to get
the script controller.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScript):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm:

(-[AsyncJSUIDelegate initWithAlertHandler:]):
(-[AsyncJSUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):

3:01 PM Changeset in webkit [282364] by pvollan@apple.com
  • 8 edits in trunk/Source/WebKit

Send preference updates to the GPU process
https://bugs.webkit.org/show_bug.cgi?id=230159
<rdar://81049367>

Reviewed by Brent Fulgham.

Like the WebContent process, the GPU process should also receive preference updates since it is blocking the preference service in the sandbox.
The common code to set a preference is being moved to the AuxiliaryProcess base class, so that also the GPU process can make use of it. When
the UI process is sending preference update messages to all the WebContent processes, it will now also send to the GPU process.

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • GPUProcess/cocoa/GPUProcessCocoa.mm:

(WebKit::GPUProcess::notifyPreferencesChanged):

  • Shared/AuxiliaryProcess.h:
  • Shared/Cocoa/AuxiliaryProcessCocoa.mm:

(WebKit::AuxiliaryProcess::decodePreferenceValue):
(WebKit::AuxiliaryProcess::setPreferenceValue):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::notifyPreferencesChanged):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::handlePreferenceChange):
(WebKit::WebProcess::notifyPreferencesChanged):
(WebKit::setPreferenceValue): Deleted.

2:55 PM Changeset in webkit [282363] by commit-queue@webkit.org
  • 283 edits in trunk/LayoutTests

[GLIB] Update test baselines after r282306
https://bugs.webkit.org/show_bug.cgi?id=230221

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-09-13

  • platform/glib/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/glib/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-01-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-02-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-03-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-05-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-07-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-11-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-12-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-15-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-19-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-21-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-22-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-23-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-26-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-27-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-28-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-29-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-32-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-33-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-35-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-36-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-37-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-38-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-39-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-41-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-42-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-43-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-45-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-46-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-47-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-48-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-49-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-51-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-53-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-55-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-56-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-57-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-58-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-61-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-62-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-63-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-66-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-67-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-68-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-69-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-72-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-73-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-75-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-76-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-77-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-78-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-79-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-81-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-82-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-83-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-86-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-87-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-88-d-expected.txt:
  • platform/glib/css2.1/t170602-bdr-conflct-w-89-d-expected.txt:
  • platform/glib/css3/flexbox/flexbox-baseline-expected.txt:
  • platform/glib/fast/css/empty-pseudo-class-expected.txt:
  • platform/glib/fast/css/fieldset-display-row-expected.txt:
  • platform/glib/fast/css/first-child-pseudo-class-expected.txt:
  • platform/glib/fast/css/first-of-type-pseudo-class-expected.txt:
  • platform/glib/fast/css/last-child-pseudo-class-expected.txt:
  • platform/glib/fast/css/last-of-type-pseudo-class-expected.txt:
  • platform/glib/fast/css/only-child-pseudo-class-expected.txt:
  • platform/glib/fast/css/only-of-type-pseudo-class-expected.txt:
  • platform/glib/fast/dynamic/013-expected.txt:
  • platform/glib/fast/invalid/td-inside-object-expected.txt:
  • platform/glib/fast/table/multiple-percent-height-rows-expected.txt:
  • platform/glib/fast/table/rowspan-paint-order-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug110566-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug1296-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug18440-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug3103-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug45055-2-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug55527-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug7714-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug8950-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug97138-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug97383-expected.txt:
  • platform/glib/tables/mozilla/core/cell_heights-expected.txt:
  • platform/glib/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
  • platform/glib/tables/mozilla/marvin/backgr_position-table-expected.txt:
  • platform/glib/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
  • platform/glib/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
  • platform/glib/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
  • platform/glib/tables/mozilla/marvin/backgr_simple-table-expected.txt:
  • platform/glib/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
  • platform/glib/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/bugs/97619-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
  • platform/gtk/css1/basic/id_as_selector-expected.txt:
  • platform/gtk/css1/basic/inheritance-expected.txt:
  • platform/gtk/css1/box_properties/border_bottom-expected.txt:
  • platform/gtk/css1/box_properties/border_bottom_width-expected.txt:
  • platform/gtk/css1/box_properties/border_left-expected.txt:
  • platform/gtk/css1/box_properties/border_right_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_top-expected.txt:
  • platform/gtk/css1/box_properties/clear_float-expected.txt:
  • platform/gtk/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/gtk/css1/box_properties/float_margin-expected.txt:
  • platform/gtk/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/gtk/css1/box_properties/margin-expected.txt:
  • platform/gtk/css1/box_properties/margin_bottom-expected.txt:
  • platform/gtk/css1/box_properties/margin_top-expected.txt:
  • platform/gtk/css1/box_properties/padding-expected.txt:
  • platform/gtk/css1/box_properties/padding_bottom-expected.txt:
  • platform/gtk/css1/box_properties/padding_top-expected.txt:
  • platform/gtk/css1/box_properties/width-expected.txt:
  • platform/gtk/css1/classification/list_style-expected.txt:
  • platform/gtk/css1/classification/list_style_image-expected.txt:
  • platform/gtk/css1/color_and_background/background_attachment-expected.txt:
  • platform/gtk/css1/font_properties/font-expected.txt:
  • platform/gtk/css1/font_properties/font_size-expected.txt:
  • platform/gtk/css1/font_properties/font_weight-expected.txt:
  • platform/gtk/css1/formatting_model/floating_elements-expected.txt:
  • platform/gtk/css1/formatting_model/replaced_elements-expected.txt:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/gtk/css1/pseudo/firstletter-expected.txt:
  • platform/gtk/css1/pseudo/firstline-expected.txt:
  • platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/gtk/css1/text_properties/line_height-expected.txt:
  • platform/gtk/css1/text_properties/text_decoration-expected.txt:
  • platform/gtk/css1/text_properties/vertical_align-expected.txt:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/gtk/editing/deleting/5144139-2-expected.txt:
  • platform/gtk/editing/selection/3690703-2-expected.txt:
  • platform/gtk/editing/selection/3690703-expected.txt:
  • platform/gtk/editing/selection/3690719-expected.txt:
  • platform/gtk/fast/forms/basic-buttons-expected.txt:
  • platform/gtk/fast/forms/input-value-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-contains-value-expected.txt:
  • platform/gtk/fast/multicol/nested-columns-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/gtk/fast/replaced/width100percent-image-expected.txt:
  • platform/gtk/fast/table/003-expected.txt:
  • platform/gtk/fast/table/025-expected.txt:
  • platform/gtk/fast/table/empty-cells-expected.txt:
  • platform/gtk/fast/table/frame-and-rules-expected.txt:
  • platform/gtk/fast/text/capitalize-boundaries-expected.txt:
  • platform/gtk/fast/text/international/bidi-override-expected.txt:
  • platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/gtk/fast/text/whitespace/024-expected.txt:
  • platform/gtk/fast/transforms/bounding-rect-zoom-expected.txt:
  • platform/gtk/svg/custom/svg-fonts-in-html-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug101674-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug10296-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1055-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug11944-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug133756-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug14323-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug17138-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug2267-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug3977-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug57300-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug6304-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/gtk/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
  • platform/gtk/tables/mozilla/marvin/td_valign_middle-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
  • platform/gtk/tables/mozilla/marvin/th_valign_middle-expected.txt:
  • platform/gtk/tables/mozilla/marvin/thead_valign_middle-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tr_valign_middle-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug19526-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
  • platform/wpe/css1/basic/id_as_selector-expected.txt:
  • platform/wpe/css1/basic/inheritance-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom_width-expected.txt:
  • platform/wpe/css1/box_properties/border_left-expected.txt:
  • platform/wpe/css1/box_properties/border_right_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_top-expected.txt:
  • platform/wpe/css1/box_properties/clear_float-expected.txt:
  • platform/wpe/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/wpe/css1/box_properties/float_margin-expected.txt:
  • platform/wpe/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/wpe/css1/box_properties/margin-expected.txt:
  • platform/wpe/css1/box_properties/margin_bottom-expected.txt:
  • platform/wpe/css1/box_properties/margin_top-expected.txt:
  • platform/wpe/css1/box_properties/padding-expected.txt:
  • platform/wpe/css1/box_properties/padding_bottom-expected.txt:
  • platform/wpe/css1/box_properties/padding_top-expected.txt:
  • platform/wpe/css1/box_properties/width-expected.txt:
  • platform/wpe/css1/classification/list_style-expected.txt:
  • platform/wpe/css1/classification/list_style_image-expected.txt:
  • platform/wpe/css1/color_and_background/background_attachment-expected.txt:
  • platform/wpe/css1/font_properties/font-expected.txt:
  • platform/wpe/css1/font_properties/font_size-expected.txt:
  • platform/wpe/css1/font_properties/font_weight-expected.txt:
  • platform/wpe/css1/formatting_model/floating_elements-expected.txt:
  • platform/wpe/css1/formatting_model/replaced_elements-expected.txt:
  • platform/wpe/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/wpe/css1/pseudo/firstletter-expected.txt:
  • platform/wpe/css1/pseudo/firstline-expected.txt:
  • platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/wpe/css1/text_properties/line_height-expected.txt:
  • platform/wpe/css1/text_properties/text_decoration-expected.txt:
  • platform/wpe/css1/text_properties/vertical_align-expected.txt:
  • platform/wpe/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/wpe/fast/line-grid/line-grid-contains-value-expected.txt:
  • platform/wpe/fast/multicol/nested-columns-expected.txt:
  • platform/wpe/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/wpe/fast/replaced/width100percent-image-expected.txt:
  • platform/wpe/fast/table/025-expected.txt:
  • platform/wpe/fast/table/empty-cells-expected.txt:
  • platform/wpe/fast/table/frame-and-rules-expected.txt:
  • platform/wpe/fast/text/capitalize-boundaries-expected.txt:
  • platform/wpe/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/wpe/fast/text/whitespace/024-expected.txt:
  • platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:
  • platform/wpe/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug101674-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10296-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1055-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug11944-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug133756-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug14323-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17138-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2267-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug3977-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug57300-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6304-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug19526-expected.txt:
2:53 PM Changeset in webkit [282362] by youenn@apple.com
  • 7 edits in trunk

Fire RTCPeerConnection.signalstatechange as per spec
https://bugs.webkit.org/show_bug.cgi?id=230093

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCPeerConnection-onsignalingstatechanged.https-expected.txt:

Source/WebCore:

Instead of using the built-in OnSignalingChange mechanism, we only update when setting descriptions.
As per spec, we fire the event before other tracks related events in case of setting remote description.
Covered by existing and updated tests.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):

  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::setSignalingState):
(WebCore::RTCPeerConnection::updateDescriptions):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::OnSignalingChange):
(WebCore::toRTCSignalingState):
(WebCore::descriptionsFromPeerConnection):
(WebCore::LibWebRTCMediaEndpoint::setLocalSessionDescriptionSucceeded):
(WebCore::LibWebRTCMediaEndpoint::setRemoteSessionDescriptionSucceeded):

2:44 PM Changeset in webkit [282361] by sihui_liu@apple.com
  • 42 edits
    10 copies
    2 adds in trunk

Add stub for File System Access API
https://bugs.webkit.org/show_bug.cgi?id=230101

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/file-system-access/idlharness.https.any-expected.txt:
  • web-platform-tests/file-system-access/idlharness.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/opaque-origin.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-BroadcastChannel.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-Error.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-frames.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-frames.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any-expected.txt:

Source/WebCore:

Add some bindings code and a feature flag for File System Access API.
Spec: https://wicg.github.io/file-system-access/

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Modules/filesystemaccess/FileSystemDirectoryHandle.cpp: Added.

(WebCore::FileSystemDirectoryHandle::create):
(WebCore::FileSystemDirectoryHandle::FileSystemDirectoryHandle):
(WebCore::FileSystemDirectoryHandle::getFileHandle):
(WebCore::FileSystemDirectoryHandle::getDirectoryHandle):
(WebCore::FileSystemDirectoryHandle::removeEntry):
(WebCore::FileSystemDirectoryHandle::resolve):

  • Modules/filesystemaccess/FileSystemDirectoryHandle.h: Copied from Source/WebCore/Modules/storage/StorageManager.h.
  • Modules/filesystemaccess/FileSystemDirectoryHandle.idl: Copied from Source/WebCore/Modules/storage/StorageManager.h.
  • Modules/filesystemaccess/FileSystemFileHandle.cpp: Copied from Source/WebCore/Modules/storage/StorageManager.h.

(WebCore::FileSystemFileHandle::create):
(WebCore::FileSystemFileHandle::FileSystemFileHandle):
(WebCore::FileSystemFileHandle::getFile):

  • Modules/filesystemaccess/FileSystemFileHandle.h: Copied from Source/WebCore/Modules/storage/StorageManager.h.
  • Modules/filesystemaccess/FileSystemFileHandle.idl: Copied from Source/WebCore/Modules/storage/StorageManager.h.
  • Modules/filesystemaccess/FileSystemHandle.cpp: Copied from Source/WebCore/Modules/storage/StorageManager.h.

(WebCore::FileSystemHandle::FileSystemHandle):
(WebCore::FileSystemHandle::isSameEntry):

  • Modules/filesystemaccess/FileSystemHandle.h: Copied from Source/WebCore/Modules/storage/StorageManager.h.

(WebCore::FileSystemHandle::kind const):
(WebCore::FileSystemHandle::name const):

  • Modules/filesystemaccess/FileSystemHandle.idl: Copied from Source/WebCore/Modules/storage/StorageManager.h.
  • Modules/filesystemaccess/StorageManager+FileSystemAccess.idl: Copied from Source/WebCore/Modules/storage/StorageManager.h.
  • Modules/filesystemaccess/StorageManagerFileSystemAccess.h: Copied from Source/WebCore/Modules/storage/StorageManager.h.

(WebCore::StorageManagerFileSystemAccess::getDirectory):

  • Modules/permissions/PermissionDescriptor.h:
  • Modules/storage/StorageManager.cpp:

(WebCore::StorageManager::fileSystemAccessGetDirectory):

  • Modules/storage/StorageManager.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

Enable file-system-access/ tests only on WK2 platforms where StorageManager is implemented.

2:40 PM Changeset in webkit [282360] by Razvan Caliman
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Update naming of WI.CSSCompletions callback used for collecting supported CSS properties from the target
https://bugs.webkit.org/show_bug.cgi?id=230153

Reviewed by Devin Rousso.

Rename WI.CSSCompletions.initializeCSSCompletions.propertyNamesCallback(names) to propertiesCallback(properties)
to remove confusion about what the payload actually contains: not a list of property names, but a list of objects with
CSS property names, values, aliases, longhands, etc.

The constructor of WI.CSSCompletions expects and handles this payload.

  • UserInterface/Models/CSSCompletions.js:

(WI.CSSCompletions.initializeCSSCompletions):
(WI.CSSCompletions.initializeCSSCompletions.propertyNamesCallback): Deleted.

2:32 PM Changeset in webkit [282359] by jh718.park@samsung.com
  • 4 edits in trunk

transform-origin should not accept 4 lengths
https://bugs.webkit.org/show_bug.cgi?id=186965

transform-origin accepts 1, 2, or 3 values per the spec below.
https://drafts.csswg.org/css-transforms/#propdef-transform-origin

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-transforms/parsing/transform-origin-invalid-expected.txt:

Source/WebCore:

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumeTransformOrigin):

2:20 PM Changeset in webkit [282358] by commit-queue@webkit.org
  • 16 edits
    3 adds in trunk

AX: Make PDFs loaded via <embed> accessible
https://bugs.webkit.org/show_bug.cgi?id=229556

Patch by Tyler Wilcock <Tyler Wilcock> on 2021-09-13
Reviewed by Chris Fleizach and Andres Gonzalez.

Source/WebCore:

This patch makes PDFs loaded in <embed> elements accessible to
clients by exposing the underlying WKPDFPluginAccessibilityObject
created by PDF plugins.

Full-frame PDF accessibility support (e.g. file:///path/to/example.pdf) was
implemented in https://bugs.webkit.org/show_bug.cgi?id=170589, but this
wasn't sufficient for PDFs loaded in <embed>s.

This patch only implements <embed> PDF support for Mac - iOS support will
need to follow in a separate patch.

Test: accessibility/mac/basic-embed-pdf-accessibility.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):
Change comment that suggests PluginViewBase Widgets are not supported,
because they are now.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isAttachment const):
Don't consider plugins to be attachments since they need to be handled
differently.
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
Don't ignore widgets with underlying accessibilty objects (such as PDF
plugins).

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper renderWidgetChildren]):
Extract underlying accessibility object from widgets that have one.
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
Forward hit test to underlying plugin accessibility object if one
exists.
(isMatchingPlugin): Added.
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
Match renderWidgetChildren for searches with SearchKey::AnyType
criteria.

  • platform/Widget.h:

(WebCore::Widget::accessibilityHitTest const): Added this virtual
method.
(WebCore::Widget::accessibilityObject const): Added this virtual
method.

Source/WebKit:

This patch makes PDFs loaded in <embed> elements accessible to
clients by exposing the underlying WKPDFPluginAccessibilityObject
created by PDF plugins.

Full-frame PDF accessibility support (e.g. file:///path/to/example.pdf) was
implemented in https://bugs.webkit.org/show_bug.cgi?id=170589, but this
wasn't sufficient for PDFs loaded in <embed>s.

This patch only implements <embed> PDF support for Mac - iOS support will
need to follow in a separate patch.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFPluginAccessibilityObject initWithPDFPlugin:andElement:]):
Change this method to also accept the HTMLPlugInElement that the plugin
originates from.
(-[WKPDFPluginAccessibilityObject parent]):
Added. Returns the cached parent if present, otherwises tries to cache
the parent in the form of the HTMLPlugInElement that the plugin
originates from.
(-[WKPDFPluginAccessibilityObject setParent:]): Added.
(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
Query against newly added parent getter when fulfilling attribute
value requests.
(-[WKPDFPluginAccessibilityObject ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WKPDFPluginAccessibilityObject accessibilityHitTestIntPoint:]): Added.
(-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
Changed to convert NSPoint to WebCore::IntPoint and call
accessibilityHitTestIntPoint.
(WebKit::PDFPlugin::create):
Add parameter to accept the HTMLPlugInElement that the plugin
originates from.
(WebKit::PDFPlugin::PDFPlugin):
Add parameter to accept the HTMLPlugInElement that the plugin
originates from.
(WebKit::PDFPlugin::accessibilityHitTest const): Added.
(-[WKPDFPluginAccessibilityObject initWithPDFPlugin:]): Deleted.

  • WebProcess/Plugins/Plugin.h:

(WebKit::Plugin::accessibilityHitTest const): Added.
(WebKit::Plugin::accessibilityObject const): Change the return type to
id as that is more common practice.

  • WebProcess/Plugins/PluginView.h:

Add id accessibilityHitTest and change accessibilityObject()
to return id.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::accessibilityObject const): Change return type to
id.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
Pass the originating pluginElement to PDFPlugin::create.

Tools:

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::attributeValue):
Some PDFKit elements don't respond to accessibilityAttributeValue,
so before calling that selector first check to see if the given element responds
to an attribute-specific selector (like accessibilityRole).

LayoutTests:

Add a test ensuring the PDF accessibility tree of PDFs loaded via
<embed> elements is accessible.

  • accessibility/mac/basic-embed-pdf-accessibility-expected.txt: Added.
  • accessibility/mac/basic-embed-pdf-accessibility.html: Added.
  • accessibility/resources/simple-webkit-pages.pdf: Added.
2:13 PM Changeset in webkit [282357] by Sam Sneddon
  • 19 edits in trunk

Move ENABLE_RESOLUTION_MEDIA_QUERY to a runtime flag, start running tests again
https://bugs.webkit.org/show_bug.cgi?id=229776

Reviewed by Simon Fraser.

.:

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/WebKitFeatures.cmake:

LayoutTests/imported/w3c:

Rebaseline now resolution is supported when running tests

  • web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:

Source/WebCore:

No new tests, unskipped & rebaselined existing tests.

  • css/CSSUnits.cpp:

(WebCore::canonicalUnitTypeForCategory):

  • css/MediaList.cpp:

Fix compilation with resolution enabled.
(WebCore::addResolutionWarningMessageToConsole):
Simplify code generating message.
(WebCore::reportMediaQueryWarningIfNeeded):

  • css/MediaList.h:

(WebCore::reportMediaQueryWarningIfNeeded): Deleted.

  • css/MediaQueryEvaluator.cpp:

(WebCore::resolutionEvaluate):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Add ResolutionMediaFeatureEnabled

LayoutTests:

  • fast/media/mq-resolution-expected.txt:
  • fast/media/mq-resolution.html: Use the backing scale-factor, not zoom
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
1:58 PM Changeset in webkit [282356] by commit-queue@webkit.org
  • 278 edits
    30 copies
    1 add in trunk

Addition of CSSNumericValue and subclasses. (CSS Typed OM)
https://bugs.webkit.org/show_bug.cgi?id=230031

Patch by Johnson Zhou <qiaosong_zhou@apple.com> on 2021-09-13
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-typed-om/idlharness-expected.txt:
  • web-platform-tests/css/css-typed-om/rotate-by-added-angle-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-numeric.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-normalization/positionvalue-normalization.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/crashtests/cssTransform-Internal-value-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/cssMathValue.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPositionValue-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRGB-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkew.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewX.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewY.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTranslate.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/add-two-types.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/arithmetic.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/create-a-type.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathInvert-type-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathNegate-type-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/equals.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/parse.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/toSum.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/accent-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/alignment-baseline-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/all-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-delay-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-direction-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-duration-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-fill-mode-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-iteration-count-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-name-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-play-state-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/animation-timing-function-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/backdrop-filter-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/backface-visibility-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-attachment-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-blend-mode-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-clip-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-image-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-origin-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-position-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-repeat-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-size-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/baseline-shift-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/block-size-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-collapse-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-image-outset-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-image-repeat-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-image-slice-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-image-source-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-image-width-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-radius-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-style-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-width-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/bottom-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/box-shadow-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/box-sizing-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/break-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/caption-side-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/caret-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/center-coordinate-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/clear-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/clip-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/clip-path-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/clip-rule-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/color-interpolation-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-count-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-style-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-width-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-span-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-width-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/contain-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/coordinate-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/counter-increment-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/counter-reset-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/counter-set-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/cursor-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/d-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/direction-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/display-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/dominant-baseline-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/empty-cells-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/fill-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/fill-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/fill-opacity-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/fill-rule-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/filter-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-basis-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-direction-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-flow-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-grow-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-shrink-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-wrap-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/float-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flood-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flood-opacity-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-family-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-feature-settings-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-kerning-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-language-override-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-optical-sizing-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-palette-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-presentation-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size-adjust-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-stretch-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-style-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-synthesis-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-alternates-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-caps-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-east-asian-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-ligatures-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-numeric-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variation-settings-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-weight-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/gap-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-area-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-auto-columns-rows-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-auto-flow-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-gap-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-start-end-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-template-areas-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-template-columns-rows-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/grid-template-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/height-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/hyphens-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/image-rendering-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/inline-size-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/isolation-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/left-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/letter-spacing-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/lighting-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/line-break-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/line-height-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/line-height-step-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/list-style-image-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/list-style-position-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/list-style-type-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/logical-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/margin-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/marker-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/mask-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/mask-image-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/mask-type-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/mix-blend-mode-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/object-fit-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/object-position-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/offset-anchor-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/offset-distance-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/offset-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/offset-path-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/offset-position-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/offset-rotate-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/opacity-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/order-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/orphans-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/outline-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/outline-offset-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/outline-style-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/outline-width-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/overflow-anchor-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/overflow-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/overflow-wrap-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/overscroll-behavior-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/padding-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/page-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/paint-order-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/perspective-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/perspective-origin-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/pointer-events-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/position-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/quotes-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/radius-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resize-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/right-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/scroll-behavior-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/scroll-margin-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/scroll-padding-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/scroll-snap-align-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/scroll-snap-stop-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/scroll-snap-type-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/scrollbar-gutter-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/scrollbar-width-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/shape-image-threshold-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/shape-margin-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/shape-outside-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/shape-rendering-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/speak-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stop-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stop-opacity-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stroke-dasharray-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stroke-dashoffset-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stroke-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stroke-linecap-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stroke-linejoin-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stroke-miterlimit-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stroke-opacity-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/stroke-width-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/tab-size-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/table-layout-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-align-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-align-last-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-anchor-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-combine-upright-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-line-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-skip-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-skip-ink-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-style-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-thickness-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-indent-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-justify-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-orientation-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-overflow-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-rendering-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-shadow-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-size-adjust-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-transform-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-underline-offset-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-underline-position-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/top-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/touch-action-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transform-box-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transform-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transform-style-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transition-delay-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transition-duration-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transition-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transition-property-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transition-timing-function-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/unicode-bidi-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/user-select-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/vector-effect-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/vertical-align-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/visibility-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/white-space-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/widows-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/width-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/will-change-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/word-break-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/word-spacing-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/word-wrap-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/writing-mode-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/z-index-expected.txt:
  • web-platform-tests/css/css-typed-om/width-by-max-px-em-expected.txt:
  • web-platform-tests/css/css-typed-om/width-by-min-px-em-expected.txt:

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • css/typedom/CSSKeywordValue.h:
  • css/typedom/CSSNumericValue.cpp:

(WebCore::CSSNumericValue::add):
(WebCore::CSSNumericValue::sub):
(WebCore::CSSNumericValue::mul):
(WebCore::CSSNumericValue::div):
(WebCore::CSSNumericValue::min):
(WebCore::CSSNumericValue::max):
(WebCore::CSSNumericValue::rectifyNumberish):
(WebCore::CSSNumericValue::equals):
(WebCore::CSSNumericValue::to):
(WebCore::CSSNumericValue::toSum):
(WebCore::CSSNumericValue::type):
(WebCore::CSSNumericValue::parse):

  • css/typedom/CSSNumericValue.h:
  • css/typedom/CSSNumericValue.idl:
  • css/typedom/numeric/CSSMathInvert.cpp:

(WebCore::CSSMathInvert::create):
(WebCore::CSSMathInvert::CSSMathInvert):

  • css/typedom/numeric/CSSMathInvert.h:

(isType):

  • css/typedom/numeric/CSSMathMax.cpp:

(WebCore::CSSMathMax::create):
(WebCore::CSSMathMax::CSSMathMax):
(WebCore::CSSMathMax::values):

  • css/typedom/numeric/CSSMathMax.h:

(isType):
(WebCore::CSSMathMax::values): Deleted.

  • css/typedom/numeric/CSSMathMin.cpp:

(WebCore::CSSMathMin::create):
(WebCore::CSSMathMin::CSSMathMin):
(WebCore::CSSMathMin::values):

  • css/typedom/numeric/CSSMathMin.h:

(isType):
(WebCore::CSSMathMin::values): Deleted.

  • css/typedom/numeric/CSSMathMin.idl:
  • css/typedom/numeric/CSSMathNegate.cpp:

(WebCore::CSSMathNegate::create):
(WebCore::CSSMathNegate::CSSMathNegate):

  • css/typedom/numeric/CSSMathNegate.h:

(isType):

  • css/typedom/numeric/CSSMathOperator.cpp:
  • css/typedom/numeric/CSSMathOperator.h:
  • css/typedom/numeric/CSSMathProduct.cpp:

(WebCore::CSSMathProduct::create):
(WebCore::CSSMathProduct::CSSMathProduct):
(WebCore::CSSMathProduct::values):

  • css/typedom/numeric/CSSMathProduct.h:

(isType):
(WebCore::CSSMathProduct::values): Deleted.

  • css/typedom/numeric/CSSMathSum.cpp:

(WebCore::CSSMathSum::create):
(WebCore::CSSMathSum::CSSMathSum):
(WebCore::CSSMathSum::values):

  • css/typedom/numeric/CSSMathSum.h:

(isType):
(WebCore::CSSMathSum::values): Deleted.

  • css/typedom/numeric/CSSMathValue.cpp:

(WebCore::CSSMathValue::CSSMathValue):

  • css/typedom/numeric/CSSMathValue.h:

(WebCore::CSSMathValue::getOperator const):
(isType):

  • css/typedom/numeric/CSSNumericArray.cpp:

(WebCore::CSSNumericArray::create):
(WebCore::CSSNumericArray::CSSNumericArray):

  • css/typedom/numeric/CSSNumericArray.h:
  • css/typedom/numeric/CSSNumericBaseType.cpp: Copied from Source/WebCore/css/typedom/numeric/CSSMathMin.cpp.
  • css/typedom/numeric/CSSNumericType.cpp: Copied from Source/WebCore/css/typedom/numeric/CSSMathMin.cpp.
  • css/typedom/numeric/CSSNumericType.idl:
1:43 PM Changeset in webkit [282355] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.33.90

WPE WebKit 2.33.90

1:41 PM Changeset in webkit [282354] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.34

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.33.90 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.33.90.
1:41 PM Changeset in webkit [282353] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore

Fix non-unified builds

Unreviewed non-unified build fixes.

  • workers/Worker.h: Add missing wtf/Deque.h header.
1:34 PM Changeset in webkit [282352] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Add the ability to show a flat list of the slowest 200 tests in the tests treemap viewer
https://bugs.webkit.org/show_bug.cgi?id=230203

Reviewed by Jonathan Bedard.

Every test run produces a stats.json file that can be dragged into test-duration-treemap.html
to show data about how long tests take to run. The treemap is useful, but it's also useful to
see a flat list of the slowest tests, so add a button to show/hide that list in the
treemap viewer.

  • fast/harness/test-duration-treemap-expected.txt:
  • fast/harness/test-duration-treemap.html:
1:21 PM Changeset in webkit [282351] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

REGRESSION(r282278): ASSERTION FAILED: !m_needExceptionCheck in JSC::VM::verifyExceptionCheckNeedIsSatisfied
https://bugs.webkit.org/show_bug.cgi?id=230208

Reviewed by Youenn Fablet.

r282278 introduced a new assertion failure for
js/dom/transform-stream.html in WinCairo Debug WK2.

JSObject::get throws an simulated exception. DECLARE_THROW_SCOPE
failed the assertion after that.

  • bindings/js/InternalWritableStream.cpp:

(WebCore::invokeWritableStreamFunction): Removed
DECLARE_THROW_SCOPE because this function doesn't throw. Added
DECLARE_CATCH_SCOPE to use assertNoExceptionExceptTermination
after JSObject::get.

12:50 PM Changeset in webkit [282350] by Alan Bujtas
  • 14 edits in trunk/Source/WebCore

[LFC] Rename LayoutState::established*FormattingState to formattingStateFor*FormattingContext
https://bugs.webkit.org/show_bug.cgi?id=229263
<rdar://problem/82365067>

Reviewed by Antti Koivisto.

Stop using "established" when asking for the state object associated with a formatting context.
The spec term, "established", is used to indicate that a particular node in the layout tree forces a set of formatting rules on its descendants.
This terms works well in the context of forming formatting contexts. However the corresponding (persistent)formatting states are not "established" in the same sense.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::buildInlineDisplayTree):

  • layout/FormattingState.cpp:

(WebCore::Layout::FormattingState::boxGeometry):

  • layout/LayoutState.cpp:

(WebCore::Layout::LayoutState::formattingStateForBox const):
(WebCore::Layout::LayoutState::formattingStateForFormattingContext const):
(WebCore::Layout::LayoutState::formattingStateForInlineFormattingContext const):
(WebCore::Layout::LayoutState::formattingStateForBlockFormattingContext const):
(WebCore::Layout::LayoutState::formattingStateForTableFormattingContext const):
(WebCore::Layout::LayoutState::formattingStateForFlexFormattingContext const):
(WebCore::Layout::LayoutState::ensureInlineFormattingState):
(WebCore::Layout::LayoutState::establishedFormattingState const): Deleted.
(WebCore::Layout::LayoutState::establishedInlineFormattingState const): Deleted.
(WebCore::Layout::LayoutState::establishedBlockFormattingState const): Deleted.
(WebCore::Layout::LayoutState::establishedTableFormattingState const): Deleted.
(WebCore::Layout::LayoutState::establishedFlexFormattingState const): Deleted.

  • layout/LayoutState.h:
  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):

  • layout/formattingContexts/FormattingGeometry.cpp:

(WebCore::Layout::FormattingGeometry::computedWidthValue const):
(WebCore::Layout::FormattingGeometry::shrinkToFitWidth const):
(WebCore::Layout::FormattingGeometry::complicatedCases const):

  • layout/formattingContexts/block/BlockFormattingGeometry.cpp:

(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentHeightAndMargin const):

  • layout/formattingContexts/block/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockMarginCollapse::marginsCollapseThrough const):

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeBorderAndPaddingForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):

  • layout/formattingContexts/table/TableFormattingGeometry.cpp:

(WebCore::Layout::TableFormattingGeometry::usedBaselineForCell const):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::showInlineTreeAndRuns):

12:41 PM Changeset in webkit [282349] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebKit

Followup to r282320 - avoid a potential memory leak
https://bugs.webkit.org/show_bug.cgi?id=230187
<rdar://problem/81436658>

Patch by Wenson Hsieh <Wenson Hsieh> on 2021-09-13
Reviewed by Myles C. Maxfield.

Use adoptCF to prevent leaking the last resort font descriptor.

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::createCTFont):

12:35 PM Changeset in webkit [282348] by Alan Bujtas
  • 21 edits
    1 delete in trunk/Source/WebCore

[LFC][IFC] Do not pass in the InvalidationState to the layout functions
https://bugs.webkit.org/show_bug.cgi?id=229221
<rdar://problem/82321574>

Reviewed by Antti Koivisto.

This is in preparation for introducing formatting context specific invalidation.
Each type of formatting context may require a very different invalidation logic. While BFC could mark whole subtrees dirty, IFC's invalidation logic should be looking at lines instead.
The invalidation code (triggered by style/content change) produces a "damage state" which is input to the FormattingContext construction
the same way we pass in the FormattingState
(i.e. FormattinContext takes the root of the formatting subtree (the extent of the formatting context), the damaged state (how much we need to layout in this frame) and the formatting state (the data we can use from previous layout))

  • CMakeLists.txt:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::layout):
(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):
(WebCore::Layout::LayoutContext::layoutWithPreparedRootGeometry): Deleted.

  • layout/LayoutContext.h:
  • layout/formattingContexts/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):

  • layout/formattingContexts/FormattingContext.h:
  • layout/formattingContexts/block/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):

  • layout/formattingContexts/block/BlockFormattingContext.h:
  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableWrapperBlockFormattingContext::layoutTableBox):

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.h:
  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContent):
(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):

  • layout/formattingContexts/flex/FlexFormattingContext.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayoutForIntergration):
(WebCore::Layout::InlineFormattingContext::invalidateFormattingState):

  • layout/formattingContexts/inline/InlineFormattingContext.h:
  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):

  • layout/formattingContexts/table/TableFormattingContext.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::layout):

  • layout/invalidation/InvalidationContext.cpp: Removed.
  • layout/invalidation/InvalidationContext.h: Removed.
  • layout/invalidation/InvalidationState.cpp: Removed.
  • layout/invalidation/InvalidationState.h: Removed.
  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::printLayoutTreeForLiveDocuments):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):

12:01 PM Changeset in webkit [282347] by Jonathan Bedard
  • 2 edits in trunk/Tools

Running iOS layout tests sometimes fails with a utf-8 error
https://bugs.webkit.org/show_bug.cgi?id=230082

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/port/driver.py:

(Driver.run_test): Decode errors should not be fatal, since it's possible
that stdout may be a png from a timed out test.

11:49 AM Changeset in webkit [282346] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Removed test expectations for inspector/css/getMatchedStylesForNodeMarkerPseudoId.html.
<rdar://82039967>.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:40 AM Changeset in webkit [282345] by youenn@apple.com
  • 14 edits in trunk/Source

Remove WritableStream runtime flag
https://bugs.webkit.org/show_bug.cgi?id=230148

Reviewed by Sihui Liu.

Source/WebCore:

WritableStream is enabled in all platforms and is mirroring ReadableStream which no longer has a runtime flag.

No change of behavior.

  • Modules/streams/ReadableStream.js:

(pipeThrough):
(pipeTo):
(pipeTo.doPipe): Deleted.
(pipeTo.closeDestination): Deleted.
(pipeTo.abortDestination): Deleted.

  • Modules/streams/WritableStream.idl:
  • Modules/streams/WritableStreamDefaultController.idl:
  • Modules/streams/WritableStreamDefaultWriter.idl:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

  • bindings/js/WebCoreBuiltinNames.h:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::readableByteStreamAPIEnabled const):
(WebCore::RuntimeEnabledFeatures::setWritableStreamAPIEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::writableStreamAPIEnabled const): Deleted.

Source/WebKitLegacy/mac:

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

(-[WebPreferences writableStreamAPIEnabled]): Deleted.
(-[WebPreferences setWritableStreamAPIEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
11:38 AM Changeset in webkit [282344] by Alan Coon
  • 1 copy in tags/Safari-613.1.1.3

Tag Safari-613.1.1.3.

11:31 AM Changeset in webkit [282343] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Remove test expectations for inspector/timeline/timeline-event-TimerInstall.html.
<rdar://82039288>.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:22 AM Changeset in webkit [282342] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Updated test expectations for performance-api/paint-timing/paint-timing-with-worker.html.
<rdar://82036119>.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
11:19 AM Changeset in webkit [282341] by Simon Fraser
  • 21 edits
    31 adds in trunk/LayoutTests

Update css/cssom-view WPT tests
https://bugs.webkit.org/show_bug.cgi?id=230196

Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:

Update CSS OM View tests from WPT efb73b2ce6da4c65350be9a0c8aa23700e253f07.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/cssom-view/MediaQueryList-addListener-removeListener-expected.txt:
  • web-platform-tests/css/cssom-view/MediaQueryList-addListener-removeListener.html:
  • web-platform-tests/css/cssom-view/MediaQueryList-change-event-matches-value-expected.txt: Added.
  • web-platform-tests/css/cssom-view/MediaQueryList-change-event-matches-value.html: Added.
  • web-platform-tests/css/cssom-view/add-background-attachment-fixed-during-smooth-scroll-expected.html: Added.
  • web-platform-tests/css/cssom-view/add-background-attachment-fixed-during-smooth-scroll.html: Added.
  • web-platform-tests/css/cssom-view/background-change-during-smooth-scroll-expected.txt: Added.
  • web-platform-tests/css/cssom-view/background-change-during-smooth-scroll.html: Added.
  • web-platform-tests/css/cssom-view/client-props-input-expected.txt: Added.
  • web-platform-tests/css/cssom-view/client-props-input.html: Added.
  • web-platform-tests/css/cssom-view/client-props-root-display-none-crash-expected.txt: Added.
  • web-platform-tests/css/cssom-view/client-props-root-display-none-crash.html: Added.
  • web-platform-tests/css/cssom-view/client-props-root-expected.txt: Added.
  • web-platform-tests/css/cssom-view/client-props-root.html: Added.
  • web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-vertical-rl-expected.html:
  • web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-vertical-rl.html:
  • web-platform-tests/css/cssom-view/devicePixelRatio-undisplayed-iframe.tentative-expected.txt: Added.
  • web-platform-tests/css/cssom-view/devicePixelRatio-undisplayed-iframe.tentative.html: Added.
  • web-platform-tests/css/cssom-view/elementFromPoint-ellipsis-in-inline-box-expected.txt: Added.
  • web-platform-tests/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html: Added.
  • web-platform-tests/css/cssom-view/elementFromPoint-float-in-relative-expected.txt: Added.
  • web-platform-tests/css/cssom-view/elementFromPoint-float-in-relative.html: Added.
  • web-platform-tests/css/cssom-view/elementFromPoint-visibility-hidden-resizer-expected.txt: Added.
  • web-platform-tests/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html: Added.
  • web-platform-tests/css/cssom-view/elementFromPosition.html:
  • web-platform-tests/css/cssom-view/elementsFromPoint-svg-text.html:
  • web-platform-tests/css/cssom-view/getBoundingClientRect-shy-expected.txt: Added.
  • web-platform-tests/css/cssom-view/getBoundingClientRect-shy.html: Added.
  • web-platform-tests/css/cssom-view/long_scroll_composited-expected.html:
  • web-platform-tests/css/cssom-view/long_scroll_composited.html:
  • web-platform-tests/css/cssom-view/mouseEvent-offsetXY-svg-expected.txt: Added.
  • web-platform-tests/css/cssom-view/mouseEvent-offsetXY-svg.html: Added.
  • web-platform-tests/css/cssom-view/position-sticky-root-scroller-with-scroll-behavior-expected.txt:
  • web-platform-tests/css/cssom-view/position-sticky-root-scroller-with-scroll-behavior.html:
  • web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html:
  • web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html:
  • web-platform-tests/css/cssom-view/scroll-overflow-clip-quirks-001-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-overflow-clip-quirks-001.html: Added.
  • web-platform-tests/css/cssom-view/scroll-overflow-clip-quirks-002-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-overflow-clip-quirks-002.html: Added.
  • web-platform-tests/css/cssom-view/scrollIntoView-inline-image-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scrollIntoView-inline-image.html: Added.
  • web-platform-tests/css/cssom-view/scrollingElement-expected.txt:
  • web-platform-tests/css/cssom-view/scrollingElement.html:
  • web-platform-tests/css/cssom-view/w3c-import.log:

LayoutTests:

Update CSS OM View tests from WPT efb73b2ce6da4c65350be9a0c8aa23700e253f07.

11:15 AM Changeset in webkit [282340] by Ziran Sun
  • 3 edits in trunk

[css-grid] calling correct offset function for RTL for out of flow child
https://bugs.webkit.org/show_bug.cgi?id=229968

Reviewed by Javier Fernandez.

Handle RTL case to return the correct border values when calculating offsets for start and end edges
of a column for out of flow child.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::gridAreaPositionForOutOfFlowChild const):

11:06 AM Changeset in webkit [282339] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

Expose TextBoxSelectableRange in the iterator
https://bugs.webkit.org/show_bug.cgi?id=230213

Reviewed by Alan Bujtas.

Replace isSelectable with more generic TextBoxSelectableRange accessor.
This will be helpful in the future.

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathTextRun::selectableRange const):
(WebCore::LayoutIntegration::PathTextRun::isSelectable const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

(WebCore::LayoutIntegration::RunIteratorLegacyPath::selectableRange const):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::isSelectable const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::selectableRange const):
(WebCore::LayoutIntegration::RunIteratorModernPath::isSelectable const): Deleted.

  • rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::isSelectable const): Deleted.

  • rendering/LegacyInlineTextBox.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::inlineSelectionGaps):

  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteQuadsForRange const):

10:57 AM Changeset in webkit [282338] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

Remove redundant copy of visibleToHitTesting function
https://bugs.webkit.org/show_bug.cgi?id=230212

Reviewed by Alan Bujtas.

Remove the LegacyInlineBox version.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::hitTest):

Also use visibleToHitTesting here.

  • rendering/LegacyEllipsisBox.cpp:

(WebCore::LegacyEllipsisBox::nodeAtPoint):

  • rendering/LegacyInlineBox.h:
  • rendering/LegacyInlineFlowBox.cpp:

(WebCore::LegacyInlineFlowBox::nodeAtPoint):

  • rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::nodeAtPoint):

  • rendering/LegacyRootInlineBox.cpp:

(WebCore::LegacyRootInlineBox::nodeAtPoint):

  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::paint):

10:47 AM Changeset in webkit [282337] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

LegacyInlineTextBox::selectionState accessor mutates ellipsis selection state
https://bugs.webkit.org/show_bug.cgi?id=205528
<rdar://problem/58125978>

Reviewed by Alan Bujtas.

An accessor shouldn't mutate state.

  • rendering/LegacyEllipsisBox.cpp:

(WebCore::LegacyEllipsisBox::paintSelection):

Also position ellipsis selection correctly when painting.

(WebCore::LegacyEllipsisBox::nodeAtPoint):
(WebCore::LegacyEllipsisBox::selectionState const):

  • rendering/LegacyEllipsisBox.h:
  • rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::selectionState const):

Compute the selection state of the ellipsis box by looking at the selection state of the
last text box on the line.

  • rendering/LegacyRootInlineBox.cpp:

(WebCore::LegacyRootInlineBox::lineSelectionGap):
(WebCore::LegacyRootInlineBox::firstSelectedBox const):
(WebCore::LegacyRootInlineBox::lastSelectedBox const):
(WebCore::LegacyRootInlineBox::firstSelectedBox): Deleted.
(WebCore::LegacyRootInlineBox::lastSelectedBox): Deleted.

  • rendering/LegacyRootInlineBox.h:
10:37 AM Changeset in webkit [282336] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC][32bit] in-by-val fails inside for-in loop after delete
https://bugs.webkit.org/show_bug.cgi?id=230150

Patch by Xan López <Xan Lopez> on 2021-09-13
Reviewed by Carlos Garcia Campos.

The order of payload and tag was reversed when constructing the
base value for compileEnumeratorHasProperty.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileEnumeratorHasProperty):

10:20 AM Changeset in webkit [282335] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

image-rendering: pixelated does not work with WebGL (but does with Canvas2D)
https://bugs.webkit.org/show_bug.cgi?id=193895
<rdar://problem/47656086>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-09-13
Reviewed by Simon Fraser.

Source/WebCore:

Implement image-rendering: crisp-edges for WebGL canvas elements
normal on-screen compositing code path on Cocoa by using CA layer filtering
properties.

Similar to non-compositing code path, approximate image-rendering: pixelated
by making it an alias of crisp-edges.

Test: webgl/webgl-image-rendering.html

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setContentsMinificationFilter):
(WebCore::GraphicsLayer::contentsMinificationFilter const):
(WebCore::GraphicsLayer::setContentsMagnificationFilter):
(WebCore::GraphicsLayer::contentsMagnificationFilter const):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::toPlatformCALayerFilterType):
(WebCore::GraphicsLayerCA::setContentsMinificationFilter):
(WebCore::GraphicsLayerCA::setContentsMagnificationFilter):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsScalingFilters):
(WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
(WebCore::GraphicsLayerCA::layerChangeAsString):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderHTMLCanvas.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateContentsScalingFilters):
(WebCore::RenderLayerBacking::updateConfigurationAfterStyleChange):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::paintIntoLayer):

  • rendering/RenderLayerBacking.h:

LayoutTests:

Add a test comparing upscaling of WebGL canvas element and an image element
with the same contents when using image-rendering: properties.

  • platform/mac/webgl/webgl-image-rendering-expected.png: Added.
  • webgl/webgl-image-rendering-expected.txt: Added.
  • webgl/webgl-image-rendering.html: Added.
10:06 AM Changeset in webkit [282334] by Russell Epstein
  • 8 edits in branches/safari-613.1.1-branch/Source

Versioning.

WebKit-7613.1.1.3

10:06 AM Changeset in webkit [282333] by yoshiaki.jitsukawa@sony.com
  • 2 edits in trunk/Tools

[TestWTF] Hash tests for denorm_min should be skipped if denorm is not supported.
https://bugs.webkit.org/show_bug.cgi?id=230177

Reviewed by Don Olmstead.

std::numeric_limits::denorm_min does not return a denormalized value
if denormal number is not supported. Test denorm_min only if
(has_denorm == denorm_present).

  • TestWebKitAPI/Tests/WTF/Hasher.cpp:

(TestWebKitAPI::TEST):

10:01 AM Changeset in webkit [282332] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

Linker warnings for WKWebViewConfiguration.limitsNavigationsToAppBoundDomains property methods
<https://webkit.org/b/230190>

Reviewed by Kate Cheney.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration limitsNavigationsToAppBoundDomains]):
(-[WKWebViewConfiguration setLimitsNavigationsToAppBoundDomains:]):

  • Move methods from category WKWebViewConfiguration (WKPrivate) to @implementation WKWebViewConfiguration to fix the warnings.
9:57 AM Changeset in webkit [282331] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Updated test expectations for performance-api/performance-observer-no-document-leak.html.
<rdar://82035182>.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:53 AM Changeset in webkit [282330] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7613.1.3

9:51 AM Changeset in webkit [282329] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Updated test expectations for security/contentSecurityPolicy/image-with-file-url-allowed-by-img-src-star.html.
<rdar://82034073>.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:45 AM Changeset in webkit [282328] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

Update test expectations for css3/background/background-repeat-round-padding.html and css3/background/background-repeat-round-border.html.
<rdar://82000141>.

Unreviewed test gardening.

  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
9:22 AM Changeset in webkit [282327] by Russell Epstein
  • 1 copy in branches/safari-613.1.2-branch

New branch.

8:17 AM Changeset in webkit [282326] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Remove redundant LayoutState::ensureFormattingState
https://bugs.webkit.org/show_bug.cgi?id=229259

Reviewed by Antti Koivisto.

  • layout/LayoutState.cpp:

(WebCore::Layout::LayoutState::ensureInlineFormattingState): No need to call ensure*. There has to be a parent formatting state at this point.
(WebCore::Layout::LayoutState::ensureFormattingState): Deleted.

  • layout/LayoutState.h:
7:40 AM Changeset in webkit [282325] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Reduce EWS email notifications to Aakash

Unreviewed. Do not email to Aakash anymore for every build/test failure. It was added initially so that I
can debug any issue in these email notifications. But these have been stable and I don't need a copy of every
EWS email.

  • CISupport/ews-build/send_email.py:

(send_email_to_patch_author):

2:56 AM Changeset in webkit [282324] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore/platform/gtk/po

Merge r282323 - [GTK][l10n] Updated Polish translation of WebKitGTK for 2.34
https://bugs.webkit.org/show_bug.cgi?id=229921

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2021-09-13
Rubber-stamped by Carlos Garcia Campos.

  • pl.po:
2:55 AM Changeset in webkit [282323] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK][l10n] Updated Polish translation of WebKitGTK for 2.34
https://bugs.webkit.org/show_bug.cgi?id=229921

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2021-09-13
Rubber-stamped by Carlos Garcia Campos.

  • pl.po:
2:24 AM Changeset in webkit [282322] by Philippe Normand
  • 2 edits in trunk/Tools

Unreviewed, AutoInstall hotfix for Linux platforms

  • Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:

(AutoInstall):
(AutoInstall._request): Disable custom cacert on Linux, OpenSSL fails validate this cert.

12:52 AM Changeset in webkit [282321] by Diego Pino Garcia
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for Ubuntu LTS/Debian r282270

  • rendering/LegacyInlineTextBox.h:

Sep 12, 2021:

8:22 PM Changeset in webkit [282320] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

[Cocoa] Drawing the rounded system ui font into canvas causes a crash
https://bugs.webkit.org/show_bug.cgi?id=230187
<rdar://problem/81436658>

Reviewed by Wenson Hsieh.

Source/WebKit:

It turns out that r281792 didn't do the right thing. It was trying to differentiate between
system fonts and installed fonts by looking at various values in the font's attribute dictionary.
However, the right way to do this is to treat the dictionary as opaque, and let
kCTFontOptionsSystemUIFont do the heavy lifting to make sure the font round-trips properly.

Test: fast/text/canvas-fonts.html

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::createCTFont):
(IPC::findFontDescriptor):

LayoutTests:

  • fast/text/canvas-fonts-expected.txt: Added.
  • fast/text/canvas-fonts.html: Added.
7:14 PM Changeset in webkit [282319] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] Add scrollable overflow to LineGeometry
https://bugs.webkit.org/show_bug.cgi?id=230200

Reviewed by Antti Koivisto.

This is in preparation for making the integration line structure redundant.
(LineGeometry should be able to contain all the geometry information required for layout/paint/hittest).

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::LineBoxBuilder::build):

  • layout/formattingContexts/inline/InlineLineGeometry.h:

(WebCore::Layout::LineGeometry::scrollableOverflow const):
(WebCore::Layout::LineGeometry::LineGeometry):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::lineOverflowWidth):
(WebCore::LayoutIntegration::InlineContentBuilder::InlineContentBuilder):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

  • layout/integration/LayoutIntegrationInlineContentBuilder.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::constructContent):

1:52 PM Changeset in webkit [282318] by Fujii Hironori
  • 130 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

Rebaselined after r282256 and r282306.

  • platform/wincairo/css1/basic/contextual_selectors-expected.txt:
  • platform/wincairo/css1/basic/id_as_selector-expected.txt:
  • platform/wincairo/css1/basic/inheritance-expected.txt:
  • platform/wincairo/css1/box_properties/border-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_left-expected.txt:
  • platform/wincairo/css1/box_properties/border_right_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_top-expected.txt:
  • platform/wincairo/css1/box_properties/clear_float-expected.txt:
  • platform/wincairo/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/wincairo/css1/box_properties/float_margin-expected.txt:
  • platform/wincairo/css1/box_properties/margin-expected.txt:
  • platform/wincairo/css1/box_properties/margin_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/margin_top-expected.txt:
  • platform/wincairo/css1/box_properties/padding-expected.txt:
  • platform/wincairo/css1/box_properties/padding_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/padding_top-expected.txt:
  • platform/wincairo/css1/box_properties/width-expected.txt:
  • platform/wincairo/css1/color_and_background/background_attachment-expected.txt:
  • platform/wincairo/css1/font_properties/font-expected.txt:
  • platform/wincairo/css1/font_properties/font_size-expected.txt:
  • platform/wincairo/css1/font_properties/font_weight-expected.txt:
  • platform/wincairo/css1/formatting_model/floating_elements-expected.txt:
  • platform/wincairo/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/wincairo/css1/pseudo/firstletter-expected.txt:
  • platform/wincairo/css1/pseudo/firstline-expected.txt:
  • platform/wincairo/css1/text_properties/vertical_align-expected.txt:
  • platform/wincairo/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/wincairo/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/wincairo/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-01-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-02-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-03-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-05-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-07-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-11-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-12-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-15-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-19-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-21-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-22-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-23-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-26-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-27-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-28-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-29-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-32-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-33-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-35-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-36-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-37-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-38-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-39-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-41-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-42-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-43-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-45-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-46-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-47-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-48-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-49-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-51-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-53-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-55-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-56-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-57-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-58-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-61-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-62-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-63-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-66-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-67-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-68-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-69-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-72-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-73-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-75-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-76-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-77-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-78-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-79-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-81-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-82-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-83-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-86-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-87-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-88-d-expected.txt:
  • platform/wincairo/css2.1/t170602-bdr-conflct-w-89-d-expected.txt:
  • platform/wincairo/css3/flexbox/flexbox-baseline-expected.txt:
  • platform/wincairo/fast/css/acid2-expected.txt:
  • platform/wincairo/fast/css/acid2-pixel-expected.txt:
  • platform/wincairo/fast/css/empty-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/fieldset-display-row-expected.txt:
  • platform/wincairo/fast/css/first-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/first-of-type-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/last-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/last-of-type-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/only-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/only-of-type-pseudo-class-expected.txt:
  • platform/wincairo/fast/dynamic/013-expected.txt:
  • platform/wincairo/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/wincairo/fast/line-grid/line-grid-contains-value-expected.txt:
  • platform/wincairo/fast/text/capitalize-boundaries-expected.txt:
  • platform/wincairo/fast/text/whitespace/024-expected.txt:
  • platform/wincairo/http/tests/misc/acid2-expected.txt:
  • platform/wincairo/http/tests/misc/acid2-pixel-expected.txt:
12:43 PM Changeset in webkit [282317] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION (r280758): WebKit project won't open in Xcode 11.4

Unreviewed Xcode project fix.

  • WebKit.xcodeproj/project.pbxproj:
  • Change objectVersion back to 52. There was no need to make this change in the original patch, and other projects use even older values for objectVersion. Found by git bisect.
11:40 AM Changeset in webkit [282316] by Simon Fraser
  • 3 edits
    4 adds in trunk

Implement getClientRects() for SVG elements
https://bugs.webkit.org/show_bug.cgi?id=230197

Reviewed by Sam Weinig.

Source/WebCore:

For SVG elements we can just use absoluteQuads().

Test: svg/custom/getClientRects.xhtml

  • dom/Element.cpp:

(WebCore::Element::getClientRects):

LayoutTests:

  • svg/custom/getClientRects-expected.txt: Added.
  • svg/custom/getClientRects.xhtml: Added.

Sep 11, 2021:

6:41 PM Changeset in webkit [282315] by Simon Fraser
  • 8 edits in trunk

css/css-transforms/translate-getComputedStyle.html fails
https://bugs.webkit.org/show_bug.cgi?id=230178

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

The interpolation test appears to regress, but do so because we now correctly output calc()
in computed style (we just serialize the calc incorrectly).

  • web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt:
  • web-platform-tests/css/css-transforms/animation/translate-interpolation-expected.txt:
  • web-platform-tests/css/css-transforms/transforms-support-calc-expected.txt:
  • web-platform-tests/css/css-transforms/translate-getComputedStyle-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

https://drafts.csswg.org/css-transforms-2/#propdef-translate says that the computed value of
the translate property is "the keyword none or a pair of computed <length-percentage> values
and an absolute length" and has a note saying "Note: The resolved value of the translate
property is the computed value, and thus getComputedStyle() includes percentage values in
its results." so implement that.

Tested by imported/w3c/web-platform-tests/css/css-transforms/translate-getComputedStyle.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computedTranslate):

5:32 PM Changeset in webkit [282314] by Wenson Hsieh
  • 8 edits in trunk/Source/WebKit

Remove support for -[WKWebView _needsSiteSpecificViewportQuirks]
https://bugs.webkit.org/show_bug.cgi?id=230193

Reviewed by Tim Horton.

This SPI is no longer needed; for the brief moment it existed, it was only used to allow Safari's lowered bar
(which previously overlapped page content) to additionally apply obscured bottom insets on a handful of
webpages.

This method has no internal clients (including Safari).

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _needsSiteSpecificViewportQuirks]): Deleted.

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

(WebKit::WebPageProxy::resetStateAfterProcessTermination):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/WebPage.h:
12:24 PM Changeset in webkit [282313] by ddkilzer@apple.com
  • 6 edits
    1 add in trunk/Source

CFNotificationCenterAddObserver() should use weak observers
<https://webkit.org/b/230168>
<rdar://problem/82987695>

Reviewed by Darin Adler.

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • Add CFNotificationCenterSPI.h to the project.
  • pal/spi/cf/CFNotificationCenterSPI.h: Add.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(hardwareKeyboardAvailabilityChangedCallback):

  • Use RetainPtr to store observer for the duration of the function, and add an early return if it is nil.

(-[WKWebView _initializeWithConfiguration:]):

  • Use _CFNotificationObserverIsObjC to fix the bug.
  • Extract local variables and change notificationName cast to be ARC-ready. Remove notificationName from autoreleasePool.

(-[WKWebView dealloc]):

  • Extract local variable and change notificationName cast to be ARC-ready. Remove notificationName from autoreleasePool.

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(hardwareKeyboardAvailabilityChangedCallback):

  • Modernize syntax for WeakObjCPtr constructor.

(-[WebHTMLView initWithFrame:]):

  • Use _CFNotificationObserverIsObjC to fix the bug.
  • Extract local variables and change notificationName cast to be ARC-ready. Remove notificationName from autoreleasePool.

(-[WebHTMLView dealloc]):

  • Extract local variable and change notificationName cast to be ARC-ready. Remove notificationName from autoreleasePool.
10:43 AM Changeset in webkit [282312] by Simon Fraser
  • 2 edits in trunk/Tools

Add an lldb summary provider for the WebCore::Length type
https://bugs.webkit.org/show_bug.cgi?id=230185

Reviewed by Alan Bujtas.

Make Length types easier to visualize when debugging in lldb.

  • lldb/lldb_webkit.py:

(lldb_init_module):
(WebCoreLength_SummaryProvider):
(WebCoreLengthProvider):
(WebCoreLengthProvider.
init):
(WebCoreLengthProvider.get_type):
(WebCoreLengthProvider.get_type_string):
(WebCoreLengthProvider.is_auto):
(WebCoreLengthProvider.is_undefined):
(WebCoreLengthProvider.is_calculated):
(WebCoreLengthProvider.is_fixed):
(WebCoreLengthProvider.is_percent):
(WebCoreLengthProvider.has_quirk):
(WebCoreLengthProvider.is_float):
(WebCoreLengthProvider.get_numeric_value):

9:10 AM Changeset in webkit [282311] by Antti Koivisto
  • 14 edits in trunk/Source/WebCore

Move rest of the LegacyInlineTextBox painting code to TextBoxPainter
https://bugs.webkit.org/show_bug.cgi?id=230188

Reviewed by Alan Bujtas.

Move the remaining painting code.

  • rendering/LegacyEllipsisBox.h:
  • rendering/LegacyInlineBox.cpp:

(WebCore::LegacyInlineBox::selectionState const):
(WebCore::LegacyInlineBox::selectionState): Deleted.

  • rendering/LegacyInlineBox.h:
  • rendering/LegacyInlineFlowBox.cpp:

(WebCore::LegacyInlineFlowBox::selectionState const):
(WebCore::LegacyInlineFlowBox::selectionState): Deleted.

  • rendering/LegacyInlineFlowBox.h:
  • rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::selectionState const):
(WebCore::LegacyInlineTextBox::paint):
(WebCore::LegacyInlineTextBox::selectionState): Deleted.
(WebCore::createMarkedTextFromSelectionInBox): Deleted.

  • rendering/LegacyInlineTextBox.h:
  • rendering/LegacyRootInlineBox.cpp:

(WebCore::LegacyRootInlineBox::selectionState const):
(WebCore::LegacyRootInlineBox::selectionState): Deleted.

  • rendering/LegacyRootInlineBox.h:
  • rendering/MarkedText.cpp:

(WebCore::MarkedText::collectForHighlights):

  • rendering/MarkedText.h:
  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::TextBoxPainter):
(WebCore::TextBoxPainter::~TextBoxPainter):
(WebCore::TextBoxPainter::paint):
(WebCore::createMarkedTextFromSelectionInBox):
(WebCore::TextBoxPainter::paintBackground):
(WebCore::TextBoxPainter::paintForegroundAndDecorations):
(WebCore::TextBoxPainter::paintForeground):
(WebCore::TextBoxPainter::paintDecoration):
(WebCore::TextBoxPainter::paintCompositionUnderline):
(WebCore::TextBoxPainter::paintPlatformDocumentMarker):
(WebCore::TextBoxPainter::computePaintRect):

  • rendering/TextBoxPainter.h:
7:59 AM Changeset in webkit [282310] by Russell Epstein
  • 1 copy in tags/Safari-612.1.29.41.3

Tag Safari-612.1.29.41.3.

7:56 AM Changeset in webkit [282309] by Russell Epstein
  • 8 edits in branches/safari-612.1.29.41-branch/Source

Versioning.

WebKit-7612.1.29.41.3

7:03 AM Changeset in webkit [282308] by Philippe Normand
  • 26 edits
    5 adds
    17 deletes in trunk/Tools/buildstream

[Flatpak SDK] Update to FDO 21.08
https://bugs.webkit.org/show_bug.cgi?id=229918

Reviewed by Carlos Alberto Lopez Perez.

Highlights:

  • GCC 11.2
  • clang 12
  • ICU 69.1
  • Mesa as extension again
  • Ruby 3 (as side effect we now ship the webrick gem)
  • Our SDK branch number is now the same as FDO SDK
  • Some of our recipes no longer needed because maintained in FDO SDK

The actual runtime upgrade will happen after https://bugs.webkit.org/show_bug.cgi?id=229919
lands.

  • Pipfile: Update to bst 1.6.3.
  • Pipfile.lock: Ditto
  • elements/flatpak/sdk.bst: Remove rust extension as in parent SDK and re-add GL extension.
  • elements/freedesktop-sdk.bst: Bump to 21.08, remove vendored patches
  • elements/qt5/qtbase.bst: Fix libdrm dependency, we no longer ship this recipe.
  • elements/qt5/qtwayland.bst: Ditto.
  • elements/sdk-build-depends/libusb.bst: Removed.
  • elements/sdk-build-depends/rapidjson.bst: Fix build for GCC-11
  • elements/sdk-platform.bst: Add openssl in runtime, since it moved out of bootstrap in

parent SDK. Sync list of recipes, order alphabetically.

  • elements/sdk/cargo-c.bst: Switch to internal rustc component.
  • elements/sdk/gst-plugin-closedcaption.bst: Ditto.
  • elements/sdk/gst-plugin-dav1d.bst: Ditto.
  • elements/sdk/gst-plugins-bad.bst: Sync dependencies.
  • elements/sdk/gst-plugins-base.bst: Add a few build fix patches, sync dependencies.
  • elements/sdk/gst-plugins-good.bst: Ditto.
  • elements/sdk/gtk+-3.bst: Bump to 3.24.30 + build fix patch.
  • elements/sdk/icecc.bst: Bump to 1.3.1, sync dependencies.
  • elements/sdk/libdrm.bst: Removed.
  • elements/sdk/libgcrypt.bst: Bump to 1.8.8.
  • elements/sdk/libsoup.bst: Removed.
  • elements/sdk/libsoup3.bst: Sync dependencies.
  • elements/sdk/libzstd.bst: Removed.
  • elements/sdk/lzo2.bst: Removed.
  • elements/sdk/mesa.bst: Removed.
  • elements/sdk/monado.bst: Ditto.
  • elements/sdk/nghttp2.bst: Removed.
  • elements/sdk/openjpeg.bst: Removed.
  • elements/sdk/openxr.bst: Build with clang to avoid std filesystem issues with GCC.
  • elements/sdk/pycairo.bst: Removed.
  • elements/sdk/pygobject.bst: Removed.
  • elements/sdk/python2.bst: Bump to 2.7.18.
  • elements/sdk/ruby-webrick.bst: Added.
  • elements/sdk/sccache.bst: Switch to internal rustc component.
  • elements/sdk/xorg-server.bst: Sync dependencies.
  • elements/test-infra/httpd.bst: Ditto.
  • patches/fdo-0001-dav1d-Bump-to-version-0.8.2.patch: Removed.
  • patches/fdo-0001-libvpx-Enable-high-bit-depth-support.patch: Removed.
  • patches/fdo-0001-pango-Bump-to-1.47.patch: Removed.
  • patches/gst-plugins-base-0001-gst-don-t-use-volatile-to-mean-atomic.patch: Added.
  • patches/gst-plugins-base-0001-gstgl-Fix-build-when-Meson-0.58.0rc1.patch: Added.
  • patches/gst-plugins-good-0001-gst-don-t-use-volatile-to-mean-atomic.patch: Added.
  • patches/gtk-gcc11-build-fix.patch: Added.
  • patches/mesa/0001-i915-Prevent-invalid-framebuffer-usage.patch: Removed.
  • patches/mesa/0002-i965-Prevent-invalid-framebuffer-usage.patch: Removed.
  • patches/mesa/mesa_libdrm_deps.patch: Removed.
  • patches/nettle-no-debug.diff: Removed.
  • project.conf: Sync our branch with parent SDK.
4:34 AM Changeset in webkit [282307] by Philippe Normand
  • 30 edits
    6 adds in trunk

[GLIB] MediaSession is not enabled
https://bugs.webkit.org/show_bug.cgi?id=217991
<rdar://problem/70740119>

Reviewed by Michael Catanzaro.

.:

Enable MediaSession as an experimental build feature in CMake ports. The spec status is
currently Draft.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

Implementation of a GLib MediaSessionManager, able to provide a MPRIS DBus service, so that
third-party host tools can query the media playback status and potentially emit remote
control commands as well.

Covered by media-session layout tests now unskipped.

  • Modules/mediasession/MediaImage.h:
  • Modules/mediasession/MediaSession.cpp:

(WebCore::logChannel):
(WebCore::logClassName):

  • Modules/mediasession/MediaSession.h:
  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • platform/LogInitialization.cpp:

(WebCore::getLogChannel):

  • platform/PlatformScreen.h:
  • platform/RemoteCommandListener.cpp:

(WebCore::RemoteCommandListener::resetCreationFunction):

  • platform/SourcesGLib.txt:
  • platform/audio/PlatformMediaSessionManager.cpp:
  • platform/audio/glib/MediaSessionManagerGLib.cpp: Added.

(WebCore::PlatformMediaSessionManager::create):
(WebCore::MediaSessionManagerGLib::MediaSessionManagerGLib):
(WebCore::MediaSessionManagerGLib::~MediaSessionManagerGLib):
(WebCore::getCommand):
(WebCore::handleMethodCall):
(WebCore::getProperty):
(WebCore::handleGetProperty):
(WebCore::handleSetProperty):
(WebCore::MediaSessionManagerGLib::setupMpris):
(WebCore::MediaSessionManagerGLib::busAcquired):
(WebCore::MediaSessionManagerGLib::nameLost):
(WebCore::MediaSessionManagerGLib::beginInterruption):
(WebCore::MediaSessionManagerGLib::scheduleSessionStatusUpdate):
(WebCore::MediaSessionManagerGLib::sessionWillBeginPlayback):
(WebCore::MediaSessionManagerGLib::sessionDidEndRemoteScrubbing):
(WebCore::MediaSessionManagerGLib::addSession):
(WebCore::MediaSessionManagerGLib::removeSession):
(WebCore::MediaSessionManagerGLib::setCurrentSession):
(WebCore::MediaSessionManagerGLib::sessionWillEndPlayback):
(WebCore::MediaSessionManagerGLib::sessionStateChanged):
(WebCore::MediaSessionManagerGLib::clientCharacteristicsChanged):
(WebCore::MediaSessionManagerGLib::sessionCanProduceAudioChanged):
(WebCore::MediaSessionManagerGLib::addSupportedCommand):
(WebCore::MediaSessionManagerGLib::removeSupportedCommand):
(WebCore::MediaSessionManagerGLib::nowPlayingEligibleSession):
(WebCore::MediaSessionManagerGLib::updateNowPlayingInfo):
(WebCore::MediaSessionManagerGLib::getPlaybackStatusAsGVariant):
(WebCore::MediaSessionManagerGLib::getActiveSessionPosition):
(WebCore::MediaSessionManagerGLib::dispatch):
(WebCore::MediaSessionManagerGLib::emitPropertiesChanged):

  • platform/audio/glib/MediaSessionManagerGLib.h: Added.

(WebCore::MediaSessionManagerGLib::nameAcquired):
(WebCore::MediaSessionManagerGLib::getMetadataAsGVariant const):
(WebCore::MediaSessionManagerGLib::providePresentingApplicationPIDIfNecessary):

  • platform/glib/ApplicationGLib.cpp: Added.

(WebCore::setApplicationName):
(WebCore::getApplicationName):
(WebCore::setApplicationID):
(WebCore::getApplicationID):

  • platform/glib/ApplicationGLib.h: Added.
  • platform/glib/RemoteCommandListenerGLib.cpp: Added.

(WebCore::RemoteCommandListenerGLib::create):
(WebCore::RemoteCommandListenerGLib::updateSupportedCommands):
(WebCore::RemoteCommandListenerGLib::RemoteCommandListenerGLib):

  • platform/glib/RemoteCommandListenerGLib.h: Added.
  • platform/graphics/ImageFrame.h:
  • platform/graphics/ImageOrientation.h:

Source/WebKit:

Pass Application name and unique ID from the UIProcess to the WebProcess in WPE and GTK
ports. The Bubblewrap launcher was also adapted to allow DBus MPRIS name ownership in the
sandboxed WebProcess.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/glib/WebKitSettings.cpp:

(webKitSettingsConstructed):

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::applicationId):
(WebKit::createFlatpakInfo):
(WebKit::XDGDBusProxyLauncher::launch):

  • UIProcess/glib/WebProcessPoolGLib.cpp:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/glib/WebProcessGLib.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

Source/WTF:

GRefPtr template specialization for GDBusNodeInfo.

  • wtf/glib/GRefPtr.cpp:

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

  • wtf/glib/GRefPtr.h:

LayoutTests:

  • platform/glib/TestExpectations: Unskip media-session tests.
Note: See TracTimeline for information about the timeline view.