Timeline



Mar 28, 2022:

10:54 PM Changeset in webkit [292024] by sihui_liu@apple.com
  • 20 edits in trunk/Source/WebKit

Add logging about process entering background to NetworkProcess::processDidResume
https://bugs.webkit.org/show_bug.cgi?id=238082
<rdar://problem/90844775>

Reviewed by Chris Dumez.

In rdar://82412733, we found network process can be suspended right after it receives processDidResume message.
For network process, processDidResume means process is not suspended and it is safe to perform database
operations. Let's add logging to check when and why processDidResume message is sent. If the logging confirms
that processDidResume message can be received when process is close to assertion timeout, we probably want to
ignore such message and resume database operations when application actually enters foreground.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::applicationDidEnterBackground):
(WebKit::NetworkProcess::applicationWillEnterForeground):
(WebKit::NetworkProcess::processDidResume):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/ios/NetworkProcessIOS.mm:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _processDidResumeForTesting]):

  • UIProcess/Cocoa/DownloadProxyMapCocoa.mm:

(WebKit::DownloadProxyMap::platformCreate):
(WebKit::DownloadProxyMap::platformDestroy):

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::applicationDidEnterBackground): Deleted.
(WebKit::DownloadProxyMap::applicationWillEnterForeground): Deleted.

  • UIProcess/Downloads/DownloadProxyMap.h:

(WebKit::DownloadProxyMap::isEmpty const):

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::sendProcessDidResume):

  • UIProcess/GPU/GPUProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::synthesizeAppIsBackground):
(WebKit::NetworkProcessProxy::sendProcessDidResume):
(WebKit::NetworkProcessProxy::applicationDidEnterBackground):
(WebKit::NetworkProcessProxy::applicationWillEnterForeground):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxyCocoa.mm:

(WebKit::NetworkProcessProxy::addBackgroundStateObservers):
(WebKit::NetworkProcessProxy::removeBackgroundStateObservers):

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::updateAssertionIfNeeded):

  • UIProcess/ProcessThrottlerClient.h:
  • UIProcess/WebAuthentication/WebAuthnProcessProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::sendProcessDidResume):

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

(WebKit::WebsiteDataStore::sendNetworkProcessDidResume):

9:33 PM Changeset in webkit [292023] by Russell Epstein
  • 3 edits in branches/safari-614.1.8-branch/Source/WebKit

Cherry-pick r291982. rdar://problem/90927474

[iOS] Fix sandbox violation related to Network content filtering
https://bugs.webkit.org/show_bug.cgi?id=238458
<rdar://90927474>

Reviewed by Brent Fulgham.

After enabling Network content filtering in the Network process, a related sandbox rule should
be moved to the Network process' sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291982 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8:35 PM Changeset in webkit [292022] by Alan Bujtas
  • 4 edits in trunk

[ macOS & Win ] fast/repaint/list-item-equal-style-change-no-repaint.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215723
<rdar://problem/67520729>

Reviewed by Simon Fraser.

Source/WebCore:

  • animation/KeyframeEffect.h:

LayoutTests:

  • platform/mac/TestExpectations:
8:06 PM Changeset in webkit [292021] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WebXR][Cocoa] Enable GL_OES_EGL_image extension when makeXRCompatible() is called on GL context
https://bugs.webkit.org/show_bug.cgi?id=238477

Patch by Ada Chan <adachan@apple.com> on 2022-03-28
Reviewed by Dean Jackson.

Without this extension, EGLImageTargetTexture2DOES() will fail
in GraphicsContextGLCocoa::attachIOSurfaceToSharedTexture().

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::makeXRCompatible):

7:04 PM Changeset in webkit [292020] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

Unreviewed, non-unified buildfix after 248938@main
https://bugs.webkit.org/show_bug.cgi?id=238478

  • workers/service/server/SWServerToContextConnection.h:
6:20 PM Changeset in webkit [292019] by Lauro Moura
  • 5 edits
    1 add in trunk

[AT-SPI] accessibility/native-text-control-attributed-string.html is failing
https://bugs.webkit.org/show_bug.cgi?id=237821

Reviewed by Carlos Garcia Campos.

Tools:

  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::AccessibilityUIElement::attributedStringForRange): Check the
validity of the passed range.

LayoutTests:

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/native-text-control-attributed-string-expected.txt: Added.
  • platform/wpe/TestExpectations:
6:16 PM Changeset in webkit [292018] by Nikos Mouchtaris
  • 4 edits in trunk

Clamp degenerate calc() values for <angle>
https://bugs.webkit.org/show_bug.cgi?id=238401

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt:

Source/WebCore:

Clamp nan, infinity and -infinity to zero for <angle>. Issue discussing this:
https://github.com/w3c/csswg-drafts/issues/6105.

  • css/calc/CSSCalcValue.cpp:

(WebCore::CSSCalcValue::clampToPermittedRange const):

6:14 PM Changeset in webkit [292017] by Russell Epstein
  • 7 edits in branches/safari-614.1.8-branch

Cherry-pick r292007. rdar://problem/90602918

[macOS] Add WKWebView API to control CSS "small viewport" sv* and "large viewport" lv* units
https://bugs.webkit.org/show_bug.cgi?id=238173
<rdar://problem/90602918>

Reviewed by Wenson Hsieh.

Source/WebKit:

See <https://webkit.org/b/237979> for information about this API. This change just also
enables it on macOS (the other change was iOS-only).

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/mac/WKWebViewMac.mm: (-[WKWebView setFrameSize:]): Remove the #if PLATFORM(IOS_FAMILY) around all things related to -[WKWebview setMinimumViewportInset:maximumViewportInset:].

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm: Enable tests for -[WKWebView setMinimumViewportInset:maximumViewportInset:] on macOS.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292007 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:40 PM Changeset in webkit [292016] by Alan Coon
  • 1 copy in tags/Safari-613.1.17.0.9

Tag Safari-613.1.17.0.9.

5:26 PM Changeset in webkit [292015] by Alan Coon
  • 5 edits
    2 adds in branches/safari-613-branch

Cherry-pick r291622. rdar://problem/90935942

Fetching a Blob URL with an unbounded Range header do not generate a Content-Range response header
https://bugs.webkit.org/show_bug.cgi?id=238170

Reviewed by Eric Carlson.

Source/WebCore:

Test: fetch/fetch-blob-unbounded-range.html

Handle the case where the request contains an unbounded range, and property calculate the rangeEnd
to pass into ParsedContentRange.

  • platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::notifyResponseOnSuccess):

Source/WebKit:

Handle the case where the request contains an unbounded range, and property calculate the rangeEnd
to pass into ParsedContentRange.

  • NetworkProcess/NetworkDataTaskBlob.cpp: (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):

LayoutTests:

  • fetch/fetch-blob-unbounded-range-expected.txt: Added.
  • fetch/fetch-blob-unbounded-range.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:23 PM Changeset in webkit [292014] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Clean up some 32bit load/store with 64bit load/store
https://bugs.webkit.org/show_bug.cgi?id=238440

Reviewed by Mark Lam.

  1. On OSR entry, we should copy values from scratch to stack via loadValue / storeValue instead of 32bit load/store.
  2. We should initialize tail-call's argumentCountIncludingThis slot via store64.
  • dfg/DFGThunks.cpp:

(JSC::DFG::osrEntryThunkGenerator):

  • jit/CallFrameShuffler.cpp:

(JSC::CallFrameShuffler::prepareAny):

5:22 PM Changeset in webkit [292013] by Matteo Flores
  • 2 edits in trunk/LayoutTests

[ iPadOS ] 3 svg/filters/* tests are constant image failures
https://bugs.webkit.org/show_bug.cgi?id=237689

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
5:14 PM Changeset in webkit [292012] by Alan Coon
  • 5 edits
    2 adds in branches/safari-613.2.4.0-branch

Cherry-pick r291622. rdar://problem/90935942

Fetching a Blob URL with an unbounded Range header do not generate a Content-Range response header
https://bugs.webkit.org/show_bug.cgi?id=238170

Reviewed by Eric Carlson.

Source/WebCore:

Test: fetch/fetch-blob-unbounded-range.html

Handle the case where the request contains an unbounded range, and property calculate the rangeEnd
to pass into ParsedContentRange.

  • platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::notifyResponseOnSuccess):

Source/WebKit:

Handle the case where the request contains an unbounded range, and property calculate the rangeEnd
to pass into ParsedContentRange.

  • NetworkProcess/NetworkDataTaskBlob.cpp: (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):

LayoutTests:

  • fetch/fetch-blob-unbounded-range-expected.txt: Added.
  • fetch/fetch-blob-unbounded-range.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:13 PM Changeset in webkit [292011] by Alan Coon
  • 5 edits
    2 adds in branches/safari-613.2.4.1-branch

Cherry-pick r291622. rdar://problem/90935942

Fetching a Blob URL with an unbounded Range header do not generate a Content-Range response header
https://bugs.webkit.org/show_bug.cgi?id=238170

Reviewed by Eric Carlson.

Source/WebCore:

Test: fetch/fetch-blob-unbounded-range.html

Handle the case where the request contains an unbounded range, and property calculate the rangeEnd
to pass into ParsedContentRange.

  • platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::notifyResponseOnSuccess):

Source/WebKit:

Handle the case where the request contains an unbounded range, and property calculate the rangeEnd
to pass into ParsedContentRange.

  • NetworkProcess/NetworkDataTaskBlob.cpp: (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):

LayoutTests:

  • fetch/fetch-blob-unbounded-range-expected.txt: Added.
  • fetch/fetch-blob-unbounded-range.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:00 PM Changeset in webkit [292010] by sihui_liu@apple.com
  • 8 edits in trunk/Source

Disable custom storage paths for IndexedDB and LocalStorage by default
https://bugs.webkit.org/show_bug.cgi?id=236977
<rdar://problem/89559929>

Reviewed by Geoffrey Garen.

Source/WebKit:

Developers can enable them by disabling "general directory for storage" via internal debug feature or system
feature flag.

  • FeatureFlags/WebKit-appletvos.plist:
  • FeatureFlags/WebKit-ios.plist:
  • FeatureFlags/WebKit-macos.plist:
  • FeatureFlags/WebKit-watchos.plist:
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::internalFeatureEnabled):
(WebKit::WebsiteDataStore::defaultShouldUseCustomStoragePaths):

Source/WTF:

Add an internal debug feature for using genreal directory for storage.

  • Scripts/Preferences/WebPreferencesInternal.yaml:
4:48 PM Changeset in webkit [292009] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

The lazy symbolObjectStructure should be realized before we allocate a SymbolObject.
https://bugs.webkit.org/show_bug.cgi?id=238474
<rdar://problem/90918765>

Reviewed by Yusuke Suzuki and Saam Barati.

We should not be allocating the symbolObjectStructure while in the middle of
initializing a SymbolObject.

  • runtime/Symbol.cpp:

(JSC::Symbol::toObject const):
(JSC::SymbolObject::create): Deleted.

  • runtime/SymbolObject.h:
4:31 PM Changeset in webkit [292008] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r291728.
https://bugs.webkit.org/show_bug.cgi?id=238476

causing crashes in tests

Reverted changeset:

"Expand autocorrect context for more accurate results."
https://bugs.webkit.org/show_bug.cgi?id=237990
https://commits.webkit.org/r291728

4:28 PM Changeset in webkit [292007] by Devin Rousso
  • 7 edits in trunk

[macOS] Add WKWebView API to control CSS "small viewport" sv* and "large viewport" lv* units
https://bugs.webkit.org/show_bug.cgi?id=238173
<rdar://problem/90602918>

Reviewed by Wenson Hsieh.

Source/WebKit:

See <https://webkit.org/b/237979> for information about this API. This change just also
enables it on macOS (the other change was iOS-only).

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/mac/WKWebViewMac.mm:

(-[WKWebView setFrameSize:]):
Remove the #if PLATFORM(IOS_FAMILY) around all things related to -[WKWebview setMinimumViewportInset:maximumViewportInset:].

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm:

Enable tests for -[WKWebView setMinimumViewportInset:maximumViewportInset:] on macOS.

4:27 PM Changeset in webkit [292006] by Alan Coon
  • 20 edits in branches/safari-613.2.4.0-branch

Cherry-pick r291980. rdar://problem/89434696

[iOS] Add WKWebView API to control CSS "small viewport" sv* and "large viewport" lv* units
https://bugs.webkit.org/show_bug.cgi?id=237979
<rdar://problem/89434696>

Reviewed by Tim Horton.

Source/WebCore:

Tests: CSSViewportUnits.NegativeMinimumViewportInset

CSSViewportUnits.NegativeMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanFrame
CSSViewportUnits.MaximumViewportInsetLargerThanFrame
CSSViewportUnits.MinimumViewportInset
CSSViewportUnits.MaximumViewportInset
CSSViewportUnits.MinimumViewportInsetWithZoom
CSSViewportUnits.MaximumViewportInsetWithZoom
CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.MinimumViewportInsetWithFrame
CSSViewportUnits.MaximumViewportInsetWithFrame
CSSViewportUnits.MinimumViewportInsetWithBounds
CSSViewportUnits.MaximumViewportInsetWithBounds
CSSViewportUnits.MinimumViewportInsetWithContentInset
CSSViewportUnits.MaximumViewportInsetWithContentInset
CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets
CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets
CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI

  • page/FrameView.h:
  • page/FrameView.cpp: (WebCore::FrameView::performSizeToContentAutoSize): (WebCore::FrameView::enableAutoSizeMode): (WebCore::FrameView::clearSizeOverrideForCSSDefaultViewportUnits): Added. (WebCore::FrameView::setSizeForCSSDefaultViewportUnits): Added. (WebCore::FrameView::overrideWidthForCSSDefaultViewportUnits): Added. (WebCore::FrameView::resetOverriddenWidthForCSSDefaultViewportUnits): Added. (WebCore::FrameView::overrideSizeForCSSDefaultViewportUnits): Added. (WebCore::FrameView::sizeForCSSDefaultViewportUnits const): Renamed from sizeForCSSDefaultViewportUnits. (WebCore::FrameView::copyCSSViewportUnits const): Added. Add all the various methods for getting/setting/overriding/clearing an override value for CSS "default viewport" v* units. This allows for WKWebView clients to preserve existing behavior (where CSS "default viewport" v* units match the size of the WKWebView) while adding supporting CSS "small viewport" sv* units and CSS "large viewport" lv* units.

Source/WebKit:

Recently the W3C CSS working group added [some new unit types to CSS](https://drafts.csswg.org/css-values-4/#viewport-variants)
with the goal of helping web developers better deal with browsers that have dynamic UI
elements that change apperance/size/etc. based on user actions (e.g. the URL bar
collapsing/"squishing" and expanding/"unsquishing" depending on whether the user has most
recently scrolled/swiped down the page).

These new units come in three categories:

  • the "large viewport" units (lvw, lvh, etc.) each represent 1% of one dimension of the size of the visual area of the page when all browser UI elements are in their smallest state (e.g. when the URL bar is collapsed/"squished")
  • the "small viewport" units (svw, svh, etc.) each represent 1% of one dimension of the size of the visual area of the page when all browser UI elements are in their largest state (e.g. when the URL bar is expanded/"unsquished")
  • the "dynamic viewport" units (dvw, dvh, etc.) each represent 1% of one dimension of the size of the current visual area of the page, which depends on the current state of all browser UI elements

This way, developer could use 100svh to ensure that no matter what state the browser UI
elements are in the entire element will always be visible on the screen, or use 100dvh to
respond to browser UI element changes by automatically resizing various elements to always
fully take advantage of the available space.

Nothing needs to be added to support "dynamic viewport" dv* units as there already exists
other methods to adjust the visual area of the WKWebView without adjusting its frame
(e.g. -[WKWebView setBounds:], -[UIScrollView setContentInset:], etc.).

But for "small viewport" sv* units and "large viewport" lv* units, however, there is
unfortunately no way to tell a WKWebView anything like "this is the smallest/largest that
this WKWebView will ever be", so there's no way to know ahead of time what the size of the
visual area would be when all browser UI elements are in their smallest/largest state. As
such, this patch adds a new API to allow for WKWebView clients to tell WebKit this
information ahead of time.

Note that there already exists the concept of "default viewport" units (vw, vh, etc.)
that each represent 1% of one dimension of the size of the visual area of the page when all
browser UI elements are in their default state. The behavior of these units remain the same,
and the value can be changed via the existing -[WKWebView setFrame:].

Tests: CSSViewportUnits.NegativeMinimumViewportInset

CSSViewportUnits.NegativeMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanFrame
CSSViewportUnits.MaximumViewportInsetLargerThanFrame
CSSViewportUnits.MinimumViewportInset
CSSViewportUnits.MaximumViewportInset
CSSViewportUnits.MinimumViewportInsetWithZoom
CSSViewportUnits.MaximumViewportInsetWithZoom
CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.MinimumViewportInsetWithFrame
CSSViewportUnits.MaximumViewportInsetWithFrame
CSSViewportUnits.MinimumViewportInsetWithBounds
CSSViewportUnits.MaximumViewportInsetWithBounds
CSSViewportUnits.MinimumViewportInsetWithContentInset
CSSViewportUnits.MaximumViewportInsetWithContentInset
CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets
CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets
CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _recalculateViewportSizesWithMinimumViewportInset:maximumViewportInset:throwOnInvalidInput:]): Added. (-[WKWebView setMinimumViewportInset:maximumViewportInset:]): Added.
  • UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _processWillSwapOrDidExit]): (-[WKWebView _frameOrBoundsChanged]): (-[WKWebView _didCompleteAnimatedResize]): (-[WKWebView _setMinimumUnobscuredSizeOverride:]): (-[WKWebView _setMaximumUnobscuredSizeOverride:]): (-[WKWebView _beginAnimatedResizeWithUpdates:]): (-[WKWebView _dispatchSetMinimumUnobscuredSize:]): Deleted. (-[WKWebView _dispatchSetMaximumUnobscuredSize:]): Deleted. Recalculate the size for CSS "small viewport" sv* units whenever the frame changes. Also move the deduplication logic that prevents the same value from being sent to the WebProcess more than once to the setter methods on WebPageProxy so that it can be used by more than just iOS-only codepaths.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setDefaultUnobscuredSize): Added. (WebKit::WebPageProxy::setMinimumUnobscuredSize): Added. (WebKit::WebPageProxy::setMaximumUnobscuredSize): Added. (WebKit::WebPageProxy::creationParameters):
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::dynamicViewportSizeUpdate): (WebKit::WebPageProxy::setMinimumUnobscuredSize): Deleted. (WebKit::WebPageProxy::setMaximumUnobscuredSize): Deleted.
  • Shared/WebPageCreationParameters.h:
  • Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode):
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage): (WebKit::WebPage::setViewportSizeForCSSViewportUnits): (WebKit::WebPage::setDefaultUnobscuredSize): Added. (WebKit::WebPage::setMinimumUnobscuredSize): Added. (WebKit::WebPage::setMaximumUnobscuredSize): Added. (WebKit::WebPage::updateSizeForCSSDefaultViewportUnits): Added. (WebKit::WebPage::updateSizeForCSSSmallViewportUnits): Added. (WebKit::WebPage::updateSizeForCSSLargeViewportUnits): Added.
  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::viewportConfigurationChanged): (WebKit::WebPage::setMinimumUnobscuredSize): Deleted. (WebKit::WebPage::setMaximumUnobscuredSize): Deleted. (WebKit::WebPage::updateViewportSizeForCSSViewportUnits): Deleted. Add all the various methods for getting/setting/overriding/clearing an override value for CSS "default viewport" v* units. This allows for WKWebView clients to preserve existing behavior (where CSS "default viewport" v* units match the size of the WKWebView) while adding supporting CSS "small viewport" sv* units and CSS "large viewport" lv* units. Move iOS-only code to be for all platforms.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Propagate all viewport size overrides when a new FrameView is created.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm: (TEST.CSSViewportUnits.NegativeMinimumViewportInset): Added. (TEST.CSSViewportUnits.NegativeMaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetLargerThanFrame): Added. (TEST.CSSViewportUnits.MaximumViewportInsetLargerThanFrame): Added. (TEST.CSSViewportUnits.MinimumViewportInset): Added. (TEST.CSSViewportUnits.MaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithZoom): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithZoom): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithWritingMode): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithWritingMode): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithFrame): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithFrame): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithBounds): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithBounds): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithContentInset): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithContentInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets): Added. (TEST.CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291980 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:23 PM Changeset in webkit [292005] by Wenson Hsieh
  • 4 edits in trunk

REGRESSION (r290794): [ iOS Debug ] 4 editing/selection/* tests are constant timeouts
https://bugs.webkit.org/show_bug.cgi?id=238155
rdar://90593957

Reviewed by Aditya Keerthi.

Source/WebKit:

After the changes in r290794, we now preemptively compute and send an excessive amount of autocorrection
contexts to the UI process when an element gains focus, such that the UI process is capable of immediately
responding to calls to -requestAutocorrectionContextWithCompletionHandler: without relying on synchronous IPC
to the web process. This made several (already-fairly-slow) tests in editing/selection time out, due to WebKit
computing and sending an excessive amount of this contextual information.

To mitigate this, only perform this preemptive autocorrection context computation if the focused element is
actually changing (i.e., we're not refocusing the same element). Covered by removing several [ Slow ] test
expectations that should no longer be needed.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::elementDidFocus):

LayoutTests:

Unmark several tests that no longer need to be marked as [ Slow ].

  • platform/ios/TestExpectations:
4:04 PM Changeset in webkit [292004] by Alan Coon
  • 2 edits in branches/safari-613.2.4.1-branch/Source/JavaScriptCore

Cherry-pick r291891. rdar://problem/90935489

AI should not set the structure for ObjectCreate
https://bugs.webkit.org/show_bug.cgi?id=238349

Patch by Justin Michaud <Justin Michaud> on 2022-03-24
Reviewed by Saam Barati and Yusuke Suzuki.

The AbstractInterpreter should not set the structure for ObjectCreate because it might change by
the time the constant folding phase runs if the structure cache is cleared.

  • dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:03 PM Changeset in webkit [292003] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Block access to IOKit class
https://bugs.webkit.org/show_bug.cgi?id=238457

Reviewed by Geoffrey Garen.

Block access to IOKit class AGPMClient on macOS. We already block all messages for this class.

  • WebProcess/com.apple.WebProcess.sb.in:
3:52 PM Changeset in webkit [292002] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Check for re-entrancy in stopForBackForwardCache
https://bugs.webkit.org/show_bug.cgi?id=223536

Patch by Rob Buis <rbuis@igalia.com> on 2022-03-28
Reviewed by Darin Adler.

Check for re-entrancy in stopForBackForwardCache.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopForBackForwardCache):

3:51 PM Changeset in webkit [292001] by Alan Coon
  • 9 edits in branches/safari-613.2.4.1-branch/Source

Versioning.

WebKit-7613.2.4.1.1

3:44 PM Changeset in webkit [292000] by Alan Coon
  • 2 edits in branches/safari-613.2.4.3-branch/Source/JavaScriptCore

Cherry-pick r291891. rdar://problem/90935489

AI should not set the structure for ObjectCreate
https://bugs.webkit.org/show_bug.cgi?id=238349

Patch by Justin Michaud <Justin Michaud> on 2022-03-24
Reviewed by Saam Barati and Yusuke Suzuki.

The AbstractInterpreter should not set the structure for ObjectCreate because it might change by
the time the constant folding phase runs if the structure cache is cleared.

  • dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3:39 PM Changeset in webkit [291999] by Alan Coon
  • 9 edits in branches/safari-613.2.4.3-branch/Source

Versioning.

WebKit-7613.2.4.3.1

3:35 PM Changeset in webkit [291998] by Cameron McCormack
  • 15 edits
    5 adds in trunk

Remove the 1ms minimum for setTimeout
https://bugs.webkit.org/show_bug.cgi?id=221124
<rdar://problem/73852354>

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/html/webappapis/timers/zero-settimeout.any-expected.txt:
  • web-platform-tests/html/webappapis/timers/zero-settimeout.any.html:
  • web-platform-tests/html/webappapis/timers/zero-settimeout.any.js:

(async_test):

  • web-platform-tests/html/webappapis/timers/zero-settimeout.any.worker-expected.txt:
  • web-platform-tests/html/webappapis/timers/zero-settimeout.any.worker.html:

New test checking that 0ms and 1ms timeouts are called in the right
order.

  • web-platform-tests/FileAPI/file/File-constructor.any.worker-expected.txt:
  • web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.worker-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.worker-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-same-origin.sub.any.worker-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-same-origin.sub.any.worker-expected.txt:

Disable console output in some worker tests where the reduced timeout
would cause intemittent failures due to the console message sometimes
not making it to the test output in time.

Source/WebCore:

This patch removes the 1ms minimum for setTimeout. The HTML spec makes
no mention of such a minimum, and Firefox and Chrome do not enforce
this minimum. Removing this for setTimeout results in a 0.7-2.1%
improvement on Speedometer, depending on platform and hardware.

The WPT added here demonstrates how this change can affect pages: if a
page schedules a 1ms and then a 0ms timeout in the same turn of the
event loop, then with this patch they will now be fired in the reverse
order. Since Firefox and Chrome do not impose a 1ms minimum, this
reduces the risk of this being a compatbility problem.

Scheduling a 0ms timeout will cause its callback to be called the next
time around the event loop. Other, non-timer queued tasks, will be
pre-empted. This behavior is permitted by the HTML spec, since the
event loop processing model[1] states that the implementation can
choose which task source to service, and timer callbacks are
dispatched using their own task source. Due to the way the SharedTimer
is called, we don't need to literally dispatch a task with a new
TaskSource::Timer source. (If we decided later to make a different
about whether to service timer callbacks before tasks from all other
task sources, we might need to.)

Not addressing the setTimeout 1ms minimum here, which should likely also
be removed.

While we're here, settle on "one shot" rather rather than "single
shot" as the term for timers that fire once.

[1] https://html.spec.whatwg.org/#event-loop-processing-model

Tests: imported/w3c/web-platform-tests/html/webappapis/timers/zero-settimeout.any.html

imported/w3c/web-platform-tests/html/webappapis/timers/zero-settimeout.any.worker.html

  • page/DOMTimer.h:
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::DOMTimer::updateTimerIntervalIfNecessary):
(WebCore::DOMTimer::intervalClampedToMinimum const):

LayoutTests:

the reduced timeout would cause intemittent failures due to the
console message sometimes not making it to the test output in time.

  • js/script-tests/weakref-finalizationregistry.js:

(turnEventLoop): Use a timeout of 1ms instead of 0ms so that
the deferred work task that calls the JS FinalizationRegistry
callback gets a chance to run before we continue on to the
assertion that it was run.

3:23 PM Changeset in webkit [291997] by Chris Dumez
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, address post-landing review comment from Darin after r291972.

  • yarr/YarrJIT.cpp:
3:20 PM Changeset in webkit [291996] by Alan Coon
  • 2 edits in branches/safari-613.2.4.0-branch/Source/JavaScriptCore

Cherry-pick r291891. rdar://problem/90935489

AI should not set the structure for ObjectCreate
https://bugs.webkit.org/show_bug.cgi?id=238349

Patch by Justin Michaud <Justin Michaud> on 2022-03-24
Reviewed by Saam Barati and Yusuke Suzuki.

The AbstractInterpreter should not set the structure for ObjectCreate because it might change by
the time the constant folding phase runs if the structure cache is cleared.

  • dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3:18 PM Changeset in webkit [291995] by Alan Coon
  • 9 edits in branches/safari-613.2.4.0-branch/Source

Versioning.

WebKit-7613.2.4.0.1

3:02 PM Changeset in webkit [291994] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after 291979 for WinCairo and PlayStation Debug builds
https://bugs.webkit.org/show_bug.cgi?id=238400

WebNotificationManager.cpp(153): error C2027: use of undefined type 'WebCore::Notification'

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show): Guarded the LOG with ENABLE(NOTIFICATIONS).

2:53 PM Changeset in webkit [291993] by Antti Koivisto
  • 11 edits
    20 moves
    15 adds in trunk/LayoutTests

[CSS Container Queries] Another WPT import
https://bugs.webkit.org/show_bug.cgi?id=238459

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

  • resources/resource-files.json:
  • web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/at-container-parsing.html:
  • web-platform-tests/css/css-contain/container-queries/at-container-serialization-expected.txt: Added.
  • web-platform-tests/css/css-contain/container-queries/at-container-serialization.html: Added.
  • web-platform-tests/css/css-contain/container-queries/container-name-computed-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/container-name-computed.html:
  • web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/container-name-parsing.html:
  • web-platform-tests/css/css-contain/container-queries/crashtests/canvas-as-container-crash.html: Added.
  • web-platform-tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-000-crash.html: Added.
  • web-platform-tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-001-crash.html: Added.
  • web-platform-tests/css/css-contain/container-queries/crashtests/columns-in-table-001-crash.html: Added.
  • web-platform-tests/css/css-contain/container-queries/crashtests/container-type-change-chrome-legacy-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-change-chrome-legacy-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/flex-in-columns-000-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/flex-in-columns-000-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/flex-in-columns-001-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/flex-in-columns-001-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/flex-in-columns-002-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/flex-in-columns-002-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/flex-in-columns-003-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/flex-in-columns-003-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/focus-inside-content-visibility-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/focus-inside-content-visibility-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/grid-in-columns-000-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-in-columns-000-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/grid-in-columns-001-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-in-columns-001-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/grid-in-columns-002-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-in-columns-002-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/grid-in-columns-003-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-in-columns-003-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/inline-multicol-inside-container-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/inline-multicol-inside-container-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/inline-with-columns-000-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/inline-with-columns-000-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/inline-with-columns-001-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/inline-with-columns-001-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/input-column-group-container-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/input-column-group-container-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/input-placeholder-inline-size-crash.html: Added.
  • web-platform-tests/css/css-contain/container-queries/crashtests/math-block-container-child-crash.html: Added.
  • web-platform-tests/css/css-contain/container-queries/crashtests/pseudo-container-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-container-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/svg-layout-root-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/svg-layout-root-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/svg-text-crash.html: Added.
  • web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-000-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/table-in-columns-000-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-001-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/table-in-columns-001-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-002-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/table-in-columns-002-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-003-crash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/table-in-columns-003-crash.html.
  • web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log: Added.
  • web-platform-tests/css/css-contain/container-queries/idlharness-expected.txt: Added.
  • web-platform-tests/css/css-contain/container-queries/idlharness.html: Added.
  • web-platform-tests/css/css-contain/container-queries/layout-dependent-focus-expected.txt: Added.
  • web-platform-tests/css/css-contain/container-queries/layout-dependent-focus.html: Added.
  • web-platform-tests/css/css-contain/container-queries/w3c-import.log:

LayoutTests:

2:20 PM Changeset in webkit [291992] by Chris Dumez
  • 307 edits in trunk/Source

Prepare WebCore for making the String(const char*) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=238408

Reviewed by Geoff Garen.

Prepare WebCore for making the String(const char*) constructor explicit.
Making this constructor explicit helps findings cases where a String is constructed
from a literal without the ""_s suffix.

Source/WebCore:

  • Scripts/SettingsTemplates/Settings.cpp.erb:
  • contentextensions/ContentExtensionError.cpp:
  • contentextensions/ContentExtensionError.h:
  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::mediaAttributeMatches):

  • dom/BroadcastChannel.cpp:

(WebCore::BroadcastChannel::postMessage):

  • dom/DataTransfer.cpp:

(WebCore::normalizeType):
(WebCore::IEOpFromDragOp):

  • dom/Document.cpp:

(WebCore::Document::compatMode const):
(WebCore::Document::characterSetWithUTF8Fallback const):
(WebCore::Document::processMetaHttpEquiv):
(WebCore::Document::setDomain):
(WebCore::Document::execCommand):
(WebCore::Document::queryCommandEnabled):
(WebCore::Document::queryCommandIndeterm):
(WebCore::Document::queryCommandState):
(WebCore::Document::queryCommandSupported):
(WebCore::Document::queryCommandValue):
(WebCore::Document::updateResizeObservations):

  • dom/Element.cpp:

(WebCore::Element::setOuterHTML):
(WebCore::Element::animate):

  • dom/ImageOverlay.cpp:

(WebCore::ImageOverlay::updateWithTextRecognitionResult):

  • dom/Node.cpp:

(WebCore::Node::showTreeForThisAcrossFrame const):

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::checkStyleSheet):

  • dom/ViewportArguments.cpp:

(WebCore::viewportErrorMessageTemplate):
(WebCore::viewportErrorMessage):

  • editing/Editor.cpp:

(WebCore::Editor::toggleBold):
(WebCore::Editor::toggleUnderline):
(WebCore::Editor::setBaseWritingDirection):

  • editing/EditorCommand.cpp:

(WebCore::isStylePresent):
(WebCore::executeToggleStyle):
(WebCore::stateStyle):
(WebCore::textDecorationChangeForToggling):

  • editing/InsertLineBreakCommand.cpp:

(WebCore::InsertLineBreakCommand::doApply):

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::insertTab):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::observeParagraphs):

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::insertLineBreakAndNotifyAccessibility):
(WebCore::TypingCommand::insertParagraphSeparatorAndNotifyAccessibility):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContentAndNotifyAccessibility):

  • editing/markup.cpp:

(WebCore::createPageForSanitizingWebContent):

  • fileapi/BlobURL.cpp:

(WebCore::BlobURL::createInternalURL):

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::start):
(WebCore::FileReaderLoader::convertToText):
(WebCore::FileReaderLoader::convertToDataURL):

  • history/BackForwardCache.cpp:

(WebCore::BackForwardCache::BackForwardCache):

  • html/EmailInputType.cpp:
  • html/EnterKeyHint.cpp:

(WebCore::attributeValueForEnterKeyHint):

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::evaluateDynamicMediaQueryDependencies):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::showPicker):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::updateSleepDisabling):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parametersForPlugin):

  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::createPromise):
(WebCore::croppedSourceRectangleWithFormatting):
(WebCore::ImageBitmap::createFromBuffer):

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure):

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::parseFragments):

  • html/PDFDocument.cpp:

(WebCore::PDFDocument::sendPDFArrayBuffer):

  • html/canvas/ANGLEInstancedArrays.cpp:

(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):

  • html/canvas/EXTTextureCompressionRGTC.cpp:

(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::initializeShaderExtensions):

  • html/canvas/WebGLCompressedTextureATC.cpp:

(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):

  • html/canvas/WebGLCompressedTextureETC.cpp:

(WebCore::WebGLCompressedTextureETC::WebGLCompressedTextureETC):
(WebCore::WebGLCompressedTextureETC::supported):

  • html/canvas/WebGLCompressedTextureETC1.cpp:

(WebCore::WebGLCompressedTextureETC1::WebGLCompressedTextureETC1):
(WebCore::WebGLCompressedTextureETC1::supported):

  • html/canvas/WebGLCompressedTexturePVRTC.cpp:

(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):

  • html/canvas/WebGLCompressedTextureS3TC.cpp:

(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):

  • html/canvas/WebGLCompressedTextureS3TCsRGB.cpp:

(WebCore::WebGLCompressedTextureS3TCsRGB::WebGLCompressedTextureS3TCsRGB):
(WebCore::WebGLCompressedTextureS3TCsRGB::supported):

  • html/canvas/WebGLDebugShaders.cpp:

(WebCore::WebGLDebugShaders::WebGLDebugShaders):

  • html/canvas/WebGLDepthTexture.cpp:

(WebCore::WebGLDepthTexture::WebGLDepthTexture):
(WebCore::WebGLDepthTexture::supported):

  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::setupFlags):
(WebCore::WebGLRenderingContextBase::getActiveUniform):
(WebCore::WebGLRenderingContextBase::addExtensionSupportedFormatsAndTypes):
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::printToConsole):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::recycleContext):

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::emitRule):

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::serializeForNumberType):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::initiatorFor):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • html/parser/HTMLPreloadScanner.h:
  • html/parser/HTMLResourcePreloader.h:

(WebCore::PreloadRequest::PreloadRequest):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::create):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::applyCSSProperties):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::WebVTTParser):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):

  • inspector/InspectorAuditAccessibilityObject.cpp:

(WebCore::InspectorAuditAccessibilityObject::getComputedProperties):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::indexForData):
(WebCore::InspectorCanvas::buildArrayForCanvasPattern):

  • inspector/InspectorFrontendClientLocal.cpp:
  • inspector/InspectorFrontendHost.cpp:
  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::setGridOverlayForNode):
(WebCore::InspectorOverlay::clearGridOverlayForNode):
(WebCore::InspectorOverlay::setFlexOverlayForNode):
(WebCore::InspectorOverlay::clearFlexOverlayForNode):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::buildObjectForStyle const):
(WebCore::InspectorStyle::styleWithProperties const):
(WebCore::selectorsFromSource):

  • inspector/agents/InspectorAnimationAgent.cpp:

(WebCore::InspectorAnimationAgent::resolveAnimation):

  • inspector/agents/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getFontDataForNode):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::resolveContext):

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::getSupportedEventNames):
(WebCore::InspectorDOMAgent::showGridOverlay):
(WebCore::InspectorDOMAgent::showFlexOverlay):

  • inspector/agents/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::setEventBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeEventBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::breakOnURLIfNeeded):

  • inspector/agents/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/agents/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::executeSQL):

  • inspector/agents/InspectorIndexedDBAgent.cpp:

(WebCore::Inspector::ExecutableWithDatabase::start):

  • inspector/agents/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::resolveWebSocket):

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::parseCookieObject):

  • inspector/agents/page/PageDOMDebuggerAgent.cpp:

(WebCore::PageDOMDebuggerAgent::setDOMBreakpoint):
(WebCore::PageDOMDebuggerAgent::removeDOMBreakpoint):
(WebCore::PageDOMDebuggerAgent::willInsertDOMNode):
(WebCore::PageDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::PageDOMDebuggerAgent::buildPauseDataForDOMBreakpoint):

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

  • loader/ContentFilter.h:

(WebCore::ContentFilter::urlScheme):

  • loader/CrossOriginAccessControl.cpp:

(WebCore::createAccessControlPreflightRequest):

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod const):
(WebCore::CrossOriginPreflightResultCacheItem::validateCrossOriginHeaders const):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::maybeLoadEmpty):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::checkURLSchemeAsCORSEnabled):
(WebCore::DocumentThreadableLoader::cancel):
(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):
(WebCore::FormSubmission::populateFrameLoadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::updateRequestAndAddExtraFields):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadDifferentDocumentItem):

  • loader/ImageLoader.cpp:

(WebCore::rejectPromises):
(WebCore::ImageLoader::rejectDecodePromises):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::decode):

  • loader/ImageLoader.h:
  • loader/MixedContentChecker.cpp:

(WebCore::logWarning):
(WebCore::MixedContentChecker::canDisplayInsecureContent):
(WebCore::MixedContentChecker::canRunInsecureContent):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::sendPing):

  • loader/ResourceLoadStatistics.cpp:

(WebCore::encodeFontHashSet):
(WebCore::encodeCanvasActivityRecord):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashCountedSet):
(WebCore::decodeFontHashSet):
(WebCore::decodeCanvasActivityRecord):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::ResourceLoadStatistics::toString const):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::loadDataURL):

  • loader/ServerTimingParser.cpp:

(WebCore::ServerTimingParser::parseServerTiming):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

  • loader/TextResourceDecoder.cpp:

(WebCore::TextResourceDecoder::textFromUTF8):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::createFromSelection):

  • loader/cache/CachedApplicationManifest.cpp:

(WebCore::CachedApplicationManifest::CachedApplicationManifest):
(WebCore::CachedApplicationManifest::encoding const):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::didAddClient):
(WebCore::CachedCSSStyleSheet::encoding const):
(WebCore::CachedCSSStyleSheet::checkNotify):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • loader/cache/CachedSVGDocument.cpp:

(WebCore::CachedSVGDocument::CachedSVGDocument):
(WebCore::CachedSVGDocument::encoding const):

  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::ensureCustomFontData):

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::encoding const):

  • loader/cache/CachedXSLStyleSheet.cpp:

(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
(WebCore::CachedXSLStyleSheet::encoding const):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::MemoryCache):
(WebCore::MemoryCache::originsWithCache const):

  • mathml/MathMLElement.cpp:

(WebCore::convertMathSizeIfNeeded):

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS const):

  • page/Chrome.cpp:

(WebCore::Chrome::print):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::extend):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::print):
(WebCore::DOMWindow::alert):
(WebCore::DOMWindow::confirmForBindings):
(WebCore::DOMWindow::prompt):
(WebCore::DOMWindow::showModalDialog):

  • page/EventHandler.cpp:

(WebCore::handleKeyboardSelectionMovement):

  • page/EventSource.cpp:

(WebCore::EventSource::connect):

  • page/Frame.cpp:

(WebCore::createRegExpForLabels):
(WebCore::matchLabelsAgainstString):

  • page/FrameView.cpp:

(WebCore::FrameView::adjustMediaTypeForPrinting):

  • page/IntersectionObserver.cpp:

(WebCore::parseRootMargin):
(WebCore::IntersectionObserver::create):

  • page/LoggedInStatus.cpp:

(WebCore::LoggedInStatus::create):

  • page/NavigatorBase.cpp:
  • page/Page.cpp:

(WebCore::Page::userStyleSheet const):

  • page/Quirks.cpp:

(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):

  • page/WindowFeatures.cpp:

(WebCore::parseDialogFeatures):
(WebCore::boolFeature):
(WebCore::floatFeature):

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::consoleMessageForViolation):
(WebCore::ContentSecurityPolicy::allowEval const):
(WebCore::ContentSecurityPolicy::reportInvalidPluginTypes const):

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::shouldReportSample const):

  • page/csp/ContentSecurityPolicyDirectiveNames.cpp:
  • page/csp/ContentSecurityPolicyDirectiveNames.h:
  • platform/LegacySchemeRegistry.cpp:

(WebCore::allBuiltinSchemes):

  • platform/LocalizedStrings.cpp:

(WebCore::AXMenuListPopupActionVerb):
(WebCore::AXMenuListActionVerb):
(WebCore::AXListItemActionVerb):

  • platform/SleepDisabler.cpp:

(WebCore::SleepDisabler::SleepDisabler):

  • platform/SleepDisabler.h:
  • platform/audio/HRTFDatabase.cpp:

(WebCore::HRTFDatabase::HRTFDatabase):

  • platform/encryptedmedia/CDMPrivate.cpp:

(WebCore::CDMPrivate::getSupportedCapabilitiesForAudioVideoType):

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::parseLicenseFormat):
(WebCore::parseLicenseReleaseAcknowledgementFormat):
(WebCore::extractKeyidsFromCencInitData):
(WebCore::extractKeyIdFromWebMInitData):
(WebCore::CDMInstanceSessionClearKey::removeSessionData):

  • platform/graphics/Font.cpp:

(WebCore::Font::description const):

  • platform/graphics/GraphicsTypes.cpp:
  • platform/graphics/InbandGenericCue.cpp:

(WebCore::InbandGenericCue::toJSONString const):

  • platform/graphics/MediaPlayer.cpp:
  • platform/graphics/avfoundation/FormatDescriptionUtilities.cpp:

(WebCore::codecFromFormatDescription):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateAnimations):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::filenameExtension const):

  • platform/graphics/cocoa/VP9UtilitiesCocoa.mm:

(WebCore::createVideoInfoFromVP9HeaderParser):
(WebCore::createVideoInfoFromVP8Header):

  • platform/graphics/cocoa/VideoTrackPrivateWebM.cpp:

(WebCore::VideoTrackPrivateWebM::codec const):

  • platform/graphics/filters/FEBlend.cpp:

(WebCore::FEBlend::externalRepresentation const):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::validateDepthStencil):

  • platform/ios/QuickLook.h:
  • platform/ios/QuickLook.mm:
  • platform/mediastream/RealtimeMediaSourceCenter.cpp:

(WebCore::RealtimeMediaSourceCenter::hashStringWithSalt):

  • platform/mock/RTCNotifiersMock.cpp:

(WebCore::RemoteDataChannelNotifier::fire):

  • platform/mock/ScrollbarsControllerMock.cpp:

(WebCore::ScrollbarsControllerMock::mouseEnteredContentArea):
(WebCore::ScrollbarsControllerMock::mouseMovedInContentArea):
(WebCore::ScrollbarsControllerMock::mouseExitedContentArea):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::mimeTypeCache):

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::loadResourceSynchronously):
(WebCore::BlobResourceHandle::notifyResponseOnError):

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::DecodeTask::process):

  • platform/network/HTTPParsers.cpp:

(WebCore::parseStructuredFieldValue):
(WebCore::parseHTTPHeader):

  • platform/network/NetworkStorageSession.cpp:

(WebCore::NetworkStorageSession::storageAccessQuirks):

  • platform/network/ParsedContentType.cpp:

(WebCore::ParsedContentType::charset const):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::filter):

  • platform/network/cf/DNSResolveQueueCFNet.cpp:

(WebCore::DNSResolveQueueCFNet::updateIsUsingProxy):

  • platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::addCONNECTCredentials):
(WebCore::SocketStreamHandleImpl::readStreamCallback):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::authorizerFunction):

  • rendering/RenderAttachment.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::renderName const):

  • rendering/RenderBlock.h:
  • rendering/RenderButton.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.cpp:

(WebCore::RenderCounter::renderName const):

  • rendering/RenderCounter.h:
  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::renderName const):

  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderDetailsMarker.h:
  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::renderName const):

  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFragmentContainer.h:
  • rendering/RenderFragmentContainerSet.h:
  • rendering/RenderFragmentedFlow.h:
  • rendering/RenderFrame.h:
  • rendering/RenderFrameSet.h:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::renderName const):

  • rendering/RenderGrid.h:
  • rendering/RenderHTMLCanvas.h:
  • rendering/RenderIFrame.h:
  • rendering/RenderImage.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::renderName const):

  • rendering/RenderInline.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::ensureClippingStackLayers):
(WebCore::RenderLayerBacking::updateDescendantClippingLayer):
(WebCore::RenderLayerBacking::updateOverflowControlsLayers):
(WebCore::RenderLayerBacking::updateMaskingLayer):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):
(WebCore::RenderLayerBacking::updateScrollingLayers):

  • rendering/RenderLineBreak.h:
  • rendering/RenderListBox.h:
  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderMedia.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderMeter.h:
  • rendering/RenderModel.h:
  • rendering/RenderMultiColumnFlow.cpp:

(WebCore::RenderMultiColumnFlow::renderName const):

  • rendering/RenderMultiColumnFlow.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::renderName const):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderMultiColumnSpannerPlaceholder.cpp:

(WebCore::RenderMultiColumnSpannerPlaceholder::renderName const):

  • rendering/RenderMultiColumnSpannerPlaceholder.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::outputRenderObject const):

  • rendering/RenderObject.h:
  • rendering/RenderProgress.h:
  • rendering/RenderQuote.h:
  • rendering/RenderReplaced.h:
  • rendering/RenderReplica.h:
  • rendering/RenderRuby.h:
  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.h:
  • rendering/RenderScrollbarPart.h:
  • rendering/RenderSlider.h:
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.h:
  • rendering/RenderTableCol.h:
  • rendering/RenderTableRow.h:
  • rendering/RenderTableSection.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::renderName const):

  • rendering/RenderText.h:
  • rendering/RenderTextControl.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::getTagName):
(WebCore::RenderTreeAsText::writeRenderObject):

  • rendering/RenderVideo.h:
  • rendering/RenderView.h:
  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLFenced.h:
  • rendering/mathml/RenderMathMLFraction.h:
  • rendering/mathml/RenderMathMLMath.h:
  • rendering/mathml/RenderMathMLMenclose.h:
  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLPadded.h:
  • rendering/mathml/RenderMathMLRoot.h:
  • rendering/mathml/RenderMathMLRow.h:
  • rendering/mathml/RenderMathMLScripts.h:
  • rendering/mathml/RenderMathMLSpace.h:
  • rendering/mathml/RenderMathMLToken.h:
  • rendering/mathml/RenderMathMLUnderOver.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::checkShapeImageOrigin):

  • rendering/style/GridPositionsResolver.cpp:

(WebCore::adjustGridPositionsFromStyle):

  • rendering/svg/LegacyRenderSVGContainer.h:
  • rendering/svg/LegacyRenderSVGRect.h:
  • rendering/svg/LegacyRenderSVGRoot.h:
  • rendering/svg/LegacyRenderSVGShape.h:
  • rendering/svg/RenderSVGContainer.h:
  • rendering/svg/RenderSVGEllipse.h:
  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGGradientStop.h:
  • rendering/svg/RenderSVGHiddenContainer.h:
  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGInline.h:
  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGPath.h:
  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceFilterPrimitive.h:
  • rendering/svg/RenderSVGResourceLinearGradient.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGShape.h:
  • rendering/svg/RenderSVGTSpan.h:
  • rendering/svg/RenderSVGText.h:
  • rendering/svg/RenderSVGTextPath.h:
  • rendering/svg/RenderSVGViewportContainer.h:
  • rendering/svg/SVGContainerLayout.cpp:

(WebCore::SVGContainerLayout::verifyLayoutLocationConsistency):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::TextStreamSeparator::TextStreamSeparator):
(WebCore::writeSVGFillPaintingResource):
(WebCore::writeSVGStrokePaintingResource):
(WebCore::writeStandardPrefix):

  • svg/LinearGradientAttributes.h:

(WebCore::LinearGradientAttributes::LinearGradientAttributes):

  • svg/RadialGradientAttributes.h:

(WebCore::RadialGradientAttributes::RadialGradientAttributes):

  • svg/SVGFitToViewBox.cpp:

(WebCore::SVGFitToViewBox::parseViewBoxGeneric):

  • svg/SVGGeometryElement.cpp:

(WebCore::SVGGeometryElement::parseAttribute):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::dataChanged):

  • testing/Internals.cpp:

(WebCore::styleValidityToToString):
(WebCore::responseSourceToString):
(WebCore::Internals::openDummyInspectorFrontend):
(WebCore::Internals::elementBufferingPolicy):
(WebCore::Internals::createSleepDisabler):
(WebCore::Internals::loadArtworkImage):

  • testing/InternalsMapLike.cpp:

(WebCore::InternalsMapLike::InternalsMapLike):

  • testing/MockMediaSessionCoordinator.cpp:

(WebCore::MockMediaSessionCoordinator::positionStateChanged):
(WebCore::MockMediaSessionCoordinator::readyStateChanged):
(WebCore::MockMediaSessionCoordinator::playbackStateChanged):
(WebCore::MockMediaSessionCoordinator::trackIdentifierChanged):

  • testing/MockMediaSessionCoordinator.h:
  • testing/MockPageOverlayClient.cpp:

(WebCore::MockPageOverlayClient::layerTreeAsText):

  • testing/MockPaymentCoordinator.cpp:
  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::notifyError):

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::RegistrationDatabase::ensureValidRecordsTable):
(WebCore::updateViaCacheToString):
(WebCore::workerTypeToString):
(WebCore::RegistrationDatabase::doPushChanges):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::scheduleJob):

  • workers/shared/SharedWorker.cpp:

(WebCore::SharedWorker::create):

  • worklets/PaintWorkletGlobalScope.cpp:

(WebCore::PaintWorkletGlobalScope::registerPaint):

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::userAgent const):

  • xml/XMLErrors.cpp:

(WebCore::XMLErrors::handleError):
(WebCore::XMLErrors::appendErrorMessage):

  • xml/XMLErrors.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::replaceCharsetInMediaTypeIfNeeded):
(WebCore::XMLHttpRequest::setTimeout):
(WebCore::XMLHttpRequest::setResponseType):
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::createDecoder const):

  • xml/XPathParser.cpp:

(WebCore::XPath::Parser::nextTokenInternal):

  • xml/XSLTProcessor.cpp:

(WebCore::XSLTProcessor::transformToFragment):

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::XSLTProcessor::parseErrorFunc):
(WebCore::docLoaderFunc):
(WebCore::resultMIMEType):
(WebCore::XSLTProcessor::transformToString):

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::createLeafTextNode):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::openFunc):

Source/WebCore/PAL:

  • pal/Logging.cpp:

(PAL::registerNotifyCallback):

  • pal/Logging.h:
  • pal/system/SleepDisabler.cpp:

(PAL::SleepDisabler::create):
(PAL::SleepDisabler::SleepDisabler):

  • pal/system/SleepDisabler.h:
  • pal/system/cocoa/SleepDisablerCocoa.cpp:

(PAL::SleepDisabler::create):
(PAL::SleepDisablerCocoa::SleepDisablerCocoa):

  • pal/system/cocoa/SleepDisablerCocoa.h:
  • pal/system/glib/SleepDisablerGLib.cpp:

(PAL::SleepDisabler::create):
(PAL::SleepDisablerGLib::SleepDisablerGLib):
(PAL::SleepDisablerGLib::acquireInhibitor):

  • pal/system/glib/SleepDisablerGLib.h:

Source/WebKit:

  • NetworkProcess/NetworkDataTaskBlob.cpp:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didCreateSleepDisabler):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

Source/WTF:

  • wtf/text/WTFString.h:

(WTF::equalIgnoringASCIICase):

2:20 PM Changeset in webkit [291991] by Alan Coon
  • 9 edits in branches/safari-613.1.17.1-branch/Source

Versioning.

WebKit-7613.1.17.1.14

2:11 PM Changeset in webkit [291990] by Ziran Sun
  • 7 edits in trunk

[selection] Fire Select event when selection extent or direction changes
https://bugs.webkit.org/show_bug.cgi?id=238142

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Update test expectations as more sub-tests are now passing.

  • web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt:
  • web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText-expected.txt:
  • web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:

Source/WebCore:

As per step 6 at [1], if either extent or direction of the text control to be modified,
we need to queue an element task on the user interaction task source given the element
to fire an select event with the bubbles attribute initialized to true.

[1] https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#set-the-selection-range

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange):
(WebCore::HTMLTextFormControlElement::cacheSelection):
(WebCore::HTMLTextFormControlElement::restoreCachedSelection):
(WebCore::HTMLTextFormControlElement::scheduleSelectEvent):

  • html/HTMLTextFormControlElement.h:

(WebCore::HTMLTextFormControlElement::cacheSelection): Deleted.

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

[webkitbugspy] Support component and version in GitHub
https://bugs.webkit.org/show_bug.cgi?id=238086
<rdar://problem/90495776>

Reviewed by Dewei Zhu.

GitHub issues do not have the concept of "component" and "version." However,
we can use label colors to divide labels into types.

  • Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:

(Tracker):
(Tracker.init): Add concept of color groups for version and components.

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py:

(GitHub):
(GitHub.init):
(GitHub._labels): Sort labels and output project details as labels.

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py:

(TestGitHub.test_create):
(TestGitHub.test_create_projects):

Canonical link: https://commits.webkit.org/248946@main

1:58 PM Changeset in webkit [291988] by J Pascoe
  • 3 edits in trunk/Source/WebKit

Adopt ASCPublicKeyCredentialCreationOptions's residentKeyPreference
https://bugs.webkit.org/show_bug.cgi?id=238387
rdar://problem/90845393

Reviewed by Brent Fulgham.

This patch passes along the residentKeyPreference to ASA, so it can be passed
back via _WKAuthenticatorSelectionCriteria.residentKey.

  • Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:

(WebKit::toASCResidentKeyPreference):
(WebKit::configureRegistrationRequestContext):

1:43 PM Changeset in webkit [291987] by Jonathan Bedard
  • 5 edits in trunk/Tools

[git-webkit] Support —oneline in log command
https://bugs.webkit.org/show_bug.cgi?id=238209
<rdar://problem/90660142>

Reviewed by Dewei Zhu.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:

(FilteredCommand): Header lines don't always start with 'commit'
(FilteredCommand.main): Handle --online output

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py:

(Log):
(Log.parser): Add various git log options.
(Log.main): Forward git log options.

Canonical link: https://commits.webkit.org/248944@main

1:29 PM Changeset in webkit [291986] by Russell Epstein
  • 20 edits in branches/safari-614.1.8-branch

Cherry-pick r291980. rdar://problem/89434696

[iOS] Add WKWebView API to control CSS "small viewport" sv* and "large viewport" lv* units
https://bugs.webkit.org/show_bug.cgi?id=237979
<rdar://problem/89434696>

Reviewed by Tim Horton.

Source/WebCore:

Tests: CSSViewportUnits.NegativeMinimumViewportInset

CSSViewportUnits.NegativeMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanFrame
CSSViewportUnits.MaximumViewportInsetLargerThanFrame
CSSViewportUnits.MinimumViewportInset
CSSViewportUnits.MaximumViewportInset
CSSViewportUnits.MinimumViewportInsetWithZoom
CSSViewportUnits.MaximumViewportInsetWithZoom
CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.MinimumViewportInsetWithFrame
CSSViewportUnits.MaximumViewportInsetWithFrame
CSSViewportUnits.MinimumViewportInsetWithBounds
CSSViewportUnits.MaximumViewportInsetWithBounds
CSSViewportUnits.MinimumViewportInsetWithContentInset
CSSViewportUnits.MaximumViewportInsetWithContentInset
CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets
CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets
CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI

  • page/FrameView.h:
  • page/FrameView.cpp: (WebCore::FrameView::performSizeToContentAutoSize): (WebCore::FrameView::enableAutoSizeMode): (WebCore::FrameView::clearSizeOverrideForCSSDefaultViewportUnits): Added. (WebCore::FrameView::setSizeForCSSDefaultViewportUnits): Added. (WebCore::FrameView::overrideWidthForCSSDefaultViewportUnits): Added. (WebCore::FrameView::resetOverriddenWidthForCSSDefaultViewportUnits): Added. (WebCore::FrameView::overrideSizeForCSSDefaultViewportUnits): Added. (WebCore::FrameView::sizeForCSSDefaultViewportUnits const): Renamed from sizeForCSSDefaultViewportUnits. (WebCore::FrameView::copyCSSViewportUnits const): Added. Add all the various methods for getting/setting/overriding/clearing an override value for CSS "default viewport" v* units. This allows for WKWebView clients to preserve existing behavior (where CSS "default viewport" v* units match the size of the WKWebView) while adding supporting CSS "small viewport" sv* units and CSS "large viewport" lv* units.

Source/WebKit:

Recently the W3C CSS working group added [some new unit types to CSS](https://drafts.csswg.org/css-values-4/#viewport-variants)
with the goal of helping web developers better deal with browsers that have dynamic UI
elements that change apperance/size/etc. based on user actions (e.g. the URL bar
collapsing/"squishing" and expanding/"unsquishing" depending on whether the user has most
recently scrolled/swiped down the page).

These new units come in three categories:

  • the "large viewport" units (lvw, lvh, etc.) each represent 1% of one dimension of the size of the visual area of the page when all browser UI elements are in their smallest state (e.g. when the URL bar is collapsed/"squished")
  • the "small viewport" units (svw, svh, etc.) each represent 1% of one dimension of the size of the visual area of the page when all browser UI elements are in their largest state (e.g. when the URL bar is expanded/"unsquished")
  • the "dynamic viewport" units (dvw, dvh, etc.) each represent 1% of one dimension of the size of the current visual area of the page, which depends on the current state of all browser UI elements

This way, developer could use 100svh to ensure that no matter what state the browser UI
elements are in the entire element will always be visible on the screen, or use 100dvh to
respond to browser UI element changes by automatically resizing various elements to always
fully take advantage of the available space.

Nothing needs to be added to support "dynamic viewport" dv* units as there already exists
other methods to adjust the visual area of the WKWebView without adjusting its frame
(e.g. -[WKWebView setBounds:], -[UIScrollView setContentInset:], etc.).

But for "small viewport" sv* units and "large viewport" lv* units, however, there is
unfortunately no way to tell a WKWebView anything like "this is the smallest/largest that
this WKWebView will ever be", so there's no way to know ahead of time what the size of the
visual area would be when all browser UI elements are in their smallest/largest state. As
such, this patch adds a new API to allow for WKWebView clients to tell WebKit this
information ahead of time.

Note that there already exists the concept of "default viewport" units (vw, vh, etc.)
that each represent 1% of one dimension of the size of the visual area of the page when all
browser UI elements are in their default state. The behavior of these units remain the same,
and the value can be changed via the existing -[WKWebView setFrame:].

Tests: CSSViewportUnits.NegativeMinimumViewportInset

CSSViewportUnits.NegativeMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanFrame
CSSViewportUnits.MaximumViewportInsetLargerThanFrame
CSSViewportUnits.MinimumViewportInset
CSSViewportUnits.MaximumViewportInset
CSSViewportUnits.MinimumViewportInsetWithZoom
CSSViewportUnits.MaximumViewportInsetWithZoom
CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.MinimumViewportInsetWithFrame
CSSViewportUnits.MaximumViewportInsetWithFrame
CSSViewportUnits.MinimumViewportInsetWithBounds
CSSViewportUnits.MaximumViewportInsetWithBounds
CSSViewportUnits.MinimumViewportInsetWithContentInset
CSSViewportUnits.MaximumViewportInsetWithContentInset
CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets
CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets
CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _recalculateViewportSizesWithMinimumViewportInset:maximumViewportInset:throwOnInvalidInput:]): Added. (-[WKWebView setMinimumViewportInset:maximumViewportInset:]): Added.
  • UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _processWillSwapOrDidExit]): (-[WKWebView _frameOrBoundsChanged]): (-[WKWebView _didCompleteAnimatedResize]): (-[WKWebView _setMinimumUnobscuredSizeOverride:]): (-[WKWebView _setMaximumUnobscuredSizeOverride:]): (-[WKWebView _beginAnimatedResizeWithUpdates:]): (-[WKWebView _dispatchSetMinimumUnobscuredSize:]): Deleted. (-[WKWebView _dispatchSetMaximumUnobscuredSize:]): Deleted. Recalculate the size for CSS "small viewport" sv* units whenever the frame changes. Also move the deduplication logic that prevents the same value from being sent to the WebProcess more than once to the setter methods on WebPageProxy so that it can be used by more than just iOS-only codepaths.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setDefaultUnobscuredSize): Added. (WebKit::WebPageProxy::setMinimumUnobscuredSize): Added. (WebKit::WebPageProxy::setMaximumUnobscuredSize): Added. (WebKit::WebPageProxy::creationParameters):
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::dynamicViewportSizeUpdate): (WebKit::WebPageProxy::setMinimumUnobscuredSize): Deleted. (WebKit::WebPageProxy::setMaximumUnobscuredSize): Deleted.
  • Shared/WebPageCreationParameters.h:
  • Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode):
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage): (WebKit::WebPage::setViewportSizeForCSSViewportUnits): (WebKit::WebPage::setDefaultUnobscuredSize): Added. (WebKit::WebPage::setMinimumUnobscuredSize): Added. (WebKit::WebPage::setMaximumUnobscuredSize): Added. (WebKit::WebPage::updateSizeForCSSDefaultViewportUnits): Added. (WebKit::WebPage::updateSizeForCSSSmallViewportUnits): Added. (WebKit::WebPage::updateSizeForCSSLargeViewportUnits): Added.
  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::viewportConfigurationChanged): (WebKit::WebPage::setMinimumUnobscuredSize): Deleted. (WebKit::WebPage::setMaximumUnobscuredSize): Deleted. (WebKit::WebPage::updateViewportSizeForCSSViewportUnits): Deleted. Add all the various methods for getting/setting/overriding/clearing an override value for CSS "default viewport" v* units. This allows for WKWebView clients to preserve existing behavior (where CSS "default viewport" v* units match the size of the WKWebView) while adding supporting CSS "small viewport" sv* units and CSS "large viewport" lv* units. Move iOS-only code to be for all platforms.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Propagate all viewport size overrides when a new FrameView is created.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm: (TEST.CSSViewportUnits.NegativeMinimumViewportInset): Added. (TEST.CSSViewportUnits.NegativeMaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetLargerThanFrame): Added. (TEST.CSSViewportUnits.MaximumViewportInsetLargerThanFrame): Added. (TEST.CSSViewportUnits.MinimumViewportInset): Added. (TEST.CSSViewportUnits.MaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithZoom): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithZoom): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithWritingMode): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithWritingMode): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithFrame): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithFrame): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithBounds): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithBounds): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithContentInset): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithContentInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets): Added. (TEST.CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291980 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:29 PM Changeset in webkit [291985] by Russell Epstein
  • 36 edits
    4 adds in branches/safari-614.1.8-branch

Cherry-pick r291979. rdar://problem/90616651

Support ServiceWorkerClients.openWindow.
<rdar://90616651> and https://bugs.webkit.org/show_bug.cgi?id=238400

Reviewed by Youenn Fablet.
Source/WebCore:

Test: http/tests/workers/service/openwindow-from-notification-click.html

  • dom/Document.cpp: (WebCore::Document::pageID const):
  • page/ClientOrigin.h: (WebCore::ClientOrigin::loggingString const):
  • workers/service/ServiceWorkerClientData.cpp: (WebCore::ServiceWorkerClientData::isolatedCopy const): (WebCore::ServiceWorkerClientData::isolatedCopy): (WebCore::ServiceWorkerClientData::from):
  • workers/service/ServiceWorkerClientData.h: (WebCore::ServiceWorkerClientData::encode const): (WebCore::ServiceWorkerClientData::decode):
  • workers/service/ServiceWorkerClients.cpp: (WebCore::matchWindowWithPageIdentifier): (WebCore::ServiceWorkerClients::openWindow):
  • workers/service/context/SWContextManager.h:
  • workers/service/server/SWServerToContextConnection.h:
  • workers/service/server/SWServerWorker.h:

Source/WebKit:

This API asks the browser to asynchronously open a new tab to a URL then resolve
a promise with the new WindowClient representing that tab.

From a WebCore/WebKit standpoint, implementing this was mostly straightforward.
1 - A plumbing exercise (thread hopping and IPC'ing the message and its reply around)
2 - Implmenting a new delegate method for the hosting app to create the requested WKWebView

The delegate method was interesting. Normally this is the type of thing that'd go to the
WKUIDelegate but that requires there to be a WKWebView, and service workers can be running
without any web views.

Fortunately we already had a WKWebsiteDataStore delegate SPI, and service workers *do* always
have an associated website data store they're running under.

Once the app gives the new web view back to WebKit, we record its PageIdentifier in the reply.

Once the reply makes its way all the way back to the ServiceWorker process and on the
ServiceWorker thread, we do a client match and cross check with that PageIdentifier to make
sure we're resolving the promise with the correct WindowClient.

If there's no matched clients, then the view is either already gone or it has navigated away
to a non-applicable URL.

Same if there are matched clients, but they don't match the specified PageIdentifier.

A straight forward layouttest completes the task.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: (WebKit::WebSWServerConnection::controlClient):
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp: (WebKit::WebSWServerToContextConnection::openWindow):
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore set_delegate:]):
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::openWindowFromServiceWorker):
  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared): (WebKit::WebPageProxy::callLoadCompletionHandlersIfNecessary): (WebKit::WebPageProxy::didFinishLoadForFrame): (WebKit::WebPageProxy::didFailLoadForFrame): (WebKit::WebPageProxy::resetState): (WebKit::WebPageProxy::callServiceWorkerLaunchCompletionHandlerIfNecessary): Deleted.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::openWindowFromServiceWorker):
  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • UIProcess/WebsiteData/WebsiteDataStoreClient.h: (WebKit::WebsiteDataStoreClient::openWindowFromServiceWorker):
  • WebProcess/Notifications/WebNotificationManager.cpp: (WebKit::WebNotificationManager::show): (WebKit::WebNotificationManager::didShowNotification): (WebKit::WebNotificationManager::didClickNotification):
  • WebProcess/Storage/WebSWContextManagerConnection.cpp: (WebKit::WebSWContextManagerConnection::openWindow):
  • WebProcess/Storage/WebSWContextManagerConnection.h:

Source/WTF:

  • wtf/HashTable.h: (WTF::KeyTraits>::inlineLookup): Relax this value size requirement for now. The required refactoring is best left as a seperate task with a seperate patch.

Tools:

Implement the new delegate to create the new view.

  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createOtherPlatformWebView):
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateOtherPage):
  • WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm: (-[TestWebsiteDataStoreDelegate websiteDataStore:openWindow:fromServiceWorkerOrigin:completionHandler:]):

LayoutTests:

WKTR knows how to openWindow() now.

So test:

  • The success case
  • Failure due to a disallowed URL
  • Failure due to a lack of a related user gesture.
  • http/tests/workers/service/openwindow-from-notification-click-expected.txt: Added.
  • http/tests/workers/service/openwindow-from-notification-click.html: Added.
  • http/tests/workers/service/resources/openwindow-client.html: Added.
  • http/tests/workers/service/resources/shownotification-openwindow-worker.js: Added. (async const): (let.messageClients): (clients.openWindow.string_appeared_here.then.async client): (catch.async error): (async event): (async tryShow): (async getNotes):
  • platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:17 PM Changeset in webkit [291984] by Kate Cheney
  • 3 edits in trunk/LayoutTests

REGRESSION (r291587): [ iOS ] editing/deleting/insert-in-orphaned-selection-crash.html is a constant text failure (238282)
https://bugs.webkit.org/show_bug.cgi?id=238282
<rdar://problem/90720306>

Reviewed by Aditya Keerthi.

In r291587 we started dropping native appearance for non-form control elements with
specified author style. This is the correct behavior, but requires adjusting this
test which relies on the appearance of a table element in order to reproduce a
non-appearance related crash. This patch updates the test to add table data tags which
ensure the table element gets included in the selectAll() command to keep the test passing.

  • editing/deleting/insert-in-orphaned-selection-crash.html:
  • platform/ios-wk2/TestExpectations:
12:40 PM Changeset in webkit [291983] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Accessing WebGL content crashes in macOS Recovery OS, workaround 2
https://bugs.webkit.org/show_bug.cgi?id=238448

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-28
Reviewed by Dean Jackson.

Add a two new quick workarounds to try fix a recovery OS crash when
WebKit tries to use ANGLE that is not present in the OS image.
Compare explicitly against NULL as instructed in weak linking documentation.
Check for the EGL_GetPlatformDisplayEXT, this is nullptr in the
recovery OS.

Remove the previous workaround. The environment variable is
not available in WP or GPUP. The Metal symbol is not the problem.

  • platform/graphics/cocoa/GraphicsContextGLCocoa.mm:

(WebCore::platformSupportsMetal):
(WebCore::initializeEGLDisplay):

12:33 PM Changeset in webkit [291982] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[iOS] Fix sandbox violation related to Network content filtering
https://bugs.webkit.org/show_bug.cgi?id=238458
<rdar://90927474>

Reviewed by Brent Fulgham.

After enabling Network content filtering in the Network process, a related sandbox rule should
be moved to the Network process' sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
11:45 AM Changeset in webkit [291981] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

Speed up Element::removedFromAncestor()
https://bugs.webkit.org/show_bug.cgi?id=238404

Reviewed by Geoffrey Garen.

Speed up Element::removedFromAncestor() by inlining some of the functions it is calling.
This is a confirmed 1.5-2% progression on Speedometer on iMac 20,1.

  • dom/Element.cpp:

(WebCore::Element::removedFromAncestor):
(WebCore::Element::clearBeforePseudoElementSlow):
(WebCore::Element::clearAfterPseudoElementSlow):
(WebCore::Element::setSavedLayerScrollPositionSlow):
(WebCore::Element::clearBeforePseudoElement): Deleted.
(WebCore::Element::clearAfterPseudoElement): Deleted.
(WebCore::Element::setSavedLayerScrollPosition): Deleted.

  • dom/Element.h:

(WebCore::Element::setSavedLayerScrollPosition):
(WebCore::Element::clearBeforePseudoElement):
(WebCore::Element::clearAfterPseudoElement):

  • page/PointerCaptureController.cpp:

(WebCore::PointerCaptureController::elementWasRemovedSlow):
(WebCore::PointerCaptureController::elementWasRemoved): Deleted.

  • page/PointerCaptureController.h:

(WebCore::PointerCaptureController::elementWasRemoved):

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::elementWasRemovedInternal):
(WebCore::PointerLockController::elementWasRemoved): Deleted.

  • page/PointerLockController.h:

(WebCore::PointerLockController::elementWasRemoved):

11:18 AM Changeset in webkit [291980] by Devin Rousso
  • 20 edits in trunk

[iOS] Add WKWebView API to control CSS "small viewport" sv* and "large viewport" lv* units
https://bugs.webkit.org/show_bug.cgi?id=237979
<rdar://problem/89434696>

Reviewed by Tim Horton.

Source/WebCore:

Tests: CSSViewportUnits.NegativeMinimumViewportInset

CSSViewportUnits.NegativeMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanFrame
CSSViewportUnits.MaximumViewportInsetLargerThanFrame
CSSViewportUnits.MinimumViewportInset
CSSViewportUnits.MaximumViewportInset
CSSViewportUnits.MinimumViewportInsetWithZoom
CSSViewportUnits.MaximumViewportInsetWithZoom
CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.MinimumViewportInsetWithFrame
CSSViewportUnits.MaximumViewportInsetWithFrame
CSSViewportUnits.MinimumViewportInsetWithBounds
CSSViewportUnits.MaximumViewportInsetWithBounds
CSSViewportUnits.MinimumViewportInsetWithContentInset
CSSViewportUnits.MaximumViewportInsetWithContentInset
CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets
CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets
CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI

  • page/FrameView.h:
  • page/FrameView.cpp:

(WebCore::FrameView::performSizeToContentAutoSize):
(WebCore::FrameView::enableAutoSizeMode):
(WebCore::FrameView::clearSizeOverrideForCSSDefaultViewportUnits): Added.
(WebCore::FrameView::setSizeForCSSDefaultViewportUnits): Added.
(WebCore::FrameView::overrideWidthForCSSDefaultViewportUnits): Added.
(WebCore::FrameView::resetOverriddenWidthForCSSDefaultViewportUnits): Added.
(WebCore::FrameView::overrideSizeForCSSDefaultViewportUnits): Added.
(WebCore::FrameView::sizeForCSSDefaultViewportUnits const): Renamed from sizeForCSSDefaultViewportUnits.
(WebCore::FrameView::copyCSSViewportUnits const): Added.
Add all the various methods for getting/setting/overriding/clearing an override value for
CSS "default viewport" v* units. This allows for WKWebView clients to preserve existing
behavior (where CSS "default viewport" v* units match the size of the WKWebView) while
adding supporting CSS "small viewport" sv* units and CSS "large viewport" lv* units.

Source/WebKit:

Recently the W3C CSS working group added [some new unit types to CSS](https://drafts.csswg.org/css-values-4/#viewport-variants)
with the goal of helping web developers better deal with browsers that have dynamic UI
elements that change apperance/size/etc. based on user actions (e.g. the URL bar
collapsing/"squishing" and expanding/"unsquishing" depending on whether the user has most
recently scrolled/swiped down the page).

These new units come in three categories:

  • the "large viewport" units (lvw, lvh, etc.) each represent 1% of one dimension of the size of the visual area of the page when all browser UI elements are in their smallest state (e.g. when the URL bar is collapsed/"squished")
  • the "small viewport" units (svw, svh, etc.) each represent 1% of one dimension of the size of the visual area of the page when all browser UI elements are in their largest state (e.g. when the URL bar is expanded/"unsquished")
  • the "dynamic viewport" units (dvw, dvh, etc.) each represent 1% of one dimension of the size of the current visual area of the page, which depends on the current state of all browser UI elements

This way, developer could use 100svh to ensure that no matter what state the browser UI
elements are in the entire element will always be visible on the screen, or use 100dvh to
respond to browser UI element changes by automatically resizing various elements to always
fully take advantage of the available space.

Nothing needs to be added to support "dynamic viewport" dv* units as there already exists
other methods to adjust the visual area of the WKWebView without adjusting its frame
(e.g. -[WKWebView setBounds:], -[UIScrollView setContentInset:], etc.).

But for "small viewport" sv* units and "large viewport" lv* units, however, there is
unfortunately no way to tell a WKWebView anything like "this is the smallest/largest that
this WKWebView will ever be", so there's no way to know ahead of time what the size of the
visual area would be when all browser UI elements are in their smallest/largest state. As
such, this patch adds a new API to allow for WKWebView clients to tell WebKit this
information ahead of time.

Note that there already exists the concept of "default viewport" units (vw, vh, etc.)
that each represent 1% of one dimension of the size of the visual area of the page when all
browser UI elements are in their default state. The behavior of these units remain the same,
and the value can be changed via the existing -[WKWebView setFrame:].

Tests: CSSViewportUnits.NegativeMinimumViewportInset

CSSViewportUnits.NegativeMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset
CSSViewportUnits.MinimumViewportInsetLargerThanFrame
CSSViewportUnits.MaximumViewportInsetLargerThanFrame
CSSViewportUnits.MinimumViewportInset
CSSViewportUnits.MaximumViewportInset
CSSViewportUnits.MinimumViewportInsetWithZoom
CSSViewportUnits.MaximumViewportInsetWithZoom
CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.MinimumViewportInsetWithFrame
CSSViewportUnits.MaximumViewportInsetWithFrame
CSSViewportUnits.MinimumViewportInsetWithBounds
CSSViewportUnits.MaximumViewportInsetWithBounds
CSSViewportUnits.MinimumViewportInsetWithContentInset
CSSViewportUnits.MaximumViewportInsetWithContentInset
CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets
CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets
CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI

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

(-[WKWebView _recalculateViewportSizesWithMinimumViewportInset:maximumViewportInset:throwOnInvalidInput:]): Added.
(-[WKWebView setMinimumViewportInset:maximumViewportInset:]): Added.

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _processWillSwapOrDidExit]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _didCompleteAnimatedResize]):
(-[WKWebView _setMinimumUnobscuredSizeOverride:]):
(-[WKWebView _setMaximumUnobscuredSizeOverride:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _dispatchSetMinimumUnobscuredSize:]): Deleted.
(-[WKWebView _dispatchSetMaximumUnobscuredSize:]): Deleted.
Recalculate the size for CSS "small viewport" sv* units whenever the frame changes. Also
move the deduplication logic that prevents the same value from being sent to the WebProcess
more than once to the setter methods on WebPageProxy so that it can be used by more than
just iOS-only codepaths.

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

(WebKit::WebPageProxy::setDefaultUnobscuredSize): Added.
(WebKit::WebPageProxy::setMinimumUnobscuredSize): Added.
(WebKit::WebPageProxy::setMaximumUnobscuredSize): Added.
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setMinimumUnobscuredSize): Deleted.
(WebKit::WebPageProxy::setMaximumUnobscuredSize): Deleted.

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPageCreationParameters.cpp:

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

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

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setViewportSizeForCSSViewportUnits):
(WebKit::WebPage::setDefaultUnobscuredSize): Added.
(WebKit::WebPage::setMinimumUnobscuredSize): Added.
(WebKit::WebPage::setMaximumUnobscuredSize): Added.
(WebKit::WebPage::updateSizeForCSSDefaultViewportUnits): Added.
(WebKit::WebPage::updateSizeForCSSSmallViewportUnits): Added.
(WebKit::WebPage::updateSizeForCSSLargeViewportUnits): Added.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::WebPage::setMinimumUnobscuredSize): Deleted.
(WebKit::WebPage::setMaximumUnobscuredSize): Deleted.
(WebKit::WebPage::updateViewportSizeForCSSViewportUnits): Deleted.
Add all the various methods for getting/setting/overriding/clearing an override value for
CSS "default viewport" v* units. This allows for WKWebView clients to preserve existing
behavior (where CSS "default viewport" v* units match the size of the WKWebView) while
adding supporting CSS "small viewport" sv* units and CSS "large viewport" lv* units.
Move iOS-only code to be for all platforms.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Propagate all viewport size overrides when a new FrameView is created.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm:

(TEST.CSSViewportUnits.NegativeMinimumViewportInset): Added.
(TEST.CSSViewportUnits.NegativeMaximumViewportInset): Added.
(TEST.CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset): Added.
(TEST.CSSViewportUnits.MinimumViewportInsetLargerThanFrame): Added.
(TEST.CSSViewportUnits.MaximumViewportInsetLargerThanFrame): Added.
(TEST.CSSViewportUnits.MinimumViewportInset): Added.
(TEST.CSSViewportUnits.MaximumViewportInset): Added.
(TEST.CSSViewportUnits.MinimumViewportInsetWithZoom): Added.
(TEST.CSSViewportUnits.MaximumViewportInsetWithZoom): Added.
(TEST.CSSViewportUnits.MinimumViewportInsetWithWritingMode): Added.
(TEST.CSSViewportUnits.MaximumViewportInsetWithWritingMode): Added.
(TEST.CSSViewportUnits.MinimumViewportInsetWithFrame): Added.
(TEST.CSSViewportUnits.MaximumViewportInsetWithFrame): Added.
(TEST.CSSViewportUnits.MinimumViewportInsetWithBounds): Added.
(TEST.CSSViewportUnits.MaximumViewportInsetWithBounds): Added.
(TEST.CSSViewportUnits.MinimumViewportInsetWithContentInset): Added.
(TEST.CSSViewportUnits.MaximumViewportInsetWithContentInset): Added.
(TEST.CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets): Added.
(TEST.CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets): Added.
(TEST.CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI): Added.

11:14 AM Changeset in webkit [291979] by beidson@apple.com
  • 36 edits
    4 adds in trunk

Support ServiceWorkerClients.openWindow.
<rdar://90616651> and https://bugs.webkit.org/show_bug.cgi?id=238400

Reviewed by Youenn Fablet.
Source/WebCore:

Test: http/tests/workers/service/openwindow-from-notification-click.html

  • dom/Document.cpp:

(WebCore::Document::pageID const):

  • page/ClientOrigin.h:

(WebCore::ClientOrigin::loggingString const):

  • workers/service/ServiceWorkerClientData.cpp:

(WebCore::ServiceWorkerClientData::isolatedCopy const):
(WebCore::ServiceWorkerClientData::isolatedCopy):
(WebCore::ServiceWorkerClientData::from):

  • workers/service/ServiceWorkerClientData.h:

(WebCore::ServiceWorkerClientData::encode const):
(WebCore::ServiceWorkerClientData::decode):

  • workers/service/ServiceWorkerClients.cpp:

(WebCore::matchWindowWithPageIdentifier):
(WebCore::ServiceWorkerClients::openWindow):

  • workers/service/context/SWContextManager.h:
  • workers/service/server/SWServerToContextConnection.h:
  • workers/service/server/SWServerWorker.h:

Source/WebKit:

This API asks the browser to asynchronously open a new tab to a URL then resolve
a promise with the new WindowClient representing that tab.

From a WebCore/WebKit standpoint, implementing this was mostly straightforward.
1 - A plumbing exercise (thread hopping and IPC'ing the message and its reply around)
2 - Implmenting a new delegate method for the hosting app to create the requested WKWebView

The delegate method was interesting. Normally this is the type of thing that'd go to the
WKUIDelegate but that requires there to be a WKWebView, and service workers can be running
without any web views.

Fortunately we already had a WKWebsiteDataStore delegate SPI, and service workers *do* always
have an associated website data store they're running under.

Once the app gives the new web view back to WebKit, we record its PageIdentifier in the reply.

Once the reply makes its way all the way back to the ServiceWorker process and on the
ServiceWorker thread, we do a client match and cross check with that PageIdentifier to make
sure we're resolving the promise with the correct WindowClient.

If there's no matched clients, then the view is either already gone or it has navigated away
to a non-applicable URL.

Same if there are matched clients, but they don't match the specified PageIdentifier.

A straight forward layouttest completes the task.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::controlClient):

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:

(WebKit::WebSWServerToContextConnection::openWindow):

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore set_delegate:]):

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::openWindowFromServiceWorker):

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

(WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::callLoadCompletionHandlersIfNecessary):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::callServiceWorkerLaunchCompletionHandlerIfNecessary): Deleted.

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

(WebKit::WebsiteDataStore::openWindowFromServiceWorker):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • UIProcess/WebsiteData/WebsiteDataStoreClient.h:

(WebKit::WebsiteDataStoreClient::openWindowFromServiceWorker):

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::didShowNotification):
(WebKit::WebNotificationManager::didClickNotification):

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::openWindow):

  • WebProcess/Storage/WebSWContextManagerConnection.h:

Source/WTF:

  • wtf/HashTable.h:

(WTF::KeyTraits>::inlineLookup): Relax this value size requirement for now.
The required refactoring is best left as a seperate task with a seperate patch.

Tools:

Implement the new delegate to create the new view.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::createOtherPlatformWebView):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::platformCreateOtherPage):

  • WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:

(-[TestWebsiteDataStoreDelegate websiteDataStore:openWindow:fromServiceWorkerOrigin:completionHandler:]):

LayoutTests:

WKTR knows how to openWindow() now.

So test:

  • The success case
  • Failure due to a disallowed URL
  • Failure due to a lack of a related user gesture.
  • http/tests/workers/service/openwindow-from-notification-click-expected.txt: Added.
  • http/tests/workers/service/openwindow-from-notification-click.html: Added.
  • http/tests/workers/service/resources/openwindow-client.html: Added.
  • http/tests/workers/service/resources/shownotification-openwindow-worker.js: Added.

(async const):
(let.messageClients):
(clients.openWindow.string_appeared_here.then.async client):
(catch.async error):
(async event):
(async tryShow):
(async getNotes):

  • platform/gtk/TestExpectations:
10:58 AM Changeset in webkit [291978] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Some Apple internal clients fail to build due to redeclared AppKit types in WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=238368

Patch by Ian Anderson <iana@apple.com> on 2022-03-28
Reviewed by Jonathan Bedard.

Source/WebCore:

Some Apple internal Mac Catalyst clients need to use both AppKit and
WebKitLegacy. WebKitLegacy's redeclaration of AppKit types causes errors
for those clients. Copy AppKit's Apple internal logic for identifying
the special Mac Catalyst clients that are allowed to use the AppKit
types, and when such clients use WebKitLegacy, don't redeclare the
AppKit types.

  • platform/ios/KeyEventCodesIOS.h:
  • platform/ios/wak/WAKAppKitStubs.h:
  • platform/ios/wak/WAKView.h:
  • platform/ios/wak/WAKWindow.h:

Source/WebKitLegacy/ios:

WebKitLegacy can't always define NSView to WAKView in Mac Catalyst, but
views are always WAKView in Mac Catalyst. Switch on TARGET_OS_IPHONE to
declare WAKView explicitly.

  • WebView/WebUIKitDelegate.h:

Source/WebKitLegacy/mac:

WebKitLegacy can't always define NSClipView/NSView/NSScrollView/
NSWindow/NSResponder to their WAK counterparts in Mac Catalyst, but
those types are always the WAK ones in Mac Catalyst. Switch on
TARGET_OS_IPHONE to declare the WAK types explicitly.

  • Misc/WebDownload.h:
  • Misc/WebNSViewExtras.h:
  • Plugins/WebPluginDatabase.h:
  • WebView/WebDocument.h:
  • WebView/WebDocumentPrivate.h:
  • WebView/WebFramePrivate.h:
  • WebView/WebFrameView.h:

(WEBKIT_CLASS_DEPRECATED_MAC):

  • WebView/WebFrameViewPrivate.h:
  • WebView/WebHTMLRepresentation.h:
  • WebView/WebHTMLRepresentationPrivate.h:
  • WebView/WebHTMLView.h:
  • WebView/WebHTMLViewPrivate.h:
  • WebView/WebUIDelegate.h:
  • WebView/WebUIDelegatePrivate.h:
  • WebView/WebView.h:

(WEBKIT_CLASS_DEPRECATED_MAC):

  • WebView/WebViewPrivate.h:
10:42 AM Changeset in webkit [291977] by Alan Coon
  • 1 copy in branches/safari-613.2.4.3-branch

New branch.

10:42 AM Changeset in webkit [291976] by Alan Coon
  • 1 copy in branches/safari-613.2.4.2-branch

New branch.

10:42 AM Changeset in webkit [291975] by Alan Coon
  • 1 copy in branches/safari-613.2.4.1-branch

New branch.

10:42 AM Changeset in webkit [291974] by Alan Coon
  • 1 copy in branches/safari-613.2.4.0-branch

New branch.

10:29 AM Changeset in webkit [291973] by Alan Coon
  • 5 edits
    2 adds in branches/safari-613.1.17.0-branch

Cherry-pick r291622. rdar://problem/90501108

Fetching a Blob URL with an unbounded Range header do not generate a Content-Range response header
https://bugs.webkit.org/show_bug.cgi?id=238170

Reviewed by Eric Carlson.

Source/WebCore:

Test: fetch/fetch-blob-unbounded-range.html

Handle the case where the request contains an unbounded range, and property calculate the rangeEnd
to pass into ParsedContentRange.

  • platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::notifyResponseOnSuccess):

Source/WebKit:

Handle the case where the request contains an unbounded range, and property calculate the rangeEnd
to pass into ParsedContentRange.

  • NetworkProcess/NetworkDataTaskBlob.cpp: (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):

LayoutTests:

  • fetch/fetch-blob-unbounded-range-expected.txt: Added.
  • fetch/fetch-blob-unbounded-range.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:25 AM Changeset in webkit [291972] by Chris Dumez
  • 16 edits in trunk/Source

Use StringView for Yarr / RegularExpression parsing
https://bugs.webkit.org/show_bug.cgi?id=238420

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Use StringView for Yarr / RegularExpression parsing, to avoid unnecessary String construction
in some cases. It is not uncommon for the pattern to be a string literal.

  • yarr/RegularExpression.cpp:

(JSC::Yarr::RegularExpression::Private::create):
(JSC::Yarr::RegularExpression::Private::Private):
(JSC::Yarr::RegularExpression::Private::compile):
(JSC::Yarr::RegularExpression::RegularExpression):
(JSC::Yarr::RegularExpression::match const):
(JSC::Yarr::RegularExpression::searchRev const):
(JSC::Yarr::replace):

  • yarr/RegularExpression.h:
  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::interpret):

  • yarr/YarrInterpreter.h:
  • yarr/YarrJIT.cpp:

(JSC::Yarr::jitCompile):
(JSC::Yarr::jitCompileInlinedTest):

  • yarr/YarrJIT.h:
  • yarr/YarrParser.h:

(JSC::Yarr::Parser::Parser):
(JSC::Yarr::parse):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPattern::compile):
(JSC::Yarr::YarrPattern::YarrPattern):
(JSC::Yarr::YarrPattern::dumpPatternString):
(JSC::Yarr::YarrPattern::dumpPattern):

  • yarr/YarrPattern.h:
  • yarr/YarrSyntaxChecker.cpp:

(JSC::Yarr::checkSyntax):

  • yarr/YarrSyntaxChecker.h:

Source/WebCore:

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::parseKeySystem):

Source/WTF:

Add convenience characters() templated function to StringView, to match String and StringImpl.

  • wtf/text/StringView.h:

(WTF::StringView::characters<LChar> const):
(WTF::StringView::characters<UChar> const):

10:25 AM Changeset in webkit [291971] by Alan Coon
  • 9 edits in branches/safari-613.1.17.0-branch/Source

Versioning.

WebKit-7613.1.17.0.9

10:04 AM Changeset in webkit [291970] by Diego Pino Garcia
  • 3 edits in trunk/Source/WebCore

[GLIB] Fix build error 'not match operator !=' in Ubuntu LTS after r291696
https://bugs.webkit.org/show_bug.cgi?id=238443

Reviewed by Adrian Perez de Castro.

The error was also happening in build bots using GCC 8.3 like Debian
Stable.

  • platform/graphics/GraphicsTypes.h:

(WebCore::operator==):
(WebCore::operator!=):
(WebCore::CompositeMode::operator==): Deleted.

  • platform/graphics/SourceBrush.h:

(WebCore::operator!=):

9:43 AM Changeset in webkit [291969] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

ImageTransferSessionVT::setSize should properly create its buffer pool
https://bugs.webkit.org/show_bug.cgi?id=238455

Reviewed by Eric Carlson.

Covered by existing tests.

  • platform/graphics/cv/ImageTransferSessionVT.mm:

(WebCore::ImageTransferSessionVT::setSize):
We check the Expected, then move the RetainPtr if available.

9:28 AM Changeset in webkit [291968] by Tyler Wilcock
  • 2 edits in trunk/Source/WebCore

AccessibilityObject::listMarkerTextForNodeAndPosition should check for presence of list item before anything else
https://bugs.webkit.org/show_bug.cgi?id=238341

Reviewed by Andres Gonzalez.

The first thing AccessibilityObject::listMarkerTextForNodeAndPosition
does is check to see that the given range isStartOfLine. We
should instead check if there's an actual list item to work with
before doing this, since isStartOfLine can cause crashes.

Covered by test
accessibility/mac/attributed-string-with-listitem-multiple-lines.html.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):

9:24 AM Changeset in webkit [291967] by youenn@apple.com
  • 13 edits
    2 copies in trunk/Source

Share more code between RemoteRealtimeAudioSource and RemoteRealtimeVideoSource
https://bugs.webkit.org/show_bug.cgi?id=237704
<rdar://problem/90424679>

Reviewed by Eric Carlson.

Source/WebCore:

The remote video source is now correctly exposing whether it is camera, screen...
This was not well handled before in some places, we replace type == Video by hasVideo to handle all video types appropriately.

Covered by existing tests.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
  • platform/mediastream/MediaStreamPrivate.cpp:

Source/WebKit:

Introduce RemoteRealtimeMediaSource as a common class for RemoteRealtimeAudioSource and RemoteRealtimeVideoSource.

  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/RemoteRealtimeAudioSource.cpp:
  • WebProcess/cocoa/RemoteRealtimeAudioSource.h:
  • WebProcess/cocoa/RemoteRealtimeMediaSource.cpp: Added.
  • WebProcess/cocoa/RemoteRealtimeMediaSource.h: Added.
  • WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
  • WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:
  • WebProcess/cocoa/RemoteRealtimeVideoSource.h:
8:13 AM Changeset in webkit [291966] by Noam Rosenthal
  • 3 edits in trunk/Tools

Issues with WPT exporter
https://bugs.webkit.org/show_bug.cgi?id=238446

Also addresses https://bugs.webkit.org/show_bug.cgi?id=216330
and https://bugs.webkit.org/show_bug.cgi?id=216603

Reviewed by Youenn Fablet.

Fix issues with WPT exporter:

  • Ignore *-expected.html files
  • Perform a 3-way merge when applying patch
  • Add a newline at the end of the patch
  • Scripts/webkitpy/w3c/test_exporter.py:

(WebPlatformTestExporter._strip_ignored_files_from_diff):
(WebPlatformTestExporter.create_branch_with_patch):

7:51 AM Changeset in webkit [291965] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Update contributors in ews unit tests
https://bugs.webkit.org/show_bug.cgi?id=238416

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/steps_unittest.py: Use mocked info in unit-tests.
7:22 AM Changeset in webkit [291964] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Optimize toJS() for HTMLElements
https://bugs.webkit.org/show_bug.cgi?id=238426

Reviewed by Yusuke Suzuki.

Optimize toJS() for HTMLElements. Previously, the more generic Element's toJS() would be called,
which would have to do more checks.

This is a 0.6% progression on Speedometer 2.0 on MacBook Air 10,1 (AS).

  • bindings/js/JSHTMLElementCustom.cpp:

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

  • html/HTMLElement.idl:
7:14 AM Changeset in webkit [291963] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Drop unnecessary isReachableFromDOM() function in JSNodeCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=238422

Reviewed by Peng Liu.

Drop unnecessary isReachableFromDOM() function in JSNodeCustom.cpp and inline its implementation in the only caller instead.

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
(WebCore::isReachableFromDOM): Deleted.

5:08 AM Changeset in webkit [291962] by Ziran Sun
  • 5 edits in trunk

[Forms] Alias appearance <compat-auto> keywords to 'auto' for button
https://bugs.webkit.org/show_bug.cgi?id=238252

Reviewed by Darin Adler.

Source/WebCore:

We need to alias appearance <compat-auto> keywords to 'auto'. This is to
handle some button related cases including button, push-button and square-button.
Also the slider-horizontal case has been addressed. We still have menulist and
textfield cases left to look into.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustAppearanceForElement const):

LayoutTests:

Unskip the tests that are now passing.
-webkit-appearance: square-button doesnt work for ::-webkit-file-upload-button any more.
Replace it with -webkit-appearance: none in fast/forms/file/file-style-inheritance.html.
This is also in line with the change in Chromium.

1:27 AM Changeset in webkit [291961] by Cameron McCormack
  • 3 edits
    2 adds in trunk

Remove pending UA shadow tree state when an input element is removed from the document
https://bugs.webkit.org/show_bug.cgi?id=238429
<rdar://90682918>

Reviewed by Antti Koivisto.

Source/WebCore:

If an <input> element has a pending UA shadow tree, and the element is
removed from the document, we don't currently remove the element from
Document::m_elementsWithPendingUserAgentShadowTreeUpdates. Not only
does that means we may wastefully create the shadow tree if the
element is not inserted into the document again, but if the element is
then inserted into a different document, flushing style in the new
document won't correctly create the shadow tree.

Test: fast/forms/lazy-shadow-tree-creation-move-document-crash.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::removedFromAncestor):

LayoutTests:

  • fast/forms/lazy-shadow-tree-creation-move-document-crash-expected.txt: Added.
  • fast/forms/lazy-shadow-tree-creation-move-document-crash.html: Added.

Mar 27, 2022:

11:15 PM Changeset in webkit [291960] by Lauro Moura
  • 6 edits in trunk/Source

Unreviewed, non-unified buildfix
https://bugs.webkit.org/show_bug.cgi?id=238436

Source/JavaScriptCore:

  • dfg/DFGStrengthReductionPhase.cpp:

Source/WebCore:

  • workers/service/ServiceWorkerWindowClient.cpp:

Source/WebKit:

  • WebProcess/Storage/WebSWClientConnection.cpp:
9:37 PM Changeset in webkit [291959] by Russell Epstein
  • 9 edits in branches/safari-614.1.8-branch/Source

Versioning.

WebKit-7614.1.8

9:35 PM Changeset in webkit [291958] by Russell Epstein
  • 1 copy in branches/safari-614.1.8-branch

New branch.

9:34 PM Changeset in webkit [291957] by Russell Epstein
  • 9 edits in trunk/Source

Versioning.

WebKit-7614.1.9

9:18 PM Changeset in webkit [291956] by Matt Woodrow
  • 18 edits in trunk

Preserve repeat() notation for grid-templates
https://bugs.webkit.org/show_bug.cgi?id=202259

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-grid/animation/grid-template-columns-interpolation-expected.txt:
  • web-platform-tests/css/css-grid/animation/grid-template-rows-interpolation-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-nogrid-expected.txt:

Update expectations for existing WPT tests, now that we get the correct computed value for
grid-template-rows/columns.

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
(WebCore::GridTemplateTracksWrapper<ForColumns>::GridTemplateTracksWrapper): Deleted.
(WebCore::GridTemplateTracksWrapper<ForRows>::GridTemplateTracksWrapper): Deleted.

Replaces GridTemplateTracksWrapper with a simpler GridTemplatePropertyWrapper that just compares the
track lists. In the future we can iterate the two tracks lists in parallel and interpolate per-item,
in order to get animation correct per-spec.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::populateGridTrackList):
(WebCore::populateSubgridLineNameList):
(WebCore::valueForGridTrackList):
(WebCore::OrderedNamedLinesCollectorInsideRepeat::OrderedNamedLinesCollectorInsideRepeat): Deleted.
(WebCore::OrderedNamedLinesCollector::collectLineNamesForIndex const): Deleted.
(WebCore::OrderedNamedLinesCollectorInsideRepeat::collectLineNamesForIndex const): Deleted.

Implements getComputedStyle by iterating the track list and doing a 1:1 conversion to CSSValues, instead
of reconstructing from the processed hashtables.
This correctly preserves repeat() instances in the track list, which weren't retreivable from the processed
data.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::gridColumns const):
(WebCore::RenderStyle::gridRows const):
(WebCore::RenderStyle::gridColumnList const):
(WebCore::RenderStyle::gridRowList const):
(WebCore::RenderStyle::gridAutoRepeatColumns const):
(WebCore::RenderStyle::gridAutoRepeatRows const):
(WebCore::RenderStyle::gridAutoRepeatColumnsInsertionPoint const):
(WebCore::RenderStyle::gridAutoRepeatRowsInsertionPoint const):
(WebCore::RenderStyle::gridAutoRepeatColumnsType const):
(WebCore::RenderStyle::gridAutoRepeatRowsType const):
(WebCore::RenderStyle::namedGridColumnLines const):
(WebCore::RenderStyle::namedGridRowLines const):
(WebCore::RenderStyle::orderedNamedGridColumnLines const):
(WebCore::RenderStyle::orderedNamedGridRowLines const):
(WebCore::RenderStyle::autoRepeatNamedGridColumnLines const):
(WebCore::RenderStyle::autoRepeatNamedGridRowLines const):
(WebCore::RenderStyle::autoRepeatOrderedNamedGridColumnLines const):
(WebCore::RenderStyle::autoRepeatOrderedNamedGridRowLines const):
(WebCore::RenderStyle::gridSubgridRows const):
(WebCore::RenderStyle::gridSubgridColumns const):
(WebCore::RenderStyle::setGridColumnList):
(WebCore::RenderStyle::setGridRowList):
(WebCore::RenderStyle::setGridAutoRows):
(WebCore::RenderStyle::setGridAutoFlow):
(WebCore::RenderStyle::setGridColumns): Deleted.
(WebCore::RenderStyle::setGridRows): Deleted.
(WebCore::RenderStyle::setGridAutoRepeatColumns): Deleted.
(WebCore::RenderStyle::setGridAutoRepeatRows): Deleted.
(WebCore::RenderStyle::setGridAutoRepeatColumnsInsertionPoint): Deleted.
(WebCore::RenderStyle::setGridAutoRepeatRowsInsertionPoint): Deleted.
(WebCore::RenderStyle::setGridAutoRepeatColumnsType): Deleted.
(WebCore::RenderStyle::setGridAutoRepeatRowsType): Deleted.
(WebCore::RenderStyle::setNamedGridColumnLines): Deleted.
(WebCore::RenderStyle::setNamedGridRowLines): Deleted.
(WebCore::RenderStyle::setOrderedNamedGridColumnLines): Deleted.
(WebCore::RenderStyle::setOrderedNamedGridRowLines): Deleted.
(WebCore::RenderStyle::setAutoRepeatNamedGridColumnLines): Deleted.
(WebCore::RenderStyle::setAutoRepeatNamedGridRowLines): Deleted.
(WebCore::RenderStyle::setAutoRepeatOrderedNamedGridColumnLines): Deleted.
(WebCore::RenderStyle::setAutoRepeatOrderedNamedGridRowLines): Deleted.
(WebCore::RenderStyle::setGridSubgridRows): Deleted.
(WebCore::RenderStyle::setGridSubgridColumns): Deleted.

  • rendering/style/StyleGridData.cpp:

(WebCore::StyleGridData::StyleGridData):
(WebCore::StyleGridData::setRows):
(WebCore::StyleGridData::setColumns):
(WebCore::createGridLineNamesList):
(WebCore::StyleGridData::computeCachedTrackData):
(WebCore::operator<<):

  • rendering/style/StyleGridData.h:

(WebCore::StyleGridData::operator== const):
(WebCore::StyleGridData::gridColumns const):
(WebCore::StyleGridData::gridRows const):
(WebCore::StyleGridData::namedGridColumnLines const):
(WebCore::StyleGridData::namedGridRowLines const):
(WebCore::StyleGridData::orderedNamedGridColumnLines const):
(WebCore::StyleGridData::orderedNamedGridRowLines const):
(WebCore::StyleGridData::autoRepeatNamedGridColumnLines const):
(WebCore::StyleGridData::autoRepeatNamedGridRowLines const):
(WebCore::StyleGridData::autoRepeatOrderedNamedGridColumnLines const):
(WebCore::StyleGridData::autoRepeatOrderedNamedGridRowLines const):
(WebCore::StyleGridData::gridAutoRepeatColumns const):
(WebCore::StyleGridData::gridAutoRepeatRows const):
(WebCore::StyleGridData::autoRepeatColumnsInsertionPoint const):
(WebCore::StyleGridData::autoRepeatRowsInsertionPoint const):
(WebCore::StyleGridData::autoRepeatColumnsType const):
(WebCore::StyleGridData::autoRepeatRowsType const):
(WebCore::StyleGridData::subgridRows const):
(WebCore::StyleGridData::subgridColumns const):
(WebCore::StyleGridData::columns const):
(WebCore::StyleGridData::rows const):

Stores the computed track lists directly on RenderGrid, while retaining storage of the processed data.
computeCachedTrackData should be logically identical to the old BuilderConverter::createGridTrackList, but
happens when we modify the StyleGridData so that we can run it during animations.

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::createGridTrackList):
(WebCore::Style::createGridLineNamesList): Deleted.
(): Deleted.

  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyInitialGridTemplateColumns):
(WebCore::Style::BuilderCustom::applyValueGridTemplateColumns):
(WebCore::Style::BuilderCustom::applyInitialGridTemplateRows):
(WebCore::Style::BuilderCustom::applyValueGridTemplateRows):

Rather than converting the track list into processed hashtables, just copies the data in the track list
format so that the StyleGridData can access the original data.

LayoutTests:

  • fast/css-grid-layout/grid-repeat-calc-expected.txt:
  • fast/css-grid-layout/grid-repeat-calc.html:
  • fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/non-grid-element-repeat-get-set.html:

Update expected results to use repeat() notation.

8:03 PM Changeset in webkit [291955] by Matt Woodrow
  • 9 edits in trunk

Fix serialization of grid-template
https://bugs.webkit.org/show_bug.cgi?id=237868

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-grid/parsing/grid-shorthand-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-valid-expected.txt:

Update expectation files for newly passing tests.

Source/WebCore:

Existing WPT tests marked as passing.

  • css/CSSGridTemplateAreasValue.cpp:

(WebCore::CSSGridTemplateAreasValue::stringForRow):

  • css/CSSGridTemplateAreasValue.h:
  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const):
(WebCore::isNoneValue):
(WebCore::isValueID):
(WebCore::StyleProperties::getGridTemplateValue const):
(WebCore::StyleProperties::getGridValue const):

  • css/StyleProperties.h:

Creates custom serialization for grid-template that handles the case
where no areas were specified (and omits trailing 'none' value), as well as handling
the case where areas are interleaved within the tracks definitions.

7:35 PM Changeset in webkit [291954] by commit-queue@webkit.org
  • 47 edits in trunk/Source/WebCore

Sort IDL extended attributes alphabetically
https://bugs.webkit.org/show_bug.cgi?id=235531
<rdar://problem/88284366>

Patch by Daniel Adams <msub2official@gmail.com> on 2022-03-27
Reviewed by Sam Weinig.

This just goes through and corrects the ordering of "Conditional" and
"EnabledBySetting" in all of the files mentioned in the report.

Test: Trivial change, no test changes required.

  • Modules/gamepad/Gamepad.idl:
  • Modules/gamepad/GamepadButton.idl:
  • Modules/webxr/Navigator+WebXR.idl:
  • Modules/webxr/WebXRBoundedReferenceSpace.idl:
  • Modules/webxr/WebXRFrame+HandInput.idl:
  • Modules/webxr/WebXRFrame.idl:
  • Modules/webxr/WebXRHand.idl:
  • Modules/webxr/WebXRInputSource+HandInput.idl:
  • Modules/webxr/WebXRInputSource.idl:
  • Modules/webxr/WebXRInputSourceArray.idl:
  • Modules/webxr/WebXRJointPose.idl:
  • Modules/webxr/WebXRJointSpace.idl:
  • Modules/webxr/WebXRLayer.idl:
  • Modules/webxr/WebXRPose.idl:
  • Modules/webxr/WebXRReferenceSpace.idl:
  • Modules/webxr/WebXRRenderState.idl:
  • Modules/webxr/WebXRRigidTransform.idl:
  • Modules/webxr/WebXRSession.idl:
  • Modules/webxr/WebXRSpace.idl:
  • Modules/webxr/WebXRView.idl:
  • Modules/webxr/WebXRViewerPose.idl:
  • Modules/webxr/WebXRViewport.idl:
  • Modules/webxr/WebXRWebGLLayer.idl:
  • Modules/webxr/XREnvironmentBlendMode.idl:
  • Modules/webxr/XREye.idl:
  • Modules/webxr/XRHandedness.idl:
  • Modules/webxr/XRInputSourceEvent.idl:
  • Modules/webxr/XRInputSourcesChangeEvent.idl:
  • Modules/webxr/XRInteractionMode.idl:
  • Modules/webxr/XRReferenceSpaceEvent.idl:
  • Modules/webxr/XRReferenceSpaceType.idl:
  • Modules/webxr/XRRenderStateInit.idl:
  • Modules/webxr/XRSessionEvent.idl:
  • Modules/webxr/XRSessionInit.idl:
  • Modules/webxr/XRSessionMode.idl:
  • Modules/webxr/XRTargetRayMode.idl:
  • Modules/webxr/XRVisibilityState.idl:
  • Modules/webxr/XRWebGLLayerInit.idl:
  • testing/FakeXRBoundsPoint.idl:
  • testing/FakeXRButtonStateInit.idl:
  • testing/FakeXRInputSourceInit.idl:
  • testing/FakeXRRigidTransformInit.idl:
  • testing/FakeXRViewInit.idl:
  • testing/WebFakeXRDevice.idl:
  • testing/WebFakeXRInputController.idl:
  • testing/WebXRTest.idl:
1:38 PM Changeset in webkit [291953] by Matt Woodrow
  • 4 edits in trunk

Use the sizing algorithm's available size to compute grid gap.
https://bugs.webkit.org/show_bug.cgi?id=236956

Reviewed by Tim Nguyen.

Source/WebCore:

Computing the grid gap for subgridded tracks happens during the sizing algorithm
(as part of copying the sizes from the parent, instead of computing new sizes). At
this point we should always have a definite size available (the size of the tracks in
the parent that the subgrid spans), but it may not yet be set on the subgrid's RenderElement.
This retreives the size from the track sizing algorithm instead, where it should always be
available by this point.

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::copyUsedTrackSizesForSubgrid):

LayoutTests:

Existing subgrid tests marked as passing.

1:24 PM Changeset in webkit [291952] by Matt Woodrow
  • 6 edits
    1 add in trunk

Lazily allocate backing store for grid columns.
https://bugs.webkit.org/show_bug.cgi?id=212201

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-grid/grid-definition/grid-limits-001-expected.txt: Added.

Add passing expectations file for previously skipped test.

Source/WebCore:

Existing WPT test grid-limits-001.html marked as passing.

  • rendering/Grid.cpp:

(WebCore::Grid::ensureGridSize):
(WebCore::Grid::ensureStorageForRow):
(WebCore::Grid::insert):
(WebCore::Grid::cell const):

Only grow the first row's column storage (since we use this
to remember the column count) and lazily grow the others when
we try write to them.

(WebCore::GridIterator::GridIterator):
(WebCore::GridIterator::nextGridItem):
(WebCore::GridIterator::isEmptyAreaEnough const):
(WebCore::GridIterator::nextEmptyGridArea):

  • rendering/Grid.h:

Changes GridIterator to use the Grid API rather than directly
accessing the inner Vector using 'friend'. This makes it easier to
ensure that we never access areas outside of our lazy allocations.

LayoutTests:

Remove skip annotation for test grid-limits-001 that now passes.

7:23 AM Changeset in webkit [291951] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][IFC] ASSERTs in BoxGeometry when loading Twitter page
https://bugs.webkit.org/show_bug.cgi?id=238421
<rdar://89980547>

Reviewed by Antti Koivisto.

Source/WebCore:

Ensure that we set size/position on trailing, empty inline box(es) in bidi context.
e.g.
<div>some content<span> <-line breaks here</span></div>

where the first line has the following runs:

[some content]
[inline box start]

second line has:

[spanning inline box start]
[<-line breaks here]
[inline box end]

The first line's trailing (and empty, due to trailing whitespace trimming) [inline box start] run
needs computed geometry/display box so that when on the subsequent line we see the [spanning inline box start] run
we can properly compute the enclosing geometry for the <span> element.
(and that's where we currently assert as we don't find the associated box geometry for the inline box on the first line.)

See the comment in InlineDisplayContentBuilder::processBidiContent for details.
(Note that this change has no visual impact as these trailing inline boxes are always empty.)

Test: fast/inline/trailing-empty-bidi-inline-box.html

  • layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):

LayoutTests:

  • fast/inline/trailing-empty-bidi-inline-box-expected.txt: Added.
  • fast/inline/trailing-empty-bidi-inline-box.html: Added.
4:53 AM Changeset in webkit [291950] by Alexander Mikhaylenko
  • 8 edits in trunk

[GTK][WPE] Support CSS accent-color
https://bugs.webkit.org/show_bug.cgi?id=238398

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Add accent-color support for progress, range and entries.
Update check and radio styles so that they can use accent color as well.

  • platform/adwaita/ThemeAdwaita.cpp:

(WebCore::ThemeAdwaita::paint):
(WebCore::ThemeAdwaita::paintCheckbox):
(WebCore::ThemeAdwaita::paintRadio):

  • platform/adwaita/ThemeAdwaita.h:
  • rendering/RenderThemeAdwaita.cpp:

(WebCore::getSystemAccentColor):
(WebCore::getAccentColor):
(WebCore::RenderThemeAdwaita::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::paintTextField):
(WebCore::RenderThemeAdwaita::paintProgressBar):
(WebCore::RenderThemeAdwaita::paintSliderTrack):
(WebCore::RenderThemeAdwaita::paintSliderThumb):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml: Enable accent-color for GTK and WPE.

LayoutTests:

  • platform/gtk/TestExpectations: Enable accent-color tests for GTK.

Mar 26, 2022:

11:33 PM Changeset in webkit [291949] by Noam Rosenthal
  • 7 edits
    82 adds in trunk/LayoutTests

Import clip-path W3C tests
https://bugs.webkit.org/show_bug.cgi?id=238373

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

Imported css/css-masking/clip-path and css/css-masking/parsing
Upstream rev: f987e7440879b5446f135dca82239feacc9a9caf

  • resources/resource-files.json:
  • web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/animations/w3c-import.log:
  • web-platform-tests/css/css-masking/clip-path/clip-path-blending-offset-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1a-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1a.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1b-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1b.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1c-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1c.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1a-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1a.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1b-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1b.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1c-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1c.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-fillBox-1a-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-fillBox-1a.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-filter-order-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-fixed-nested-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-fixed-scroll-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-geometryBox-1-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-geometryBox-2-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-geometryBox-2-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-geometryBox-2.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-inset-round-percent-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-localRef-1-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-localRef-1-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-localRef-1.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-marginBox-1a-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-marginBox-1a.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-mix-blend-mode-1-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-mix-blend-mode-1-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-mix-blend-mode-1.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1a-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1a.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1b-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1b.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1c-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-rotated-will-change-transform-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-001-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-001.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-002-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-002-units-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-002-units.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-002.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-003-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-003.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-004-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-004.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-interpolation-001-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-interpolation-001.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-interpolation-002-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-shape-interpolation-002.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1a-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1a.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1b-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1b.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-svg-text-backdrop-filter-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1a-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1a.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1b-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1b.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1c-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1c.html: Added.
  • web-platform-tests/css/css-masking/clip-path/svg-clip-path-circle-offset-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/svg-clip-path-circle-offset-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/svg-clip-path-circle-offset.html: Added.
  • web-platform-tests/css/css-masking/clip-path/svg-clip-path-ellipse-offset-expected.html: Added.
  • web-platform-tests/css/css-masking/clip-path/svg-clip-path-ellipse-offset-ref.html: Added.
  • web-platform-tests/css/css-masking/clip-path/svg-clip-path-ellipse-offset.html: Added.
  • web-platform-tests/css/css-masking/clip-path/w3c-import.log:
  • web-platform-tests/css/css-masking/parsing/clip-path-shape-parsing-expected.txt: Added.
  • web-platform-tests/css/css-masking/parsing/clip-path-shape-parsing.html: Added.
  • web-platform-tests/css/css-masking/parsing/support/parsing-testcommon.js: Added.

(test_valid_value):

  • web-platform-tests/css/css-masking/parsing/w3c-import.log:

LayoutTests:

Updated expectations for newly imported failing clip-path tests.

6:47 PM Changeset in webkit [291948] by mmaxfield@apple.com
  • 10 edits
    768 adds in trunk

[WebGPU] Import WebGPU Conformance Test Suite
https://bugs.webkit.org/show_bug.cgi?id=238123

Reviewed by Dean Jackson.

Tools:

  • Scripts/import-webgpu-cts: Added.

LayoutTests:

This patch imports the WebGPU Conformance Test Suite, from https://github.com/gpuweb/cts, as of
git commit 09f024e50e84f191ee4546ef4021707faa376096. Rather than the CTS having a bunch of HTML
files, one for each test, the CTS instead has a single HTML file which takes a query parameter
which describes the name of a test to run. Therefore, in order to make it work with our test
infrastructure (which requires a bunch of HTML files), we create a bunch of HTML files which just
redirect to the CTS test runner, accompanied by the relevant query parameter. There is a script
in Tools/Scripts which copies the contents of the CTS and generates these HTML files.

The WebGPU Conformance Test Suite:

  1. Is disabled by default
  2. Is enabled on macOS and iOS
  3. Is disabled on macOS-WK2 and iOS-WK2 (because of https://bugs.webkit.org/show_bug.cgi?id=233621)
  4. Each test individually fails, because we're still implementing our WebGPU implementation, so each test

is individually marked as [ Pass Failure ImageOnlyFailure Timeout ].

(export.SkipTestCase):
(export.UnexpectedPassError):
(export.Fixture):
(export.Fixture.prototype.get params):
(export.Fixture.prototype.async init):
(export.Fixture.prototype.async finalize):
(export.Fixture.prototype.doInit):
(export.Fixture.prototype.doFinalize):
(export.Fixture.prototype.trackForCleanup):
(export.Fixture.prototype.tryTrackForCleanup):
(export.Fixture.prototype.debug):
(export.Fixture.prototype.skip):
(export.Fixture.prototype.warn):
(export.Fixture.prototype.fail):
(export.Fixture.prototype.async immediateAsyncExpectation):
(export.Fixture.prototype.eventualAsyncExpectation):
(export.Fixture.prototype.expectErrorValue):
(export.Fixture.prototype.shouldResolve):
(export.Fixture.prototype.async shouldReject):
(export.Fixture.prototype.async shouldThrow):
(export.Fixture.prototype.expect):
(export.Fixture.prototype.expectOK):

  • http/tests/webgpu/common/framework/fixture.js.map: Added.
  • http/tests/webgpu/common/framework/params_builder.js: Added.

(export.ParamsBuilderBase):
(export.builderIterateCasesWithSubcases):
(export.CaseParamsBuilder.prototype.iterateCasesWithSubcases):
(export.CaseParamsBuilder.prototype.Symbol.iterator):
(export.CaseParamsBuilder.prototype.expandWithParams):
(export.CaseParamsBuilder.prototype.expand):
(export.CaseParamsBuilder.prototype.combineWithParams):
(export.CaseParamsBuilder.prototype.combine):
(export.CaseParamsBuilder.prototype.filter):
(export.CaseParamsBuilder.prototype.unless):
(export.CaseParamsBuilder.prototype.beginSubcases):
(export.CaseParamsBuilder):
(export.const.kUnitCaseParamsBuilder.new.CaseParamsBuilder):
(export.SubcaseParamsBuilder):
(export.SubcaseParamsBuilder.prototype.iterateCasesWithSubcases):
(export.SubcaseParamsBuilder.prototype.expandWithParams):
(export.SubcaseParamsBuilder.prototype.expand):
(export.SubcaseParamsBuilder.prototype.combineWithParams):
(export.SubcaseParamsBuilder.prototype.combine):
(export.SubcaseParamsBuilder.prototype.filter):
(export.SubcaseParamsBuilder.prototype.unless):
(filterGenerator):

  • http/tests/webgpu/common/framework/params_builder.js.map: Added.
  • http/tests/webgpu/common/framework/resources.js: Added.

(export.getResourcePath):
(export.setBaseResourcePath):

  • http/tests/webgpu/common/framework/resources.js.map: Added.
  • http/tests/webgpu/common/framework/test_group.js: Added.
  • http/tests/webgpu/common/framework/test_group.js.map: Added.
  • http/tests/webgpu/common/internal/file_loader.js: Added.

(export.TestFileLoader.prototype.importSpecFile):
(export.TestFileLoader.prototype.async loadTree):
(export.TestFileLoader.prototype.async loadCases):
(export.TestFileLoader):
(export.DefaultTestFileLoader.prototype.async listing):
(export.DefaultTestFileLoader.prototype.import):
(export.DefaultTestFileLoader):

  • http/tests/webgpu/common/internal/file_loader.js.map: Added.
  • http/tests/webgpu/common/internal/logging/log_message.js: Added.

(export.LogMessageWithStack):
(export.LogMessageWithStack.prototype.setStackHidden):
(export.LogMessageWithStack.prototype.toJSON):
(export.prettyPrintLog):

  • http/tests/webgpu/common/internal/logging/log_message.js.map: Added.
  • http/tests/webgpu/common/internal/logging/logger.js: Added.

(export.Logger):
(export.Logger.prototype.record):
(export.Logger.prototype.asJSON):

  • http/tests/webgpu/common/internal/logging/logger.js.map: Added.
  • http/tests/webgpu/common/internal/logging/result.js: Added.
  • http/tests/webgpu/common/internal/logging/result.js.map: Added.
  • http/tests/webgpu/common/internal/logging/test_case_recorder.js: Added.

(export.TestCaseRecorder):
(export.TestCaseRecorder.prototype.start):
(export.TestCaseRecorder.prototype.finish):
(export.TestCaseRecorder.prototype.beginSubCase):
(export.TestCaseRecorder.prototype.endSubCase):
(export.TestCaseRecorder.prototype.injectResult):
(export.TestCaseRecorder.prototype.debug):
(export.TestCaseRecorder.prototype.info):
(export.TestCaseRecorder.prototype.skipped):
(export.TestCaseRecorder.prototype.warn):
(export.TestCaseRecorder.prototype.expectationFailed):
(export.TestCaseRecorder.prototype.validationFailed):
(export.TestCaseRecorder.prototype.threw):
(export.TestCaseRecorder.prototype.logImpl):

  • http/tests/webgpu/common/internal/logging/test_case_recorder.js.map: Added.
  • http/tests/webgpu/common/internal/params_utils.js: Added.

(export.paramKeyIsPublic):
(export.extractPublicParams):
(export.publicParamsEquals):
(typeAssert):
(export.mergeParams):

  • http/tests/webgpu/common/internal/params_utils.js.map: Added.
  • http/tests/webgpu/common/internal/query/compare.js: Added.

(export.compareQueries):
(compareOneLevel):
(comparePaths):
(export.comparePublicParamsPaths):

  • http/tests/webgpu/common/internal/query/compare.js.map: Added.
  • http/tests/webgpu/common/internal/query/encode_selectively.js: Added.

(export.encodeURIComponentSelectively):

  • http/tests/webgpu/common/internal/query/encode_selectively.js.map: Added.
  • http/tests/webgpu/common/internal/query/json_param_value.js: Added.

(stringifyFilter):
(export.stringifyParamValue):
(export.stringifyParamValueUniquely):
(export.parseParamValue):

  • http/tests/webgpu/common/internal/query/json_param_value.js.map: Added.
  • http/tests/webgpu/common/internal/query/parseQuery.js: Added.

(export.parseQuery):
(parseQueryImpl):
(parseBigPart):
(parseSingleParam):
(parseSingleParamValue):

  • http/tests/webgpu/common/internal/query/parseQuery.js.map: Added.
  • http/tests/webgpu/common/internal/query/query.js: Added.

(export.TestQueryMultiFile):
(export.TestQueryMultiFile.prototype.get depthInLevel):
(export.TestQueryMultiFile.prototype.toString):
(export.TestQueryMultiFile.prototype.toStringHelper):
(export.TestQueryMultiTest):
(export.TestQueryMultiTest.prototype.get depthInLevel):
(export.TestQueryMultiTest.prototype.toStringHelper):
(export.TestQueryMultiCase):
(export.TestQueryMultiCase.prototype.get depthInLevel):
(export.TestQueryMultiCase.prototype.toStringHelper):
(export.TestQuerySingleCase.prototype.get depthInLevel):
(export.TestQuerySingleCase.prototype.toStringHelper):
(export.TestQuerySingleCase):
(export.parseExpectationsForTestQuery):
(export.relativeQueryString):

  • http/tests/webgpu/common/internal/query/query.js.map: Added.
  • http/tests/webgpu/common/internal/query/separators.js: Added.
  • http/tests/webgpu/common/internal/query/separators.js.map: Added.
  • http/tests/webgpu/common/internal/query/stringify_params.js: Added.

(export.stringifyPublicParams):
(export.stringifyPublicParamsUniquely):
(export.stringifySingleParam):
(stringifySingleParamUniquely):
(stringifySingleParamValue):

  • http/tests/webgpu/common/internal/query/stringify_params.js.map: Added.
  • http/tests/webgpu/common/internal/query/validQueryPart.js: Added.
  • http/tests/webgpu/common/internal/query/validQueryPart.js.map: Added.
  • http/tests/webgpu/common/internal/stack.js: Added.

(export.extractImportantStackTrace):

  • http/tests/webgpu/common/internal/stack.js.map: Added.
  • http/tests/webgpu/common/internal/test_group.js: Added.

(export.makeTestGroup):
(export.makeTestGroupForUnitTesting):
(export.TestGroup):
(export.TestGroup.prototype.iterate):
(export.TestGroup.prototype.checkName):
(export.TestGroup.prototype.test):
(export.TestGroup.prototype.validate):
(TestBuilder):
(TestBuilder.prototype.desc):
(TestBuilder.prototype.uniqueId):
(TestBuilder.prototype.specURL):
(TestBuilder.prototype.fn):
(TestBuilder.prototype.batch):
(TestBuilder.prototype.unimplemented):
(TestBuilder.prototype.validate):
(TestBuilder.prototype.params):
(TestBuilder.prototype.paramsSimple):
(TestBuilder.prototype.paramsSubcasesOnly):
(TestBuilder.prototype.iterate):
(prototype.async runTest):
(prototype.async run):

  • http/tests/webgpu/common/internal/test_group.js.map: Added.
  • http/tests/webgpu/common/internal/test_suite_listing.js: Added.
  • http/tests/webgpu/common/internal/test_suite_listing.js.map: Added.
  • http/tests/webgpu/common/internal/tree.js: Added.

(export.TestTree):
(export.TestTree.prototype.iterateCollapsedNodes):
(export.TestTree.prototype.iterateLeaves):
(export.TestTree.prototype.dissolveSingleChildTrees):
(export.TestTree.prototype.toString):
(export.TestTree.iterateSubtreeNodes):
(export.TestTree.iterateSubtreeLeaves):
(export.TestTree.propagateCounts):
(export.TestTree.countsToString):
(export.TestTree.subtreeToString):
(export.async loadTreeForQuery):
(setSubtreeDescriptionAndCountTODOs):
(makeTreeForSuite):
(addSubtreeForDirPath):
(addSubtreeForFilePath):
(addSubtreeForTestPath):
(getOrInsertSubtree):
(insertLeaf):
(dissolveSingleChildTrees):
(readableNameForCase):

  • http/tests/webgpu/common/internal/tree.js.map: Added.
  • http/tests/webgpu/common/internal/util.js: Added.

(export.StacklessError):

  • http/tests/webgpu/common/internal/util.js.map: Added.
  • http/tests/webgpu/common/internal/version.js: Added.
  • http/tests/webgpu/common/runtime/cmdline.js: Added.

(usage):
(i.a.startsWith):

  • http/tests/webgpu/common/runtime/cmdline.js.map: Added.
  • http/tests/webgpu/common/runtime/helper/options.js: Added.

(getWindowURL):
(export.optionEnabled):

  • http/tests/webgpu/common/runtime/helper/options.js.map: Added.
  • http/tests/webgpu/common/runtime/helper/sys.js: Added.

(node):
(deno.existsSync):
(deno):

  • http/tests/webgpu/common/runtime/helper/sys.js.map: Added.
  • http/tests/webgpu/common/runtime/helper/test_worker-worker.js: Added.

(self.onmessage.async ev):

  • http/tests/webgpu/common/runtime/helper/test_worker-worker.js.map: Added.
  • http/tests/webgpu/common/runtime/helper/test_worker.js: Added.

(export.TestWorker):
(export.TestWorker.prototype.async run):

  • http/tests/webgpu/common/runtime/helper/test_worker.js.map: Added.
  • http/tests/webgpu/common/runtime/server.js: Added.

(usage):

  • http/tests/webgpu/common/runtime/server.js.map: Added.
  • http/tests/webgpu/common/runtime/standalone.js: Added.

(window.onbeforeunload):
(emptySubtreeResult):
(mergeSubtreeResults):
(memoize):
(makeTreeNodeHTML):
(makeCaseHTML.const.runSubtree.async if):
(makeCaseHTML):
(const.runMySubtree.async if):
(makeSubtreeHTML):
(const.runMySubtree.async const):
(makeSubtreeChildrenHTML):
(consoleLogError):
(async appendTo):
(makeTreeNodeHeaderHTML):
(async const):
(qs.push):

  • http/tests/webgpu/common/runtime/standalone.js.map: Added.
  • http/tests/webgpu/common/runtime/wpt.js: Added.

(const.wpt_fn.async const):
(async const):

  • http/tests/webgpu/common/runtime/wpt.js.map: Added.
  • http/tests/webgpu/common/tools/checklist.js: Added.

(usage):
(async loadQueryListFromTextFile):
(checkForOverlappingQueries):
(async console):
(catch):

  • http/tests/webgpu/common/tools/checklist.js.map: Added.
  • http/tests/webgpu/common/tools/crawl.js: Added.

(async crawlFilesRecursively.async const):
(async crawlFilesRecursively):
(async export.async crawl):
(export.makeListing):

  • http/tests/webgpu/common/tools/crawl.js.map: Added.
  • http/tests/webgpu/common/tools/dev_server.js: Added.

(const.babelConfig.string_appeared_here):
(dirtyCompileCache):
(dirtyListingAndCompileCache):
(app.use):
(async req):
(port.const.iface.of.Object.values.os.networkInterfaces):

  • http/tests/webgpu/common/tools/dev_server.js.map: Added.
  • http/tests/webgpu/common/tools/gen_listings.js: Added.

(usage):
(argv.indexOf):
(async for):

  • http/tests/webgpu/common/tools/gen_listings.js.map: Added.
  • http/tests/webgpu/common/tools/gen_wpt_cts_html.js: Added.

(printUsageAndExit):
(async let):
(expLoop):
(const.prefix.of.argsPrefixes.of.tree.iterateCollapsedNodes):
(catch):
(async generateFile):

  • http/tests/webgpu/common/tools/gen_wpt_cts_html.js.map: Added.
  • http/tests/webgpu/common/tools/version.js: Added.
  • http/tests/webgpu/common/tools/version.js.map: Added.
  • http/tests/webgpu/common/util/collect_garbage.js: Added.

(export.async attemptGarbageCollection.gcRec):
(export.async attemptGarbageCollection):

  • http/tests/webgpu/common/util/collect_garbage.js.map: Added.
  • http/tests/webgpu/common/util/colors.js: Added.
  • http/tests/webgpu/common/util/colors.js.map: Added.
  • http/tests/webgpu/common/util/data_tables.js: Added.

(export.keysOf):
(export.numericKeysOf):
(export.makeTable):

  • http/tests/webgpu/common/util/data_tables.js.map: Added.
  • http/tests/webgpu/common/util/navigator_gpu.js: Added.

(defaultGPUProvider):
(export.setGPUProvider):
(export.getGPU):

  • http/tests/webgpu/common/util/navigator_gpu.js.map: Added.
  • http/tests/webgpu/common/util/preprocessor.js: Added.

(prototype.checkDepth):
(prototype.applyTo):
(Else.prototype.applyTo):
(Else):
(export.pp):

  • http/tests/webgpu/common/util/preprocessor.js.map: Added.
  • http/tests/webgpu/common/util/timeout.js: Added.
  • http/tests/webgpu/common/util/timeout.js.map: Added.
  • http/tests/webgpu/common/util/types.js: Added.

(export.assertTypeTrue):

  • http/tests/webgpu/common/util/types.js.map: Added.
  • http/tests/webgpu/common/util/util.js: Added.

(export.ErrorWithExtra):
(export.assert):
(export.assertOK):
(export.async assertReject):
(export.unreachable):
(export.now):
(export.resolveOnTimeout):
(export.PromiseTimeoutError):
(export.rejectOnTimeout):
(export.raceWithRejectOnTimeout):
(export.sortObjectByKey):
(export.objectEquals):
(export.range):
(export.iterRange):
(subarrayAsU8):

  • http/tests/webgpu/common/util/util.js.map: Added.
  • http/tests/webgpu/cts.https-expected.txt: Added.
  • http/tests/webgpu/cts.https.html: Added.
  • http/tests/webgpu/resources/Di-3d.png: Added.
  • http/tests/webgpu/resources/README.md: Added.
  • http/tests/webgpu/resources/red-green.bt601.vp9.webm: Added.
  • http/tests/webgpu/resources/red-green.mp4: Added.
  • http/tests/webgpu/resources/red-green.theora.ogv: Added.
  • http/tests/webgpu/resources/red-green.webmvp8.webm: Added.
  • http/tests/webgpu/webgpu/api/operation/adapter/requestDevice-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/adapter/requestDevice.html: Added.
  • http/tests/webgpu/webgpu/api/operation/adapter/requestDevice.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/adapter/requestDevice_limits-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/adapter/requestDevice_limits.html: Added.
  • http/tests/webgpu/webgpu/api/operation/adapter/requestDevice_limits.spec.js: Added.

(g.test.string_appeared_here.desc.Test.that.specifying.limits.that.aren.requestDevice.to.reject.fn.async t):
(string_appeared_here.fn.async t):
(65535.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/buffers/map-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/map.html: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/map.spec.js: Added.

(and.the.contents.of.buffers.returned.by.getMappedRange.on.buffers.are.mapped.read.mapped.write.mappedAtCreation.range.used.getMappedRange.mapRegion.used.mapAsync.mapRegionBoundModes.is.used.to.get mapRegion):
(getRegionForMap):

  • http/tests/webgpu/webgpu/api/operation/buffers/map_ArrayBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/map_ArrayBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/map_ArrayBuffer.spec.js: Added.

(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/buffers/map_detach-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/map_detach.html: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/map_detach.spec.js: Added.

(unless.p.p.mappedAtCreation.false.p.mapMode.undefined.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/buffers/map_oom-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/map_oom.html: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/map_oom.spec.js: Added.

(true.fn.async t):
(kBufferUsages.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/buffers/mapping_test.js: Added.

(export.MappingTest.prototype.checkMapWrite):
(export.MappingTest.prototype.checkMapWriteZeroed):
(export.MappingTest.prototype.expectZero):
(export.MappingTest):

  • http/tests/webgpu/webgpu/api/operation/buffers/threading-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/threading.html: Added.
  • http/tests/webgpu/webgpu/api/operation/buffers/threading.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/basic-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/basic.html: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/basic.spec.js: Added.

(g.test.string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/clearBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/clearBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/clearBuffer.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/copyBufferToBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/copyBufferToBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/copyBufferToBuffer.spec.js: Added.

(p.dstOffset.p.copySize.8.fn.async t):
(and.check.contents.of.both.fn.async t):
(then.checks.the.dst.buffer.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/copyTextureToTexture-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/copyTextureToTexture.html: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/copyTextureToTexture.spec.js: Added.

(F.prototype.GetInitialData):
(F.prototype.GetInitialDataPerMipLevel):
(F.prototype.GetInitialStencilDataPerMipLevel):
(F.prototype.DoCopyTextureToTextureTest):
(F.prototype.InitializeStencilAspect):
(F.prototype.VerifyStencilAspect):
(F.prototype.GetRenderPipelineForT2TCopyWithDepthTests):
(F.prototype.GetBindGroupLayoutForT2TCopyWithDepthTests):
(F.prototype.GetBindGroupForT2TCopyWithDepthTests):
(F.prototype.InitializeDepthAspect):
(F.prototype.VerifyDepthAspect):
(F):
(kRegularTextureFormats.filter):
(3.unless.p.p.dimension.string_appeared_here.p.srcCopyLevel.0.p.dstCopyLevel.0.fn.async t):
(kCompressedTextureFormats.filter):
(2.fn.async t):
(3.fn.async t):
(g.test.string_appeared_here.desc.Validate.the.correctness.of.copyTextureToTexture.with.depth.and.stencil.aspect.For.all.the.texture.formats.with.stencil.aspect.Initialize.the.stencil.aspect.of.the.source.texture.with.writeTexture.Copy.the.stencil.aspect.from.the.source.texture.into.the.destination.texture.Copy.the.stencil.aspect.of.the.destination.texture.into.another.staging.buffer.and.check.its.content.Test.the.copies.from.into.zero.non.zero.array.layer.mipmap.levels.Test.copying.multiple.array.layers.For.all.the.texture.formats.with.depth.aspect.Initialize.the.depth.aspect.of.the.source.texture.with.a.draw.call.Copy.the.depth.aspect.from.the.source.texture.into.the.destination.texture.Validate.the.content.in.the.destination.texture.with.the.depth.comparison.string_appeared_here):
(async fn):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/image_copy-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/image_copy.html: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/image_copy.spec.js: Added.

(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.number.instead.of.GPUExtent3DDict.copy_various_mip_levels.test.that.copying.various.mip.levels.works.all.formats.Also.covers.special.code.paths.the.physical.size.of.the.subresource.is.not.equal.to.the.logical.size.bufferSize.offset.bytesPerImage.copyExtent.depthOrArrayLayers.and.copyExtent.needs.to.be.clamped.copy_with_no_image_or_slice_padding_and_undefined_values.test.that.when.copying.a.single.row.we.can.set any.bytesPerRow.value.and.when.copying.a.single.slice.we.can.set rowsPerImage):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.number.instead.of.GPUExtent3DDict.copy_various_mip_levels.test.that.copying.various.mip.levels.works.all.formats.Also.covers.special.code.paths.the.physical.size.of.the.subresource.is.not.equal.to.the.logical.size.bufferSize.offset.bytesPerImage.copyExtent.depthOrArrayLayers.and.copyExtent.needs.to.be.clamped.copy_with_no_image_or_slice_padding_and_undefined_values.test.that.when.copying.a.single.row.we.can.set any):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.getTexelOffsetInBytes):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.iterateBlockRows):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.generateData):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.undefDataLayoutIfNeeded):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.undefOrArrayCopyViewIfNeeded):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.arrayCopySizeIfNeeded):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.copyTextureToBufferWithAppliedArguments):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.uploadLinearTextureDataToTextureSubBox):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.copyPartialTextureToBufferAndCheckContents):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.copyWholeTextureToNewBuffer):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.updateLinearTextureDataSubBox):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.copyWholeTextureToBufferAndCheckContentsWithUpdatedData):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.async uploadTextureAndVerifyCopy):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.async DoUploadToStencilTest):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.async DoCopyFromStencilTest):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.async checkStencilTextureContent):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.initializeDepthAspectWithRendering):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.DoCopyTextureToBufferWithDepthAspectTest):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.formatCanBeTested):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/programmable/programmable_state_test.js: Added.

(export.ProgrammableStateTest.prototype.getBindGroupLayout):
(export.ProgrammableStateTest.prototype.getBindGroupLayouts):
(export.ProgrammableStateTest.prototype.createBindGroup):
(export.ProgrammableStateTest.prototype.setBindGroup):
(export.ProgrammableStateTest.prototype.createBindingStatePipeline):
(export.ProgrammableStateTest.prototype.setPipeline):
(export.ProgrammableStateTest.prototype.dispatchOrDraw):
(export.ProgrammableStateTest):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/programmable/state_tracking-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/programmable/state_tracking.html: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/programmable/state_tracking.spec.js: Added.

(export.const.description.Ensure.state.is.set correctly):
(fn.async t):
(g.test.string_appeared_here.desc.Test.that.the.order.in.you.set the):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/render/dynamic_state-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/render/dynamic_state.html: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/render/dynamic_state.spec.js: Added.

(Set.the.state.in.different.ways.to.make.sure.it.gets.the.correct.value.in.the.end.state.unset.default.state.explicitly.set once):
(set import):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/render/state_tracking-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/render/state_tracking.html: Added.
  • http/tests/webgpu/webgpu/api/operation/command_buffer/render/state_tracking.spec.js: Added.

(export.const.description.Ensure.state.is.set correctly):
(VertexAndIndexStateTrackingTest.prototype.GetRenderPipelineForTest):
(VertexAndIndexStateTrackingTest):
(size.multiple.times.in.different.orders.still.keeps.the.correctness.of.each.draw.call.fn.async t):
(and.check.they.were.drawn.correctly.fn.async t):
(the.vertex.buffer.stride.is.part.of.SetVertexBuffer.instead.of.the.pipeline.fn.async t):
(The.test.verifies.both.of.these.two.draw.calls.work.correctly.fn.async t):
(g.test.string_appeared_here.desc.Test.that.setting.not.setting.the.index.buffer.does.not.impact.a.non.indexed.draw.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/compute/basic-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/compute/basic.html: Added.
  • http/tests/webgpu/webgpu/api/operation/compute/basic.spec.js: Added.

(g.test.string_appeared_here.fn.async t):
(kMaxComputeWorkgroupSize.p.largeDimension.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/compute_pipeline/entry_point_name-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/compute_pipeline/entry_point_name.html: Added.
  • http/tests/webgpu/webgpu/api/operation/compute_pipeline/entry_point_name.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/device/lost-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/device/lost.html: Added.
  • http/tests/webgpu/webgpu/api/operation/device/lost.spec.js: Added.

(DeviceLostTests.prototype.getDeviceLostWithTimeout):
(DeviceLostTests.prototype.expectDeviceDestroyed):
(DeviceLostTests):
(async export):

  • http/tests/webgpu/webgpu/api/operation/labels-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/labels.html: Added.
  • http/tests/webgpu/webgpu/api/operation/labels.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/buffer_sync_test.js: Added.

(export.BufferSyncTest.prototype.async createBufferWithValue):
(export.BufferSyncTest.prototype.async createTextureWithValue):
(export.BufferSyncTest.prototype.createBindGroup):
(export.BufferSyncTest.prototype.createStorageWriteComputePipeline):
(export.BufferSyncTest.prototype.createStorageWriteRenderPipeline):
(export.BufferSyncTest.prototype.beginSimpleRenderPass):
(export.BufferSyncTest.prototype.encodeWriteAsStorageBufferInRenderPass):
(export.BufferSyncTest.prototype.encodeWriteAsStorageBufferInComputePass):
(export.BufferSyncTest.prototype.async encodeWriteByB2BCopy):
(export.BufferSyncTest.prototype.async encodeWriteByT2BCopy):
(export.BufferSyncTest.prototype.writeByWriteBuffer):
(export.BufferSyncTest.prototype.async encodeWriteOp):
(export.BufferSyncTest.prototype.async createCommandBufferWithWriteOp):
(export.BufferSyncTest.prototype.async submitWriteOp):
(export.BufferSyncTest.prototype.verifyData):
(export.BufferSyncTest.prototype.verifyDataTwoValidValues):
(export.BufferSyncTest):

  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/rw_and_wr-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/rw_and_wr.html: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/rw_and_wr.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/ww-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/ww.html: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/ww.spec.js: Added.

(kAllWriteOps.fn.async t):
(true.fn.async t):
(g.test.string_appeared_here.desc.Test.write.after.write.operations.in.the.same.render.bundle.The.first.write.will.write.1.into.a.storage.buffer.The.second.write.will.write.2.into.the.same.buffer.in.the.same.pass.Expected.data.in.buffer.is.either.1.or.2.fn.async t):
(g.test.string_appeared_here.desc.Test.write.after.write.operations.in.the.same.compute.pass.The.first.write.will.write.1.into.a.storage.buffer.The.second.write.will.write.2.into.the.same.buffer.in.the.same.pass.Expected.data.in.buffer.is.2.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/memory_sync/texture/same_subresource-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/texture/same_subresource.html: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/texture/same_subresource.spec.js: Added.

(TextureSyncTestHelper):
(TextureSyncTestHelper.prototype.performReadOp):
(TextureSyncTestHelper.prototype.performWriteOp):
(TextureSyncTestHelper.prototype.ensureSubmit):
(TextureSyncTestHelper.prototype.popContext):
(TextureSyncTestHelper.prototype.makeDummyAttachment):
(TextureSyncTestHelper.prototype.ensureContext):
(TextureSyncTestHelper.prototype.flushRenderBundles):
(TextureSyncTestHelper.prototype.flushCommandBuffers):
(TextureSyncTestHelper.prototype.ensureBoundary):
(p.kBoundaryInfo.p.boundary.contexts.expandWithParams):

  • http/tests/webgpu/webgpu/api/operation/memory_sync/texture/texture_sync_test.js: Added.

(combineContexts):
(export.checkOpsValidForContext):

  • http/tests/webgpu/webgpu/api/operation/onSubmittedWorkDone-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/onSubmittedWorkDone.html: Added.
  • http/tests/webgpu/webgpu/api/operation/onSubmittedWorkDone.spec.js: Added.

(g.test.string_appeared_here.desc.Await.onSubmittedWorkDone.once.without.having.submitted.any.work.fn.async t):
(g.test.string_appeared_here.desc.Await.onSubmittedWorkDone.once.after.submitting.some.work.writeBuffer.fn.async t):
(g.test.string_appeared_here.desc.Await.1000.onSubmittedWorkDone.calls.in.serial.fn.async t):
(g.test.string_appeared_here.desc.Await.1000.onSubmittedWorkDone.calls.in.parallel.with.Promise.all.fn.async t):
(g.test.string_appeared_here.desc.Issue.200.onSubmittedWorkDone.calls.and.make.sure.they.resolve.in.the.right.order.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/pipeline/default_layout-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/pipeline/default_layout.html: Added.
  • http/tests/webgpu/webgpu/api/operation/pipeline/default_layout.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/queue/writeBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/queue/writeBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/operation/queue/writeBuffer.spec.js: Added.

(F.prototype.calculateRequiredBufferSize):
(F.prototype.testWriteBuffer):
(F):

  • http/tests/webgpu/webgpu/api/operation/render_pass/clear_value-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/clear_value.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/clear_value.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/resolve-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/resolve.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/resolve.spec.js: Added.

(some.with.and.some.without.a.resolveTarget.renderPass.storeOp.set to):
(1.fn.t.i.t.params.slotsToResolve.includes):

  • http/tests/webgpu/webgpu/api/operation/render_pass/storeOp-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/storeOp.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/storeOp.spec.js: Added.

(work.correctly.a.render.pass.with.a.color.attachment.All.renderable.color.formats.mip.level.set to):
(array.layer.set to):
(2D.textures.TODO.depth.slice.set to):
(work.correctly.a.render.pass.with.a.depth.stencil.attachment.All.renderable.depth.stencil.formats.mip.level.set to):
(2D.textures.TODO.test.depth24plus.and.depth24plus.stencil8.formats.TODO.test.that.depth.and.stencil.aspects.are.set separately.TODO.depth.slice.set to):
(2D.textures.TODO.test.depth24plus.and.depth24plus.stencil8.formats.TODO.test.that.depth.and.stencil.aspects.are.set separately):
(kStoreOps.fn.t.else):
(kEncodableTextureFormats.filter):
(kArrayLayers.fn.t.else):
(kNumColorAttachments.fn.t.i.else):

  • http/tests/webgpu/webgpu/api/operation/render_pass/storeop2-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/storeop2.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pass/storeop2.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/api/operation/render_pipeline/alpha_to_coverage-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/alpha_to_coverage.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/alpha_to_coverage.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/culling_tests-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/culling_tests.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/culling_tests.spec.js: Added.

(faceIsCulled):

  • http/tests/webgpu/webgpu/api/operation/render_pipeline/entry_point_name-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/entry_point_name.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/entry_point_name.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/pipeline_output_targets-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/pipeline_output_targets.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.js: Added.

(F.prototype.getFragmentShaderCode):
(F):
(4.filter.x.x.componentCount.kTexelRepresentationInfo.x.format.componentOrder.length.fn.async t):
(filter.x.x.output.length.kTexelRepresentationInfo.x.format.componentOrder.length.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/render_pipeline/primitive_topology-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/primitive_topology.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/primitive_topology.spec.js: Added.

(v1.v3.v5.Topology.triangle.strip.4.triangles.v2.v4.v6.Triangle.list.locations.None.Center.of.two.triangle):
(Point2D):
(Point2D.prototype.toNDC):
(Point2D.getMidpoint):
(Point2D.getCentroid):
(getPointTestLocations):
(getLineTestLocations):
(getPrimitiveRestartLineTestLocations):
(getLineStripTestLocations):
(getTriangleListTestLocations):
(getTriangleStripTestLocations):
(getDefaultTestLocations):

  • http/tests/webgpu/webgpu/api/operation/render_pipeline/sample_mask-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/sample_mask.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/sample_mask.spec.js: Added.

(fragment.shader.output.mask):

  • http/tests/webgpu/webgpu/api/operation/render_pipeline/vertex_only_render_pipeline-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/vertex_only_render_pipeline.html: Added.
  • http/tests/webgpu/webgpu/api/operation/render_pipeline/vertex_only_render_pipeline.spec.js: Added.

(F):

  • http/tests/webgpu/webgpu/api/operation/rendering/basic-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/basic.html: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/basic.spec.js: Added.

(g.test.string_appeared_here.fn.async t):
(false.fn.async t.async const):
(false.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/rendering/blending-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/blending.html: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/blending.spec.js: Added.

(mapColor):
(computeBlendFactor):
(computeBlendOperation):
(fn.t.switch):

  • http/tests/webgpu/webgpu/api/operation/rendering/depth-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/depth.html: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/depth.spec.js: Added.

(g.test.string_appeared_here.desc.Tests.each.depth.compare.works):

  • http/tests/webgpu/webgpu/api/operation/rendering/depth_clip_clamp-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/depth_clip_clamp.html: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/depth_clip_clamp.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/api/operation/rendering/draw-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/draw.html: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/draw.spec.js: Added.

(and.base_vertex.is.used.to.select.the.second.set The):
(9.undefined.fn.async t):
(string_appeared_here.unless.p.p.vertex_attribute_count.p.vertex_buffer_count.unless.p.p.step_mode.string_appeared_here.p.vertex_buffer_count.1.fn.t.switch):
(string_appeared_here.unless.p.p.vertex_attribute_count.p.vertex_buffer_count.unless.p.p.step_mode.string_appeared_here.p.vertex_buffer_count.1.fn.t.b.switch):
(string_appeared_here.unless.p.p.vertex_attribute_count.p.vertex_buffer_count.unless.p.p.step_mode.string_appeared_here.p.vertex_buffer_count.1.fn.t.vertexIndex.instanceIndex.bufferLayouts.forEach):
(string_appeared_here.unless.p.p.vertex_attribute_count.p.vertex_buffer_count.unless.p.p.step_mode.string_appeared_here.p.vertex_buffer_count.1.fn.t.const.pipeline.t.device.createRenderPipeline.vertex.module.t.device.createShaderModule.stage.vertex.fn.main.input.Inputs.Outputs.join):
(string_appeared_here.unless.p.p.vertex_attribute_count.p.vertex_buffer_count.unless.p.p.step_mode.string_appeared_here.p.vertex_buffer_count.1.fn.t.const.pipeline.t.device.createRenderPipeline.fragment.module.t.device.createShaderModule.stage.fragment.fn.main):

  • http/tests/webgpu/webgpu/api/operation/rendering/indirect_draw-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/indirect_draw.html: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/indirect_draw.spec.js: Added.

(F.prototype.MakeIndexBuffer):
(F.prototype.MakeVertexBuffer):
(F.prototype.MakeIndirectBuffer):
(F):

  • http/tests/webgpu/webgpu/api/operation/rendering/robust_access_index-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/robust_access_index.html: Added.
  • http/tests/webgpu/webgpu/api/operation/rendering/robust_access_index.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/resource_init/buffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/resource_init/buffer.html: Added.
  • http/tests/webgpu/webgpu/api/operation/resource_init/buffer.spec.js: Added.

(F.prototype.GetBufferUsageFromMapMode):
(F.prototype.async CheckGPUBufferContent):
(F.prototype.TestBufferZeroInitInBindGroup):
(F.prototype.CreateRenderPipelineForTest):
(F.prototype.RecordInitializeTextureColor):
(F.prototype.CheckBufferAndOutputTexture):
(F):
(12.fn.async t):
(kMapModeOptions.fn.async t):
(16.fn.async t):
(kBufferUsagesForMappedAtCreationTests.fn.async t):
(the.contents.of.the.GPUBuffer.have.already.been.initialized.to.0.fn.async t):
(8.fn.async t):
(fn.async t):
(g.test.string_appeared_here.desc.Verify.when.we.resolve.a.query.set into):

  • http/tests/webgpu/webgpu/api/operation/resource_init/check_texture/by_copy.js: Added.

(export.const.checkContentsByBufferCopy):
(export.const.checkContentsByTextureCopy):

  • http/tests/webgpu/webgpu/api/operation/resource_init/check_texture/by_ds_test.js: Added.

(makeFullscreenVertexModule):
(const.checkContents):

  • http/tests/webgpu/webgpu/api/operation/resource_init/check_texture/by_sampling.js: Added.

(export.const.checkContentsBySampling):

  • http/tests/webgpu/webgpu/api/operation/resource_init/texture_zero-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/resource_init/texture_zero.html: Added.
  • http/tests/webgpu/webgpu/api/operation/resource_init/texture_zero.spec.js: Added.

(initializedStateAsColor):
(getRequiredTextureUsage):
(export.TextureZeroInitTest):
(export.TextureZeroInitTest.prototype.get textureWidth):
(export.TextureZeroInitTest.prototype.get textureHeight):
(export.TextureZeroInitTest.prototype.get textureDepth):
(export.TextureZeroInitTest.prototype.get textureDepthOrArrayLayers):
(export.TextureZeroInitTest.prototype.iterateUninitializedSubresources):
(export.TextureZeroInitTest.prototype.iterateInitializedSubresources):
(export.TextureZeroInitTest.prototype.generateTextureViewDescriptorsForRendering):
(export.TextureZeroInitTest.prototype.initializeWithStoreOp):
(export.TextureZeroInitTest.prototype.initializeWithCopy):
(export.TextureZeroInitTest.prototype.initializeTexture):
(export.TextureZeroInitTest.prototype.discardTexture):
(kTextureAspects.unless):
(kUninitializeMethods.unless):
(expandWithParams):
(sampleCount.1.layerCount.1.unless):
(true.filter):
(g.test.string_appeared_here.params.kTestParams.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/sampling/anisotropy-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/sampling/anisotropy.html: Added.
  • http/tests/webgpu/webgpu/api/operation/sampling/anisotropy.spec.js: Added.

(by.testing.how.many.unique.sample.values.come.out.of.the.sample.operation.Check.anisotropy.is.done.in.the.correct.direction.by.having.a.2D.gradient.and.checking.we.get more):
(SamplerAnisotropicFilteringSlantedPlaneTest.prototype.copyRenderTargetToBuffer):
(SamplerAnisotropicFilteringSlantedPlaneTest.prototype.async init):
(SamplerAnisotropicFilteringSlantedPlaneTest.prototype.drawSlantedPlane):
(SamplerAnisotropicFilteringSlantedPlaneTest):
(as.the.sampling.rate.is.different.We.will.also.check.those.large.maxAnisotropy.values.are.clamped.so.that.rendering.is.the.same.as.the.supported.upper.limit.say.16.A.similar.webgl.demo.is.at.https.fn.async t):
(fn.async t):

  • http/tests/webgpu/webgpu/api/operation/sampling/filter_mode-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/sampling/filter_mode.html: Added.
  • http/tests/webgpu/webgpu/api/operation/sampling/filter_mode.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/sampling/lod_clamp-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/sampling/lod_clamp.html: Added.
  • http/tests/webgpu/webgpu/api/operation/sampling/lod_clamp.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/shader_module/compilation_info-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/shader_module/compilation_info.html: Added.
  • http/tests/webgpu/webgpu/api/operation/shader_module/compilation_info.spec.js: Added.

(return.vec4.f32):
(return.unknown):
(g.test.string_appeared_here.desc.Test.that.compilationInfo.can.be.called.on.any.ShaderModule.Test.both.valid.and.invalid.shader.modules.Test.shader.modules.containing.only.ASCII.and.those.containing.unicode.characters.Test.that.the.compilation.info.valid.shader.modules.contains.no.errors.Test.that.the.compilation.info.invalid.shader.modules.contains.at.least.one.error.paramsSimple.kAllShaderSources.fn.async t):
(indicating.an.unknown.position.Test.invalid.shader.modules.containing.containing.at.least.one.error.Test.shader.modules.containing.only.ASCII.and.those.containing.unicode.characters.paramsSimple.kInvalidShaderSources.fn.async t):
(g.test.string_appeared_here.desc.Test.that.message.offsets.and.lengths.are.valid.and.align.with.any.reported.lineNum.and.linePos.Test.valid.and.invalid.shader.modules.Test.shader.modules.containing.only.ASCII.and.those.containing.unicode.characters.paramsSimple.kAllShaderSources.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/texture_view/read-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/texture_view/read.html: Added.
  • http/tests/webgpu/webgpu/api/operation/texture_view/read.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/texture_view/write-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/texture_view/write.html: Added.
  • http/tests/webgpu/webgpu/api/operation/texture_view/write.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/uncapturederror-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/uncapturederror.html: Added.
  • http/tests/webgpu/webgpu/api/operation/uncapturederror.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/vertex_state/correctness-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/vertex_state/correctness.html: Added.
  • http/tests/webgpu/webgpu/api/operation/vertex_state/correctness.spec.js: Added.

(mapBufferAttribs):
(mapStateAttribs):
(prototype.makeTestWGSL):
(prototype.makeTestPipeline):
(prototype.submitRenderPass):
(prototype.generateTestData):
(prototype.expandTestData):
(prototype.interleaveVertexDataInto):
(prototype.createTestAndPipelineData):
(prototype.createExpectedBG):
(prototype.createVertexBuffers):
(prototype.runTest):
(fn.t.i):

  • http/tests/webgpu/webgpu/api/operation/vertex_state/index_format-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/vertex_state/index_format.html: Added.
  • http/tests/webgpu/webgpu/api/operation/vertex_state/index_format.spec.js: Added.

(IndexFormatTest.prototype.MakeRenderPipeline):
(IndexFormatTest.prototype.CreateIndexBuffer):
(IndexFormatTest.prototype.run):
(IndexFormatTest.prototype.CreateExpectedUint8Array):
(IndexFormatTest):
(in.the.case.of.incorrect.results.This.shows.the.expected.result.marked.string_appeared_here.is.different.from.what.you.would.get if):

  • http/tests/webgpu/webgpu/api/validation/attachment_compatibility-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/attachment_compatibility.html: Added.
  • http/tests/webgpu/webgpu/api/validation/attachment_compatibility.spec.js: Added.

(F.prototype.createAttachmentTextureView):
(F.prototype.createColorAttachment):
(F.prototype.createDepthAttachment):
(F.prototype.createRenderPipeline):
(F):
(kDepthStencilAttachmentFormats.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/buffer/create-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/create.html: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/create.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/destroy-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/destroy.html: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/destroy.spec.js: Added.

(kBufferUsages.fn.async t):
(g.test.string_appeared_here.desc.string_appeared_here.fn.async t):
(fn.async t):
(unless.p.p.mappedAtCreation.false.p.mapMode.undefined.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/buffer/mapping-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/mapping.html: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/mapping.spec.js: Added.

(F.prototype.async testMapAsyncCall):
(F.prototype.testGetMappedRangeCall):
(F.prototype.createMappableBuffer):
(F):
(kBufferUsages.fn.async t):
(kMapModeOptions.fn.async t):
(fn.async t):
(kSizeAlignment.2.fn.async t):
(validation.can.be.performed.asynchronously.in.the.GPU.process.so.the.Content.process.doesn.fn.async t):
(after.a.mapAsync.call.or.after.being.created.mapped.fn.async t):
(g.test.string_appeared_here.desc.Test.that.old.getMappedRange.returned.arraybuffer.does.not.exist.after.unmap.and.newly.returned.arraybuffer.after.new.map.has.correct.subrange.fn.async t):
(g.test.string_appeared_here.desc.string_appeared_here.fn.async t):
(or.after.mappedAtCreation.or.mapAsync.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/buffer/threading-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/threading.html: Added.
  • http/tests/webgpu/webgpu/api/validation/buffer/threading.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/depth_clip_control-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/depth_clip_control.html: Added.
  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/depth_clip_control.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/query_types-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/query_types.html: Added.
  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/query_types.spec.js: Added.

(g.test.string_appeared_here.desc.Tests.that.creating.query.set shouldn):
(true.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats.html: Added.
  • http/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats.spec.js: Added.

(false.fn.async t):
(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createBindGroup-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/createBindGroup.html: Added.
  • http/tests/webgpu/webgpu/api/validation/createBindGroup.spec.js: Added.

(clone):
(3.fn.async t):
(2.fn.async t):
(allBindingEntries.false.fn.t.switch):
(allBindingEntries.false.fn.t.t.expectValidationError):
(kTextureUsages.unless):
(fn.async t):
(string_appeared_here.fn.async t):
(kTextureViewDimensions.fn.async t):
(256.fn.t.t.expectValidationError):
(bufferBindingEntries.true.fn.t.t.expectValidationError):
(string_appeared_here.fn.t.t.expectValidationError):
(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createBindGroupLayout-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/createBindGroupLayout.html: Added.
  • http/tests/webgpu/webgpu/api/validation/createBindGroupLayout.spec.js: Added.

(clone):
(fn.async t):
(allBindingEntries.false.fn.async t):
(kTextureViewDimensions.fn.async t):
(1.fn.async t):
(prototype.async g):

  • http/tests/webgpu/webgpu/api/validation/createComputePipeline-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/createComputePipeline.html: Added.
  • http/tests/webgpu/webgpu/api/validation/createComputePipeline.spec.js: Added.

(F.prototype.getShaderModule):
(F.prototype.getInvalidShaderModule):
(F.prototype.doCreateComputePipelineTest):
(F):
(fn.async t):
(making.sure.that.the.test.working):

  • http/tests/webgpu/webgpu/api/validation/createPipelineLayout-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/createPipelineLayout.html: Added.
  • http/tests/webgpu/webgpu/api/validation/createPipelineLayout.spec.js: Added.

(clone):
(kBufferBindingTypes.fn.async t):
(g.test.string_appeared_here.fn.async t):
(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createRenderPipeline-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/createRenderPipeline.html: Added.
  • http/tests/webgpu/webgpu/api/validation/createRenderPipeline.spec.js: Added.

(F.prototype.getFragmentShaderCode):
(F.prototype.getDescriptor):
(F.prototype.getPipelineLayout):
(F.prototype.createTexture):
(F.prototype.doCreateRenderPipelineTest):
(F):
(true.fn.async t):
(kTextureFormats.fn.async t):
(kCompareFunctions.fn.async t):
(kStencilOperations.fn.async t):
(fn.async t):
(4.fn.async t):
(kRenderableColorTextureFormats.fn.async t):
(kBlendOperations.fn.async t):
(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createSampler-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/createSampler.html: Added.
  • http/tests/webgpu/webgpu/api/validation/createSampler.spec.js: Added.

(4e30.fn.async t):
(g.test.string_appeared_here.desc.string_appeared_here.params.u.u.beginSubcases.combineWithParams.u.combine):
(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createTexture-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/createTexture.html: Added.
  • http/tests/webgpu/webgpu/api/validation/createTexture.spec.js: Added.

(format.fn.async t):
(kTextureFormats.fn.async t):
(dimension.string_appeared_here.largestDimension.0.fn.async t):
(format.string_appeared_here.dimension.string_appeared_here.dimension.string_appeared_here.size.0.kTextureFormatInfo.format.blockWidth.0.size.1.kTextureFormatInfo.format.blockHeight.0.fn.async t):
(g.test.string_appeared_here.desc.Test.mip.level.count.bound.check.when.mipLevelCount.is.bigger.than.integer.bit.width.fn.async t):
(format.unless):
(fn.async t):
(2.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createView-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/createView.html: Added.
  • http/tests/webgpu/webgpu/api/validation/createView.spec.js: Added.

(kTextureFormats.fn.async t):
(undefined.fn.t.t.expectValidationError):
(kTextureAspects.fn.async t):
(validateCreateViewLayersLevels):
(const.lastArrayLayer.of.new.Set):
(fn.t.t.expectValidationError):
(const.lastMipLevel.of.new.Set):
(fn.async t):
(kResourceStates.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/create_pipeline-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/create_pipeline.html: Added.
  • http/tests/webgpu/webgpu/api/validation/create_pipeline.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/beginRenderPass-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/beginRenderPass.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/beginRenderPass.spec.js: Added.

(fn.async t):
(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/buffer_texture_copies-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/buffer_texture_copies.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/buffer_texture_copies.spec.js: Added.

(ImageCopyTest.prototype.testCopyBufferToTexture):
(ImageCopyTest.prototype.testCopyTextureToBuffer):
(ImageCopyTest.prototype.testWriteTexture):
(ImageCopyTest):
(string_appeared_here.fn.async t):
(fn.async t):
(8.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/clearBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/clearBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/clearBuffer.spec.js: Added.

(F.prototype.TestClearBuffer):
(F):
(g.test.string_appeared_here.desc.Test.that.clearing.an.error.buffer.fails.fn.async t):
(fn.async t):
(kBufferUsages.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/compute_pass-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/compute_pass.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/compute_pass.spec.js: Added.

(F.prototype.createComputePipeline):
(F.prototype.createIndirectBuffer):
(F):
(1.fn.t.else):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/copyBufferToBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/copyBufferToBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/copyBufferToBuffer.spec.js: Added.

(F.prototype.TestCopyBufferToBuffer):
(F):
(g.test.string_appeared_here.fn.async t):
(kBufferUsages.fn.async t):
(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/copyTextureToTexture-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/copyTextureToTexture.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/copyTextureToTexture.spec.js: Added.

(F.prototype.TestCopyTextureToTexture):
(F.prototype.GetPhysicalSubresourceSize):
(F):
(kResourceStates.fn.async t):
(unless.p.p.dimension.string_appeared_here.p.srcLevelCount.1.p.dstLevelCount.1.fn.async t):
(kTextureUsages.fn.async t):
(4.fn.async t):
(8.fn.async t):
(kTextureFormats.fn.async t):
(1.fn.async t):
(3.unless.p.p.dimension.string_appeared_here.p.srcCopyLevel.0.p.dstCopyLevel.0.fn.async t):
(3.fn.async t):
(string_appeared_here.fn.async t):
(2.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/debug-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/debug.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/debug.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/index_access-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/index_access.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/index_access.spec.js: Added.

(F.prototype.createIndexBuffer):
(F.prototype.createRenderPipeline):
(F.prototype.beginRenderPass):
(F.prototype.drawIndexed):
(F):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/draw-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/draw.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/draw.spec.js: Added.

(callDrawIndexed):
(and.test.that.draw.and.drawIndexed.will.success.error.as.expected.Such.set of):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/dynamic_state-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/dynamic_state.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/dynamic_state.spec.js: Added.

(out.of.range.used.with.a.simple.pipeline.that.used.with.a.simple.pipeline.that.F.prototype.testViewportCall):
(out.of.range.used.with.a.simple.pipeline.that.used.with.a.simple.pipeline.that.F.prototype.testScissorCall):
(out.of.range.used.with.a.simple.pipeline.that.used.with.a.simple.pipeline.that.F.prototype.createDummyRenderPassEncoder):
(out.of.range.used.with.a.simple.pipeline.that.used.with.a.simple.pipeline.that.F):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/indirect_draw-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/indirect_draw.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/indirect_draw.spec.js: Added.

(F.prototype.makeIndexBuffer):
(F):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/render.js: Added.

(export.buildBufferOffsetAndSizeOOBTestParams):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setIndexBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setIndexBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setIndexBuffer.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setPipeline-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setPipeline.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setPipeline.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setVertexBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setVertexBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setVertexBuffer.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/state_tracking-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/state_tracking.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/state_tracking.spec.js: Added.

(F.prototype.getVertexBuffer):
(F.prototype.createRenderPipeline):
(F.prototype.beginRenderPass):
(F):
(g.test.string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render_pass-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render_pass.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render_pass.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/setBindGroup-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/setBindGroup.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/setBindGroup.spec.js: Added.

(F.prototype.encoderTypeToStageFlag):
(F.prototype.createBindingResourceWithState):
(F.prototype.createBindGroup):
(F):
(string_appeared_here.fn.async t.async runTest):
(string_appeared_here.fn.async t):
(kProgrammableEncoderTypes.fn.async t):
(true.fn.async t):
(fn.t.const.doSetBindGroup):

  • http/tests/webgpu/webgpu/api/validation/encoding/createRenderBundleEncoder-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/createRenderBundleEncoder.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/createRenderBundleEncoder.spec.js: Added.

(string_appeared_here.filter):
(fn.async t):
(string_appeared_here.fn.async t):
(true.fn.async t):
(g.test.string_appeared_here.desc.Tests.that.createRenderBundleEncoder.validation.of.depthReadOnly.and.stencilReadOnly.is.ignored.there.is.no.depthStencilFormat.set params):

  • http/tests/webgpu/webgpu/api/validation/encoding/encoder_state-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/encoder_state.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/encoder_state.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js: Added.

(getTestCmds):
(F.prototype.getIndexBuffer):
(F.prototype.getIndirectBuffer):
(F.prototype.getBindingResourceType):
(F.prototype.createRenderPipelineWithLayout):
(F.prototype.createComputePipelineWithLayout):
(F.prototype.createBindGroupWithLayout):
(F.prototype.doCompute):
(F.prototype.doRender):
(F.prototype.createBindGroupLayoutEntry):
(F.prototype.runTest):
(F):
(g.test.string_appeared_here.desc.Tests.the.bind.groups.must.match.the.requirements.of.the.pipeline.layout.bind.groups.required.by.the.pipeline.layout.are.required.bind.groups.unused.by.the.pipeline.layout.can.be.set or):

  • http/tests/webgpu/webgpu/api/validation/encoding/queries/begin_end-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/begin_end.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/begin_end.spec.js: Added.

(fn.async t):
(true.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/queries/common.js: Added.

(export.createQuerySetWithType):
(export.beginRenderPassWithQuerySet):

  • http/tests/webgpu/webgpu/api/validation/encoding/queries/general-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/general.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/general.spec.js: Added.

(g.test.string_appeared_here.desc.Tests.that.set occlusion.query.set with):
(g.test.string_appeared_here.desc.Tests.that.set occlusion):
(fn.async t):
(g.test.string_appeared_here.desc.Tests.that.begin.occlusion.query.with.a.invalid.query.set that):
(occlusion.query.set in):
(g.test.string_appeared_here.desc.Tests.that.write.timestamp.to.all.types.of.query.set on):
(2.0.fn.async t):
(g.test.string_appeared_here.desc.Tests.that.write.timestamp.to.a.invalid.query.set that):
(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/queries/pipeline_statistics-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/pipeline_statistics.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/pipeline_statistics.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/resolveQuerySet-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/resolveQuerySet.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/queries/resolveQuerySet.spec.js: Added.

(g.test.string_appeared_here.desc.Tests.that.resolve.query.set with):
(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/render_bundle-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/render_bundle.html: Added.
  • http/tests/webgpu/webgpu/api/validation/encoding/render_bundle.spec.js: Added.

(g.test.string_appeared_here.desc.Test.that.it.is.valid.to.execute.an.empty.list.of.render.bundles.fn.async t):
(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/error_scope-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/error_scope.html: Added.
  • http/tests/webgpu/webgpu/api/validation/error_scope.spec.js: Added.

(F.prototype.get device):
(F.prototype.async init):
(F.prototype.createErrorBuffer):
(F.prototype.async expectUncapturedError):
(F):
(g.test.string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/image_copy/buffer_related-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/image_copy/buffer_related.html: Added.
  • http/tests/webgpu/webgpu/api/validation/image_copy/buffer_related.spec.js: Added.

(kResourceStates.fn.async t):
(fn.async t):
(bytesPerRow.undefined.copyHeightInBlocks.1.bytesPerRow.undefined.bytesPerRow.kTextureFormatInfo.format.bytesPerBlock.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/image_copy/image_copy.js: Added.

(export.ImageCopyTest.prototype.testRun):
(export.ImageCopyTest.prototype.createAlignedTexture):
(export.ImageCopyTest.prototype.testBuffer):
(export.ImageCopyTest):
(valuesToTestDivisibilityBy):
(export.texelBlockAlignmentTestExpanderForOffset):

  • http/tests/webgpu/webgpu/api/validation/image_copy/layout_related-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/image_copy/layout_related.html: Added.
  • http/tests/webgpu/webgpu/api/validation/image_copy/layout_related.spec.js: Added.

(3.unless.p.p.dimension.string_appeared_here.p.copyHeightInBlocks.1.unless.p.p.copyDepth.p.size.2.fn.async t):
(fn.async t):
(filter):
(unless.p.p.dimension.string_appeared_here.p.copyHeightInBlocks.1.p.copyDepth.1.fn.async t):
(rowsPerImage.kTextureFormatInfo.format.blockHeight.fn.async t):
(texelBlockAlignmentTestExpanderForOffset.fn.async t):
(2.unless.p.p.dimension.string_appeared_here.p.copyHeightInBlocks.1.p.copyDepth.1.expandWithParams.p._success):
(2.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/image_copy/texture_related-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/image_copy/texture_related.html: Added.
  • http/tests/webgpu/webgpu/api/validation/image_copy/texture_related.spec.js: Added.

(fn.async t):
(4.fn.async t):
(1.0.fn.async t):
(texelBlockAlignmentTestExpanderForValueToCoordinate.fn.async t):
(2.unless.p.p.dimension.string_appeared_here.p.coordinateToTest.0.p.mipLevel.0.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/initialization/requestDevice-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/initialization/requestDevice.html: Added.
  • http/tests/webgpu/webgpu/api/validation/initialization/requestDevice.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/layout_shader_compat-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/layout_shader_compat.html: Added.
  • http/tests/webgpu/webgpu/api/validation/layout_shader_compat.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/query_set/create-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/query_set/create.html: Added.
  • http/tests/webgpu/webgpu/api/validation/query_set/create.spec.js: Added.

(g.test.string_appeared_here.desc.Tests.that.create.query.set with):
(kMaxQueryCount.1.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/query_set/destroy-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/query_set/destroy.html: Added.
  • http/tests/webgpu/webgpu/api/validation/query_set/destroy.spec.js: Added.

(export.const.description.Destroying.a.query.set more):
(g.test.string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/queue/buffer_mapped-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/buffer_mapped.html: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/buffer_mapped.spec.js: Added.

(F.prototype.async runBufferDependencyTest):
(F):
(g.test.string_appeared_here.desc.Test.that.an.outstanding.mapping.will.prevent.writeBuffer.calls.fn.async t):
(both.when.used.as.the.source.and.destination.fn.async t):
(g.test.string_appeared_here.desc.Test.that.an.outstanding.mapping.will.prevent.copyBufferToTexture.commands.from.submitting.fn.async t):
(g.test.string_appeared_here.desc.Test.that.an.outstanding.mapping.will.prevent.copyTextureToBuffer.commands.from.submitting.fn.async t):
(fn.async t.const.steps.submit.async t):

  • http/tests/webgpu/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.html: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.js: Added.

(computeMipMapSize):
(generateCopySizeForSrcOOB):

  • http/tests/webgpu/webgpu/api/validation/queue/destroyed/buffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/destroyed/buffer.html: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/destroyed/buffer.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/destroyed/query_set-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/destroyed/query_set.html: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/destroyed/query_set.spec.js: Added.

(export.const.description.Tests.using.a.destroyed.query.set on):
(g.test.string_appeared_here.desc.Tests.that.use.a.destroyed.query.set in):
(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/queue/submit-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/submit.html: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/submit.spec.js: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/writeBuffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/writeBuffer.html: Added.
  • http/tests/webgpu/webgpu/api/validation/queue/writeBuffer.spec.js: Added.

(g.test.string_appeared_here.desc.Tests.that.the.data.ranges.given.to.GPUQueue.writeBuffer.are.properly.validated.Tests.calling.writeBuffer.with.both.TypedArrays.and.ArrayBuffers.and.checks.that.the.data.offset.and.size.is.interpreted.correctly.both.When.passing.a.TypedArray.the.data.offset.and.size.is.given.in.elements.When.passing.an.ArrayBuffer.the.data.offset.and.size.is.given.in.bytes.Also.verifies.that.the.specified.data.range.Describes.a.valid.range.of.the.destination.buffer.and.source.buffer.Fits.fully.within.the.destination.buffer.Has.a.byte.size.is.a.multiple.of.4.fn.async t.runTest):
(g.test.string_appeared_here.desc.Tests.that.the.data.ranges.given.to.GPUQueue.writeBuffer.are.properly.validated.Tests.calling.writeBuffer.with.both.TypedArrays.and.ArrayBuffers.and.checks.that.the.data.offset.and.size.is.interpreted.correctly.both.When.passing.a.TypedArray.the.data.offset.and.size.is.given.in.elements.When.passing.an.ArrayBuffer.the.data.offset.and.size.is.given.in.bytes.Also.verifies.that.the.specified.data.range.Describes.a.valid.range.of.the.destination.buffer.and.source.buffer.Fits.fully.within.the.destination.buffer.Has.a.byte.size.is.a.multiple.of.4.fn.async t):
(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/render_pass/resolve-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/render_pass/resolve.html: Added.
  • http/tests/webgpu/webgpu/api/validation/render_pass/resolve.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/render_pass/storeOp-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/render_pass/storeOp.html: Added.
  • http/tests/webgpu/webgpu/api/validation/render_pass/storeOp.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/render_pass_descriptor-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/render_pass_descriptor.html: Added.
  • http/tests/webgpu/webgpu/api/validation/render_pass_descriptor.spec.js: Added.

(F.prototype.createTexture):
(F.prototype.getColorAttachment):
(F.prototype.getDepthStencilAttachment):
(F.prototype.async tryRenderPass):
(F):
(fn.async t):
(g.test.string_appeared_here.fn.async t):
(kRenderableColorTextureFormats.filter.t.kTextureFormatInfo.t.format.multisample.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_pass_encoder-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_pass_encoder.html: Added.
  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.js: Added.

(TextureUsageTracking.prototype.createTexture):
(TextureUsageTracking.prototype.createBindGroupLayout):
(TextureUsageTracking.prototype.createBindGroup):
(TextureUsageTracking.prototype.createAndExecuteBundle):
(TextureUsageTracking.prototype.beginSimpleRenderPass):
(TextureUsageTracking.prototype.testValidationScope):
(TextureUsageTracking.prototype.setPipeline):
(TextureUsageTracking.prototype.issueDrawOrDispatch):
(TextureUsageTracking.prototype.setComputePipelineAndCallDispatch):
(TextureUsageTracking):
(unless.p.p.type0.string_appeared_here.p.levelCount0.1.p.layerCount0.1.p.type1.string_appeared_here.p.levelCount1.1.p.layerCount1.1.p.type0.string_appeared_here.p.type1.string_appeared_here.p.baseLevel1.BASE_LEVEL.fn.async t):
(unless.p.kTextureFormatInfo.p.format.depth.kTextureFormatInfo.p.format.stencil.p.aspect0.string_appeared_here.p.type0.string_appeared_here.p.aspect1.string_appeared_here.p.type1.string_appeared_here.unless.p.p.binding1InBundle.p.type1.string_appeared_here.unless.p.p.compute.p.binding0InBundle.p.binding1InBundle.p.type1.string_appeared_here.fn.async t):
(kShaderStages.unless.p.p.compute.Boolean.p.writeVisibility.GPUConst.ShaderStage.VERTEX.fn.async t):
(fn.async t):
(true.expandWithParams):
(unless.p.p.binding0InBundle.p.type0.string_appeared_here.p.binding1InBundle.p.type1.string_appeared_here.p.binding0InBundle.p.binding1InBundle.p._sampleCount.undefined.p._sampleCount.1.p._usage0.string_appeared_here.p._usage1.string_appeared_here.p.type0.string_appeared_here.p.type1.string_appeared_here.p.type0.string_appeared_here.p.type1.string_appeared_here.fn.async t):
(true.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_render_common-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_render_common.html: Added.
  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_render_common.spec.js: Added.

(F.prototype.getColorAttachment):
(F):
(false.unless.t.t.inSamePass.t.baseLevel0.t.baseLevel1.fn.async t):
(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_render_misc-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_render_misc.html: Added.
  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.js: Added.

(or.different.subresources.of.the.same.texture.texture.usages.in.copies.and.in.render.pass.consecutively.set bind):

  • http/tests/webgpu/webgpu/api/validation/texture/destroy-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/texture/destroy.html: Added.
  • http/tests/webgpu/webgpu/api/validation/texture/destroy.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/validation_test.js: Added.

(export.ValidationTest.prototype.createTextureWithState):
(export.ValidationTest.prototype.createBufferWithState):
(export.ValidationTest.prototype.createQuerySetWithState):
(export.ValidationTest.prototype.getStorageBuffer):
(export.ValidationTest.prototype.getUniformBuffer):
(export.ValidationTest.prototype.getErrorBuffer):
(export.ValidationTest.prototype.getErrorSampler):
(export.ValidationTest.prototype.getSampledTexture):
(export.ValidationTest.prototype.getStorageTexture):
(export.ValidationTest.prototype.getRenderTexture):
(export.ValidationTest.prototype.getErrorTexture):
(export.ValidationTest.prototype.getErrorTextureView):
(export.ValidationTest.prototype.getBindingResource):
(export.ValidationTest.prototype.getDeviceMismatchedStorageBuffer):
(export.ValidationTest.prototype.getDeviceMismatchedUniformBuffer):
(export.ValidationTest.prototype.getDeviceMismatchedTexture):
(export.ValidationTest.prototype.getDeviceMismatchedSampledTexture):
(export.ValidationTest.prototype.getDeviceMismatchedStorageTexture):
(export.ValidationTest.prototype.getDeviceMismatchedRenderTexture):
(export.ValidationTest.prototype.getDeviceMismatchedBindingResource):
(export.ValidationTest.prototype.createRenderPipelineWithState):
(export.ValidationTest.prototype.createNoOpRenderPipeline):
(export.ValidationTest.prototype.createErrorRenderPipeline):
(export.ValidationTest.prototype.createNoOpComputePipeline):
(export.ValidationTest.prototype.createErrorComputePipeline):
(export.ValidationTest):

  • http/tests/webgpu/webgpu/api/validation/vertex_state-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/vertex_state.html: Added.
  • http/tests/webgpu/webgpu/api/validation/vertex_state.spec.js: Added.

(addTestAttributes):

  • http/tests/webgpu/webgpu/capability_info.js: Added.

(export.depthStencilFormatCopyableAspects):
(export.depthStencilBufferTextureCopySupported):
(export.depthStencilFormatAspectSize):
(export.textureDimensionAndFormatCompatible):
(export.bufferBindingTypeInfo):
(export.samplerBindingTypeInfo):
(export.sampledTextureBindingTypeInfo):
(export.storageTextureBindingTypeInfo):
(export.texBindingTypeInfo):
(export.bindingTypeInfo):
(export.bufferBindingEntries):
(export.samplerBindingEntries):
(export.textureBindingEntries):
(export.storageTextureBindingEntries):
(export.sampledAndStorageBindingEntries):
(export.allBindingEntries):

  • http/tests/webgpu/webgpu/constants.js: Added.

(checkType):

  • http/tests/webgpu/webgpu/examples-expected.txt: Added.
  • http/tests/webgpu/webgpu/examples.html: Added.
  • http/tests/webgpu/webgpu/examples.spec.js: Added.

(g.test.string_appeared_here.fn.async t):
(async g):

  • http/tests/webgpu/webgpu/gpu_test.js: Added.

(export.initUncanonicalizedDeviceDescriptor):
(export.GPUTest.prototype.get device):
(export.GPUTest.prototype.get mismatchedDevice):
(export.GPUTest.prototype.async selectMismatchedDeviceOrSkipTestCase):
(export.GPUTest.prototype.get queue):
(export.GPUTest.prototype.async init):
(export.GPUTest.prototype.async finalize):
(export.GPUTest.prototype.async selectDeviceOrSkipTestCase):
(export.GPUTest.prototype.async selectDeviceForTextureFormatOrSkipTestCase):
(export.GPUTest.prototype.async selectDeviceForQueryTypeOrSkipTestCase):
(export.GPUTest.prototype.createCopyForMapRead):
(export.GPUTest.prototype.createAlignedCopyForMapRead):
(export.GPUTest.prototype.async readGPUBufferRangeTyped):
(export.GPUTest.prototype.expectGPUBufferValuesPassCheck):
(export.GPUTest.prototype.async expectGPUBufferValuesEqual):
(export.GPUTest.prototype.expectGPUBufferRepeatsSingleValue):
(export.GPUTest.prototype.expectSingleColor):
(export.GPUTest.prototype.readSinglePixelFrom2DTexture):
(export.GPUTest.prototype.expectSinglePixelIn2DTexture):
(export.GPUTest.prototype.expectSinglePixelBetweenTwoValuesFloat16In2DTexture):
(export.GPUTest.prototype.expectGPUError.async return):
(export.GPUTest.prototype.expectGPUError):
(export.GPUTest.prototype.async makeBufferWithContents):
(export.GPUTest.prototype.createTexture2DWithMipmaps):
(export.GPUTest.prototype.createEncoder):
(export.GPUTest):

  • http/tests/webgpu/webgpu/idl/constants/flags-expected.txt: Added.
  • http/tests/webgpu/webgpu/idl/constants/flags.html: Added.
  • http/tests/webgpu/webgpu/idl/constants/flags.spec.js: Added.
  • http/tests/webgpu/webgpu/idl/exposed.html.js: Added.
  • http/tests/webgpu/webgpu/idl/exposed.http-expected.txt: Added.
  • http/tests/webgpu/webgpu/idl/exposed.http.html: Added.
  • http/tests/webgpu/webgpu/idl/exposed.https-expected.txt: Added.
  • http/tests/webgpu/webgpu/idl/exposed.https.html: Added.
  • http/tests/webgpu/webgpu/idl/idl_test.js: Added.

(export.IDLTest.prototype.async init):
(export.IDLTest.prototype.assertMember):
(export.IDLTest.prototype.assertMemberCount):
(export.IDLTest):

  • http/tests/webgpu/webgpu/listing.js: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/binary/binary.js: Added.

(export.binary):

  • http/tests/webgpu/webgpu/shader/execution/expression/binary/bitwise-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/binary/bitwise.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/binary/bitwise.spec.js: Added.

(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/binary/f32_arithmetic-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/binary/f32_arithmetic.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/binary/f32_arithmetic.spec.js: Added.

(fullNumericRange):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/abs-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/abs.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/abs.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/all-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/all.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/all.spec.js: Added.

(import):
(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/any-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/any.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/any.spec.js: Added.

(import):
(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/atan-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/atan.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/atan.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/atan2-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/atan2.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/atan2.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/builtin.js: Added.

(export.builtin):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/ceil-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/ceil.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/ceil.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/clamp-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/clamp.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/clamp.spec.js: Added.

(import):
(generateTestCases):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/cos-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/cos.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/cos.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countLeadingZeros-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countLeadingZeros.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countLeadingZeros.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countOneBits-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countOneBits.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countOneBits.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countTrailingZeros-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countTrailingZeros.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/countTrailingZeros.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/extractBits-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/extractBits.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/extractBits.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/firstLeadingBit-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/firstLeadingBit.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/firstLeadingBit.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/firstTrailingBit-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/firstTrailingBit.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/firstTrailingBit.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/float_built_functions-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/float_built_functions.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/float_built_functions.spec.js: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/floor-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/floor.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/floor.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/fract-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/fract.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/fract.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/insertBits-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/insertBits.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/insertBits.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/inversesqrt-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/inversesqrt.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/inversesqrt.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/ldexp-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/ldexp.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/ldexp.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/log-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/log.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/log.spec.js: Added.

(import):
(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/log2-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/log2.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/log2.spec.js: Added.

(import):
(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/logical_built_in_functions-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/logical_built_in_functions.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/logical_built_in_functions.spec.js: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/max-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/max.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/max.spec.js: Added.

(import):
(generateTestCases):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/min-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/min.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/min.spec.js: Added.

(import):
(generateTestCases):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/reverseBits-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/reverseBits.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/reverseBits.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/select-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/select.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/select.spec.js: Added.

(makeBool):
(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/sin-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/sin.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/sin.spec.js: Added.

(import):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/value_testing_built_in_functions-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/value_testing_built_in_functions.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/value_testing_built_in_functions.spec.js: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/expression.js: Added.

(toComparator):
(storageType):
(fromStorage):
(toStorage):
(export.run):

  • http/tests/webgpu/webgpu/shader/execution/expression/unary/f32_arithmetic-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/unary/f32_arithmetic.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/unary/f32_arithmetic.spec.js: Added.

(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/unary/unary.js: Added.

(export.unary):

  • http/tests/webgpu/webgpu/shader/execution/memory_model/atomicity-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/memory_model/atomicity.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/memory_model/atomicity.spec.js: Added.

(const.resultCode):
(else):
(fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/memory_model/barrier-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/memory_model/barrier.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/memory_model/barrier.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/memory_model/coherence-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/memory_model/coherence.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/memory_model/coherence.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/memory_model/memory_model_setup.js: Added.

(export.MemoryModelTester):
(export.MemoryModelTester.prototype.async run):
(export.MemoryModelTester.prototype.checkWeakIndex):
(export.MemoryModelTester.prototype.checkResult):
(export.MemoryModelTester.prototype.resultPrinter):
(export.MemoryModelTester.prototype.copyBufferToBuffer):
(export.MemoryModelTester.prototype.getRandomInt):
(export.MemoryModelTester.prototype.getRandomInRange):
(export.MemoryModelTester.prototype.shuffleArray):
(export.MemoryModelTester.prototype.async setShuffledWorkgroups):
(export.MemoryModelTester.prototype.async setScratchLocations):
(export.MemoryModelTester.prototype.async setStressParams):
(const.testShaderFunctions.fn.spin):
(fn.do_stress):
(builtin):
(export.buildTestShader):
(export.buildResultShader):

  • http/tests/webgpu/webgpu/shader/execution/memory_model/weak-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/memory_model/weak.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/memory_model/weak.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/robust_access-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/robust_access.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/robust_access.spec.js: Added.

(runShaderTest):
(testFillArrayBuffer):

  • http/tests/webgpu/webgpu/shader/execution/robust_access_vertex-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/robust_access_vertex.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/robust_access_vertex.spec.js: Added.

(DrawCall.prototype.this.vertexBuffers.vertexArrays.map):
(DrawCall.prototype.insertInto):
(DrawCall.prototype.draw):
(DrawCall.prototype.drawIndexed):
(DrawCall.prototype.drawIndirect):
(DrawCall.prototype.drawIndexedIndirect):
(DrawCall.prototype.bindVertexBuffers):
(DrawCall.prototype.generateVertexBuffer):
(DrawCall.prototype.generateIndirectBuffer):
(DrawCall.prototype.generateIndexedIndirectBuffer):
(DrawCall):
(F.prototype.generateBufferContents):
(F.prototype.generateVertexBufferDescriptors):
(F.prototype.generateVertexShaderCode):
(F.prototype.createRenderPipeline):
(F.prototype.doTest):
(F):
(else):
(10.6.unless.p.p.drawCallTestParameter.string_appeared_here.p.errorScale.10.4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/sampling/gradients_in_varying_loop-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/sampling/gradients_in_varying_loop.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/sampling/gradients_in_varying_loop.spec.js: Added.

(DerivativesTest.prototype.copyRenderTargetToBuffer):
(DerivativesTest.prototype.async init):
(DerivativesTest.prototype.drawQuad):
(DerivativesTest):
(3.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/shader_io/compute_builtins-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/shader_io/compute_builtins.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/shader_io/compute_builtins.spec.js: Added.

(beginSubcases.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/shader_io/shared_structs-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/shader_io/shared_structs.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/shader_io/shared_structs.spec.js: Added.

(and.the.layout.attributes.should.be.ignored.when.used.as.an.entry.point.IO.parameter.fn.async t):
(and.uses.it.as.both.the.output.of.a.vertex.shader.and.the.input.to.a.fragment.shader.fn.async t):
(and.uses.those.structures.as.parameter.and.return.types.entry.point.functions.and.regular.functions.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/zero_init-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/zero_init.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/zero_init.spec.js: Added.

(prettyPrint):
(and.storage):

  • http/tests/webgpu/webgpu/shader/types.js: Added.

(export.generateTypes):

  • http/tests/webgpu/webgpu/shader/validation/shader_io/builtins-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/builtins.html: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/builtins.spec.js: Added.

(string_appeared_here.beginSubcases.fn.t.stage.vertex.fn.main):

  • http/tests/webgpu/webgpu/shader/validation/shader_io/generic-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/generic.html: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/generic.spec.js: Added.

(string_appeared_here.beginSubcases.fn.t.location):
(string_appeared_here.beginSubcases.fn.t.builtin):
(string_appeared_here.beginSubcases.fn.t.stage.fragment.fn.frag_main):
(string_appeared_here.beginSubcases.fn.t.stage.compute.workgroup_size.1.fn.comp_main):
(string_appeared_here.beginSubcases.fn.t.const.code.stage.vertex.fn.vert_main):

  • http/tests/webgpu/webgpu/shader/validation/shader_io/interpolate-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/interpolate.html: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/interpolate.spec.js: Added.

(false.beginSubcases.fn.t.t.params.stage.string_appeared_here.t.params.use_struct.false.t.params.attribute.includes):

  • http/tests/webgpu/webgpu/shader/validation/shader_io/invariant-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/invariant.html: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/invariant.spec.js: Added.

(false.beginSubcases.fn.t.const.code.struct.VertexOut.location):

  • http/tests/webgpu/webgpu/shader/validation/shader_io/locations-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/locations.html: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/locations.spec.js: Added.
  • http/tests/webgpu/webgpu/shader/validation/shader_io/util.js: Added.

(export.generateShader):

  • http/tests/webgpu/webgpu/shader/validation/shader_validation_test.js: Added.

(export.ShaderValidationTest.prototype.expectCompileResult):
(export.ShaderValidationTest):

  • http/tests/webgpu/webgpu/shader/validation/variable_and_const-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/validation/variable_and_const.html: Added.
  • http/tests/webgpu/webgpu/shader/validation/variable_and_const.spec.js: Added.

(kTestTypes.fn.t.const.code.stage.fragment.fn.main):
(fn.t.prototype.stage.fn.main):
(fn.t.prototype.else):
(fn.t.else.prototype.stage.fn.main):
(so.no.cts.this.struct.with.bool.component.struct.with.runtime.array.Control.case.string_appeared_here.is.used.to.make.sure.when.only.the.storage.changes):

  • http/tests/webgpu/webgpu/shader/validation/wgsl/basic-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/validation/wgsl/basic.html: Added.
  • http/tests/webgpu/webgpu/shader/validation/wgsl/basic.spec.js: Added.

(g.test.string_appeared_here.desc.A.trivial.correct.and.incorrect.shader.fn.t.stage.vertex.stage.fragment.fn.main):

  • http/tests/webgpu/webgpu/shader/values.js: Added.

(export.subnormalF32Examples):
(export.normalF32Examples):
(export.nanF32BitsExamples):

  • http/tests/webgpu/webgpu/util/buffer.js: Added.

(export.makeBufferWithContents):

  • http/tests/webgpu/webgpu/util/check_contents.js: Added.

(export.checkElementsEqual):
(export.checkElementsBetween):
(export.checkElementsFloat16Between):
(export.checkElementsEqualEither):
(export.checkElementsEqualGenerated):
(export.checkElementsPassPredicate):
(export.checkElementsPassPredicate.):

  • http/tests/webgpu/webgpu/util/color_space_conversion.js: Added.

(lin_sRGB):
(XYZ_to_lin_sRGB):
(lin_P3):
(gam_P3):
(lin_P3_to_XYZ):
(XYZ_to_lin_P3):
(export.displayP3ToSrgb):
(export.srgbToDisplayP3):

  • http/tests/webgpu/webgpu/util/command_buffer_maker.js: Added.

(export.CommandBufferMaker):

  • http/tests/webgpu/webgpu/util/compare.js: Added.

(export.absThreshold):
(export.ulpThreshold):
(export.correctlyRoundedThreshold):
(export.compare):

  • http/tests/webgpu/webgpu/util/constants.js: Added.

(hexToF32):

  • http/tests/webgpu/webgpu/util/conversion.js: Added.

(export.floatAsNormalizedInteger):
(export.normalizedIntegerAsFloat):
(export.float32ToFloatBits):
(export.float32ToFloat16Bits):
(export.float16BitsToFloat32):
(export.float32BitsToNumber):
(export.numberToFloat32Bits):
(export.floatBitsToNumber):
(export.floatBitsToNormalULPFromZero):
(export.packRGB9E5UFloat):
(export.assertInIntegerRange):
(export.gammaCompress):
(export.gammaDecompress):
(export.float32ToUint32):
(export.uint32ToFloat32):
(export.float32ToInt32):
(export.uint32ToInt32):
(export.ScalarType):
(export.ScalarType.prototype.toString):
(export.VectorType):
(export.VectorType.prototype.read):
(export.VectorType.prototype.toString):
(export.TypeVec):
(export.scalarType):
(export.numElementsOf):
(export.scalarTypeOf):
(export.Scalar):
(export.Scalar.prototype.copyTo):
(export.Scalar.prototype.toString):
(export.f32):
(export.f32Bits):
(export.f16Bits):
(export.i32):
(export.i16):
(export.i8):
(export.i32Bits):
(export.i16Bits):
(export.i8Bits):
(export.u32):
(export.u16):
(export.u8):
(export.u32Bits):
(export.u16Bits):
(export.u8Bits):
(export.bool):
(export.Vector):
(export.Vector.prototype.copyTo):
(export.Vector.prototype.toString):
(export.Vector.prototype.get x):
(export.Vector.prototype.get y):
(export.Vector.prototype.get z):
(export.Vector.prototype.get w):
(export.vec2):
(export.vec3):
(export.vec4):

  • http/tests/webgpu/webgpu/util/copy_to_texture.js: Added.

(isFp16Format):
(isFp32Format):
(isUnormFormat):
(export.CopyToTextureUtils.prototype.doFlipY):
(export.CopyToTextureUtils.prototype.formatForExpectedPixels):
(export.CopyToTextureUtils.prototype.getSourceImageBitmapPixels):
(export.CopyToTextureUtils.prototype.getExpectedPixels):
(export.CopyToTextureUtils.prototype.checkCopyExternalImageResult):
(export.CopyToTextureUtils.prototype.async checkBufferWithRowPitch):
(export.CopyToTextureUtils.prototype.doTestAndCheckResult):
(export.CopyToTextureUtils):

  • http/tests/webgpu/webgpu/util/create_elements.js: Added.

(export.createCanvas):
(export.createOnscreenCanvas):
(export.createOffscreenCanvas):

  • http/tests/webgpu/webgpu/util/device_pool.js: Added.

(TestFailedButDeviceReusable):
(FeaturesNotSupported):
(export.TestOOMedShouldAttemptGC):
(export.DevicePool.prototype.async reserve):
(export.DevicePool.prototype.async release):
(export.DevicePool):
(DescriptorToHolderMap.prototype.deleteByDevice):
(DescriptorToHolderMap.prototype.async getOrCreate):
(DescriptorToHolderMap.prototype.insertAndCleanUp):
(DescriptorToHolderMap):
(canonicalizeDescriptor):
(supportsFeature):
(DeviceHolder.async create):
(DeviceHolder):
(DeviceHolder.prototype.acquire):
(DeviceHolder.prototype.async ensureRelease):
(DeviceHolder.prototype.async release):

  • http/tests/webgpu/webgpu/util/math.js: Added.

(export.align):
(export.roundDown):
(export.clamp):

  • http/tests/webgpu/webgpu/util/memory.js: Added.

(export.async exhaustVramUntilUnder64MB.async const):
(export.async exhaustVramUntilUnder64MB):

  • http/tests/webgpu/webgpu/util/pretty_diff_tables.js: Added.

(export.generatePrettyTable):

  • http/tests/webgpu/webgpu/util/texture/base.js: Added.

(export.maxMipLevelCount):

  • http/tests/webgpu/webgpu/util/texture/layout.js: Added.

(export.getTextureCopyLayout):

  • http/tests/webgpu/webgpu/util/texture/subresource.js: Added.

(endOfRange):
(rangeAsIterator):
(export.SubresourceRange):
(export.SubresourceRange.prototype.each):
(export.SubresourceRange.prototype.mipLevels):

  • http/tests/webgpu/webgpu/util/texture/texel_data-expected.txt: Added.
  • http/tests/webgpu/webgpu/util/texture/texel_data.html: Added.
  • http/tests/webgpu/webgpu/util/texture/texel_data.js: Added.

(applyEach):
(packComponents):
(makeNormalizedInfo):
(makeIntegerInfo):
(makeFloatInfo):
(export.const.kTexelRepresentationInfo.rgba32float.makeFloatInfo):
(export.getSingleDataType):
(export.getComponentReadbackTraits):

  • http/tests/webgpu/webgpu/util/texture/texel_data.spec.js: Added.

(doTest):
(kEncodableTextureFormats.filter):

  • http/tests/webgpu/webgpu/util/unions.js: Added.

(export.reifyOrigin3D):
(export.reifyExtent3D):

  • http/tests/webgpu/webgpu/web_platform/canvas/configure-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/configure.html: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/configure.spec.js: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/context_creation-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/context_creation.html: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/context_creation.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/web_platform/canvas/getCurrentTexture-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/getCurrentTexture.html: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/getCurrentTexture.spec.js: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/getPreferredFormat-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/getPreferredFormat.html: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/getPreferredFormat.spec.js: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/readbackFromWebGPUCanvas-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.html: Added.
  • http/tests/webgpu/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.js: Added.

(async initCanvasContent):
(checkImageResult):
(readPixelsFrom2DCanvasAndCompare):
(string_appeared_here.fn.async t):
(allCanvasTypes.fn.async t):

  • http/tests/webgpu/webgpu/web_platform/copyToTexture/ImageBitmap-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/copyToTexture/ImageBitmap.html: Added.
  • http/tests/webgpu/webgpu/web_platform/copyToTexture/ImageBitmap.spec.js: Added.

(F.prototype.generatePixel):
(F.prototype.getImagePixels):
(F):
(fn.async t):

  • http/tests/webgpu/webgpu/web_platform/copyToTexture/canvas-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/copyToTexture/canvas.html: Added.
  • http/tests/webgpu/webgpu/web_platform/copyToTexture/canvas.spec.js: Added.

(F.prototype.init2DCanvasContentWithColorSpace):
(F.prototype.init2DCanvasContent):
(F.prototype.paint2DCanvas):
(F.prototype.initGLCanvasContent):
(F.prototype.getInitGPUCanvasData):
(F.prototype.initGPUCanvasContent):
(F.prototype.getSourceCanvas2DContent):
(F.prototype.getSourceCanvasGLContent):
(F.prototype.calculateSourceContentOnCPU):
(F.prototype.getTestImageURLByColorSpace):
(F):
(fn.async t):

  • http/tests/webgpu/webgpu/web_platform/copyToTexture/video-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/copyToTexture/video.html: Added.
  • http/tests/webgpu/webgpu/web_platform/copyToTexture/video.spec.js: Added.
  • http/tests/webgpu/webgpu/web_platform/external_texture/video-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/external_texture/video.html: Added.
  • http/tests/webgpu/webgpu/web_platform/external_texture/video.spec.js: Added.

(createExternalTextureSamplingTestPipeline):
(createExternalTextureSamplingTestBindGroup):
(kVideoSources.fn.async t):
(g.test.string_appeared_here.desc.Tests.that.a.GPUExternalTexture.is.destroyed.by.a.microtask.and.that.using.it.after.it.has.been.destroyed.results.in.an.error.fn.async t):
(async g):

  • http/tests/webgpu/webgpu/web_platform/util.js: Added.

(export.startPlayingAndWaitForVideo):

  • http/tests/webgpu/webgpu/web_platform/worker/worker-expected.txt: Added.
  • http/tests/webgpu/webgpu/web_platform/worker/worker.html: Added.
  • http/tests/webgpu/webgpu/web_platform/worker/worker.js: Added.

(async basicTest):
(self.onmessage.async ev):

  • http/tests/webgpu/webgpu/web_platform/worker/worker.spec.js: Added.

(isNode):
(g.test.string_appeared_here.desc.test.WebGPU.is.available.in.DedicatedWorkers.and.check.basic.functionality.fn.async t):

  • http/tests/webgpu/webgpu/web_platform/worker/worker_launcher.js: Added.

(export.async launchWorker):

  • platform/ios-device-wk1/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
6:13 PM Changeset in webkit [291947] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark streams/readable-stream-lock-after-worker-terminates-crash.html as flaky on Windows.

This test has been a flaky Timeout on Windows EWS for months and keeps leading to false positives.
Mark it as flaky to silence the noise.

  • platform/win/TestExpectations:
3:19 PM Changeset in webkit [291946] by ysuzuki@apple.com
  • 90 edits in trunk/Source

Use static_assert instead of COMPILE_ASSERT
https://bugs.webkit.org/show_bug.cgi?id=238417

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • assembler/ARM64Assembler.h:
  • assembler/ARMv7Assembler.h:
  • assembler/MacroAssemblerX86Common.h:
  • bytecode/Opcode.h:
  • bytecode/VirtualRegister.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::compileToBooleanObjectOrOther):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):

  • inspector/InspectorProtocolTypes.h:

(Inspector::Protocol::BindingTraits<JSON::ArrayOf<T>>::runtimeCast):

  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/definitions-with-mac-platform.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • inspector/scripts/tests/expected/type-with-open-parameters.json-result:
  • jit/FPRInfo.h:
  • jit/GPRInfo.h:
  • parser/Parser.h:
  • runtime/JSCell.cpp:
  • runtime/JSObject.h:
  • runtime/SmallStrings.cpp:

(JSC::SmallStrings::SmallStrings):

  • runtime/Structure.h:

(JSC::Structure::outOfLineCapacity):

  • yarr/YarrInterpreter.cpp:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • contentextensions/DFANode.h:
  • css/CSSBasicShapes.cpp:

(WebCore::buildPolygonString):

  • css/CSSProperty.cpp:
  • css/CSSRule.cpp:
  • css/CSSValue.cpp:
  • css/StyleProperties.cpp:
  • css/StyleRule.cpp:
  • css/calc/CSSCalcOperationNode.cpp:

(WebCore::sortingCategoryForType):

  • dom/ElementData.cpp:
  • dom/NodeRareData.cpp:
  • dom/ShadowRoot.cpp:
  • dom/SpaceSplitString.cpp:
  • dom/StyledElement.cpp:
  • dom/TreeScope.cpp:
  • editing/HTMLInterchange.cpp:

(WebCore::convertHTMLTextToInterchangeFormat):

  • html/HTMLTrackElement.cpp:
  • html/track/VTTCue.cpp:
  • platform/Length.cpp:
  • platform/ScrollableArea.cpp:
  • platform/UserAgentQuirks.h:

(WebCore::UserAgentQuirks::UserAgentQuirks):

  • platform/graphics/FontCascadeDescription.cpp:
  • platform/graphics/Region.cpp:

(WebCore::Region::Shape::shapeOperation):

  • platform/graphics/TextRun.cpp:
  • platform/text/BidiContext.cpp:
  • platform/text/TextFlags.h:
  • platform/win/ImportedFunctionsEnumerator.cpp:

(WebCore::ImportedFunctionsEnumerator::addressOfCurrentFunctionPointer const):

  • rendering/BreakLines.cpp:
  • rendering/FloatingObjects.cpp:
  • rendering/LegacyInlineBox.cpp:
  • rendering/LegacyInlineFlowBox.cpp:
  • rendering/LegacyInlineTextBox.cpp:
  • rendering/LegacyRootInlineBox.cpp:
  • rendering/RenderBlock.cpp:
  • rendering/RenderBlockFlow.cpp:
  • rendering/RenderBox.cpp:
  • rendering/RenderObject.cpp:
  • rendering/RenderTableCell.cpp:
  • rendering/RenderText.cpp:
  • rendering/style/FillLayer.cpp:
  • rendering/style/RenderStyle.cpp:
  • rendering/style/StyleBoxData.cpp:
  • rendering/style/StyleRareInheritedData.cpp:
  • rendering/style/WillChangeData.h:
  • rendering/svg/SVGInlineTextBox.cpp:
  • style/RuleData.cpp:
  • svg/GradientAttributes.h:

Source/WebKit:

  • Platform/IPC/Connection.h:

(IPC::Connection::send):
(IPC::Connection::sendWithAsyncReply):
(IPC::Connection::sendSync):

  • Platform/IPC/MessageSender.h:
  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::sendOutgoingMessage):

  • UIProcess/AuxiliaryProcessProxy.h:

(WebKit::AuxiliaryProcessProxy::send):
(WebKit::AuxiliaryProcessProxy::sendSync):
(WebKit::AuxiliaryProcessProxy::sendWithAsyncReply):

Source/WebKitLegacy/mac:

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage isNativeLibraryData:]):

  • WebView/WebDynamicScrollBarsView.mm:

Source/WTF:

Use C++ static_assert instead of COMPILE_ASSERT.
Currently keeping it since it was also used in Internal code too.

  • wtf/CrossThreadCopier.cpp:
  • wtf/JSONValues.cpp:

(WTF::JSONImpl::ObjectBase::asObject):
(WTF::JSONImpl::ObjectBase::asObject const):
(WTF::JSONImpl::ArrayBase::asArray):

  • wtf/JSONValues.h:
  • wtf/glib/FileSystemGlib.cpp:

(WTF::FileSystemImpl::lockFile):

  • wtf/posix/FileSystemPOSIX.cpp:

(WTF::FileSystemImpl::lockFile):

  • wtf/text/AtomString.h:
1:35 PM Changeset in webkit [291945] by Russell Epstein
  • 1 copy in tags/Safari-614.1.7.3

Tag Safari-614.1.7.3.

1:35 PM Changeset in webkit [291944] by Russell Epstein
  • 10 edits in branches/safari-614.1.7-branch/Source/WebKit

Cherry-pick r291943. rdar://problem/90878560

Update the check in the sandbox profiles to guard the system content path rules
https://bugs.webkit.org/show_bug.cgi?id=238419
rdar://90878560

Reviewed by Per Arne Vollan.

Replace USE(SYSTEM_CONTENT_PATH) in the sandbox profiles with a different feature flag
so that we can enable these rules independently even if WebKit itself isn't using the
system content path.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291943 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:30 PM Changeset in webkit [291943] by david_quesada@apple.com
  • 10 edits in trunk/Source/WebKit

Update the check in the sandbox profiles to guard the system content path rules
https://bugs.webkit.org/show_bug.cgi?id=238419
rdar://90878560

Reviewed by Per Arne Vollan.

Replace USE(SYSTEM_CONTENT_PATH) in the sandbox profiles with a different feature flag
so that we can enable these rules independently even if WebKit itself isn't using the
system content path.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
1:10 PM Changeset in webkit [291942] by Russell Epstein
  • 2 edits in branches/safari-614.1.7-branch/Source/WebKit

Cherry-pick r291941. rdar://problem/90878872

REGRESSION(r291814): WebAuthn sandbox profile is missing
https://bugs.webkit.org/show_bug.cgi?id=238418
rdar://90878872

Reviewed by Per Arne Vollan.

Fix a typo in the script phase that copies the embedded sandbox profiles. We want to copy
com.apple.WebKit.WebAuthn.sb, not com.apple.WebKit.WebAuth.sb.

  • WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291941 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:54 PM Changeset in webkit [291941] by david_quesada@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION(r291814): WebAuthn sandbox profile is missing
https://bugs.webkit.org/show_bug.cgi?id=238418
rdar://90878872

Reviewed by Per Arne Vollan.

Fix a typo in the script phase that copies the embedded sandbox profiles. We want to copy
com.apple.WebKit.WebAuthn.sb, not com.apple.WebKit.WebAuth.sb.

  • WebKit.xcodeproj/project.pbxproj:
12:09 PM Changeset in webkit [291940] by sihui_liu@apple.com
  • 6 edits in trunk/Source/WebKit

Unreviewed, reverting r291909.

Found a better way to eanble the feature

Reverted changeset:

"Disable custom storage paths for IndexedDB and LocalStorage
by default"
https://bugs.webkit.org/show_bug.cgi?id=236977
https://commits.webkit.org/r291909

10:53 AM Changeset in webkit [291939] by Russell Epstein
  • 9 edits in branches/safari-614.1.7-branch/Source

Versioning.

WebKit-7614.1.7.3

8:55 AM Changeset in webkit [291938] by youenn@apple.com
  • 45 edits in trunk

Implement ServiceWorkerWindowClient.focus
https://bugs.webkit.org/show_bug.cgi?id=238319
<rdar://90616490>

Reviewed by Brady Eidson.

Source/WebCore:

Add support for service worker focus:

  • Implement user gesture requirement by introducing a flag in ServiceWorkerGlobalScope that is turned on for some time when receiving specific events like notification click event. The max time is currently set to 2 seconds. We might want to improve handling of user activation in non-document contexts but this is a fuzzy area right now so a service worker solution seems good for now.
  • Remove the map of service worker client since we need to create new ones every time.
  • focus will go its context manager that will send an IPC message to the network process to actually trigger focus.

We are missing focused check at promise resolution, this will be done in a follow-up.

Covered by API test.

  • testing/ServiceWorkerInternals.cpp:
  • testing/ServiceWorkerInternals.h:
  • testing/js/WebCoreTestSupport.cpp:
  • workers/service/ServiceWorkerClient.cpp:
  • workers/service/ServiceWorkerClient.h:
  • workers/service/ServiceWorkerClientData.h:
  • workers/service/ServiceWorkerClients.cpp:
  • workers/service/ServiceWorkerClients.h:
  • workers/service/ServiceWorkerGlobalScope.cpp:
  • workers/service/ServiceWorkerGlobalScope.h:
  • workers/service/ServiceWorkerWindowClient.cpp:
  • workers/service/ServiceWorkerWindowClient.h:
  • workers/service/ServiceWorkerWindowClient.idl:
  • workers/service/context/SWContextManager.h:
  • workers/service/context/ServiceWorkerThread.cpp:
  • workers/service/server/SWServer.h:

Source/WebKit:

Support new IPC message flow to focus from a service worker to network process to service worker client process to UIProcess.
Introduce a new delegate _focusWebViewFromServiceWorker as the scope is specific to service worker and usage is different from existing _focusWebView and other delegates.

The overall flow is like this:

  • ServiceWorker process to NetworkProcess to Client WebProcess process to UIProcess (do the actual focus) to NetworkProcess to ServiceWorker process

We might want to directly go from NetworkProcess to UIProcess but we need to handle potential race conditions in that case.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
  • UIProcess/API/APIUIClient.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:
  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
  • WebProcess/Storage/WebSWContextManagerConnection.cpp:
  • WebProcess/Storage/WebSWContextManagerConnection.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

LayoutTests:

Update tests to cover the fact we no longer reuse Client objects.

  • http/tests/workers/service/resources/postmessage-echo-worker.js:
  • http/tests/workers/service/resources/serviceworkerclients-get-worker.js:
  • http/tests/workers/service/serviceworkerclients-matchAll-worker.js:
  • http/tests/workers/service/serviceworkerclients-matchAll.https-expected.txt:
  • http/tests/workers/service/serviceworkerclients-matchAll.https.html:
7:41 AM Changeset in webkit [291937] by ysuzuki@apple.com
  • 80 edits in trunk

Use unary static_assert
https://bugs.webkit.org/show_bug.cgi?id=238412

Reviewed by Mark Lam.

Source/bmalloc:

  • bmalloc/Algorithm.h:

(bmalloc::isPowerOfTwo):

  • bmalloc/Gigacage.h:
  • bmalloc/IsoHeapImpl.h:

Source/JavaScriptCore:

Replace static_assert(..., ""); with static_assert(...);

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::linkJumpOrCall):
(JSC::ARM64Assembler::relinkJumpOrCall):

  • assembler/AssemblerBuffer.h:

(JSC::AssemblerBuffer::putIntegralUnchecked):

  • assembler/MacroAssemblerCodeRef.h:
  • bytecode/AdaptiveInferredPropertyValueWatchpointBase.h:
  • bytecode/ArrayProfile.h:
  • bytecode/CodeBlockHash.cpp:

(JSC::CodeBlockHash::CodeBlockHash):

  • bytecode/ParseHash.cpp:

(JSC::ParseHash::ParseHash):

  • bytecode/Watchpoint.h:
  • dfg/DFGNode.h:
  • dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

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

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

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileArrayPush):

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::llintBaselineCalleeSaveRegisters):
(JSC::RegisterSet::dfgCalleeSaveRegisters):
(JSC::RegisterSet::ftlCalleeSaveRegisters):

  • runtime/CachedBytecode.cpp:

(JSC::CachedBytecode::commitUpdates const):

  • runtime/ClonedArguments.h:
  • runtime/DirectArguments.h:
  • runtime/DirectEvalExecutable.h:
  • runtime/ErrorConstructor.h:
  • runtime/IndirectEvalExecutable.h:
  • runtime/JSArrayBufferView.cpp:
  • runtime/JSBoundFunction.h:
  • runtime/JSLexicalEnvironment.h:

(JSC::JSLexicalEnvironment::subspaceFor):

  • runtime/JSString.cpp:

(JSC::JSRopeString::RopeBuilder<RecordOverflow>::expand):

  • runtime/JSString.h:
  • runtime/NativeFunction.h:
  • runtime/Operations.h:

(JSC::jsString):

  • runtime/RegExpObject.h:
  • runtime/ScopedArguments.h:
  • runtime/ScopedArgumentsTable.cpp:
  • runtime/TypedArrayAdaptors.h:

(JSC::IntegralTypedArrayAdaptor::toJSValue):

  • runtime/TypedArrayType.h:
  • runtime/WeakMapImpl.h:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addCallIndirect):
(JSC::Wasm::AirIRGenerator::emitChecksForModOrDiv):
(JSC::Wasm::AirIRGenerator::emitModOrDiv):

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::DisjunctionContext::allocationSize):
(JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::allocationSize):

Source/WebCore:

  • Modules/entriesapi/FileSystemDirectoryEntry.h:
  • Modules/entriesapi/FileSystemFileEntry.h:
  • css/DOMMatrix.h:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):

  • dom/DOMPoint.h:
  • dom/DOMRect.h:
  • html/HTMLAllCollection.h:
  • html/track/AudioTrackList.h:
  • html/track/VideoTrackList.h:
  • layout/formattingContexts/inline/InlineItem.cpp:
  • layout/formattingContexts/inline/InlineTextItem.cpp:
  • platform/KeyedCoding.h:

(WebCore::KeyedDecoder::decodeBytes):

  • xml/XMLHttpRequestEventTarget.h:

Source/WebKit:

  • Shared/API/c/WKContextMenuItem.cpp:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::HistoryEntryDataEncoder::encodeArithmeticType):
(WebKit::HistoryEntryDataDecoder::decodeArithmeticType):

Source/WTF:

  • wtf/CompactPointerTuple.h:
  • wtf/FastMalloc.h:
  • wtf/FunctionTraits.h:

(WTF::slotsForCCallArgument):

  • wtf/Int128.cpp:
  • wtf/MallocPtr.h:
  • wtf/Markable.h:

(WTF::std::underlying_type<EnumType>::type>::max):

  • wtf/PtrTag.h:

(WTF::tagInt):

  • wtf/Seconds.h:
  • wtf/StdLibExtras.h:

(WTF::roundUpToMultipleOf):

  • wtf/SystemFree.h:
  • wtf/UnalignedAccess.h:

(WTF::unalignedLoad):
(WTF::unalignedStore):

  • wtf/UniqueArray.h:

(WTF::makeUniqueArray):

  • wtf/WTFAssertions.cpp:
  • wtf/text/StringConcatenate.h:

(WTF::tryMakeStringFromAdapters):

  • wtf/text/StringImpl.h:
  • wtf/text/SymbolImpl.h:

Tools:

  • TestWebKitAPI/Tests/WTF/EnumTraits.cpp:
  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/Int128.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/Packed.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/RobinHoodHashMap.cpp:

(TestWebKitAPI::TEST):

7:07 AM Changeset in webkit [291936] by aakash_jain@apple.com
  • 2 edits in trunk

Update my github username.

Unreviewed.

  • metadata/contributors.json:
4:38 AM Changeset in webkit [291935] by ysuzuki@apple.com
  • 9 edits
    1 delete in trunk/Source/JavaScriptCore

[JSC] Include argumentRegisters in identity of SlowPathCallKey when clobberAllRegsInFTLICSlowPath is enabled
https://bugs.webkit.org/show_bug.cgi?id=238411

Reviewed by Mark Lam.

While SlowPathCallKey includes argumentRegisters, it is not used for its identity check. But this argumentRegisters
is effectual on the resulting code in FTLThunks if Options::clobberAllRegsInFTLICSlowPath is set. This causes
x64 Debug JSC test failures after enabling DataIC because the same FTLThunks should not be picked for different
argument registers when Options::clobberAllRegsInFTLICSlowPath is true.

However, always including argumentRegisters in the identity check will cause a code size regression since we will
lose a chance to duplicate thunks when argumentRegisters is ineffectual. Note that Options::clobberAllRegsInFTLICSlowPath
is only set for debugging use cases. Hence, argumentRegisters is normally not effectual.

In this patch, we include argumentRegisters in SlowPathCallKey's identity check only when Options::clobberAllRegsInFTLICSlowPath
is set. And we also refactor SlowPathCallKey to reduce size of it from 40 to 24.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssemblerCodeRef.h:

(JSC::CFunctionPtr::CFunctionPtr):
(JSC::FunctionPtr::FunctionPtr):

  • ftl/FTLSlowPathCall.cpp:

(JSC::FTL::SlowPathCallContext::keyWithTarget const):

  • ftl/FTLSlowPathCallKey.cpp:

(JSC::FTL::SlowPathCallKey::dump const):

  • ftl/FTLSlowPathCallKey.h:

(JSC::FTL::SlowPathCallKey::SlowPathCallKey):
(JSC::FTL::SlowPathCallKey::callTarget const):
(JSC::FTL::SlowPathCallKey::usedRegisters const):
(JSC::FTL::SlowPathCallKey::argumentRegistersIfClobberingCheckIsEnabled const):
(JSC::FTL::SlowPathCallKey::indirectOffset const):
(JSC::FTL::SlowPathCallKey::withCallTarget):
(JSC::FTL::SlowPathCallKey::isEmptyValue const):
(JSC::FTL::SlowPathCallKey::isDeletedValue const):
(JSC::FTL::SlowPathCallKey::operator== const):
(JSC::FTL::SlowPathCallKey::hash const):
(JSC::FTL::SlowPathCallKey::argumentRegisters const): Deleted.

  • ftl/FTLThunks.cpp:

(JSC::FTL::registerClobberCheck):
(JSC::FTL::slowPathCallThunkGenerator):

  • jit/HashableRegisterSet.h: Removed.
  • jit/RegisterSet.h:

(JSC::RegisterSetHash::hash):
(JSC::RegisterSetHash::equal):

2:17 AM Changeset in webkit [291934] by Adrian Perez de Castro
  • 2 edits in trunk/Tools

[WPE][GTK] Dist/distcheck targets fail due to Python error
https://bugs.webkit.org/show_bug.cgi?id=238394

Reviewed by Philippe Normand.

  • Scripts/make-dist:

(Directory.list_files_in_version_control): Ensure that data read from pipes is converted to
strings by specifying text="ascii", as it seems safe to assume that files listed by Git will
not contain non-ASCII characters. While at it, make the function return a set to speed up
lookups.

Mar 25, 2022:

10:26 PM Changeset in webkit [291933] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Simplify / Optimize JSNodeOwner::isReachableFromOpaqueRoots()
https://bugs.webkit.org/show_bug.cgi?id=238380

Reviewed by Geoffrey Garen.

Drop checks specific to HTMLAudioElement and HTMLImageElement from
JSNodeOwner::isReachableFromOpaqueRoots() so that other Node wrappers
that are not audio or image elements do not have to pay the cost.

In the HTMLAudioElement case, HTMLAudioElement already subclasses HTMLMediaElement which
is an ActiveDOMObject and HTMLMediaElement::virtualHasPendingActivity() already takes
care of keeping the JS wrapper alive is there is audio playing.

For HTMLImageElement, I made it subclass ActiveDOMObject so that the JSHTMLImageElement
wrapper is now calling HTMLImageElement::hasPendingActivity() instead of every JS Node
wrapper via JSNodeOwner::isReachableFromOpaqueRoots().

  • bindings/js/JSNodeCustom.cpp:

(WebCore::isReachableFromDOM):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::create):
(WebCore::HTMLImageElement::createForLegacyFactoryFunction):
(WebCore::HTMLImageElement::activeDOMObjectName const):
(WebCore::HTMLImageElement::virtualHasPendingActivity const):
(WebCore::HTMLImageElement::hasPendingActivity const): Deleted.

  • html/HTMLImageElement.h:
  • html/HTMLImageElement.idl:
  • html/ImageDocument.cpp:

(WebCore::ImageDocumentElement::create):

9:30 PM Changeset in webkit [291932] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Clean up DataIC polymorphic call code for OptimizingCallLinkInfo
https://bugs.webkit.org/show_bug.cgi?id=238395

Reviewed by Saam Barati.

When using DataIC, return address is already appropriate in non-tail call case
in polymorphic call stub code. This patch cleans up the code to align it to
DataIC BaselineCallLinkInfo.

  • bytecode/Repatch.cpp:

(JSC::linkPolymorphicCall):

8:29 PM Changeset in webkit [291931] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Temporarily disable assertion in MessageReceiveQueueMap::addImpl()
https://bugs.webkit.org/show_bug.cgi?id=238397

Unreviewed followup: similarly change the assertion in remove() into a log.

  • Platform/IPC/MessageReceiveQueueMap.cpp:

(IPC::MessageReceiveQueueMap::remove):

8:05 PM Changeset in webkit [291930] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Unreviewed, reverting r291884.
https://bugs.webkit.org/show_bug.cgi?id=238405

Broke the internal iOS build

Reverted changeset:

"Add Captive Portal alert to WKWebView"
https://bugs.webkit.org/show_bug.cgi?id=238326
https://commits.webkit.org/r291884

7:03 PM Changeset in webkit [291929] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Temporarily disable assertion in MessageReceiveQueueMap::addImpl()
https://bugs.webkit.org/show_bug.cgi?id=238397

Reviewed by Wenson Hsieh.

Enabling DOM Rendering in the GPU Process has exposed an issue (webkit.org/b/237674, webkit.org/b/238391).
Temporarily convert this assertion to logging to reduce test failures.

  • Platform/IPC/MessageReceiveQueueMap.cpp:

(IPC::MessageReceiveQueueMap::addImpl):

6:58 PM Changeset in webkit [291928] by Alan Coon
  • 301 edits
    8 adds
    4 deletes in branches/safari-613-branch/Source/ThirdParty/ANGLE

Apply patch. rdar://problem/90639134

6:57 PM Changeset in webkit [291927] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/ThirdParty/ANGLE

Apply patch. rdar://problem/89963372

6:57 PM Changeset in webkit [291926] by Alan Coon
  • 487 edits
    1 copy
    3 moves
    17 adds
    18 deletes in branches/safari-613-branch/Source/ThirdParty/ANGLE

Apply patch. rdar://problem/88464021

6:52 PM Changeset in webkit [291925] by Alan Coon
  • 12 edits in branches/safari-613-branch

Revert r285998. rdar://problem/85612240

6:51 PM Changeset in webkit [291924] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebKit

Cherry-pick r291057. rdar://problem/89291566

File System Access: disallows names that are not permitted by underlying file system
https://bugs.webkit.org/show_bug.cgi?id=237635
rdar://89291566

We use FileSystem::fileSystemRepresentation to convert input name to a name that is permitted in current file
system. This patch makes File System Access API to throw error if the input name does not match the converted
name.

Reviewed by Youenn Fablet.

  • NetworkProcess/storage/FileSystemStorageHandle.cpp: (WebKit::isValidFileName): (WebKit::FileSystemStorageHandle::requestCreateHandle): (WebKit::FileSystemStorageHandle::removeEntry): (WebKit::FileSystemStorageHandle::move):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291923] by Alan Coon
  • 45 edits
    2 adds in branches/safari-613-branch

Cherry-pick r290985. rdar://problem/78421282

Add a preference to mute video capture in case audio capture gets interrupted
https://bugs.webkit.org/show_bug.cgi?id=237524
<rdar://78421282>

Reviewed by Eric Carlson.

Source/WebCore:

In case we detect that a microphone track source gets muted due to interruption, we mute
capture video tracks based if allowed by the new MuteCameraOnMicrophoneInterruptionEnabled setting.

Add support for mock microphone interruption and remove previous in process internals API.

Test: fast/mediastream/media-stream-video-track-interrupted-from-audio.html

  • Modules/mediastream/MediaStreamTrack.cpp:
  • Modules/mediastream/MediaStreamTrack.h:
  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:
  • platform/mediastream/mac/CoreAudioCaptureSource.h:
  • platform/mock/MockRealtimeAudioSource.cpp: (WebCore::MockRealtimeAudioSource::setIsInterrupted):
  • platform/mock/MockRealtimeAudioSource.h:
  • platform/mock/MockRealtimeMediaSourceCenter.cpp: (WebCore::MockRealtimeMediaSourceCenter::setMockCaptureDevicesInterrupted): (WebCore::MockRealtimeMediaSourceCenter::setMockCameraIsInterrupted): Deleted.
  • platform/mock/MockRealtimeMediaSourceCenter.h:

Source/WebKit:

Add support for interrupt mock microphone devices.
Send to WebProcess sources whether sources are interrupted each time the source muted value changes.
Store that value in remote sources.

  • GPUProcess/GPUProcess.cpp:
  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
  • UIProcess/GPU/GPUProcessProxy.cpp:
  • UIProcess/GPU/GPUProcessProxy.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/cocoa/RemoteRealtimeAudioSource.h:
  • WebProcess/cocoa/RemoteRealtimeDisplaySource.h:
  • WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:
  • WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
  • WebProcess/cocoa/RemoteRealtimeVideoSource.h:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:
  • WebProcess/cocoa/UserMediaCaptureManager.h:
  • WebProcess/cocoa/UserMediaCaptureManager.messages.in:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

Add support for interrupt mock microphone devices.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:
  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

LayoutTests:

  • fast/mediastream/media-stream-video-track-interrupted-from-audio-expected.txt: Added.
  • fast/mediastream/media-stream-video-track-interrupted-from-audio.html: Added.
  • fast/mediastream/media-stream-video-track-interrupted.html: Migrated to testRunner API.
  • fast/mediastream/track-ended-while-muted.html:
  • platform/glib/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290985 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291922] by Alan Coon
  • 4 edits in branches/safari-613-branch

Cherry-pick r290978. rdar://problem/89901536

Add early return for empty path in makeAllDirectories
https://bugs.webkit.org/show_bug.cgi?id=237540
rdar://89901536

Reviewed by Chris Dumez.

Source/WTF:

  • wtf/posix/FileSystemPOSIX.cpp: (WTF::FileSystemImpl::makeAllDirectories):

Tools:

  • TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291921] by Alan Coon
  • 5 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r290837. rdar://problem/80407863

[Cocoa] Crash in MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL
https://bugs.webkit.org/show_bug.cgi?id=237456
rdar://80407863

Reviewed by Jer Noble.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::enableInheritURIQueryComponent const): Create and use a static, never destroyed, AtomString instead of creating one every time a AVURLAsset is created. New method used by both AVF media players.
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: (WebCore::MediaPlayerPrivateAVFoundationCF::createAVAssetForURL): Call enableInheritURIQueryComponent.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290837 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291920] by Alan Coon
  • 4 edits
    2 adds in branches/safari-613-branch/LayoutTests

Cherry-pick r290745. rdar://problem/80335706

[Cocoa] The behavior of navigator-language-ru changed in Monterey / iOS 15
https://bugs.webkit.org/show_bug.cgi?id=237384
<rdar://problem/80335706>

Unreviewed test gardening.

Add a new test for the new behavior, but keep the old one too for older OSes.

  • fast/text/international/system-language/navigator-language/navigator-language-ru-2-expected.txt: Added.
  • fast/text/international/system-language/navigator-language/navigator-language-ru-2.html: Added.
  • platform/ios-14/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291919] by Alan Coon
  • 10 edits in branches/safari-613-branch

Cherry-pick r290564. rdar://problem/89524668

Force -webkit-user-modify used style to readonly for inert nodes
https://bugs.webkit.org/show_bug.cgi?id=237244

Reviewed by Darin Adler.

This disallows programmatic edition of contenteditable inert nodes. Edition via user-input is
already prevented by forcing pointer-events style to none.

We create a seperate effectiveUserModify, similar to effectiveUserSelect/effectivePointerEvents,
to avoid changing the computed style.

This behaviour also matches Blink & Gecko.

LayoutTests/imported/w3c:

  • web-platform-tests/inert/inert-and-contenteditable.tentative-expected.txt:

Source/WebCore:

Test: imported/w3c/web-platform-tests/inert/inert-and-contenteditable.tentative.html

  • dom/Node.cpp: (WebCore::computeEditabilityFromComputedStyle):
  • editing/ApplyBlockElementCommand.cpp: (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
  • rendering/EventRegion.cpp: (WebCore::EventRegion::unite):
  • rendering/RenderElement.cpp: (WebCore::RenderElement::styleWillChange):
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::effectiveUserModify const):
  • style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::resolveElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290564 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291918] by Alan Coon
  • 15 edits in branches/safari-613-branch

Cherry-pick r290550. rdar://problem/88675827

Update CSP handling of javascript URLs
https://bugs.webkit.org/show_bug.cgi?id=236351
<rdar://problem/88675827>

Reviewed by Brent Fulgham.

LayoutTests/imported/w3c:

  • web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp-disallow-expected.txt:
  • web-platform-tests/content-security-policy/navigation/to-javascript-url-script-src-expected.txt:

Source/WebCore:

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::executeJavaScriptURL):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): (WebCore::createWindow):
  • loader/SubframeLoader.cpp: (WebCore::FrameLoader::SubframeLoader::requestFrame):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::setLocation):
  • page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowJavaScriptURLs const):
  • page/csp/ContentSecurityPolicy.h:

LayoutTests:

  • TestExpectations:
  • http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt:
  • http/tests/security/contentSecurityPolicy/javascript-url-blocked-by-default-src-star-expected.txt:
  • http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290550 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291917] by Alan Coon
  • 32 edits in branches/safari-613-branch

Cherry-pick r290443. rdar://problem/89322580

Update CSP console logging
https://bugs.webkit.org/show_bug.cgi?id=232216
<rdar://problem/89322580>

Reviewed by Brent Fulgham.

Source/WebCore:

  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::willSendRequestInternal): (WebCore::SubresourceLoader::originalHeaders const):
  • page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowResourceFromSource const): (WebCore::ContentSecurityPolicy::allowWorkerFromSource const): (WebCore::ContentSecurityPolicy::allowScriptFromSource const): (WebCore::ContentSecurityPolicy::allowStyleFromSource const):

Source/WebKit:

  • NetworkProcess/NetworkLoadChecker.cpp: (WebKit::NetworkLoadChecker::check): (WebKit::NetworkLoadChecker::checkRedirection): (WebKit::NetworkLoadChecker::checkRequest): (WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
  • NetworkProcess/NetworkLoadChecker.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/audio-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/font-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/font-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/image-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/image-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects-expected.txt:
  • http/tests/security/contentSecurityPolicy/script-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/script-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/track-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/track-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/video-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/xsl-redirect-blocked-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291916] by Alan Coon
  • 4 edits in branches/safari-613-branch

Cherry-pick r290367. rdar://problem/88567612

Fix GPUP WebGL generator script wrt uninitialised sized span
https://bugs.webkit.org/show_bug.cgi?id=235889

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-23
Reviewed by Antti Koivisto.
Source/WebKit:

Regenerated.

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp: (WebKit::RemoteGraphicsContextGLProxy::getShaderPrecisionFormat):

Tools:

Fix the generator. The r290328 only edited the generated files.
Add a other hunk missing from r290175.

  • Scripts/generate-gpup-webgl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291915] by Alan Coon
  • 14 edits in branches/safari-613-branch

Cherry-pick r288792. rdar://problem/88227274

CSP: Properly block image content in object elements
https://bugs.webkit.org/show_bug.cgi?id=235837

Reviewed by Kate Cheney.

LayoutTests/imported/w3c:

Update expectations with more passes.

  • web-platform-tests/content-security-policy/object-src/object-src-url-blocked-expected.txt:
  • web-platform-tests/content-security-policy/object-src/object-src-url-embed-blocked-expected.txt:
  • web-platform-tests/content-security-policy/object-src/object-src-url-redirect-blocked.sub-expected.txt:

Source/WebCore:

When an image is loaded through an object element it now passes through
the object-src directive check as the spec documents:
https://www.w3.org/TR/CSP3/#directive-object-src

  • loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement):
  • loader/ResourceLoaderOptions.h: (WebCore::ResourceLoaderOptions::loadedFromPluginElement): (WebCore::ResourceLoaderOptions::ResourceLoaderOptions): (WebCore::ResourceLoaderOptions::loadedFromOpaqueSource): Deleted.
  • loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
  • page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowObjectFromSource const):
  • page/csp/ContentSecurityPolicy.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2-expected.txt:
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked3-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288792 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:51 PM Changeset in webkit [291914] by Alan Coon
  • 12 edits in branches/safari-613-branch/Source/WebKit

Revert r289292. rdar://problem/90113314

6:50 PM Changeset in webkit [291913] by Alan Coon
  • 14 edits
    2 adds in branches/safari-613-branch

Revert r290708. rdar://problem/90113314

6:46 PM Changeset in webkit [291912] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/JavaScriptCore

Cherry-pick r291891. rdar://problem/90838071

AI should not set the structure for ObjectCreate
https://bugs.webkit.org/show_bug.cgi?id=238349

Patch by Justin Michaud <Justin Michaud> on 2022-03-24
Reviewed by Saam Barati and Yusuke Suzuki.

The AbstractInterpreter should not set the structure for ObjectCreate because it might change by
the time the constant folding phase runs if the structure cache is cleared.

  • dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:45 PM Changeset in webkit [291911] by Nikos Mouchtaris
  • 6 edits
    2 adds in trunk

Incorrect handling of NaN inside calc() for top-level calculation
https://bugs.webkit.org/show_bug.cgi?id=234176

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt: Added.
  • web-platform-tests/css/css-values/calc-infinity-nan-computed.html: Added.
  • web-platform-tests/css/css-values/round-function-expected.txt:
  • web-platform-tests/css/css-values/round-function.html:

Source/WebCore:

Add function to convert any top level NaN values to infinity values as per the spec.
This only affects the computed value of the calc expression, not its serialization.

Test: imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed.html

  • css/calc/CSSCalcOperationNode.cpp:

(WebCore::CSSCalcOperationNode::combineChildren):
(WebCore::convertToTopLevelValue):
(WebCore::CSSCalcOperationNode::evaluateOperator):

  • css/calc/CSSCalcOperationNode.h:
6:38 PM Changeset in webkit [291910] by Alan Coon
  • 9 edits in branches/safari-613-branch/Source

Versioning.

WebKit-7613.2.5

5:57 PM Changeset in webkit [291909] by sihui_liu@apple.com
  • 6 edits in trunk/Source/WebKit

Disable custom storage paths for IndexedDB and LocalStorage by default
https://bugs.webkit.org/show_bug.cgi?id=236977

Reviewed by Geoffrey Garen.
<rdar://problem/89559929>

  • FeatureFlags/WebKit-appletvos.plist:
  • FeatureFlags/WebKit-ios.plist:
  • FeatureFlags/WebKit-macos.plist:
  • FeatureFlags/WebKit-watchos.plist:
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::defaultShouldUseCustomStoragePaths):

5:55 PM Changeset in webkit [291908] by Alan Coon
  • 1 copy in tags/Safari-613.2.4

Tag Safari-613.2.4.

5:53 PM Changeset in webkit [291907] by Said Abou-Hallawa
  • 5 edits in trunk/Source/WebKit

[GPU Process] [iOS] Enable GPU Process for DOM rendering on iOS
https://bugs.webkit.org/show_bug.cgi?id=236508
rdar://83437844

Reviewed by Jon Lee.

  • FeatureFlags/WebKit-appletvos.plist:
  • FeatureFlags/WebKit-ios.plist:
  • FeatureFlags/WebKit-watchos.plist:
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultUseGPUProcessForDOMRenderingEnabled):

5:02 PM Changeset in webkit [291906] by Alan Coon
  • 1 copy in tags/Safari-613.1.17.1.13

Tag Safari-613.1.17.1.13.

5:02 PM Changeset in webkit [291905] by Alan Coon
  • 1 copy in tags/Safari-613.1.17.0.8

Tag Safari-613.1.17.0.8.

4:58 PM Changeset in webkit [291904] by achristensen@apple.com
  • 2 edits in branches/safari-613-branch/Source/WebKit

Cherry pick r289026
rdar://90860743

http://trac.webkit.org/r289026 wasn't merged to the safari-613-branch, which caused excessive unnecessary logging.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):

4:46 PM Changeset in webkit [291903] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed, reverting r291745.
https://bugs.webkit.org/show_bug.cgi?id=238399

JSC debug test failures

Reverted changeset:

"[JSC] Add DoNotHaveTagRegisters mode to unboxDouble"
https://bugs.webkit.org/show_bug.cgi?id=238018
https://commits.webkit.org/r291745

4:42 PM Changeset in webkit [291902] by Chris Dumez
  • 23 edits in trunk/Source

Use StringView::split() instead of String::split() in more places
https://bugs.webkit.org/show_bug.cgi?id=238362

Reviewed by Geoffrey Garen.

Use StringView::split() instead of String::split() where suitable and more efficient.

Source/WebCore:

  • Modules/applepay/cocoa/PaymentContactCocoa.mm:

(WebCore::convert):

  • html/HTMLInputElement.cpp:

(WebCore::isValidMIMEType):
(WebCore::isValidFileExtension):
(WebCore::parseAcceptAttribute):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessageDOMAndStartTimer):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::compileShader):

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::nodeForPath):

  • page/WindowFeatures.cpp:

(WebCore::parseDisabledAdaptations):
(WebCore::parseDialogFeatures):
(WebCore::parseDialogFeaturesMap):

  • page/WindowFeatures.h:
  • platform/network/CacheValidation.cpp:

(WebCore::collectVaryingRequestHeadersInternal):

  • platform/network/HTTPParsers.cpp:

(WebCore::filenameFromHTTPContentDisposition):
(WebCore::parseXFrameOptionsHeader):

  • platform/network/HTTPParsers.h:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::isAttachmentWithFilename const):

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendOS2Table):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseOffsetValue):
(WebCore::SVGSMILElement::parseClockValue):
(WebCore::SVGSMILElement::parseCondition):
(WebCore::SVGSMILElement::parseBeginOrEnd):
(WebCore::SVGSMILElement::parseAttribute):

  • svg/animation/SVGSMILElement.h:

Source/WebKit:

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::parseOSVersion):
(WebKit::populateSandboxInitializationParameters):

  • UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:

(WebKit::ProcessLauncher::launchProcess):

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

(WebKit::RemoteGraphicsContextGLProxy::initialize):

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/text/StringView.cpp:

(WTF::StringView::stripWhiteSpace const):

  • wtf/text/StringView.h:

(WTF::StringView::toDouble const):
(WTF::StringView::stripLeadingAndTrailingMatchedCharacters const):
(WTF::StringView::stripLeadingAndTrailingMatchedCharacters): Deleted.

4:14 PM Changeset in webkit [291901] by Alexander Mikhaylenko
  • 189 edits
    3 adds in trunk

[GTK][WPE] Update widget style to match libadwaita
https://bugs.webkit.org/show_bug.cgi?id=235884

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Update Adwaita widgets style to be closer to their Libadwaita versions instead of GTK3.

  • Use new colors
  • Opacity for disabled states instead of separate colors
  • Translucent text selection, grey for inactive state
  • Translucent borders, so the widgets don't get blurry depending on the page background
  • Light borders for dark variant for visibility
  • Update sliders and progress bars, as they can't really work with translucent borders as is
  • Use grey selection for listboxes

Since text selection and accent are different colors now, move activeSelectionBackgroundColor()
etc out of ThemeAdwaita and expose a function for getting the accent color instead.

Update scrollbars to closely match libadwaita - update colors and dimensions, have a visible
trough in overlay mode. Reverse how borders are done - make sure the trough in regular and
overlay mode has the same size and draw borders around it rather than making borders a part
of the trough size.

  • platform/adwaita/ScrollbarThemeAdwaita.cpp:

(WebCore::ScrollbarThemeAdwaita::paint):
(WebCore::ScrollbarThemeAdwaita::paintScrollCorner):

  • platform/adwaita/ThemeAdwaita.cpp:

(WebCore::ThemeAdwaita::paintCheckbox):
(WebCore::ThemeAdwaita::paintRadio):
(WebCore::ThemeAdwaita::paintButton):
(WebCore::ThemeAdwaita::accentColor):
(WebCore::ThemeAdwaita::activeSelectionForegroundColor const): Deleted.
(WebCore::ThemeAdwaita::activeSelectionBackgroundColor const): Deleted.
(WebCore::ThemeAdwaita::inactiveSelectionForegroundColor const): Deleted.
(WebCore::ThemeAdwaita::inactiveSelectionBackgroundColor const): Deleted.

  • platform/adwaita/ThemeAdwaita.h:
  • rendering/RenderThemeAdwaita.cpp:

(WebCore::getAccentColor):
(WebCore::RenderThemeAdwaita::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeAdwaita::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeAdwaita::paintTextField):
(WebCore::RenderThemeAdwaita::paintProgressBar):
(WebCore::RenderThemeAdwaita::paintSliderTrack):
(WebCore::RenderThemeAdwaita::paintSliderThumb):

  • rendering/RenderThemeAdwaita.h:

LayoutTests:

Update test expectations to account for the changed widget and selection styles.

Remove [Pass] for text selection styles that was only set for glib/.

  • platform/glib/TestExpectations:
  • platform/gtk/css2.1/20110323/replaced-elements-001-expected.png:
  • platform/gtk/css2.1/20110323/replaced-elements-001-expected.txt:
  • platform/gtk/css3/flexbox/button-expected.png:
  • platform/gtk/css3/flexbox/button-expected.txt:
  • platform/gtk/editing/selection/3690703-2-expected.png:
  • platform/gtk/editing/selection/3690703-2-expected.txt:
  • platform/gtk/editing/selection/3690703-expected.png:
  • platform/gtk/editing/selection/3690703-expected.txt:
  • platform/gtk/editing/selection/3690719-expected.png:
  • platform/gtk/editing/selection/3690719-expected.txt:
  • platform/gtk/editing/selection/4397952-expected.png:
  • platform/gtk/editing/selection/4397952-expected.txt:
  • platform/gtk/editing/selection/5240265-expected.png:
  • platform/gtk/editing/selection/5240265-expected.txt:
  • platform/gtk/editing/selection/selection-button-text-expected.png:
  • platform/gtk/editing/selection/selection-button-text-expected.txt:
  • platform/gtk/fast/block/float/float-avoidance-expected.png:
  • platform/gtk/fast/block/float/float-avoidance-expected.txt:
  • platform/gtk/fast/block/positioning/inline-block-relposition-expected.png:
  • platform/gtk/fast/block/positioning/inline-block-relposition-expected.txt:
  • platform/gtk/fast/box-sizing/percentage-height-expected.png:
  • platform/gtk/fast/box-sizing/percentage-height-expected.txt: Added.
  • platform/gtk/fast/css/continuationCrash-expected.png:
  • platform/gtk/fast/css/continuationCrash-expected.txt:
  • platform/gtk/fast/css/margin-top-bottom-dynamic-expected.png:
  • platform/gtk/fast/css/margin-top-bottom-dynamic-expected.txt:
  • platform/gtk/fast/css/rtl-ordering-expected.png:
  • platform/gtk/fast/css/rtl-ordering-expected.txt:
  • platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
  • platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
  • platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
  • platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/gtk/fast/dynamic/positioned-movement-with-positioned-children-expected.png:
  • platform/gtk/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
  • platform/gtk/fast/forms/001-expected.png:
  • platform/gtk/fast/forms/001-expected.txt:
  • platform/gtk/fast/forms/basic-buttons-expected.png:
  • platform/gtk/fast/forms/basic-buttons-expected.txt:
  • platform/gtk/fast/forms/basic-selects-expected.png:
  • platform/gtk/fast/forms/basic-selects-expected.txt:
  • platform/gtk/fast/forms/blankbuttons-expected.png:
  • platform/gtk/fast/forms/blankbuttons-expected.txt:
  • platform/gtk/fast/forms/box-shadow-override-expected.png:
  • platform/gtk/fast/forms/box-shadow-override-expected.txt:
  • platform/gtk/fast/forms/button-align-expected.png:
  • platform/gtk/fast/forms/button-align-expected.txt:
  • platform/gtk/fast/forms/button-cannot-be-nested-expected.png:
  • platform/gtk/fast/forms/button-cannot-be-nested-expected.txt:
  • platform/gtk/fast/forms/button-default-title-expected.png:
  • platform/gtk/fast/forms/button-default-title-expected.txt:
  • platform/gtk/fast/forms/button-generated-content-expected.png:
  • platform/gtk/fast/forms/button-generated-content-expected.txt:
  • platform/gtk/fast/forms/button-inner-block-reuse-expected.png:
  • platform/gtk/fast/forms/button-inner-block-reuse-expected.txt:
  • platform/gtk/fast/forms/button-positioned-expected.png:
  • platform/gtk/fast/forms/button-positioned-expected.txt:
  • platform/gtk/fast/forms/button-sizes-expected.png:
  • platform/gtk/fast/forms/button-sizes-expected.txt:
  • platform/gtk/fast/forms/button-style-color-expected.png:
  • platform/gtk/fast/forms/button-style-color-expected.txt:
  • platform/gtk/fast/forms/button-table-styles-expected.png:
  • platform/gtk/fast/forms/button-table-styles-expected.txt:
  • platform/gtk/fast/forms/button-text-transform-expected.png:
  • platform/gtk/fast/forms/button-text-transform-expected.txt:
  • platform/gtk/fast/forms/button-white-space-expected.png:
  • platform/gtk/fast/forms/button-white-space-expected.txt:
  • platform/gtk/fast/forms/control-clip-expected.png:
  • platform/gtk/fast/forms/control-clip-expected.txt:
  • platform/gtk/fast/forms/control-clip-overflow-expected.png:
  • platform/gtk/fast/forms/control-clip-overflow-expected.txt:
  • platform/gtk/fast/forms/control-restrict-line-height-expected.png:
  • platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
  • platform/gtk/fast/forms/disabled-select-change-index-expected.png:
  • platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
  • platform/gtk/fast/forms/file/file-input-direction-expected.png:
  • platform/gtk/fast/forms/file/file-input-direction-expected.txt:
  • platform/gtk/fast/forms/file/file-input-disabled-expected.png:
  • platform/gtk/fast/forms/file/file-input-disabled-expected.txt:
  • platform/gtk/fast/forms/form-element-geometry-expected.png:
  • platform/gtk/fast/forms/form-element-geometry-expected.txt:
  • platform/gtk/fast/forms/formmove3-expected.png:
  • platform/gtk/fast/forms/formmove3-expected.txt:
  • platform/gtk/fast/forms/input-appearance-height-expected.png:
  • platform/gtk/fast/forms/input-appearance-height-expected.txt:
  • platform/gtk/fast/forms/input-button-sizes-expected.png:
  • platform/gtk/fast/forms/input-button-sizes-expected.txt:
  • platform/gtk/fast/forms/input-first-letter-expected.png:
  • platform/gtk/fast/forms/input-first-letter-expected.txt:
  • platform/gtk/fast/forms/input-value-expected.png:
  • platform/gtk/fast/forms/input-value-expected.txt:
  • platform/gtk/fast/forms/select-baseline-expected.png:
  • platform/gtk/fast/forms/select-baseline-expected.txt:
  • platform/gtk/fast/forms/select-disabled-appearance-expected.png:
  • platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
  • platform/gtk/fast/forms/targeted-frame-submission-expected.png:
  • platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
  • platform/gtk/fast/html/details-replace-summary-child-expected.png:
  • platform/gtk/fast/html/details-replace-summary-child-expected.txt:
  • platform/gtk/fast/html/details-replace-text-expected.png:
  • platform/gtk/fast/html/details-replace-text-expected.txt:
  • platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png:
  • platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
  • platform/gtk/fast/overflow/scrollRevealButton-expected.png:
  • platform/gtk/fast/overflow/scrollRevealButton-expected.txt:
  • platform/gtk/fast/replaced/replaced-breaking-expected.png:
  • platform/gtk/fast/replaced/replaced-breaking-expected.txt:
  • platform/gtk/fast/replaced/width100percent-button-expected.png:
  • platform/gtk/fast/replaced/width100percent-button-expected.txt:
  • platform/gtk/fast/table/append-cells2-expected.png:
  • platform/gtk/fast/table/append-cells2-expected.txt:
  • platform/gtk/fast/table/remove-td-display-none-expected.png:
  • platform/gtk/fast/table/remove-td-display-none-expected.txt:
  • platform/gtk/fast/text/international/hindi-spacing-expected.png:
  • platform/gtk/fast/text/international/hindi-spacing-expected.txt:
  • platform/gtk/fast/text/textIteratorNilRenderer-expected.png:
  • platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/gtk/http/tests/navigation/javascriptlink-frames-expected.png:
  • platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/gtk/svg/custom/foreign-object-skew-expected.png:
  • platform/gtk/svg/custom/foreign-object-skew-expected.txt: Added.
  • platform/gtk/svg/custom/inline-svg-in-xhtml-expected.png:
  • platform/gtk/svg/custom/inline-svg-in-xhtml-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1318-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug138725-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug138725-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug18359-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug2479-2-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug2479-3-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug2479-4-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug26178-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug26178-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug28928-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug33855-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug33855-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug39209-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug39209-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4429-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug4429-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug44505-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug44505-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug46368-1-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug46368-2-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug51037-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug51727-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug51727-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug52505-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug52505-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug52506-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug52506-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug60749-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug60749-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug68912-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug68912-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug7342-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug92647-2-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug92647-2-expected.txt: Added.
  • platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.png:
  • platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
  • platform/gtk/tables/mozilla/dom/tableDom-expected.png:
  • platform/gtk/tables/mozilla/dom/tableDom-expected.txt:
  • platform/gtk/tables/mozilla/other/move_row-expected.png:
  • platform/gtk/tables/mozilla/other/move_row-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
3:55 PM Changeset in webkit [291900] by Elliott Williams
  • 2 edits in trunk/Source/WebKit

[Big Sur] WK2 failing to build with error: reference to 'WebDocumentView' is ambiguous
https://bugs.webkit.org/show_bug.cgi?id=238384

Reviewed by Alexey Proskuryakov.

Build fix, see rdar://90844690.

Create forwarding headers in WebKit's temporary directory which cause imports of any
migrated header to be imported using WebKit's header map. For example,

#import <WebKit/WebDocument.h>
#import <WebKitLegacy/WebDocument.h>

...both resolve to the same header.

Also, clean up project file references to files which were deleted in r291809.

  • WebKit.xcodeproj/project.pbxproj:
3:53 PM Changeset in webkit [291899] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.36.0

WPE WebKit 2.36.0

3:52 PM Changeset in webkit [291898] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36

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

.:

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

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.36.0.
3:52 PM Changeset in webkit [291897] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Tools

[WPE][GTK] Dist/distcheck targets fail due to Python error
https://bugs.webkit.org/show_bug.cgi?id=238394

Unreviewed build fix.

  • Scripts/make-dist:

(Directory.list_files_in_version_control): Ensure that data read from pipes is converted to
strings by specifying text="ascii", as it seems safe to assume that files listed by Git will
not contain non-ASCII characters. While at it, make the function return a set to speed up
lookups.

3:25 PM Changeset in webkit [291896] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

FontCascade::widthForSimpleText needs the glyph only
https://bugs.webkit.org/show_bug.cgi?id=238385

Reviewed by Antti Koivisto.

widthForSimpleText operates on primary font only so let's just call PrimaryFont.glyphForCharacter() directly.
(This should provide a slight perf gain on text heavy pages. e.g. wikipedia over 50 page loads ->

w/o: widthForSimpleText: 266286 calls, mean duration: 0.000201ms, total duration: 53.403753ms, max duration 0.016750ms

w: widthForSimpleText: 266274 calls, mean duration: 0.000176ms, total duration: 46.949579ms, max duration 0.016917ms)

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::widthForSimpleText const):

3:11 PM Changeset in webkit [291895] by Alan Coon
  • 2 edits in branches/safari-613.1.17.0-branch/Source/JavaScriptCore

Cherry-pick r291891. rdar://problem/90838071

AI should not set the structure for ObjectCreate
https://bugs.webkit.org/show_bug.cgi?id=238349

Patch by Justin Michaud <Justin Michaud> on 2022-03-24
Reviewed by Saam Barati and Yusuke Suzuki.

The AbstractInterpreter should not set the structure for ObjectCreate because it might change by
the time the constant folding phase runs if the structure cache is cleared.

  • dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3:09 PM Changeset in webkit [291894] by Alan Coon
  • 9 edits in branches/safari-613.1.17.0-branch/Source

Versioning.

WebKit-7613.1.17.0.8

3:07 PM Changeset in webkit [291893] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, update DerivedSources-output.xcfilelist to fix build.

  • DerivedSources-output.xcfilelist:
3:05 PM Changeset in webkit [291892] by Alan Coon
  • 2 edits in branches/safari-613.1.17.1-branch/Source/JavaScriptCore

Cherry-pick r291891. rdar://problem/90838071

AI should not set the structure for ObjectCreate
https://bugs.webkit.org/show_bug.cgi?id=238349

Patch by Justin Michaud <Justin Michaud> on 2022-03-24
Reviewed by Saam Barati and Yusuke Suzuki.

The AbstractInterpreter should not set the structure for ObjectCreate because it might change by
the time the constant folding phase runs if the structure cache is cleared.

  • dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:51 PM Changeset in webkit [291891] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

AI should not set the structure for ObjectCreate
https://bugs.webkit.org/show_bug.cgi?id=238349

Patch by Justin Michaud <Justin Michaud> on 2022-03-24
Reviewed by Saam Barati and Yusuke Suzuki.

The AbstractInterpreter should not set the structure for ObjectCreate because it might change by
the time the constant folding phase runs if the structure cache is cleared.

  • dfg/DFGAbstractInterpreterInlines.h:

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

2:46 PM Changeset in webkit [291890] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebGPU

[WebGPU] Remove default: from switch statements, in favor of exhaustively listing all cases
https://bugs.webkit.org/show_bug.cgi?id=238305

Reviewed by Darin Adler.

This will indicate places that need fixing when new values are added.

  • WebGPU/BindGroupLayout.mm:

(WebGPU::createArgumentDescriptor):

  • WebGPU/Buffer.mm:

(WebGPU::Buffer::mapAsync):

  • WebGPU/Instance.mm:

(WebGPU::sortedDevices):

  • WebGPU/Queue.mm:

(WebGPU::Queue::writeBuffer):

2:37 PM Changeset in webkit [291889] by Wenson Hsieh
  • 13 edits
    2 adds in trunk

Enable PGO when building for release and production
https://bugs.webkit.org/show_bug.cgi?id=238119
rdar://90182309

Reviewed by Alexey Proskuryakov and Geoff Garen.

Source/JavaScriptCore:

See WebCore/ChangeLog for more information.

  • Configurations/Base.xcconfig:
  • Configurations/JavaScriptCore.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:

Source/WebCore:

Attempt to re-land support for compiling against profiling data, after it was reverted due to the profiling data
files being too large. We mitigate this by instead storing sparse profdata files as compressed files in
WebKitAdditions through git lfs, such that they don't cause the repo to grow significantly each time we update
profiling data.

At build time, we then introduce new build phase scripts to the JavaScriptCore, WebCore and WebKit builds to
decompress their respective .profdata.compressed files into .profdata files in the build, using
compression_tool. We compile against these profdata files when building for release and production
configurations, via the -fprofile-instr-use flag.

In the case where the *.profdata.compressed files are non-existent or haven't been downloaded yet, we instead
fall back to using an empty profiling data file, but only on non-production builds; this allows us to continue
passing in the -fprofile-instr-use flag, without running into build failures.

Note that we intentionally require production builds to use the (real) profiling data, and explicitly fail the
build with a specific error message in the case where the profiles are missing.

Additionally, note that in order to check for and deal with the case where the *.profdata.compressed files are
only undownloaded git-lfs stubs, we not only check whether or not the profdata.compressed file exists, but
also whether or not the file size is at least an arbitrary cutoff of 4 KB (which should already be an order of
magnitude larger than the git-lfs stub). While mostly arbitrary, I chose this cutoff due to the fact that it's
very close to the size of the Empty.profdata placeholder file in Tools; in practice, we should expect the
profiles for WebKit, WebCore and JavaScriptCore to be much, much larger than this empty file.

  • Configurations/Base.xcconfig:
  • Configurations/WebCore.xcconfig:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

See WebCore/ChangeLog for more information.

  • Configurations/Base.xcconfig:
  • Configurations/BaseTarget.xcconfig:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

Add an empty profiling data file that can be used as a fallback only for release (non-production) builds, when
the JavaScriptCore, WebCore or WebKit profiling data hasn't been locally downloaded.

  • Profiling/Empty.profdata: Added.
2:19 PM Changeset in webkit [291888] by youenn@apple.com
  • 19 edits
    3 adds in trunk

Add support for focused and visible ServiceWorkerWindowClient states
https://bugs.webkit.org/show_bug.cgi?id=238372

Reviewed by Brady Eidson.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-exact-controller.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall.https-expected.txt:

Source/WebCore:

Add visible and focused to ServiceWorkerClientData.
In case document visibility or focused state changes, we push the corresponding ServiceWorkerClientData to network process.

Test: http/wpt/service-workers/client-properties.https.html

  • dom/Document.cpp:
  • dom/Document.h:
  • page/FocusController.cpp:
  • workers/service/ServiceWorkerClient.h:
  • workers/service/ServiceWorkerClientData.cpp:
  • workers/service/ServiceWorkerClientData.h:
  • workers/service/ServiceWorkerClients.cpp:
  • workers/service/ServiceWorkerWindowClient.cpp:
  • workers/service/ServiceWorkerWindowClient.h:

LayoutTests:

  • http/wpt/service-workers/client-properties-worker.js: Added.
  • http/wpt/service-workers/client-properties.https-expected.txt: Added.
  • http/wpt/service-workers/client-properties.https.html: Added.
2:02 PM Changeset in webkit [291887] by zhifei_fang@apple.com
  • 1 edit in trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/bug_trackers/bug_description.py

[results-safari] filter out None in automatically generated bug title
https://bugs.webkit.org/show_bug.cgi?id=238360
rdar://90809419

Reviewed by Dewei Zhu and Jonathan Bedard.

  • Tools/Scripts/libraries/resultsdbpy/resultsdbpy/bug_trackers/bug_description.py:

(translate_selected_dots_to_bug_title_and_description):

Canonical link: https://commits.webkit.org/248886@main

1:54 PM Changeset in webkit [291886] by Devin Rousso
  • 15 edits
    1 copy
    3 adds in trunk

PointerEvent.movementX always 0 (breaks https://noisecraft.app/)
https://bugs.webkit.org/show_bug.cgi?id=220194
<rdar://problem/72814440>

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock-expected.txt:

This change causes the test to progress further than before, but there still appear to be
other issues elsewhere, so adjust the expected output to reflect that.

Source/WebCore:

Test: pointer-lock/pointermove-movement-delta.html

  • dom/PointerEvent.cpp:

(WebCore::PointerEvent::PointerEvent):
Also pass along the movement delta in the constructor that takes a MouseEvent.

  • dom/MouseEvent.h:
  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
Require that all constructors that aren't invoked from JS always provide a movement delta.

  • dom/MouseRelatedEvent.h:

(WebCore::MouseRelatedEvent::movementX const):
(WebCore::MouseRelatedEvent::movementY const):
Expose these methods even when !ENABLE(POINTER_LOCK) so that they can be called without
the callsite having to also have a #if.

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchDragEvent):
Pass along the movement delta even when !ENABLE(POINTER_LOCK).

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController mouseMoveToX:Y:]):

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseMoveTo):
On macOS, the screen's origin is the bottom-left corner, so we need to flip the deltaY.

LayoutTests:

  • pointer-lock/pointermove-movement-delta.html: Added.
  • pointer-lock/pointermove-movement-delta-expected.txt: Added.
  • pointer-lock/mouse-event-delivery-expected.txt: Added.

On macOS, the screen's origin is the bottom-left corner, so we need to flip the deltaY.

  • platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock-expected.txt: Added.

This change causes the test to progress further than before, but there still appear to be
other issues elsewhere, so adjust the expected output to reflect that.

  • platform/mac-wk1/TestExpectations:
1:51 PM Changeset in webkit [291885] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Add some generated sources to the WebKit project
https://bugs.webkit.org/show_bug.cgi?id=238363

Reviewed by Alexey Proskuryakov.

There are many generated files which haven't been added to the project (they get built via
Sources.txt). Here, I add a few that I like to be able to find code in, particularly
MessageNames.h.

com.apple.WebKit.plugin-common.sb was deleted so is removed from the project.

  • WebKit.xcodeproj/project.pbxproj:
1:47 PM Changeset in webkit [291884] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Add Captive Portal alert to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=238326

Patch by C Lopez <clopez1@apple.com> on 2022-03-25
Reviewed by Geoffrey Garen.

When WkWebView on iOS is initialized, we call _presentCaptivePortalModeAlertIfNeeded which checks whether an alert needs to be presented or not.

  • UIProcess/API/ios/WKWebViewIOS.h:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _presentCaptivePortalModeAlertIfNeeded]):
(-[WKWebView didMoveToWindow]):

1:32 PM Changeset in webkit [291883] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Drop duplicate isFiringEventListeners check in Node wrappers' isReachableFromOpaqueRoots()
https://bugs.webkit.org/show_bug.cgi?id=238376

Reviewed by Geoffrey Garen.

Drop duplicate isFiringEventListeners check in Node wrappers' isReachableFromOpaqueRoots().
Those wrappers already call JSNodeOwner::isReachableFromOpaqueRoots() which already takes care
of checking the isFiringEventListeners flag.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

1:16 PM Changeset in webkit [291882] by J Pascoe
  • 8 edits in trunk

[WebAuthn] Maintain last modification time separate from last used time for platform credentials
https://bugs.webkit.org/show_bug.cgi?id=238293
rdar://90655676

Reviewed by Brent Fulgham.

This patch splits a key returned from [_WKWebAuthenticationPanel getAllLocalAuthenticatorCredentials...],
_WKLocalAuthenticatorCredentialLastModificationDateKey, which previously signified the last time a
credential was modified or used in an assertion, to just the last time the credential was modified.

A new key, _WKLocalAuthenticatorCredentialLastUsedDateKey represents the old definition, the last
time a key was used or modified.

Source/WebCore:

  • Modules/webauthn/WebAuthenticationConstants.h:

Source/WebKit:

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

(getAllLocalAuthenticatorCredentialsImpl):
(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithGroupAndID:credential:username:]):

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):

Tools:

Updated API test to verify differences between _WKLocalAuthenticatorCredentialLastModificationDateKey
and _WKLocalAuthenticatorCredentialLastModificationDateKey.

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):

1:07 PM Changeset in webkit [291881] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebKit

[GPU Process] RemoteRenderingBackend::stopListeningForIPC() should not change the RemoteResourceCache on the main thread
https://bugs.webkit.org/show_bug.cgi?id=238298
rdar://90731372

Reviewed by Simon Fraser.

To release the RemoteResourceCache and the rendering resource request on
the WorkQueue thread, RemoteRenderingBackend::stopListeningForIPC() dispatches
an empty lambda to its WorkQueue but m_renderingResourcesRequest and
m_remoteResourceCache are captured by-move to initializers to this lambda.

But this means m_remoteResourceCache is changed on the main thread while
the WorkQueue thread may be accessing it to get a cached remote resource.
The EWS crashes showed that, RemoteRenderingBackend::stopListeningForIPC()
on the main thread is waiting its WorkQueue to stop and complete all its
work including the dispatched empty lambda. And the WorkQueue thread is
getting wrong resource counters from the RemoteResourceCache. This would
happen if the HashMaps of RemoteResourceCache were emptied on the main
thread while the counters had outdated values.

To fix this thread safety issue, the RemoteResourceCache should not ever
be changed on the main thread. Since capturing by-move is kind of change,
we will capture m_renderingResourcesRequest and m_remoteResourceCache by
reference and we let the dispatched lambda explicitly releases them on
the WorkQueue thread.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::stopListeningForIPC):

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

[macOS][WP] Remove unused sandbox extension rule
https://bugs.webkit.org/show_bug.cgi?id=238377

Reviewed by Geoffrey Garen.

Remove unused sandbox extension rule for RootDomainUserClient.

  • WebProcess/com.apple.WebProcess.sb.in:
12:20 PM Changeset in webkit [291879] by Russell Epstein
  • 1 copy in tags/Safari-614.1.5.18

Tag Safari-614.1.5.18.

12:19 PM Changeset in webkit [291878] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

[TextureMapper] Implement GraphicsContextGLTextureMapperANGLE::prepareForDisplay()
https://bugs.webkit.org/show_bug.cgi?id=238322

Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-03-25
Reviewed by Darin Adler.

Use GraphicsContextGLTextureMapperANGLE::prepareForDisplay() to handle
buffer/texture preparation during the composition state flush instead of
doing it in the platform layer integration class.

The virtual GraphicsContextGL::prepareForDisplay() method is called
during the composition state flush on every context-backed canvas that
was changed since the previous flush. It's the most optimal location to
handle content display preparation, and it simplifies the actual display
through the TextureMapper facilities. It's a simple matter of ensuring
a current context and invoking texture preparation.

In Nicosia::GCGLANGLELayer::swapBuffersIfNeeded(), there's no need to
bother with the state of layer composition, everything is already set
to be wrapped into a buffer and pushed into the composition engine.

Similarly in TextureMapperGCGLPlatformLayer::paintToTextureMapper(),
the texture is already prepared and can be painted immediately, with
no further need for GL context switching.

GraphicsContextGLANGLE::prepareTexture() is not really used anymore
so it can be removed, and prepareTextureImpl() can use that name.
The method is still virtual so that GraphicsContextGLTextureMapperANGLE
can provide a more focused override, but GraphicsContextGLCocoa should
at some point also use its own implementation, at which point the
method could just be rolled into each class's prepareForDisplay().

No new tests, covered by existing tests.

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLANGLE::prepareTexture):
(WebCore::GraphicsContextGLANGLE::prepareTextureImpl): Deleted.

  • platform/graphics/angle/GraphicsContextGLANGLE.h:
  • platform/graphics/cocoa/GraphicsContextGLCocoa.mm:

(WebCore::GraphicsContextGLCocoa::prepareForDisplay):

  • platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:

(Nicosia::GCGLANGLELayer::swapBuffersIfNeeded):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:

Remove unused prepareTextureImpl() method declaration.

  • platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:

(WebCore::GraphicsContextGLTextureMapperANGLE::prepareTexture):
(WebCore::GraphicsContextGLTextureMapperANGLE::prepareForDisplay):
(WebCore::GraphicsContextGLTextureMapperANGLE::prepareTextureImpl): Deleted.

  • platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h:
  • platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:

(WebCore::TextureMapperGCGLPlatformLayer::paintToTextureMapper):

12:18 PM Changeset in webkit [291877] by Russell Epstein
  • 2 edits in branches/safari-614.1.7-branch/Source/WebKit

Cherry-pick r291869. rdar://problem/90848250

Unreviewed, fix the internal iOS build after r291814
rdar://90848250

Removed extraneous double quote (") in com.apple.WebKit.WebContent.sb.in.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291869 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:15 PM Changeset in webkit [291876] by Russell Epstein
  • 2 edits in branches/safari-614.1.5-branch/Source/WebKit

Cherry-pick r291869. rdar://problem/90848250

Unreviewed, fix the internal iOS build after r291814
rdar://90848250

Removed extraneous double quote (") in com.apple.WebKit.WebContent.sb.in.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291869 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:08 PM Changeset in webkit [291875] by ysuzuki@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

[JSC] Use Data CallIC in unlinked DFG
https://bugs.webkit.org/show_bug.cgi?id=238176

Reviewed by Saam Barati.

This patch enables Data CallIC when Options::useDataICInOptimizingJIT() is true
to pave the way to introducing unlinked DFG.

The most complicated part is DFG tail call handling. We load CallLinkInfo in one
non-callee-save register, and we set up CallFrameShuffleData to keep this value
in the same register even after call frame shuffling for the tail call. This must
be non-callee-save register since callee-save registers are restored to values
of the one-level upper caller for the tail-call.

We also clean up CallLinkInfo code so that many functions work well with DataIC.
Currently, direct calls are not supported, and we will not emit direct calls when
unlinked DFG is used.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • bytecode/CallLinkInfo.cpp:

(JSC::BaselineCallLinkInfo::initialize):
(JSC::OptimizingCallLinkInfo::emitFastPath):
(JSC::OptimizingCallLinkInfo::emitTailCallFastPath):
(JSC::OptimizingCallLinkInfo::slowPathStart):
(JSC::OptimizingCallLinkInfo::emitDirectFastPath):
(JSC::OptimizingCallLinkInfo::emitDirectTailCallFastPath):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::isDataIC const):
(JSC::CallLinkInfo::useDataIC const):
(JSC::CallLinkInfo::CallLinkInfo):
(JSC::CallLinkInfo::setUsesDataICs): Deleted.

  • bytecode/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • dfg/DFGCommonData.h:

(JSC::DFG::CommonData::addCallLinkInfo):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::prepareForTailCallSlow):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

12:00 PM Changeset in webkit [291874] by Russell Epstein
  • 1 copy in tags/Safari-614.1.5.5.3

Tag Safari-614.1.5.5.3.

11:59 AM Changeset in webkit [291873] by Russell Epstein
  • 2 edits in branches/safari-614.1.5.5-branch/Source/WebKit

Cherry-pick r291869. rdar://problem/90848250

Unreviewed, fix the internal iOS build after r291814
rdar://90848250

Removed extraneous double quote (") in com.apple.WebKit.WebContent.sb.in.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291869 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:54 AM Changeset in webkit [291872] by Russell Epstein
  • 9 edits in branches/safari-614.1.5.5-branch/Source

Versioning.

WebKit-7614.1.5.5.3

11:52 AM Changeset in webkit [291871] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove unused JITOperation, operationTryOSREnterAtCatch.
https://bugs.webkit.org/show_bug.cgi?id=238379

Reviewed by Mark Lam.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
11:46 AM Changeset in webkit [291870] by Russell Epstein
  • 9 edits in branches/safari-614.1.5-branch/Source

Versioning.

WebKit-7614.1.5.18

11:39 AM Changeset in webkit [291869] by msaboff@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix the internal iOS build after r291814
rdar://90848250

Removed extraneous double quote (") in com.apple.WebKit.WebContent.sb.in.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
11:29 AM Changeset in webkit [291868] by graouts@webkit.org
  • 2 edits in trunk/Source/WTF

[web-animations] enable support for mutable timelines by default
https://bugs.webkit.org/show_bug.cgi?id=237958
<rdar://problem/90370794>

Reviewed by Dean Jackson.

Both Chrome and Firefox have been shipping this feature for quite some time.
Our support for it is complete, we just need to turn it on by default.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
11:03 AM Changeset in webkit [291867] by commit-queue@webkit.org
  • 47 edits
    9 copies
    18 adds in trunk

Add css-typed-om color IDL skeletons
https://bugs.webkit.org/show_bug.cgi?id=238208

Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-25
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-typed-om/idlharness-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssColorValue-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssHSL-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRGB-expected.txt:

Source/WebCore:

This is an off-by-default experimental feature.
Covered by wpt tests.

  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • css/typedom/CSSKeywordValue.idl:
  • css/typedom/CSSNumericValue.h:
  • css/typedom/color/CSSColor.cpp: Added.

(WebCore::CSSColor::setColorSpace):
(WebCore::CSSColor::CSSColor):

  • css/typedom/color/CSSColor.h: Added.

(WebCore::CSSColor::create):
(WebCore::CSSColor::alpha const):
(WebCore::CSSColor::setAlpha):

  • css/typedom/color/CSSColor.idl:
  • css/typedom/color/CSSColorValue.h: Added.

(WebCore::CSSColorValue::colorSpace):
(WebCore::CSSColorValue::to):
(WebCore::CSSColorValue::parse):

  • css/typedom/color/CSSColorValue.idl:
  • css/typedom/color/CSSHSL.cpp: Added.

(WebCore::CSSHSL::CSSHSL):

  • css/typedom/color/CSSHSL.h: Added.

(WebCore::CSSHSL::create):
(WebCore::CSSHSL::h const):
(WebCore::CSSHSL::setH):
(WebCore::CSSHSL::s const):
(WebCore::CSSHSL::setS):
(WebCore::CSSHSL::l const):
(WebCore::CSSHSL::setL):
(WebCore::CSSHSL::alpha const):
(WebCore::CSSHSL::setAlpha):

  • css/typedom/color/CSSHSL.idl:
  • css/typedom/color/CSSHWB.cpp: Added.

(WebCore::CSSHWB::CSSHWB):

  • css/typedom/color/CSSHWB.h: Added.

(WebCore::CSSHWB::create):
(WebCore::CSSHWB::h const):
(WebCore::CSSHWB::setH):
(WebCore::CSSHWB::w const):
(WebCore::CSSHWB::setW):
(WebCore::CSSHWB::b const):
(WebCore::CSSHWB::setB):
(WebCore::CSSHWB::alpha const):
(WebCore::CSSHWB::setAlpha):

  • css/typedom/color/CSSHWB.idl:
  • css/typedom/color/CSSLCH.cpp: Added.

(WebCore::CSSLCH::CSSLCH):

  • css/typedom/color/CSSLCH.h: Added.

(WebCore::CSSLCH::create):
(WebCore::CSSLCH::l const):
(WebCore::CSSLCH::setL):
(WebCore::CSSLCH::c const):
(WebCore::CSSLCH::setC):
(WebCore::CSSLCH::h const):
(WebCore::CSSLCH::setH):
(WebCore::CSSLCH::alpha const):
(WebCore::CSSLCH::setAlpha):

  • css/typedom/color/CSSLCH.idl:
  • css/typedom/color/CSSLab.cpp: Added.

(WebCore::CSSLab::CSSLab):

  • css/typedom/color/CSSLab.h: Added.

(WebCore::CSSLab::create):
(WebCore::CSSLab::l const):
(WebCore::CSSLab::setL):
(WebCore::CSSLab::a const):
(WebCore::CSSLab::setA):
(WebCore::CSSLab::b const):
(WebCore::CSSLab::setB):
(WebCore::CSSLab::alpha const):
(WebCore::CSSLab::setAlpha):

  • css/typedom/color/CSSLab.idl:
  • css/typedom/color/CSSOKLCH.cpp: Added.

(WebCore::CSSOKLCH::CSSOKLCH):

  • css/typedom/color/CSSOKLCH.h: Added.

(WebCore::CSSOKLCH::create):
(WebCore::CSSOKLCH::l const):
(WebCore::CSSOKLCH::setL):
(WebCore::CSSOKLCH::c const):
(WebCore::CSSOKLCH::setC):
(WebCore::CSSOKLCH::h const):
(WebCore::CSSOKLCH::setH):
(WebCore::CSSOKLCH::alpha const):
(WebCore::CSSOKLCH::setAlpha):

  • css/typedom/color/CSSOKLCH.idl:
  • css/typedom/color/CSSOKLab.cpp: Added.

(WebCore::CSSOKLab::CSSOKLab):

  • css/typedom/color/CSSOKLab.h: Added.

(WebCore::CSSOKLab::create):
(WebCore::CSSOKLab::l const):
(WebCore::CSSOKLab::setL):
(WebCore::CSSOKLab::a const):
(WebCore::CSSOKLab::setA):
(WebCore::CSSOKLab::b const):
(WebCore::CSSOKLab::setB):
(WebCore::CSSOKLab::alpha const):
(WebCore::CSSOKLab::setAlpha):

  • css/typedom/color/CSSOKLab.idl:
  • css/typedom/color/CSSRGB.cpp: Added.

(WebCore::CSSRGB::CSSRGB):

  • css/typedom/color/CSSRGB.h: Added.

(WebCore::CSSRGB::create):
(WebCore::CSSRGB::r const):
(WebCore::CSSRGB::setR):
(WebCore::CSSRGB::g const):
(WebCore::CSSRGB::setG):
(WebCore::CSSRGB::b const):
(WebCore::CSSRGB::setB):
(WebCore::CSSRGB::alpha const):
(WebCore::CSSRGB::setAlpha):

  • css/typedom/color/CSSRGB.idl:
10:39 AM Changeset in webkit [291866] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Reduce EventListenerVector's minimum capacity from 16 to 2
https://bugs.webkit.org/show_bug.cgi?id=238374

Reviewed by Geoffrey Garen.

Reduce EventListenerVector's minimum capacity from 16 to 2 to save memory and get a small speedup on Speedometer.
Very few event listeners are registered for a given type in the common case so eagerly allocating enough memory for 16 is wasteful.
This is a confirmed 0.4% progression on Speedometer according to A/B bots.

  • dom/EventListenerMap.h:
10:32 AM Changeset in webkit [291865] by Jonathan Bedard
  • 22 edits in trunk/Tools

[git-webkit] Handle no repository case
https://bugs.webkit.org/show_bug.cgi?id=238383
<rdar://problem/90842476>

Reviewed by Aakash Jain.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py:

(main): Set repository to 'None' instead of raising an OSError.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/init.py:

(Canonicalize.main): If no repository is provided, exit the program.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py:

(Checkout.main): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:

(FilteredCommand.pager): Ditto.
(FilteredCommand.main): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:

(Info.main): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/install_git_lfs.py:

(InstallGitLFS.parser): configure depends on if a repository is provided.
(InstallGitLFS.main): Install git lfs when no repository is provided.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:

(Land.main): If no repository is provided, exit the program.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull.py:

(Pull.main): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup_git_svn.py:

(SetupGitSvn.main): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:

(TestBranch.test_basic_none):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py:

(TestCanonicalize.test_invalid_svn): Renamed from test_invalid.
(TestCanonicalize.test_invalid_None):
(TestCanonicalize.test_invalid): Renamed to test_invalid_svn.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:

(TestCheckout.test_checkout_none):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:

(TestFind.test_none):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/install_git_lfs_unittest.py:

(TestInstallGitLFS.test_no_repo):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:

(TestLand.test_none):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/log_unittest.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_git_svn_unittest.py:

(TestSetupGitSvn.test_none):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:

(TestSetup.test_none):

Canonical link: https://commits.webkit.org/248871@main

10:24 AM Changeset in webkit [291864] by Russell Epstein
  • 1 copy in tags/Safari-614.1.7.2

Tag Safari-614.1.7.2.

10:13 AM Changeset in webkit [291863] by Chris Dumez
  • 211 edits in trunk

Start preparing WebCore for making the String(const char*) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=238336

Reviewed by Geoffrey Garen.

Start preparing WebCore for making the String(const char*) constructor explicit.
Making this constructor explicit helps catch at compile time cases where the ""_s
prefix is missing on String literals.

Source/JavaScriptCore:

  • API/JSValue.mm:

(createStructHandlerMap):
(handerForStructTag):

  • API/JSWrapperMap.mm:

(allocateConstructorForCustomClass):

  • inspector/agents/InspectorAuditAgent.cpp:

(Inspector::InspectorAuditAgent::run):

Source/WebCore:

  • Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.cpp:

(WebCore::convertAndValidateApplePayAMSUIRequest):

  • Modules/applepay/ApplePayContactField.cpp:

(WebCore::convertAndValidate):

  • Modules/applepay/ApplePayMerchantCapability.cpp:

(WebCore::convertAndValidate):

  • Modules/applepay/ApplePayRequestBase.cpp:

(WebCore::convertAndValidate):

  • Modules/applepay/ApplePaySession.cpp:

(WebCore::ApplePaySession::create):
(WebCore::ApplePaySession::openPaymentSetup):
(WebCore::ApplePaySession::begin):

  • Modules/applepay/ApplePaySetup.cpp:

(WebCore::ApplePaySetup::begin):

  • Modules/applepay/PaymentInstallmentConfiguration.mm:

(WebCore::PaymentInstallmentConfiguration::create):

  • Modules/applepay/PaymentRequestValidator.mm:

(WebCore::PaymentRequestValidator::validateTotal):
(WebCore::validateCountryCode):
(WebCore::validateCurrencyCode):
(WebCore::validateMerchantCapabilities):
(WebCore::validateSupportedNetworks):
(WebCore::validateShippingMethod):

  • Modules/applepay/PaymentSession.cpp:

(WebCore::PaymentSession::canCreateSession):

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::convertAndValidateApplePayRequest):

  • Modules/applicationmanifest/ApplicationManifestParser.cpp:

(WebCore::ApplicationManifestParser::parseIcons):
(WebCore::ApplicationManifestParser::parseScope):

  • Modules/cache/WindowOrWorkerGlobalScopeCaches.cpp:
  • Modules/encryptedmedia/InitDataRegistry.cpp:

(WebCore::sanitizeKeyids):

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::listDirectoryWithMetadata):
(WebCore::validatePathIsExpectedType):

  • Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::FetchBodyConsumer::packageFormData):

  • Modules/fetch/FetchHeaders.cpp:

(WebCore::fillHeaderMap):

  • Modules/fetch/FetchLoader.cpp:

(WebCore::FetchLoader::startLoadingBlobURL):

  • Modules/filesystemaccess/FileSystemFileHandle.cpp:

(WebCore::FileSystemFileHandle::getFile):
(WebCore::FileSystemFileHandle::createSyncAccessHandle):

  • Modules/filesystemaccess/FileSystemHandle.cpp:

(WebCore::FileSystemHandle::isSameEntry const):
(WebCore::FileSystemHandle::move):

  • Modules/indexeddb/IDBDatabaseIdentifier.h:
  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::encode const):
(WebCore::IDBKeyData::decode):

  • Modules/indexeddb/IDBKeyRange.cpp:

(WebCore::IDBKeyRange::includes):

  • Modules/indexeddb/server/IDBSerialization.cpp:

(WebCore::serializeIDBKeyPath):
(WebCore::deserializeIDBKeyPath):

  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions):
(WebCore::IDBServer::IDBServer::getOrigins const):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
(WebCore::IDBServer::removeAllDatabasesForFullOriginPath):
(WebCore::IDBServer::IDBServer::renameOrigin):
(WebCore::IDBServer::IDBServer::upgradeFilesIfNecessary):
(WebCore::IDBServer::IDBServer::upgradedDatabaseDirectory):

  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::generateKeyNumber):

  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::v1RecordsTableSchema):
(WebCore::IDBServer::v1RecordsTableSchemaAlternate):
(WebCore::IDBServer::v2RecordsTableSchema):
(WebCore::IDBServer::v2RecordsTableSchemaAlternate):
(WebCore::IDBServer::v1IndexRecordsTableSchema):
(WebCore::IDBServer::v1IndexRecordsTableSchemaAlternate):
(WebCore::IDBServer::v2IndexRecordsTableSchema):
(WebCore::IDBServer::v2IndexRecordsTableSchemaAlternate):
(WebCore::IDBServer::SQLiteIDBBackingStore::encodeDatabaseName):
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabasePathForDirectory):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetKeyGeneratorValue):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedSetKeyGeneratorValue):
(WebCore::IDBServer::SQLiteIDBBackingStore::generateKeyNumber):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAddAfterSpaceCheck):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):

  • Modules/indexeddb/shared/IDBIndexInfo.cpp:

(WebCore::IDBIndexInfo::loggingString const):

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::layoutTraitsClassName const):

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::create):

  • Modules/mediasource/MediaSource.cpp:

(WebCore::addVP9FullRangeVideoFlagToContentType):
(WebCore::MediaSource::isTypeSupported):

  • Modules/mediastream/MediaTrackConstraints.cpp:

(WebCore::set):
(WebCore::convertToInternalForm):

  • Modules/mediastream/RTCIceCandidate.cpp:

(WebCore::RTCIceCandidate::create):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::iceServersFromConfiguration):
(WebCore::RTCPeerConnection::certificatesFromConfiguration):
(WebCore::RTCPeerConnection::initializeConfiguration):
(WebCore::RTCPeerConnection::setConfiguration):
(WebCore::RTCPeerConnection::chainOperation):

  • Modules/mediastream/RTCRtpSFrameTransformer.cpp:

(WebCore::RTCRtpSFrameTransformer::transform):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::LibWebRTCPeerConnectionBackend::doCreateAnswer):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp:

(WebCore::toRtpCodecCapability):

  • Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:

(WebCore::toException):
(WebCore::toRTCError):

  • Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm:

(WebCore::writeToTemporaryFile):

  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::checkAndCanonicalizeDetails):
(WebCore::PaymentRequest::show):

  • Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:

(WebCore::HTMLVideoElementPictureInPicture::requestPictureInPicture):

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::installReplacement):
(WebCore::processAndCreateYouTubeURL):

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:

(WebCore::SpeechRecognitionCaptureSourceImpl::updateDataSource):
(WebCore::SpeechRecognitionCaptureSourceImpl::sourceStopped):
(WebCore::SpeechRecognitionCaptureSourceImpl::sourceMutedChanged):

  • Modules/speech/cocoa/WebSpeechRecognizerTaskMock.mm:

(-[WebSpeechRecognizerTaskMock audioSamplesAvailable:]):

  • Modules/storage/StorageManager.cpp:

(WebCore::connectionInfo):

  • Modules/web-locks/WebLockManager.cpp:

(WebCore::WebLockManager::signalToAbortTheRequest):

  • Modules/webaudio/AudioListener.cpp:

(WebCore::AudioListener::AudioListener):

  • Modules/webaudio/AudioParam.cpp:

(WebCore::AudioParam::setAutomationRate):

  • Modules/webaudio/AudioParamTimeline.cpp:

(WebCore::AudioParamTimeline::insertEvent):

  • Modules/webaudio/BiquadFilterNode.cpp:

(WebCore::BiquadFilterNode::getFrequencyResponse):

  • Modules/webaudio/BiquadProcessor.cpp:

(WebCore::BiquadProcessor::BiquadProcessor):

  • Modules/webaudio/DelayProcessor.cpp:

(WebCore::DelayProcessor::DelayProcessor):

  • Modules/webaudio/WaveShaperNode.cpp:

(WebCore::WaveShaperNode::create):
(WebCore::WaveShaperNode::setCurveForBindings):

  • Modules/webauthn/AuthenticatorCoordinator.cpp:

(WebCore::AuthenticatorCoordinatorInternal::needsAppIdQuirks):

  • Modules/webauthn/WebAuthenticationUtils.cpp:

(WebCore::buildAttestationMap):

  • Modules/webauthn/fido/DeviceResponseConverter.cpp:

(fido::readCTAPMakeCredentialResponse):

  • Modules/webauthn/fido/Pin.cpp:

(fido::pin::KeyAgreementResponse::parseFromCOSE):
(fido::pin::TokenRequest::tryCreate):

  • Modules/webauthn/fido/U2fResponseConverter.cpp:

(fido::readU2fRegisterResponse):

  • Modules/webdatabase/ChangeVersionWrapper.cpp:

(WebCore::ChangeVersionWrapper::performPreflight):

  • Modules/webdatabase/DOMWindowWebDatabase.cpp:

(WebCore::DOMWindowWebDatabase::openDatabase):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):
(WebCore::Database::runTransaction):

  • Modules/webdatabase/DatabaseAuthorizer.cpp:

(WebCore::DatabaseAuthorizer::addAllowedFunctions):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::trackerDatabasePath const):
(WebCore::DatabaseTracker::openTrackerDatabase):

  • Modules/webdatabase/SQLStatement.cpp:

(WebCore::SQLStatement::execute):
(WebCore::SQLStatement::setDatabaseDeletedError):
(WebCore::SQLStatement::setVersionMismatchedError):
(WebCore::SQLStatement::setFailureDueToQuota):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::callErrorCallbackDueToInterruption):
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::deliverStatementCallback):
(WebCore::SQLTransaction::handleCurrentStatementError):
(WebCore::SQLTransaction::postflightAndCommit):

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::subprotocolSeparator):
(WebCore::WebSocket::close):
(WebCore::WebSocket::suspend):

  • Modules/websockets/WebSocket.h:
  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::didOpenSocketStream):
(WebCore::WebSocketChannel::didReceiveSocketStreamData):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::processOutgoingFrameQueue):

  • Modules/websockets/WebSocketDeflateFramer.cpp:

(WebCore::WebSocketExtensionDeflateFrame::processResponse):
(WebCore::WebSocketDeflateFramer::deflate):
(WebCore::WebSocketDeflateFramer::inflate):

  • Modules/websockets/WebSocketExtensionDispatcher.cpp:

(WebCore::WebSocketExtensionDispatcher::processHeaderValue):

  • Modules/websockets/WebSocketFrame.cpp:

(WebCore::WebSocketFrame::parseFrame):

  • Modules/webxr/WebXRWebGLLayer.cpp:

(WebCore::createOpaqueFramebuffer):
(WebCore::WebXRWebGLLayer::create):

  • accessibility/AXImage.cpp:

(WebCore::AXImage::imageOverlayElements):

  • accessibility/AXLogger.cpp:

(WebCore::AXLogger::AXLogger):
(WebCore::AXLogger::log):
(WebCore::operator<<):

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

(WebCore::AXObjectCache::isModalElement const):
(WebCore::createFromRenderer):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::textChanged):
(WebCore::AXObjectCache::handleMenuOpened):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::passwordNotificationPostTimerFired):
(WebCore::AXObjectCache::postNotification):
(WebCore::AXObjectCache::handleMenuItemSelected):
(WebCore::AXObjectCache::selectedStateChanged):
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::handleModalChange):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::updateIsolatedTree):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::readOnlyValue const):
(WebCore::AccessibilityObject::autoCompleteValue const):
(WebCore::AccessibilityObject::currentValue const):
(WebCore::AccessibilityObject::replaceTextInRange):
(WebCore::AccessibilityObject::computedRoleString const):
(WebCore::nodeHasPresentationRole):
(WebCore::AccessibilityObject::resolvedEditingStyles const):
(WebCore::Accessibility::isRadioButtonInDifferentAdhocGroup):
(WebCore::Accessibility::findMatchingObjects):

  • accessibility/AccessibilityObjectInterface.h:

(WebCore::accessibilityRoleToString):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::renderObjectIsObservable const):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::updateRoleAfterChildrenCreation):
(WebCore::AccessibilityRenderObject::liveRegionRelevant const):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored const):

  • accessibility/AccessibilityTree.cpp:

(WebCore::AccessibilityTree::nodeHasTreeItemChild const):
(WebCore::AccessibilityTree::isTreeValid const):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::classList const):

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::AXIsolatedTree):
(WebCore::AXIsolatedTree::~AXIsolatedTree):
(WebCore::AXIsolatedTree::clear):
(WebCore::AXIsolatedTree::treeForID):
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::removeTreeForPageID):
(WebCore::AXIsolatedTree::objectsForIDs const):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateNodeProperty):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::focusedNode):
(WebCore::AXIsolatedTree::rootNode):
(WebCore::AXIsolatedTree::setRootNode):
(WebCore::AXIsolatedTree::setFocusedNodeID):
(WebCore::AXIsolatedTree::updateLoadingProgress):
(WebCore::AXIsolatedTree::removeNode):
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
(WebCore::AXIsolatedTree::applyPendingChanges):

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::subrolePlatformString const):
(WebCore::AccessibilityObject::rolePlatformDescription const):

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::getTiming const):

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::animate):

  • animation/EffectTiming.h:
  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::CSSPropertyIDToIDLAttributeName):
(WebCore::KeyframeEffect::getKeyframes):

  • bindings/js/GCController.cpp:

(WebCore::GCController::GCController):

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::upgradeElement):

  • bindings/js/JSDOMConvertNumbers.h:

(WebCore::Converter<IDLFloat>::convert):

  • bindings/js/JSExecStateInstrumentation.h:

(WebCore::JSExecState::instrumentFunction):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::callInWorld):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcArray::setValueAt const):
(JSC::Bindings::ObjcArray::valueAt const):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::put):
(JSC::RuntimeArray::putByIndex):

  • bridge/runtime_object.cpp:

(JSC::Bindings::throwRuntimeObjectInvalidAccessError):

  • contentextensions/ContentExtensionActions.cpp:

(WebCore::ContentExtensions::ModifyHeadersAction::ModifyHeaderInfo::parse):
(WebCore::ContentExtensions::RedirectAction::parse):
(WebCore::ContentExtensions::RedirectAction::URLTransformAction::parse):
(WebCore::ContentExtensions::RedirectAction::URLTransformAction::QueryTransform::parse):
(WebCore::ContentExtensions::RedirectAction::URLTransformAction::QueryTransform::QueryKeyValue::parse):

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::getDomainList):
(WebCore::ContentExtensions::loadTrigger):
(WebCore::ContentExtensions::loadAction):

  • contentextensions/SerializedNFA.cpp:

(WebCore::ContentExtensions::SerializedNFA::serialize):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::URLFilterParser::statusString):

  • contentextensions/URLFilterParser.h:
  • crypto/SubtleCrypto.cpp:

(WebCore::SubtleCrypto::addAuthenticatedEncryptionWarningIfNecessary):

  • crypto/algorithms/CryptoAlgorithmAES_CBC.h:
  • crypto/algorithms/CryptoAlgorithmAES_CFB.h:
  • crypto/algorithms/CryptoAlgorithmAES_CTR.h:
  • crypto/algorithms/CryptoAlgorithmAES_GCM.h:
  • crypto/algorithms/CryptoAlgorithmAES_KW.h:
  • crypto/algorithms/CryptoAlgorithmECDH.h:
  • crypto/algorithms/CryptoAlgorithmECDSA.h:
  • crypto/algorithms/CryptoAlgorithmHKDF.h:
  • crypto/algorithms/CryptoAlgorithmHMAC.h:
  • crypto/algorithms/CryptoAlgorithmPBKDF2.h:
  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
  • crypto/algorithms/CryptoAlgorithmRSA_PSS.h:
  • crypto/algorithms/CryptoAlgorithmSHA1.h:
  • crypto/algorithms/CryptoAlgorithmSHA224.h:
  • crypto/algorithms/CryptoAlgorithmSHA256.h:
  • crypto/algorithms/CryptoAlgorithmSHA384.h:
  • crypto/algorithms/CryptoAlgorithmSHA512.h:
  • crypto/keys/CryptoKeyAES.cpp:

(WebCore::CryptoKeyAES::exportJwk const):

  • crypto/keys/CryptoKeyEC.cpp:

(WebCore::CryptoKeyEC::exportJwk const):

  • crypto/keys/CryptoKeyHMAC.cpp:

(WebCore::CryptoKeyHMAC::exportJwk const):

  • crypto/keys/CryptoKeyRSA.cpp:

(WebCore::CryptoKeyRSA::exportJwk const):

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSupportedFormat const):

  • css/CSSGridTemplateAreasValue.cpp:

(WebCore::stringForPosition):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::unitTypeString):

  • css/CSSSubgridValue.cpp:

(WebCore::CSSSubgridValue::customCSSText const):

  • css/DOMCSSNamespace.cpp:

(WebCore::valueWithoutImportant):

  • css/DOMCSSRegisterCustomProperty.cpp:

(WebCore::DOMCSSRegisterCustomProperty::registerProperty):

  • css/DeprecatedCSSOMValue.cpp:

(WebCore::DeprecatedCSSOMValue::cssText const):

  • css/FontFace.cpp:

(WebCore::FontFace::unicodeRange const):

  • css/MediaQueryExpression.cpp:

(WebCore::MediaQueryExpression::serialize const):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getLayeredShorthandValue const):
(WebCore::MutableStyleProperties::setCustomProperty):

  • css/makevalues.pl:
  • css/parser/MediaQueryParser.cpp:

(WebCore::MediaQueryParser::skipUntilComma):
(WebCore::MediaQueryParser::parseInternal):

  • css/parser/SizesAttributeParser.cpp:

(WebCore::SizesAttributeParser::mediaConditionMatches):

  • css/typedom/CSSNumericFactory.h:
  • css/typedom/CSSNumericValue.cpp:

(WebCore::CSSNumericValue::multiplyInternal):
(WebCore::CSSNumericValue::to):
(WebCore::CSSNumericValue::parse):

  • css/typedom/CSSStyleValueFactory.cpp:

(WebCore::CSSStyleValueFactory::reifyValue):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverterCaches::propertyValueForNode):
(HTMLConverter::_processElement):

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::attachmentForData):

  • loader/cocoa/BundleResourceLoader.mm:

(WebCore::BundleResourceLoader::loadResourceFromBundle):

  • loader/mac/LoaderNSURLExtras.mm:

(suggestedFilenameWithMIMEType):

  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::HistoricResourceUsageData::HistoricResourceUsageData):
(WebCore::drawCpuHistory):
(WebCore::drawGCHistory):
(WebCore::drawMemHistory):

  • page/cocoa/SettingsBaseCocoa.mm:

(WebCore::SettingsBase::initializeDefaultFontFamilies):

  • page/mac/PageMac.mm:

(WebCore::Page::platformInitialize):

  • platform/LocalizedStrings.cpp:

(WebCore::AXARIAContentGroupText):

  • platform/LocalizedStrings.h:
  • platform/Pasteboard.h:
  • platform/PasteboardCustomData.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(WebCore::MediaSessionManagerCocoa::updateNowPlayingInfo):

  • platform/cocoa/KeyEventCocoa.mm:

(WebCore::keyIdentifierForCharCode):

  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::imageTypeToFakeFilename):
(WebCore::Pasteboard::read):

  • platform/cocoa/PasteboardCustomDataCocoa.mm:

(WebCore::PasteboardCustomData::cocoaType):

  • platform/graphics/FourCC.h:

(WTF::LogArgument<WebCore::FourCC>::toString):

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLANGLE::validateDepthStencil):

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::parseKeySystem):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setStorageDirectory):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequests):

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

(WebCore::CDMSessionMediaSourceAVFObjC::storagePath const):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):

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

(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):

  • platform/mac/DataDetectorHighlight.mm:

(WebCore::DataDetectorHighlight::fadeIn):
(WebCore::DataDetectorHighlight::fadeOut):

  • platform/mac/PasteboardMac.mm:
  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::keyIdentifierForKeyEvent):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
(WebCore::PlatformPasteboard::write):
(WebCore::createPasteboardItem):

  • platform/mac/StringUtilities.mm:

(WebCore::wildcardRegexPatternString):

  • platform/mac/ThreadCheck.mm:

(WebCoreReportThreadViolation):

  • platform/mac/UserAgentMac.mm:

(WebCore::standardUserAgentWithApplicationName):

  • platform/network/ResourceErrorBase.cpp:
  • platform/network/ResourceErrorBase.h:
  • platform/network/cocoa/RangeResponseGenerator.mm:

(WebCore::synthesizedResponseForRange):

  • rendering/RenderThemeMac.mm:

(WebCore::iconForAttachment):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • svg/SVGFilterElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/SVGLinearGradientElement.h:
  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.h:
  • svg/SVGPathSegImpl.h:
  • svg/SVGRadialGradientElement.h:
  • svg/properties/SVGPropertyTraits.h:

(WebCore::SVGPropertyTraits<bool>::toString):

  • testing/MockContentFilterSettings.h:

(WebCore::MockContentFilterSettings::unblockURLHost):

  • xml/XPathValue.h:

(WebCore::XPath::Value::Value):

  • xml/XSLStyleSheet.h:

Source/WebGPU:

  • WGSL/Parser.cpp:

(WGSL::Parser<Lexer>::parseGlobalDecl):
(WGSL::Parser<Lexer>::parseAttribute):
(WGSL::Parser<Lexer>::parseTypeDecl):
(WGSL::Parser<Lexer>::parseStorageClass):
(WGSL::Parser<Lexer>::parseAccessMode):
(WGSL::Parser<Lexer>::parseStatement):
(WGSL::Parser<Lexer>::parsePrimaryExpression):
(WGSL::Parser<Lexer>::parseCoreLHSExpression):

  • WGSL/Token.cpp:

(WGSL::toString):

  • WebGPU/Adapter.mm:

(WebGPU::Adapter::requestDevice):

  • WebGPU/Buffer.mm:

(WebGPU::Buffer::mapAsync):
(WebGPU::Buffer::unmap):

  • WebGPU/CommandEncoder.mm:

(WebGPU::CommandEncoder::copyBufferToBuffer):
(WebGPU::CommandEncoder::clearBuffer):
(WebGPU::CommandEncoder::finish):

  • WebGPU/ComputePipeline.mm:

(WebGPU::createConstantValues):
(WebGPU::Device::createComputePipeline):

  • WebGPU/Queue.mm:

(WebGPU::Queue::submit):

  • WebGPU/Sampler.mm:

(WebGPU::Device::createSampler):

  • WebGPU/ShaderModule.mm:

(WebGPU::earlyCompileShaderModule):

Source/WebKit:

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setPromisedDataForImage):
(WebKit::WebViewImpl::requestDOMPasteAccess):

Source/WebKitLegacy/mac:

  • Misc/WebNSPasteboardExtras.mm:

(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):

Source/WTF:

  • wtf/text/TextStream.h:

(WTF::TextStream::dumpProperty):

Tools:

  • TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:

(TEST):

10:09 AM Changeset in webkit [291862] by Russell Epstein
  • 2 edits in branches/safari-614.1.7-branch/Source/WebKit

Cherry-pick r291828. rdar://problem/90794287

After r291814, we need to create the INSTALL_PATH for the iOS sandbox files
https://bugs.webkit.org/show_bug.cgi?id=238351

Reviewed by Saam Barati.

We need to create the $(INSTALL_PATH) for the preprocessed iOS sandbox files.
Before r291814, the built-in Xcode copy step used ditto when copying the .sb
files thus creating $(INSTALL_PATH) and its intermediate directories.
That change set made it so that all WebKit iOS sandbox profile files are preprocessed
thus eliminating the Xcode copy step.

  • WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:09 AM Changeset in webkit [291861] by Russell Epstein
  • 10 edits
    4 moves in branches/safari-614.1.7-branch/Source/WebKit

Cherry-pick r291814. rdar://problem/90343926

Update Sandbox profiles for system content path
https://bugs.webkit.org/show_bug.cgi?id=238255

Reviewed by Per Arne Vollan.

Updated WebKit sandbox profiles to include system content path rule files when building with the system content path.
Changed the iOS profiles to be preprocessed to make these changes.

  • DerivedSources-input.xcfilelist
  • DerivedSources-output.xcfilelist
  • DerivedSources.make:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.
  • Shared/Sandbox/preferences.sb:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:04 AM Changeset in webkit [291860] by Russell Epstein
  • 9 edits in branches/safari-614.1.7-branch/Source

Versioning.

WebKit-7614.1.7.2

9:58 AM Changeset in webkit [291859] by Russell Epstein
  • 1 copy in tags/Safari-614.1.7.1

Tag Safari-614.1.7.1.

9:58 AM Changeset in webkit [291858] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Unreviewed cleanup.

Fix some errors found by lint-test-expectations (which add noise to every test run).

  • platform/ios/TestExpectations:
  • platform/win/TestExpectations:
9:43 AM Changeset in webkit [291857] by Russell Epstein
  • 9 edits in branches/safari-614.1.7-branch/Source

Versioning.

WebKit-7614.1.7.1

9:28 AM Changeset in webkit [291856] by Diego Pino Garcia
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix non-unified build after r291779

  • wasm/WasmExceptionType.h:
9:07 AM Changeset in webkit [291855] by Tyler Wilcock
  • 3 edits in trunk/Source/WebCore

Include object IDs in logs and assert in AXIsolatedTree and WebAccessibilityObjectWrapperBase
https://bugs.webkit.org/show_bug.cgi?id=238352

Reviewed by Chris Fleizach.

I've found this additional information to be useful in other branches I'm working on.

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase detachIsolatedObject:]):

8:55 AM Changeset in webkit [291854] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix the internal iOS build after r291842
https://bugs.webkit.org/show_bug.cgi?id=238344

Apply a similar adjustment to WKModelView.mm, as in ARKitInlinePreviewModelPlayerMac.mm, when generating a
usdz file path.

  • UIProcess/ios/WKModelView.mm:

(-[WKModelView createFileForModel:]):

8:52 AM Changeset in webkit [291853] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

media/auto-play-web-audio-in-about-blank-iframe.html is failing on EWS MacOS Debug bot
https://bugs.webkit.org/show_bug.cgi?id=238315

Reviewed by Eric Carlson.

Make sure to reset the state to foreground.
Speculative fix as I was not able to reproduce locally.

  • testing/Internals.cpp:
2:15 AM Changeset in webkit [291852] by commit-queue@webkit.org
  • 10 edits in trunk

Improve rebuilding of ruby subtrees
https://bugs.webkit.org/show_bug.cgi?id=238365

Source/WebCore:

Patch by Frédéric Wang <fwang@igalia.com> on 2022-03-25
Reviewed by Alan Bujtas.

Don't collapse generated Ruby subtree when tearing down children and take into account the
fact that anonymous before/after node can belong to a display: content child.

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers): Don't collapse.

  • rendering/updating/RenderTreeBuilderRuby.cpp:

(WebCore::lastRubyRun): Child can be also be an anonymous after content.
(WebCore::RenderTreeBuilder::Ruby::findOrCreateParentForChild): When beforeChild is
an anonymous before/after, just fallback to appending to the last ruby run.

LayoutTests:

Patch by Frederic Wang <fred.wang@free.fr> on 2022-03-25
Reviewed by Alan Bujtas.

Expectation for rubyDOM-remove-text2.html is updated now that we don't collapse anonymous
RenderRubyBase nodes.

  • platform/gtk/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
  • platform/ios/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
  • platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
  • platform/win/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
  • platform/wincairo/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
  • platform/wpe/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
1:54 AM Changeset in webkit [291851] by sihui_liu@apple.com
  • 22 edits in trunk

Introduce an SPI to get website data directory for origin and use it in API tests
https://bugs.webkit.org/show_bug.cgi?id=238269

Reviewed by Alex Christensen.

Source/WebKit:

There are a few tests using hardcoded website data paths to check if files are correcly modified by API.
Everytime we migrate website data (for example, if we start using general storage directory for IndexedDB
storage), we need to update these tests with new paths, otherwise the tests will check the wrong paths. Let's
just add an SPI so these tests can get the paths in use dynamically, which would avoid test breakage when
we do website data migration.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::websiteDataOriginDirectoryForTesting):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/storage/NetworkStorageManager.cpp:

(WebKit::NetworkStorageManager::moveData):
(WebKit::NetworkStorageManager::getOriginDirectory):

  • NetworkProcess/storage/NetworkStorageManager.h:
  • NetworkProcess/storage/OriginStorageManager.cpp:

(WebKit::OriginStorageManager::StorageBucket::toStorageType const):
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::StorageBucket::resolvedIDBStoragePath):
(WebKit::OriginStorageManager::StorageBucket::resolvedPath):
(WebKit::OriginStorageManager::resolvedPath):
(WebKit::OriginStorageManager::resolvedLocalStoragePath): Deleted.
(WebKit::OriginStorageManager::resolvedIDBStoragePath): Deleted.

  • NetworkProcess/storage/OriginStorageManager.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _originDirectoryForTesting:topOrigin:type:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::websiteDataOriginDirectoryForTesting):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::originDirectoryForTesting):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:

(runMultipleIndicesTestWithDatabase):

  • TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm:

(runTest):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/StoreBlobThenDelete.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:

(runWebsiteDataStoreCustomPaths):

12:43 AM Changeset in webkit [291850] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WebCore

Mismatched forward declaration of GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=238359

Reviewed by Darin Adler.

Forward declaration should be for a class not a struct. Fixes a warning.

  • platform/graphics/cairo/CairoOperations.h:

Mar 24, 2022:

10:02 PM Changeset in webkit [291849] by don.olmstead@sony.com
  • 11 edits in trunk/Source

Non-unified build fixes, late March 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=238358

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • bytecode/ExitKind.cpp:
  • bytecode/ExitKind.h:
  • heap/RootMarkReason.cpp:
  • heap/RootMarkReason.h:
  • runtime/CallData.h:

Source/WebCore:

  • html/HTMLInputElement.cpp:

Source/WebKit:

  • GPUProcess/GPUProcess.cpp:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
9:21 PM Changeset in webkit [291848] by Chris Dumez
  • 7 edits in trunk/Source

String::split() should take in a StringView instead of a String
https://bugs.webkit.org/show_bug.cgi?id=238355

Reviewed by Geoffrey Garen.

Source/WebCore:

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::classList const):
Call the more efficient split(UChar) overload instead.

Source/WebKit:

  • UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp:

Optimize by calling StringView::split() instead of String::split().

Source/WTF:

String::split() should take in a StringView instead of a String, to avoid unnecessary construction
of Strings in some instances.

  • wtf/text/WTFString.cpp:

(WTF::String::splitInternal const):
(WTF::String::split const):
(WTF::String::splitAllowingEmptyEntries const):

  • wtf/text/WTFString.h:
9:14 PM Changeset in webkit [291847] by ysuzuki@apple.com
  • 1 edit
    1 add in trunk/JSTests

Add additional reported regression tests to ensure multiline token's column offset is reset
https://bugs.webkit.org/show_bug.cgi?id=221548

Reviewed by Alexey Shvayka.

The bug is fixed and tested in https://github.com/WebKit/WebKit/commit/6d1e5d9498f24805988ad81ca3228588dd000a51.
But let's add reported regression tests to ensure that they will not reproduce.

  • stress/multiline-token-error-column.js: Added.

(shouldBe):
(throw.new.Error):

9:08 PM Changeset in webkit [291846] by mmaxfield@apple.com
  • 15 edits
    2 adds in trunk

[Cocoa] REGRESSION(r281291): When accessibility bold is enabled, font-family:system-ui is supposed to be bold
https://bugs.webkit.org/show_bug.cgi?id=237817
<rdar://problem/88249241>

Reviewed by Alan Bujtas.

Source/WebCore:

Accessibility bold is supposed to cause the system font to be rendered as bold, even if the
value of the font-weight property is normal.

The way this is originally supposed to work is that, when accessibility bold is enabled and
software asks for the system font, the font reports to not be bold, but the metrics/contours
end up visually bold to the user. Font variations, however, are a lower-level interface to
the font, and don't abide by the facade. So, before r281291, we weren't applying font variations
to the system font, so the facade was maintained, but r281291 started applying variations to the
system font, thereby breaking this accessibility bold setting.

The solution is to re-implement accessibility bold when we apply font variations. At the point
where we apply the weight variation, we should determine if accessibility bold is in effect, and
if it is, artificially increase the weight of the created font according to the platform's
inflation amount. There are a few SPI functions which aid in this endeavor.

Test: fast/text/accessibility-bold.html

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::fontIsSystemFont):
(WebCore::normalizeGXWeight):
(WebCore::normalizeCTWeight):
(WebCore::denormalizeGXWeight):
(WebCore::denormalizeCTWeight):
(WebCore::overrideEnhanceTextLegibility):
(WebCore::setOverrideEnhanceTextLegibility):
(WebCore::shouldEnhanceTextLegibility):
(WebCore::preparePlatformFont):
(WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
(WebCore::FontCache::platformInit):
(WebCore::variationCapabilitiesForFontDescriptor):
(WebCore::normalizeWeight): Deleted.
(WebCore::denormalizeWeight): Deleted.

  • platform/graphics/cocoa/FontCacheCoreText.h:
  • testing/Internals.cpp:

(WebCore::Internals::setOverrideEnhanceTextLegibility):

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

Source/WebCore/PAL:

  • pal/spi/cf/CoreTextSPI.h:
  • pal/spi/cocoa/AccessibilitySupportSPI.h:

LayoutTests:

This test has <!-- webkit-test-runner [ runSingly=true ] --> so the testing
infrastructure for accessibility bold can be web-process-global.

  • fast/text/accessibility-bold-expected-mismatch.html: Added.
  • fast/text/accessibility-bold.html: Added.
  • platform/mac/TestExpectations: Because this test relies on a webkit-test-runner

header, skip it on WK1.

  • platform/ios/TestExpectations: Ditto.
  • platform/mac-wk2/TestExpectations: Mark as PASS.
  • platform/ios-wk2/TestExpectations: Ditto.
7:51 PM Changeset in webkit [291845] by Alan Coon
  • 9 edits in branches/safari-613.1.17.1-branch/Source

Versioning.

WebKit-7613.1.17.1.13

7:40 PM Changeset in webkit [291844] by Alan Coon
  • 1 copy in tags/Safari-613.1.17.1.12

Tag Safari-613.1.17.1.12.

7:07 PM Changeset in webkit [291843] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Require click-to-play for media in Captive Portals
https://bugs.webkit.org/show_bug.cgi?id=238353
<rdar://90575996>

Reviewed by Chris Dumez.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::adjustSettingsForCaptivePortal): Disable auto-play for media for
Captive Portals.

7:05 PM Changeset in webkit [291842] by Chris Dumez
  • 31 edits in trunk

FileSystem::pathByAppendingComponent() should take in StringViews instead of Strings
https://bugs.webkit.org/show_bug.cgi?id=238344

Reviewed by Geoff Garen.

Source/JavaScriptCore:

  • jsc.cpp:

Source/WebCore:

  • Modules/indexeddb/IDBDatabaseIdentifier.cpp:

(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot const):
(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot):

  • Modules/indexeddb/IDBDatabaseIdentifier.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions):
(WebCore::IDBServer::IDBServer::diskUsage):
(WebCore::IDBServer::IDBServer::upgradedDatabaseDirectory):

  • Modules/webdatabase/OriginLock.cpp:

(WebCore::lockFileNameForPath):

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

(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setStorageDirectory):

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::loadIndex):

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:

(WebKit::PCM::Database::Database):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::storagePath):
(WebKit::CacheStorage::Engine::initialize):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::cachesListFilename):
(WebKit::CacheStorage::cachesOriginFilename):
(WebKit::CacheStorage::Caches::cachesSizeFilename):

  • NetworkProcess/cache/NetworkCacheBlobStorage.cpp:

(WebKit::NetworkCache::BlobStorage::blobPathForHash const):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::makeCachePath):

  • NetworkProcess/storage/IDBStorageManager.cpp:

(WebKit::IDBStorageManager::idbStorageOriginDirectory):

  • UIProcess/Inspector/win/InspectorResourceURLSchemeHandler.cpp:

(WebKit::InspectorResourceURLSchemeHandler::platformStartTask):

Source/WebKitLegacy/mac:

  • Storage/WebDatabaseProvider.mm:

(WebDatabaseProvider::indexedDatabaseDirectoryPath):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WTF:

FileSystem::pathByAppendingComponent() should take in StringViews instead of Strings, to avoid
unnecessary String constructor in many instances.

  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::pathByAppendingComponent):

  • wtf/FileSystem.h:
  • wtf/posix/FileSystemPOSIX.cpp:

(WTF::FileSystemImpl::pathByAppendingComponent):

Tools:

  • TestWebKitAPI/Tests/WTF/FileSystem.cpp:

(TestWebKitAPI::TEST_F):

6:03 PM Changeset in webkit [291841] by Nikos Mouchtaris
  • 5 edits in trunk

calc(): Handle finite value with infinite step in round()
https://bugs.webkit.org/show_bug.cgi?id=238231

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-values/round-function-expected.txt:

Source/WebCore:

Add handling for finite value with infinite step in round().

  • css/calc/CSSCalcOperationNode.cpp:

(WebCore::CSSCalcOperationNode::evaluateOperator):

  • css/calc/CSSCalcPrimitiveValueNode.cpp:

(WebCore::CSSCalcPrimitiveValueNode::invert):

5:50 PM Changeset in webkit [291840] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm

Apply patch. rdar://problem/90792723

5:41 PM Changeset in webkit [291839] by Russell Epstein
  • 1 copy in tags/Safari-614.1.7

Tag Safari-614.1.7.

5:15 PM Changeset in webkit [291838] by Russell Epstein
  • 1 copy in tags/Safari-614.1.5.17

Tag Safari-614.1.5.17.

5:13 PM Changeset in webkit [291837] by Chris Dumez
  • 29 edits in trunk

String's startsWith() / endsWith() / replace() should take in a StringView instead of a String
https://bugs.webkit.org/show_bug.cgi?id=238333

Reviewed by Geoff Garen.

Source/JavaScriptCore:

  • runtime/FileBasedFuzzerAgent.cpp:

(JSC::FileBasedFuzzerAgent::getPredictionInternal):

  • runtime/IntlRelativeTimeFormat.cpp:

(JSC::singularUnit):

  • runtime/TemporalObject.cpp:

(JSC::singularUnit):

Source/WebCore:

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::shouldIgnoreIceCandidate):

  • css/CSSImageValue.cpp:

(WebCore::ResolvedURL::isLocalURL const):

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::screenshot):

  • page/csp/ContentSecurityPolicySource.cpp:

(WebCore::ContentSecurityPolicySource::pathMatches const):

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLANGLE::getUnmangledInfoLog):

  • platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:

(WebCore::CDMFactoryFairPlayStreaming::supportsKeySystem):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::supportsContainerType):
(WebCore::ImageDecoderGStreamer::canDecodeType):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::supportsType):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::checkVaryingsPacking const):

  • platform/network/ParsedRequestRange.cpp:

(WebCore::ParsedRequestRange::parse):

  • platform/network/curl/CookieJarDB.cpp:

(WebCore::checkSecureCookie):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::handleAcceptedCandidateWithSoftSpaces):

Source/WTF:

String's startsWith() / endsWith() / replace() should take in a StringView instead of a String,
to avoid unnecessary String creation in many instances.

  • wtf/text/AtomString.h:
  • wtf/text/StringCommon.h:

(WTF::startsWith): Deleted.
(WTF::startsWithIgnoringASCIICase): Deleted.
(WTF::endsWith): Deleted.
(WTF::endsWithIgnoringASCIICase): Deleted.

  • wtf/text/StringImpl.cpp:

(WTF::equalInner):
(WTF::StringImpl::startsWith const):
(WTF::StringImpl::startsWithIgnoringASCIICase const):
(WTF::StringImpl::hasInfixStartingAt const):
(WTF::StringImpl::endsWith):
(WTF::StringImpl::endsWithIgnoringASCIICase const):
(WTF::StringImpl::hasInfixEndingAt const):
(WTF::StringImpl::replace):

  • wtf/text/StringImpl.h:

(WTF::StringImpl::startsWith const): Deleted.
(WTF::StringImpl::endsWith const): Deleted.

  • wtf/text/StringView.h:

(WTF::startsWith):
(WTF::startsWithIgnoringASCIICase):
(WTF::endsWith):
(WTF::endsWithIgnoringASCIICase):
(WTF::String::replace):
(WTF::String::startsWith const):
(WTF::String::startsWithIgnoringASCIICase const):
(WTF::String::endsWith const):
(WTF::String::endsWithIgnoringASCIICase const):
(WTF::String::hasInfixStartingAt const):
(WTF::String::hasInfixEndingAt const):
(WTF::AtomString::startsWith const):
(WTF::AtomString::startsWithIgnoringASCIICase const):
(WTF::AtomString::endsWith const):
(WTF::AtomString::endsWithIgnoringASCIICase const):

  • wtf/text/WTFString.h:
5:13 PM Changeset in webkit [291836] by Russell Epstein
  • 2 edits in branches/safari-614.1.5-branch/Source/WebKit

Cherry-pick r291828. rdar://problem/90794287

After r291814, we need to create the INSTALL_PATH for the iOS sandbox files
https://bugs.webkit.org/show_bug.cgi?id=238351

Reviewed by Saam Barati.

We need to create the $(INSTALL_PATH) for the preprocessed iOS sandbox files.
Before r291814, the built-in Xcode copy step used ditto when copying the .sb
files thus creating $(INSTALL_PATH) and its intermediate directories.
That change set made it so that all WebKit iOS sandbox profile files are preprocessed
thus eliminating the Xcode copy step.

  • WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:08 PM Changeset in webkit [291835] by don.olmstead@sony.com
  • 6 edits in trunk/Source

[GLib] Add user directories to WTF::FileSystem
https://bugs.webkit.org/show_bug.cgi?id=238348

Reviewed by Adrian Perez de Castro.

Source/WebKit:

Use the new FileSystem APIs instead of calling glib directly.

  • UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp:

(WebKit::inspectorWebsiteDataStore):

  • UIProcess/glib/WebsiteDataStoreGLib.cpp:

(WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):

Source/WTF:

Add FileSystem::userCacheDirectory and FileSystem::userDataDirectory which call into
g_get_user_cache_dir and g_get_user_data_dir respectively.

  • wtf/FileSystem.h:
  • wtf/glib/FileSystemGlib.cpp:

(WTF::FileSystemImpl::userCacheDirectory):
(WTF::FileSystemImpl::userDataDirectory):

5:01 PM Changeset in webkit [291834] by Russell Epstein
  • 1 copy in tags/Safari-614.1.5.5.2

Tag Safari-614.1.5.5.2.

4:59 PM Changeset in webkit [291833] by Russell Epstein
  • 2 edits in branches/safari-614.1.5.5-branch/Source/WebKit

Cherry-pick r291828. rdar://problem/90794287

After r291814, we need to create the INSTALL_PATH for the iOS sandbox files
https://bugs.webkit.org/show_bug.cgi?id=238351

Reviewed by Saam Barati.

We need to create the $(INSTALL_PATH) for the preprocessed iOS sandbox files.
Before r291814, the built-in Xcode copy step used ditto when copying the .sb
files thus creating $(INSTALL_PATH) and its intermediate directories.
That change set made it so that all WebKit iOS sandbox profile files are preprocessed
thus eliminating the Xcode copy step.

  • WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:57 PM Changeset in webkit [291832] by Devin Rousso
  • 6 edits in trunk/Source

[iOS] make WKMouseGestureRecognizer officially conform to _UIHoverEventRespondable
https://bugs.webkit.org/show_bug.cgi?id=238242
<rdar://problem/88828903>

Reviewed by Tim Horton.

Source/WebKit:

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

Source/WTF:

  • wtf/PlatformHave.h:
4:56 PM Changeset in webkit [291831] by Russell Epstein
  • 9 edits in branches/safari-614.1.5.5-branch/Source

Versioning.

WebKit-7614.1.5.5.2

4:53 PM Changeset in webkit [291830] by Nikos Mouchtaris
  • 8 edits in trunk

Fix serialization of nan, infinity, -infinity for calc()
https://bugs.webkit.org/show_bug.cgi?id=238288

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt:
  • web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt:
  • web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt:
  • web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt:

Source/WebCore:

Update serializing of nan, infinity, -infinity to be in line with step 2 of:
https://drafts.csswg.org/css-values/#calc-serialize.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue const):
(WebCore::CSSPrimitiveValue::formatIntegerValue const):

4:48 PM Changeset in webkit [291829] by Russell Epstein
  • 10 edits
    4 moves in branches/safari-614.1.5-branch/Source/WebKit

Cherry-pick r291814. rdar://problem/90343926

Update Sandbox profiles for system content path
https://bugs.webkit.org/show_bug.cgi?id=238255

Reviewed by Per Arne Vollan.

Updated WebKit sandbox profiles to include system content path rule files when building with the system content path.
Changed the iOS profiles to be preprocessed to make these changes.

  • DerivedSources-input.xcfilelist
  • DerivedSources-output.xcfilelist
  • DerivedSources.make:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.
  • Shared/Sandbox/preferences.sb:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:38 PM Changeset in webkit [291828] by msaboff@apple.com
  • 2 edits in trunk/Source/WebKit

After r291814, we need to create the INSTALL_PATH for the iOS sandbox files
https://bugs.webkit.org/show_bug.cgi?id=238351

Reviewed by Saam Barati.

We need to create the $(INSTALL_PATH) for the preprocessed iOS sandbox files.
Before r291814, the built-in Xcode copy step used ditto when copying the .sb
files thus creating $(INSTALL_PATH) and its intermediate directories.
That change set made it so that all WebKit iOS sandbox profile files are preprocessed
thus eliminating the Xcode copy step.

  • WebKit.xcodeproj/project.pbxproj:
4:38 PM Changeset in webkit [291827] by Russell Epstein
  • 1 copy in tags/Safari-614.1.5.5.1

Tag Safari-614.1.5.5.1.

4:37 PM Changeset in webkit [291826] by Russell Epstein
  • 10 edits
    4 moves in branches/safari-614.1.5.5-branch/Source/WebKit

Cherry-pick r291814. rdar://problem/90343926

Update Sandbox profiles for system content path
https://bugs.webkit.org/show_bug.cgi?id=238255

Reviewed by Per Arne Vollan.

Updated WebKit sandbox profiles to include system content path rule files when building with the system content path.
Changed the iOS profiles to be preprocessed to make these changes.

  • DerivedSources-input.xcfilelist
  • DerivedSources-output.xcfilelist
  • DerivedSources.make:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.
  • Shared/Sandbox/preferences.sb:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:37 PM Changeset in webkit [291825] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Set bug_title property appropriately
https://bugs.webkit.org/show_bug.cgi?id=238342

Reviewed by Ryan Haddad.

  • CISupport/ews-build/steps.py:

(BugzillaMixin._is_bug_closed):

4:29 PM Changeset in webkit [291824] by Patrick Angle
  • 4 edits in trunk/Source/WebCore

Web Inspector: Blank inspector in a page with container queries
https://bugs.webkit.org/show_bug.cgi?id=238338

Reviewed by Devin Rousso.

Because there is no CSSOM implementation for container queries, we are unable to inspect them currently.
However, we should be resilient to the absence of that implementation and expect that not all rules have a
matching CSSOM implementation, instead of just crashing when it happens. This patch only resolves crashes as the
result of the presence of container queries, and followup work will be done to actually plumb the correct
information to Web Inspector to show these rules.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::collectFlatRules):

  • inspector/agents/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::collectStyleSheets):

  • style/InspectorCSSOMWrappers.cpp:

(WebCore::Style::InspectorCSSOMWrappers::collect):

4:23 PM Changeset in webkit [291823] by Patrick Angle
  • 2 edits in trunk/Source/WebKit

REGRESSION(STP142): "A JavaScript exception occured: Can't find variable: utils" from SafariDriver
https://bugs.webkit.org/show_bug.cgi?id=238335

Reviewed by Devin Rousso.

Following r289467, we can't just copy the WebDriver atom scripts to the build products, since they now need to
have utils.js in any script that uses the utils namespace. The WebKit.framework copy of these scripts are
later used while building safaridriver, so they need to include the scripts as well.

  • WebKit.xcodeproj/project.pbxproj:
4:22 PM Changeset in webkit [291822] by Russell Epstein
  • 9 edits in branches/safari-614.1.5.5-branch/Source

Versioning.

WebKit-7614.1.5.5.1

4:14 PM Changeset in webkit [291821] by pvollan@apple.com
  • 6 edits in trunk/Source/WebKit

REGRESSION(r286590): Links with URL schemes are not clickable in Mail
https://bugs.webkit.org/show_bug.cgi?id=238262
<rdar://89145552>

Reviewed by Geoffrey Garen.

This feature requires access to the Launch Services daemon in Mail and other apps on iOS.
This patch is a partial revert of r286590.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Shared/WebProcessCreationParameters.cpp:

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

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::nonBrowserServices):
(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

4:09 PM Changeset in webkit [291820] by Russell Epstein
  • 1 copy in branches/safari-614.1.5.5-branch

New branch.

3:57 PM Changeset in webkit [291819] by Russell Epstein
  • 9 edits in branches/safari-614.1.5-branch/Source

Versioning.

WebKit-7614.1.5.17

3:43 PM Changeset in webkit [291818] by Brent Fulgham
  • 4 edits in trunk

Disable RTCRtpScriptTransform in CaptivePortal mode
https://bugs.webkit.org/show_bug.cgi?id=238340
<rdar://87821636>

Reviewed by Chris Dumez.

Source/WebKit:

When displaying content in a captive portal, we should make sure we disable
WebRTCEncodedTransform.

Tests: TestWebKitAPI

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::adjustSettingsForCaptivePortal): Disable WebRTCEncodedTransform.

Tools:

Add a test that RTCRtpScriptTransform is properly disabled in
CaptivePortal mode.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3:27 PM Changeset in webkit [291817] by graouts@webkit.org
  • 15 edits
    3 adds in trunk

DOM GPUP: paintSystemPreviewBadge (AR QuickLook element badge)
https://bugs.webkit.org/show_bug.cgi?id=238295
rdar://83580608

Reviewed by Dean Jackson.

Source/WebCore:

Add a new SystemImage subclass to deal with the ARKit badge, moving the custom drawing code under
RenderThemeIOS::paintSystemPreviewBadge() to ARKitBadgeSystemImage::draw().

To facilitate this, we must also have ARKitBadgeSystemImage wrap the input Image provided to
RenderThemeIOS::paintSystemPreviewBadge() so that the CoreImage filters are applied correctly.

Finally, we remove some use of using namespace WebCore in WebSpeechRecognizerTask and
WebSpeechRecognizerTaskMock since it caused some unified build failures.

  • Headers.cmake:
  • Modules/speech/cocoa/WebSpeechRecognizerTask.mm:

(-[WebSpeechRecognizerTaskImpl initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
(-[WebSpeechRecognizerTaskImpl callbackWithTranscriptions:isFinal:]):
(-[WebSpeechRecognizerTaskImpl sendSpeechStartIfNeeded]):
(-[WebSpeechRecognizerTaskImpl sendSpeechEndIfNeeded]):
(-[WebSpeechRecognizerTaskImpl sendEndIfNeeded]):
(-[WebSpeechRecognizerTaskImpl speechRecognizer:availabilityDidChange:]):
(-[WebSpeechRecognizerTaskImpl speechRecognitionTask:didFinishSuccessfully:]):
(-[WebSpeechRecognizerTask initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):

  • Modules/speech/cocoa/WebSpeechRecognizerTaskMock.mm:

(-[WebSpeechRecognizerTaskMock initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
(-[WebSpeechRecognizerTaskMock audioSamplesAvailable:]):
(-[WebSpeechRecognizerTaskMock abort]):

  • Modules/system-preview/ARKitBadgeSystemImage.h: Added.

(WebCore::ARKitBadgeSystemImage::encode const):
(WebCore::ARKitBadgeSystemImage::decode):
(isType):

  • Modules/system-preview/ARKitBadgeSystemImage.mm: Added.

(WebCore::arKitBundle):
(WebCore::loadARKitPDFPage):
(WebCore::systemPreviewLogo):
(WebCore::ARKitBadgeSystemImage::draw const):

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/SystemImage.h:
  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::drawSystemImage):

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

(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
(WebCore::arKitBundle): Deleted.
(WebCore::loadARKitPDFPage): Deleted.
(WebCore::systemPreviewLogo): Deleted.

Source/WebKit:

Make sure we restore the Image on the ARKitBadgeSystemImage before we attempt to draw it.

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp:

(WebKit::RemoteDisplayListRecorder::drawSystemImage):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Ref<SystemImage>>::encode):
(IPC::ArgumentCoder<Ref<SystemImage>>::decode):

LayoutTests:

The system-preview/badge.html test now passes reliably with DOM GPUP enabled,
which incidentally fixes bug 236922.

  • platform/ios-wk2/TestExpectations:
3:22 PM Changeset in webkit [291816] by Kate Cheney
  • 3 edits
    2 adds in trunk

REGRESSION (Safari 15.4): Nonce from link isn't used when loading style sheet
https://bugs.webkit.org/show_bug.cgi?id=238014
<rdar://problem/90599352>

Reviewed by Brent Fulgham.

Source/WebCore:

In https://bugs.webkit.org/show_bug.cgi?id=179728 we implemented
nonce hiding from the DOM. It seems we missed once location
where we need to reference the element.nonce() instead of the
nonce attribute.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/stylesheet-allowed-with-nonce-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/stylesheet-allowed-with-nonce.py: Added.
2:55 PM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
2:41 PM Changeset in webkit [291815] by ysuzuki@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] JSRemoteFunction thunk should materialize code-pointer
https://bugs.webkit.org/show_bug.cgi?id=238313

Reviewed by Mark Lam.

When invoking a JSRemoteFunction, we must first wrap the arguments passed to it.
The wrapping operation may trigger a GC, and GC can jettison JIT code. As a result,
even though we know that the target JSFunction has JIT code that we want to execute,
the JIT code may be jettisoned (while wrapping the arguments for it) before we get
to the call. This resulted in occasional crashes on the JSTests/stress/shadow-realm-evaluate.js test.

This patch fixes this by doing a null check on the JIT code just before calling it,
and if null (i.e. the JIT code has been jettisoned), re-materializing the JIT code
first before making the call.

  • jit/JITOperations.cpp:

(JSC::JSC_DEFINE_JIT_OPERATION):

  • jit/JITOperations.h:
  • jit/ThunkGenerators.cpp:

(JSC::remoteFunctionCallGenerator):

2:39 PM Changeset in webkit [291814] by msaboff@apple.com
  • 10 edits
    4 moves in trunk/Source/WebKit

Update Sandbox profiles for system content path
https://bugs.webkit.org/show_bug.cgi?id=238255

Reviewed by Per Arne Vollan.

Updated WebKit sandbox profiles to include system content path rule files when building with the system content path.
Changed the iOS profiles to be preprocessed to make these changes.

  • DerivedSources-input.xcfilelist
  • DerivedSources-output.xcfilelist
  • DerivedSources.make:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Removed.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.
  • Shared/Sandbox/preferences.sb:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/com.apple.WebProcess.sb.in:
1:59 PM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
1:50 PM Changeset in webkit [291813] by Jean-Yves Avenard
  • 5 edits
    4 adds in trunk

Safari can't play video completely at bilibili.com
https://bugs.webkit.org/show_bug.cgi?id=236440
rdar://88761053

Reviewed by Jer Noble.

Source/WebCore:

Video frames were incorrectly evicted during a call to appendBuffer
as the Source Buffer incorrectly assumed a discontinuity was present.

When appending data to a source buffer, the MSE specs describe a method
to detect discontinuities in the Coded Frame Processing algorithm
(https://www.w3.org/TR/media-source/#sourcebuffer-coded-frame-processing)
step 6:
"

  • If last decode timestamp for track buffer is set and decode timestamp is less than last decode timestamp:

OR

  • If last decode timestamp for track buffer is set and the difference between decode timestamp and last decode timestamp is greater than 2 times last frame duration.

"
The issue being what defines the last frame duration.
Is it the frame last seen in the coded frame processing loop or the frame
whose presentation timestamp is just before the one we are currently
processing.

H264 and HEVC have a concept of b-frames: that is a frame that depends
on a future frame to be decoded.
Those frames are found in the container and can be identified by their
presentation timestamp higher than the frame following in decode order.
Those present a challenge as the frame prior the current one in
presentation order, may actually only be found several frames back in
decode order.
Bug 181891 attempted to fix a similar issue, and used the longest
"decode duration" as a workaround to detect discontinuity in the content.
It mentioned adopting the same technique as in Mozilla's MSE
implementation, but Mozilla also skip discontinuity detection within a
media segment (https://www.w3.org/TR/media-source/#media-segment which for
fMP4 is a single moof box) an approach that can't be achieved with
CoreMedia's AVStreamDataParser.
As mentioned in bug 181891, CoreMedia ignore the decode timestamps' delta
and juggles with the sample's duration so that there's no discontinuity
in the demuxed samples' presentation time, causing false positive in the
gap detection algorithm.

Bilibili uses HEVC content, and uses an encoding that generate lots
of b-frames, with a very wide sliding window (seen up to 12 frames).
By using the longest frame duration found in either presentation or
decode duration as threshold to identify a discontinuity, we can
properly parse the content and not incorrectly evict appended frames.
(As a side note, the use of HEVC with B-Frames is peculiar as not all
hardware support it.)
It is difficult to identify here if the issue is within the bilibili's
content or CoreMedia's output, though the responsibility more than
likely lies with bilibili.

Test: media/media-source/media-mp4-hevc-bframes.html

  • platform/graphics/SourceBufferPrivate.cpp:

(WebCore::SourceBufferPrivate::TrackBuffer::TrackBuffer):
(WebCore::SourceBufferPrivate::resetTrackBuffers):
(WebCore::SourceBufferPrivate::didReceiveSample):

  • platform/graphics/SourceBufferPrivate.h:

LayoutTests:

  • media/media-source/content/test-bframes-hevc-manifest.json: Added.
  • media/media-source/content/test-bframes-hevc.mp4: Added.
  • media/media-source/media-mp4-hevc-bframes-expected.txt: Added.
  • media/media-source/media-mp4-hevc-bframes.html: Added.
12:53 PM Changeset in webkit [291812] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[WinCairo] WCTileGrid should create tiles only for the inside of layer area
https://bugs.webkit.org/show_bug.cgi?id=238317

Reviewed by Don Olmstead.

The coverage rect returned by computeVisibleAndCoverageRect may be
bigger than the layer rect. Tiles should be paved only for the
intersection of the coverage rect and the layer rect.

  • WebProcess/WebPage/wc/WCTileGrid.cpp:

(WebKit::WCTileGrid::tileRectFromPixelRect): Take the intersection
with the layer rect. Return an empty rect if the intersection is
empty.

12:39 PM Changeset in webkit [291811] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Remove slow codepath matching arithmetics in FontCascade::widthForSimpleText
https://bugs.webkit.org/show_bug.cgi?id=238306

Reviewed by Antti Koivisto.

By now if we measure some text using the fast codepath, we usually stay on this codepath for the rest
of the layout (i.e. preferred width computation uses the same fast codepath, and we also don't dynamically switch between modern and legacy).

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::widthForSimpleText const):

12:36 PM Changeset in webkit [291810] by pvollan@apple.com
  • 6 edits in trunk/Source/WebKit

[iOS] Disable unneeded code when content filtering is running in the Network process
https://bugs.webkit.org/show_bug.cgi?id=238332

Reviewed by Geoffrey Garen.

  • Shared/Cocoa/LoadParametersCocoa.mm:

(WebKit::LoadParameters::platformEncode const):
(WebKit::LoadParameters::platformDecode):

  • Shared/LoadParameters.h:
  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::addPlatformLoadParameters):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::platformDidReceiveLoadParameters):

11:52 AM Changeset in webkit [291809] by Elliott Williams
  • 6 edits
    1 add
    2 deletes in trunk/Source/WebKit

[XCBuild] WebKit: Use native headers + build rules for migrated headers
https://bugs.webkit.org/show_bug.cgi?id=238213
<rdar://problem/90172142>

Reviewed by Alexey Proskuryakov.

Replace the Make-based header migration script phase with a native project-based
representation in WebKit.xcodeproj.

The project now contains a 'Migrated Headers' group which lists the headers from
WebKitLegacy and WebCore that are copied to WebKit.framework during the build process. This
group must be kept in sync with the actual headers in WebKitLegacy, but since new headers
shouldn't really be added to WebKitLegacy this will be low-friction.

The preexisting postprocess-header-rule build rule is refactored to handle the
transformations needed for Migrated headers, which previous came from WebKitLegacy's
postprocess-header-rule script or from one of the MigrateHeaders*.make files.

  • Configurations/WebKit.xcconfig: Use EXCLUDED_SOURCE_FILE_NAMES to customize migrated

headers on mac vs. non-mac platforms.

  • Scripts/postprocess-header-rule: Refactored to incorporate WebKitLegacy's postprocessing

steps, and to do less disk I/O, now that it's always invoked as a build rule and can do less
in-place editing. Local testing shows a ~15% speedup.

  • Shared/API/Cocoa/WebKitLegacy.h: Added. Xcode's header maps forbid a header's name from

changing during the copy process, so we have to duplicate WebKitLegacy's umbrella header
instead of renaming it WebKit.h -> WebKitLegacy.h during the build.

  • WebKit.xcodeproj/project.pbxproj: Added 'Migrated Headers' group and build rule.

Configured headers to always copy using XCBuild. Removed legacy-only header script phases.

  • WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm: This file used unqualified

<HEADER.h> imports, which are not supported by Xcode's headermaps. Replaced with "HEADER.h".

  • mac/MigrateHeadersFromWebKitLegacy.make: Removed, logic now lives in

mingrate-headers-rule.sh.

  • mac/postprocess-framework-headers.sh: Removed.
  • mac/replace-webkit-additions-includes.py: Refactored to use stdin and stdout rather than

editing in-place. Corresponds to refactors in postprocess-header-rule.

11:50 AM Changeset in webkit [291808] by gnavamarino@apple.com
  • 3 edits in trunk/Source/WebCore

FormDataConsumer callback happens more than once with an exception
https://bugs.webkit.org/show_bug.cgi?id=238091

In case of an error, it is not expected for the FormDataConsumer callback to happen
more than once with an exception. To avoid this, we introduce FormDataConsumer::didFail
which cancels/clears everything after reporting an error.

Reviewed by Youenn Fablet.

  • Modules/fetch/FormDataConsumer.cpp:

(WebCore::FormDataConsumer::read):
(WebCore::FormDataConsumer::consumeFile):
(WebCore::FormDataConsumer::consumeBlob):
(WebCore::FormDataConsumer::didFail):
(WebCore::FormDataConsumer::cancel):

  • Modules/fetch/FormDataConsumer.h:

(WebCore::FormDataConsumer::isCancelled):

11:16 AM Changeset in webkit [291807] by Matteo Flores
  • 36 edits
    4 deletes in trunk

Unreviewed, reverting r291789.

This revision caused 65+ new API failures on iOS debug

Reverted changeset:

"Release assert in Document::updateLayout() via
HTMLTextAreaElement::childrenChanged"
https://bugs.webkit.org/show_bug.cgi?id=224471
https://commits.webkit.org/r291789

11:15 AM Changeset in webkit [291806] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Remove reports for some sandbox violations on process launch
https://bugs.webkit.org/show_bug.cgi?id=238324

Reviewed by Geoffrey Garen.

Remove reports for some sandbox violations on process launch on macOS. These violations are not critical,
and are slowing down process launch. This patch also adds access to a mach syscall observed being in use.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
11:08 AM Changeset in webkit [291805] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebGPU

[WebGPU] Fix the watchOS build
https://bugs.webkit.org/show_bug.cgi?id=238337

Unreviewed.

  • WebGPU/Texture.mm:

(WebGPU::Device::createTexture):

10:57 AM Changeset in webkit [291804] by Jonathan Bedard
  • 9 edits
    2 adds in trunk/Tools

[git-webkit] Install git-lfs
https://bugs.webkit.org/show_bug.cgi?id=238270
<rdar://problem/90708032>

Reviewed by Aakash Jain and Wenson Hsieh.

  • Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests_.py:

(Response.init): Accept binary content or text.
(Response.text): Decode binary content.

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

(Git): Add git lfs mocks.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:

(GitHub.init): Mock project release binaries.
(GitHub.request): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py: Add InstallGitLFS.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/install_git_lfs.py: Added.

(InstallGitLFS):
(InstallGitLFS.url): Return URL specific to the current platform.
(InstallGitLFS.install): Install git lfs globally on this machine.
(InstallGitLFS.parser): Install git lfs even if it is already installed.
(InstallGitLFS.main): Check git lfs version, install it if needed, and then run git lfs install.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/install_git_lfs_unittest.py: Added.

(TestInstallGitLFS):
(TestInstallGitLFS.setUp):
(TestInstallGitLFS.test_svn):
(TestInstallGitLFS.test_remote_git):
(TestInstallGitLFS.test_url):
(TestInstallGitLFS.test_install):
(TestInstallGitLFS.test_configure):
(TestInstallGitLFS.test_no_op):

Canonical link: https://commits.webkit.org/248831@main

10:30 AM Changeset in webkit [291803] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/PAL/pal/spi/cocoa/AVFoundationSPI.h

Unreviewed build fix. rdar://problem/89972004

10:20 AM Changeset in webkit [291802] by Ben Nham
  • 5 edits in trunk

PushAPI.firePushEventWithNoPagesTimeout fails in debug builds
https://bugs.webkit.org/show_bug.cgi?id=238309

Reviewed by Youenn Fablet.

Source/WebCore:

Export RegistrationDatabase::schemaVersion for tests to use.

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::databaseFilename):
(WebCore::cleanOldDatabases):

  • workers/service/server/RegistrationDatabase.h:

Tools:

This test was dying on an assertion in debug builds because we were calling
terminateNetworkProcessWhileRegistrationIsStored with a brand new WKWebsiteDataStore, which
wasn't associated with an active NetworkProcess connection since it was a brand new object.
Fix this by using the existing data store object instead.

Additionally, terminateNetworkProcessWhileRegistrationIsStored was waiting on the wrong
filename, so I changed the test to reference the correct filename.

  • TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
10:18 AM Changeset in webkit [291801] by jonlee@apple.com
  • 4 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
9:55 AM Changeset in webkit [291800] by Chris Dumez
  • 36 edits in trunk

String's find() / reverseFind() / replace() should take in a StringView instead of a String
https://bugs.webkit.org/show_bug.cgi?id=238287

Reviewed by Darin Adler.

Source/WebCore:

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::decodeDatabaseName):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::setValueCommon):

  • page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::parse):

  • platform/mediastream/CaptureDevice.h:

(WebCore::CaptureDevice::label const):

Source/WebKit:

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::searchWithGoogle):

Source/WebKitLegacy/win:

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::searchWithGoogle):

Source/WTF:

String's find() / reverseFind() / replace() should take in a StringView instead of a String
to avoid unnecessary String construction in many cases. We should probably do the same for
more String functions where we don't really need a String parameter, but those will be
addressed separately.

  • wtf/text/AtomString.h:
  • wtf/text/StringCommon.h:

(WTF::findCommon): Deleted.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::find):
(WTF::StringImpl::findIgnoringASCIICase const):
(WTF::StringImpl::reverseFind):
(WTF::StringImpl::replace):

  • wtf/text/StringImpl.h:
  • wtf/text/StringView.h:

(WTF::findCommon):
(WTF::findIgnoringASCIICase):
(WTF::String::find const):
(WTF::String::findIgnoringASCIICase const):
(WTF::String::reverseFind const):
(WTF::String::contains const):
(WTF::String::containsIgnoringASCIICase const):
(WTF::String::replace):
(WTF::AtomString::find const):
(WTF::AtomString::findIgnoringASCIICase const):
(WTF::AtomString::contains const):
(WTF::AtomString::containsIgnoringASCIICase const):

  • wtf/text/WTFString.h:
8:55 AM Changeset in webkit [291799] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Do not construct a TextRun for measuring a single whitespace when simplified content measuring can be used
https://bugs.webkit.org/show_bug.cgi?id=238228

Reviewed by Antti Koivisto.

  • layout/formattingContexts/inline/InlineItemsBuilder.cpp:

(WebCore::Layout::InlineItemsBuilder::computeInlineTextItemWidths): Just simply call TextUtil::width

  • layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::spaceWidth):
(WebCore::Layout::TextUtil::width):
(WebCore::Layout::TextUtil::spaceWidth): Deleted.

  • layout/formattingContexts/inline/text/TextUtil.h:
8:53 AM Changeset in webkit [291798] by Tyler Wilcock
  • 7 edits in trunk/Source/WebCore

AX: Remove firstChild, lastChild, previousSibling, nextSibling, nextSiblingUnignored, and previousSiblingUnignored from the AXCoreObject interface
https://bugs.webkit.org/show_bug.cgi?id=238267

Reviewed by Andres Gonzalez.

All of these except nextSibling and previousSibling are ASSERT_NOT_REACHED no-ops
in AXIsolatedObject. We do compute next and previous sibling for isolated objects,
but they're only used in one place (appendChildrenToArray). Usage of these functions
in appendChildrenToArray doesn't make sense for isolated objects, as it would require
the isolated object to be ignored for them to be called, and we should never have created an
isolated object from an ignored live object.

Dovetailing from that, this patch also removes AXPropertyName::IsAccessibilityIgnored,
since this should always be false for isolated objects. ASSERTs have been added in a
few places to assure this is the case.

  • accessibility/AccessibilityObject.cpp:

(WebCore::Accessibility::appendChildrenToArray):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::firstChild const):
(WebCore::AccessibilityObject::lastChild const):
(WebCore::AccessibilityObject::previousSibling const):
(WebCore::AccessibilityObject::nextSibling const):

  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::firstChild const): Deleted.
(WebCore::AXIsolatedObject::lastChild const): Deleted.
(WebCore::AXIsolatedObject::nextSiblingUnignored const): Deleted.
(WebCore::AXIsolatedObject::previousSiblingUnignored const): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/AXIsolatedTree.h:

Remove AXPropertyName::NextSibling, AXPropertyName::PreviousSibling,
AXPropertyName::IsAccessibilityIgnored.

8:50 AM Changeset in webkit [291797] by cathiechen
  • 16 edits
    2 copies
    40 adds in trunk/LayoutTests

Update css/css-sizing/contain-intrinsic-size tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=238312

Reviewed by Rob Buis.

LayoutTests/imported/w3c:

Update the contain-intrinsic-size tests to wpt commit: 7c61a4594a95682531367b6956d1c37f8b8fd486

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation-expected.txt:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation.html:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-001-expected.txt: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-001.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-002-expected.txt: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-002.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-003-expected.txt: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-003.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004-expected.txt: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024-ref.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-expected.html:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-ref.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-expected.html.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-expected.html:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-ref.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-expected.html.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-027-expected.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-027.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-001-expected.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-001.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-002-expected.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-002.html: Added.
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed-expected.txt:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid-expected.txt:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid-expected.txt:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log:

LayoutTests:

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

MatchedDeclarationCache key is already hashed
https://bugs.webkit.org/show_bug.cgi?id=238321

Reviewed by Alan Bujtas.

  • style/MatchedDeclarationsCache.h:
8:03 AM Changeset in webkit [291795] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed, update outdated comment after r291787.

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

7:15 AM Changeset in webkit [291794] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[IFC][Integration] RenderText::computeCanUseSimplifiedTextMeasuring should take first-line style into account
https://bugs.webkit.org/show_bug.cgi?id=238243

Reviewed by Antti Koivisto.

This is in preparation for using the fast text measuring codepath for legacy line layout content.

  • layout/integration/LayoutIntegrationBoxTree.cpp:

(WebCore::LayoutIntegration::BoxTree::buildTree):

  • rendering/RenderText.cpp:

(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):

6:47 AM Changeset in webkit [291793] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Devirtualize RenderText::width
https://bugs.webkit.org/show_bug.cgi?id=238285

Reviewed by Antti Koivisto.

RenderCombineText handling is moved to RenderText (we already handle combine text in RenderText::widthFromCache).

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::combineTextIfNeeded): These are all non-text-combine callsites.
(WebCore::RenderCombineText::width const): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderText.cpp:

(WebCore::combineTextWidth): RenderCombineText::combinedTextWidth returns the same value as RenderCombineText::width.
(WebCore::RenderText::widthFromCache const):
(WebCore::RenderText::width const):

  • rendering/RenderText.h:
6:04 AM Changeset in webkit [291792] by Adrian Perez de Castro
  • 4 edits in trunk/Source/WebKit

[GTK] REGRESSION(r291613): Build broken with USE_GTK4 + ENABLE_ACCESSIBILITY
https://bugs.webkit.org/show_bug.cgi?id=238320

Reviewed by Carlos Garcia Campos.

Guard remaning uses of ATK when building with GTK4, where ATK is not used at all.

  • UIProcess/API/glib/WebKitWebViewAccessible.cpp:
  • UIProcess/API/glib/WebKitWebViewAccessible.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDispose):

5:44 AM Changeset in webkit [291791] by commit-queue@webkit.org
  • 4 edits in trunk

REGRESSION (r287807): WEBGL_multi_draw validation rejecting valid arguments
https://bugs.webkit.org/show_bug.cgi?id=238239

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-24
Reviewed by Darin Adler.

Source/WebCore:

Fix off-by-one error causing full buffer multidraws to be
marked as invalid.

Enable the newer WebGL conformance tests that test this.

  • html/canvas/WebGLMultiDraw.cpp:

(WebCore::WebGLMultiDraw::validateOffset):

LayoutTests:

Enable the newer WebGL conformance tests that test this, marked
Slow as they take a while to run.

5:18 AM Changeset in webkit [291790] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Allow styles with appearance in matched declaration cache
https://bugs.webkit.org/show_bug.cgi?id=238247

Reviewed by Antoine Quint.

Improve cache efficiency by allowing styles with appearance (typically form controls) to be cached.

In Speedometer this improves the cache hit rate ~75% -> 94%.

  • style/MatchedDeclarationsCache.cpp:

(WebCore::Style::MatchedDeclarationsCache::isCacheable):

Remove appearance check.

(WebCore::Style::MatchedDeclarationsCache::add):

Also cache the UA style for styles with appearance.

(WebCore::Style::MatchedDeclarationsCache::remove):

  • style/MatchedDeclarationsCache.h:
  • style/StyleResolver.cpp:

(WebCore::Style::Resolver::applyMatchedProperties):

Also simplify the case where inherited properties affect resolution of other properties by
kicking out the existing entry. This also makes the second attempt cacheable.

  • style/StyleResolver.h:
1:33 AM Changeset in webkit [291789] by svillar@igalia.com
  • 36 edits
    1 copy
    4 adds in trunk

Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=224471

Reviewed by Ryosuke Niwa.

Source/WebCore:

Executing some editing commands in a text area might force the recomputation of things
like caret or the visible selection position and extent. Under some circumstances (like
when the text area has no content and children) we might end up trying to update layout
when it is not safe as a side effect of updating the caret.

In order to fix that, we can switch to a model in which we update the selection asynchronously
in the case of having a non-user triggered change. That way we don't do it inside
a restricted layout scope.

The App Highlight restoration code had to be tuned as well (when restoring and scrolling to reveal
a Quick Note on iOS MacOS). It uses TemporarySelectionChange to select and scroll to reveal the highlight
range; the code assumed that this scrolling happens synchronously, since it reverts the selection to
the original range at the end of AppHighlightStorage::attemptToRestoreHighlightAndScroll when the
TemporarySelectionChange falls out of scope. That is however no longer the case. Actually no scrolling
happened after this patch because we end up only scheduling the appearance update timer before setting
the selection back to the original state with SelectionRevealMode::DoNotReveal. Since this only happens
when the user interacts in the Notes app, it seems sensible to consider it as a user triggered event.

  • Modules/highlight/AppHighlightStorage.cpp:

(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll): Consider the selection change
as user triggered so scrolling actually happens.

  • editing/Editor.cpp:

(WebCore::TemporarySelectionChange::setSelection): Check the UserTriggered flags for default options.

  • editing/Editor.h: Added a new UserTriggered flag.
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection): Call scheduleAppearanceUpdateAfterStyleChange() for
IsUserTriggered changes.
(WebCore::FrameSelection::updateSelectionAppearanceNow): Renamed from updateSelectionByUpdatingLayoutOrStyle.
It does not need the Document& attribute because it was always called with m_document.
(WebCore::FrameSelection::absoluteCaretBounds): Replaced updateSelectionByUpdatingLayoutOrStyle with
updateSelectionAppearanceNow().
(WebCore::FrameSelection::setCaretVisibility): Ditto.
(WebCore::FrameSelection::selectionBounds const): Ditto.
(WebCore::FrameSelection::revealSelection): Call updateSelectionAppearanceNow().

(WebCore::FrameSelection::updateAppearanceIfRevealingSelectionIsNeeded): New method.

(WebCore::updateSelectionByUpdatingLayoutOrStyle): Deleted.

  • editing/FrameSelection.h:
  • page/EventHandler.cpp:

(WebCore::setSelectionIfNeeded): Set the UserTriggered flag for calling setSelection().

  • page/Page.cpp:

(WebCore::Page::doAfterUpdateRendering): Call updateAppearanceAfterLayout().

LayoutTests:

Moved some tests out of the text-based-repaint.js model because selection is now updated
and revealed asynchronously in the case of non-user triggered changes. The problem is that
by the time the repaint rects are queried the update has not happened yet. That's why
the tests were modified so that we wait until the repaint happens.

Same situation for other tests that do not involve repaint rects but trigger accesibility
tree updates. We must ensure that we let the notification be thrown before checking whether or
not has been emited. As it's done asynchronously we must let the main thread run before checking.

Last but not least, some of the tests are using setTimeout() instead of requestAnimationFrame()
because the results with the latter were not as reliable under stress/debug conditions.

  • accessibility/mac/selection-boundary-userinfo.html:
  • accessibility/mac/selection-change-userinfo.html:
  • accessibility/mac/selection-value-changes-for-aria-textbox.html:
  • editing/selection-with-absolute-positioned-empty-content.html:
  • fast/forms/textarea-scrolled-endline-caret.html:
  • fast/repaint/selection-gap-absolute-child-expected.txt:
  • fast/repaint/selection-gap-absolute-child.html:
  • fast/repaint/selection-gap-flipped-absolute-child-expected.txt:
  • fast/repaint/selection-gap-flipped-absolute-child.html:
  • fast/repaint/selection-gap-transformed-absolute-child-expected.txt:
  • fast/repaint/selection-gap-transformed-absolute-child.html:
  • fast/repaint/selection-gap-transformed-fixed-child-expected.txt:
  • fast/repaint/selection-gap-transformed-fixed-child.html:
  • fast/repaint/selection-paint-invalidation-expected.txt:
  • fast/repaint/selection-ruby-rl-expected.txt:
  • fast/repaint/selection-ruby-rl.html:
  • fast/repaint/text-selection-overflow-hidden-expected.txt:
  • fast/repaint/text-selection-overflow-hidden.html:
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/repaint/selection-ruby-rl-expected.txt: Copied from LayoutTests/fast/repaint/selection-ruby-rl-expected.txt.
  • platform/gtk/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • platform/mac-catalina-wk1/fast/repaint/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk1/fast/repaint/4776765-expected.txt: Added.
  • platform/mac-wk1/accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt:
  • platform/mac/TestExpectations:
  • platform/win/fast/repaint/4776765-expected.txt: Added.
  • platform/win/fast/repaint/selection-gap-fixed-child-expected.txt:
  • platform/win/fast/repaint/selection-ruby-rl-expected.txt:
  • platform/win/fast/repaint/text-selection-overflow-hidden-expected.txt:
Note: See TracTimeline for information about the timeline view.