Timeline
Mar 28, 2022:
- 10:54 PM Changeset in webkit [292024] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 5 edits1 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
-
- 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
-
- 7 edits in branches/safari-614.1.8-branch
Cherry-pick r292007. rdar://problem/90602918
[macOS] Add
WKWebViewAPI 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
-
- 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
-
- 5 edits2 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
-
- 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.
- On OSR entry, we should copy values from scratch to stack via loadValue / storeValue instead of 32bit load/store.
- 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
-
- 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
-
- 5 edits2 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
-
- 5 edits2 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
-
- 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
-
- 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
-
- 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
-
- 7 edits in trunk
[macOS] Add
WKWebViewAPI 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
-
- 20 edits in branches/safari-613.2.4.0-branch
Cherry-pick r291980. rdar://problem/89434696
[iOS] Add
WKWebViewAPI 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 forWKWebViewclients to preserve existing behavior (where CSS "default viewport"v*units match the size of theWKWebView) 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
100svhto ensure that no matter what state the browser UI
elements are in the entire element will always be visible on the screen, or use100dvhto
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 theWKWebViewwithout adjusting itsframe
(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 aWKWebViewanything like "this is the smallest/largest that
thisWKWebViewwill 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 forWKWebViewclients 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 theframechanges. Also move the deduplication logic that prevents the same value from being sent to the WebProcess more than once to the setter methods onWebPageProxyso 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 forWKWebViewclients to preserve existing behavior (where CSS "default viewport"v*units match the size of theWKWebView) 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
FrameViewis 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 15 edits5 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:
- TestExpectations: 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.
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 11 edits20 moves15 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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 variousgit logoptions.
(Log.main): Forwardgit logoptions.
Canonical link: https://commits.webkit.org/248944@main
- 1:29 PM Changeset in webkit [291986] by
-
- 20 edits in branches/safari-614.1.8-branch
Cherry-pick r291980. rdar://problem/89434696
[iOS] Add
WKWebViewAPI 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 forWKWebViewclients to preserve existing behavior (where CSS "default viewport"v*units match the size of theWKWebView) 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
100svhto ensure that no matter what state the browser UI
elements are in the entire element will always be visible on the screen, or use100dvhto
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 theWKWebViewwithout adjusting itsframe
(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 aWKWebViewanything like "this is the smallest/largest that
thisWKWebViewwill 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 forWKWebViewclients 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 theframechanges. Also move the deduplication logic that prevents the same value from being sent to the WebProcess more than once to the setter methods onWebPageProxyso 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 forWKWebViewclients to preserve existing behavior (where CSS "default viewport"v*units match the size of theWKWebView) 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
FrameViewis 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
-
- 36 edits4 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 20 edits in trunk
[iOS] Add
WKWebViewAPI 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 fromsizeForCSSDefaultViewportUnits.
(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 forWKWebViewclients to preserve existing
behavior (where CSS "default viewport"v*units match the size of theWKWebView) 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
100svhto ensure that no matter what state the browser UI
elements are in the entire element will always be visible on the screen, or use100dvhto
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 theWKWebViewwithout adjusting itsframe
(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 aWKWebViewanything like "this is the smallest/largest that
thisWKWebViewwill 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 forWKWebViewclients 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 theframechanges. Also
move the deduplication logic that prevents the same value from being sent to the WebProcess
more than once to the setter methods onWebPageProxyso 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 forWKWebViewclients to preserve existing
behavior (where CSS "default viewport"v*units match the size of theWKWebView) 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 newFrameViewis 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
-
- 36 edits4 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
-
- 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
-
- 1 copy in branches/safari-613.2.4.3-branch
New branch.
- 10:42 AM Changeset in webkit [291976] by
-
- 1 copy in branches/safari-613.2.4.2-branch
New branch.
- 10:42 AM Changeset in webkit [291975] by
-
- 1 copy in branches/safari-613.2.4.1-branch
New branch.
- 10:42 AM Changeset in webkit [291974] by
-
- 1 copy in branches/safari-613.2.4.0-branch
New branch.
- 10:29 AM Changeset in webkit [291973] by
-
- 5 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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 rangeisStartOfLine. We
should instead check if there's an actual list item to work with
before doing this, sinceisStartOfLinecan 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
-
- 13 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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.
- TestExpectations:
- fast/forms/file/file-style-inheritance.html:
- 1:27 AM Changeset in webkit [291961] by
-
- 3 edits2 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
-
- 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
-
- 9 edits in branches/safari-614.1.8-branch/Source
Versioning.
WebKit-7614.1.8
- 9:35 PM Changeset in webkit [291958] by
-
- 1 copy in branches/safari-614.1.8-branch
New branch.
- 9:34 PM Changeset in webkit [291957] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.9
- 9:18 PM Changeset in webkit [291956] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 6 edits1 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
-
- 3 edits2 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
-
- 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.