diff --git a/browser_patches/firefox/UPSTREAM_CONFIG.sh b/browser_patches/firefox/UPSTREAM_CONFIG.sh index b13f5e0fa74c7..10889141a731d 100644 --- a/browser_patches/firefox/UPSTREAM_CONFIG.sh +++ b/browser_patches/firefox/UPSTREAM_CONFIG.sh @@ -1,3 +1,3 @@ REMOTE_URL="https://github.com/mozilla/gecko-dev" BASE_BRANCH="release" -BASE_REVISION="f8704c84a751716bad093b9bdc482db53fe5b3ea" +BASE_REVISION="bd7e0ac24a6fb1cddde3e45ea191b7abcc90cf56" diff --git a/browser_patches/firefox/juggler/NetworkObserver.js b/browser_patches/firefox/juggler/NetworkObserver.js index 0ac506490900d..8eb69d813360e 100644 --- a/browser_patches/firefox/juggler/NetworkObserver.js +++ b/browser_patches/firefox/juggler/NetworkObserver.js @@ -146,6 +146,7 @@ class NetworkRequest { this._expectingInterception = false; this._expectingResumedRequest = undefined; // { method, headers, postData } this._sentOnResponse = false; + this._fulfilled = false; if (this._pageNetwork) appendExtraHTTPHeaders(httpChannel, this._pageNetwork.combinedExtraHTTPHeaders()); @@ -194,6 +195,7 @@ class NetworkRequest { // Public interception API. fulfill(status, statusText, headers, base64body) { + this._fulfilled = true; this._interceptedChannel.synthesizeStatus(status, statusText); for (const header of headers) { this._interceptedChannel.synthesizeHeader(header.name, header.value); @@ -801,7 +803,8 @@ class ResponseStorage { return; } let encodings = []; - if ((request.httpChannel instanceof Ci.nsIEncodedChannel) && request.httpChannel.contentEncodings && !request.httpChannel.applyConversion) { + // Note: fulfilled request comes with decoded body right away. + if ((request.httpChannel instanceof Ci.nsIEncodedChannel) && request.httpChannel.contentEncodings && !request.httpChannel.applyConversion && !request._fulfilled) { const encodingHeader = request.httpChannel.getResponseHeader("Content-Encoding"); encodings = encodingHeader.split(/\s*\t*,\s*\t*/); } diff --git a/browser_patches/firefox/juggler/TargetRegistry.js b/browser_patches/firefox/juggler/TargetRegistry.js index 25c5eb562ea56..ea7b2afa4d734 100644 --- a/browser_patches/firefox/juggler/TargetRegistry.js +++ b/browser_patches/firefox/juggler/TargetRegistry.js @@ -355,6 +355,7 @@ class PageTarget { this._screencastRecordingInfo = undefined; this._dialogs = new Map(); this.forcedColors = 'no-override'; + this.disableCache = false; this.mediumOverride = ''; this.crossProcessCookie = { initScripts: [], @@ -461,12 +462,26 @@ class PageTarget { this.updateReducedMotionOverride(browsingContext); this.updateForcedColorsOverride(browsingContext); this.updateForceOffline(browsingContext); + this.updateCacheDisabled(browsingContext); } updateForceOffline(browsingContext = undefined) { (browsingContext || this._linkedBrowser.browsingContext).forceOffline = this._browserContext.forceOffline; } + setCacheDisabled(disabled) { + this.disableCache = disabled; + this.updateCacheDisabled(); + } + + updateCacheDisabled(browsingContext = this._linkedBrowser.browsingContext) { + const enableFlags = Ci.nsIRequest.LOAD_NORMAL; + const disableFlags = Ci.nsIRequest.LOAD_BYPASS_CACHE | + Ci.nsIRequest.INHIBIT_CACHING; + + browsingContext.defaultLoadFlags = (this._browserContext.disableCache || this.disableCache) ? disableFlags : enableFlags; + } + updateTouchOverride(browsingContext = undefined) { (browsingContext || this._linkedBrowser.browsingContext).touchEventsOverride = this._browserContext.touchOverride ? 'enabled' : 'none'; } @@ -837,6 +852,7 @@ class BrowserContext { this.defaultPlatform = null; this.touchOverride = false; this.forceOffline = false; + this.disableCache = false; this.colorScheme = 'none'; this.forcedColors = 'no-override'; this.reducedMotion = 'none'; @@ -938,6 +954,12 @@ class BrowserContext { page.updateForceOffline(); } + setCacheDisabled(disabled) { + this.disableCache = disabled; + for (const page of this.pages) + page.updateCacheDisabled(); + } + async setDefaultViewport(viewport) { this.defaultViewportSize = viewport ? viewport.viewportSize : undefined; this.deviceScaleFactor = viewport ? viewport.deviceScaleFactor : undefined; diff --git a/browser_patches/firefox/juggler/content/PageAgent.js b/browser_patches/firefox/juggler/content/PageAgent.js index e1aa790c4b510..6aee921e87779 100644 --- a/browser_patches/firefox/juggler/content/PageAgent.js +++ b/browser_patches/firefox/juggler/content/PageAgent.js @@ -152,7 +152,6 @@ class PageAgent { getFullAXTree: this._getFullAXTree.bind(this), insertText: this._insertText.bind(this), scrollIntoViewIfNeeded: this._scrollIntoViewIfNeeded.bind(this), - setCacheDisabled: this._setCacheDisabled.bind(this), setFileInputFiles: this._setFileInputFiles.bind(this), evaluate: this._runtime.evaluate.bind(this._runtime), callFunction: this._runtime.callFunction.bind(this._runtime), @@ -162,15 +161,6 @@ class PageAgent { ]; } - _setCacheDisabled({cacheDisabled}) { - const enable = Ci.nsIRequest.LOAD_NORMAL; - const disable = Ci.nsIRequest.LOAD_BYPASS_CACHE | - Ci.nsIRequest.INHIBIT_CACHING; - - const docShell = this._frameTree.mainFrame().docShell(); - docShell.defaultLoadFlags = cacheDisabled ? disable : enable; - } - _emitAllEvents(frame) { this._browserPage.emit('pageEventFired', { frameId: frame.id(), @@ -519,71 +509,16 @@ class PageAgent { false /* aIgnoreRootScrollFrame */, true /* aFlushLayout */); - const {defaultPrevented: startPrevented} = await this._dispatchTouchEvent({ + await this._dispatchTouchEvent({ type: 'touchstart', modifiers, touchPoints: [{x, y}] }); - const {defaultPrevented: endPrevented} = await this._dispatchTouchEvent({ + await this._dispatchTouchEvent({ type: 'touchend', modifiers, touchPoints: [{x, y}] }); - if (startPrevented || endPrevented) - return; - - const frame = this._frameTree.mainFrame(); - const winUtils = frame.domWindow().windowUtils; - winUtils.jugglerSendMouseEvent( - 'mousemove', - x, - y, - 0 /*button*/, - 0 /*clickCount*/, - modifiers, - false /*aIgnoreRootScrollFrame*/, - 0.0 /*pressure*/, - 5 /*inputSource*/, - true /*isDOMEventSynthesized*/, - false /*isWidgetEventSynthesized*/, - 0 /*buttons*/, - winUtils.DEFAULT_MOUSE_POINTER_ID /* pointerIdentifier */, - true /*disablePointerEvent*/ - ); - - winUtils.jugglerSendMouseEvent( - 'mousedown', - x, - y, - 0 /*button*/, - 1 /*clickCount*/, - modifiers, - false /*aIgnoreRootScrollFrame*/, - 0.0 /*pressure*/, - 5 /*inputSource*/, - true /*isDOMEventSynthesized*/, - false /*isWidgetEventSynthesized*/, - 1 /*buttons*/, - winUtils.DEFAULT_MOUSE_POINTER_ID /*pointerIdentifier*/, - true /*disablePointerEvent*/, - ); - - winUtils.jugglerSendMouseEvent( - 'mouseup', - x, - y, - 0 /*button*/, - 1 /*clickCount*/, - modifiers, - false /*aIgnoreRootScrollFrame*/, - 0.0 /*pressure*/, - 5 /*inputSource*/, - true /*isDOMEventSynthesized*/, - false /*isWidgetEventSynthesized*/, - 0 /*buttons*/, - winUtils.DEFAULT_MOUSE_POINTER_ID /*pointerIdentifier*/, - true /*disablePointerEvent*/, - ); } async _dispatchDragEvent({type, x, y, modifiers}) { diff --git a/browser_patches/firefox/juggler/protocol/BrowserHandler.js b/browser_patches/firefox/juggler/protocol/BrowserHandler.js index ba70002c3b223..7de276d017b26 100644 --- a/browser_patches/firefox/juggler/protocol/BrowserHandler.js +++ b/browser_patches/firefox/juggler/protocol/BrowserHandler.js @@ -186,6 +186,10 @@ class BrowserHandler { this._targetRegistry.browserContextForId(browserContextId).requestInterceptionEnabled = enabled; } + ['Browser.setCacheDisabled']({browserContextId, cacheDisabled}) { + this._targetRegistry.browserContextForId(browserContextId).setCacheDisabled(cacheDisabled); + } + ['Browser.setIgnoreHTTPSErrors']({browserContextId, ignoreHTTPSErrors}) { this._targetRegistry.browserContextForId(browserContextId).setIgnoreHTTPSErrors(nullToUndefined(ignoreHTTPSErrors)); } diff --git a/browser_patches/firefox/juggler/protocol/PageHandler.js b/browser_patches/firefox/juggler/protocol/PageHandler.js index a893e1593b534..8fa9a06361b71 100644 --- a/browser_patches/firefox/juggler/protocol/PageHandler.js +++ b/browser_patches/firefox/juggler/protocol/PageHandler.js @@ -302,8 +302,8 @@ class PageHandler { await this._pageTarget.activateAndRun(() => {}); } - async ['Page.setCacheDisabled'](options) { - return await this._contentPage.send('setCacheDisabled', options); + async ['Page.setCacheDisabled']({cacheDisabled}) { + return await this._pageTarget.setCacheDisabled(cacheDisabled); } async ['Page.addBinding']({ worldName, name, script }) { diff --git a/browser_patches/firefox/juggler/protocol/Protocol.js b/browser_patches/firefox/juggler/protocol/Protocol.js index 5cd9e84330a44..6c9b700f05fec 100644 --- a/browser_patches/firefox/juggler/protocol/Protocol.js +++ b/browser_patches/firefox/juggler/protocol/Protocol.js @@ -322,6 +322,12 @@ const Browser = { enabled: t.Boolean, }, }, + 'setCacheDisabled': { + params: { + browserContextId: t.Optional(t.String), + cacheDisabled: t.Boolean, + }, + }, 'setGeolocationOverride': { params: { browserContextId: t.Optional(t.String), diff --git a/browser_patches/firefox/patches/bootstrap.diff b/browser_patches/firefox/patches/bootstrap.diff index 9de655e886e21..6291e775e6a7f 100644 --- a/browser_patches/firefox/patches/bootstrap.diff +++ b/browser_patches/firefox/patches/bootstrap.diff @@ -57,7 +57,7 @@ index 8e9bf2b413585b5a3db9370eee5d57fb6c6716ed..5a3b194b54e3813c89989f13a214c989 * Return XPCOM wrapper for the internal accessible. */ diff --git a/browser/app/winlauncher/LauncherProcessWin.cpp b/browser/app/winlauncher/LauncherProcessWin.cpp -index b40e0fceb567c0d217adf284e13f434e49cc8467..2c4e6d5fbf8da40954ad6a5b15e412493e43b14e 100644 +index 81d4ee91e9383693d794dbf68184a80b49b582c6..1a07e3511f73199fe0b248412d01d7b8a3744a66 100644 --- a/browser/app/winlauncher/LauncherProcessWin.cpp +++ b/browser/app/winlauncher/LauncherProcessWin.cpp @@ -22,6 +22,7 @@ @@ -68,7 +68,7 @@ index b40e0fceb567c0d217adf284e13f434e49cc8467..2c4e6d5fbf8da40954ad6a5b15e41249 #include #include -@@ -421,8 +422,18 @@ Maybe LauncherMain(int& argc, wchar_t* argv[], +@@ -425,8 +426,18 @@ Maybe LauncherMain(int& argc, wchar_t* argv[], HANDLE stdHandles[] = {::GetStdHandle(STD_INPUT_HANDLE), ::GetStdHandle(STD_OUTPUT_HANDLE), ::GetStdHandle(STD_ERROR_HANDLE)}; @@ -106,10 +106,10 @@ index f6d425f36a965f03ac82dbe3ab6cde06f12751ac..d60999ab2658b1e1e5f07a8aee530451 browser/chrome/browser/search-extensions/amazon/favicon.ico browser/chrome/browser/search-extensions/amazondotcn/favicon.ico diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in -index 4068c0c165fcebd0a72f4d780bc0cbd680fe7a9c..fec7f8505d22485fa6ad4193d59387f493bd1ef8 100644 +index 1b87a9ab4aec939acac1da54a2b6670cc581fe86..a638dbe8e2f260d8be550fa8eb5bf6f6c2c31080 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -197,6 +197,9 @@ +@@ -185,6 +185,9 @@ @RESPATH@/chrome/remote.manifest #endif @@ -120,7 +120,7 @@ index 4068c0c165fcebd0a72f4d780bc0cbd680fe7a9c..fec7f8505d22485fa6ad4193d59387f4 @RESPATH@/components/extensions-toolkit.manifest @RESPATH@/browser/components/extensions-browser.manifest diff --git a/devtools/server/socket/websocket-server.js b/devtools/server/socket/websocket-server.js -index 4236ec2921bd57c58cfffdf1cdcf509d76fca3db..23d0cb1f06bb8c7a1cac8fcec94a99fba5bfe3f2 100644 +index d49c6fbf1bf83b832795fa674f6b41f223eef812..7ea3540947ff5f61b15f27fbf4b955649f8e9ff9 100644 --- a/devtools/server/socket/websocket-server.js +++ b/devtools/server/socket/websocket-server.js @@ -134,13 +134,12 @@ function writeHttpResponse(output, response) { @@ -167,31 +167,28 @@ index 4236ec2921bd57c58cfffdf1cdcf509d76fca3db..23d0cb1f06bb8c7a1cac8fcec94a99fb const transportProvider = { setListener(upgradeListener) { diff --git a/docshell/base/BrowsingContext.cpp b/docshell/base/BrowsingContext.cpp -index 0ef5e02d2ae365b4e7b30fd49771e547c030bcfc..0787518696fc90bba3dce8c1e1c00387c3e7a6c9 100644 +index 6e1a1b689398fa6c3c73f2f243ae02c67a4476c8..9dcf71ce753cf11f295d83eb7653e940065c8e2c 100644 --- a/docshell/base/BrowsingContext.cpp +++ b/docshell/base/BrowsingContext.cpp -@@ -114,6 +114,20 @@ struct ParamTraits - mozilla::dom::PrefersColorSchemeOverride::None, - mozilla::dom::PrefersColorSchemeOverride::EndGuard_> {}; +@@ -106,8 +106,15 @@ struct ParamTraits + template <> + struct ParamTraits +- : public mozilla::dom::WebIDLEnumSerializer< +- mozilla::dom::PrefersColorSchemeOverride> {}; ++ : public mozilla::dom::WebIDLEnumSerializer {}; ++ +template <> +struct ParamTraits -+ : public ContiguousEnumSerializer< -+ mozilla::dom::PrefersReducedMotionOverride, -+ mozilla::dom::PrefersReducedMotionOverride::None, -+ mozilla::dom::PrefersReducedMotionOverride::EndGuard_> {}; ++ : public mozilla::dom::WebIDLEnumSerializer {}; + +template <> +struct ParamTraits -+ : public ContiguousEnumSerializer< -+ mozilla::dom::ForcedColorsOverride, -+ mozilla::dom::ForcedColorsOverride::None, -+ mozilla::dom::ForcedColorsOverride::EndGuard_> {}; -+ ++ : public mozilla::dom::WebIDLEnumSerializer {}; + template <> struct ParamTraits - : public ContiguousEnumSerializer< -@@ -2793,6 +2807,40 @@ void BrowsingContext::DidSet(FieldIndex, +@@ -2804,6 +2811,40 @@ void BrowsingContext::DidSet(FieldIndex, PresContextAffectingFieldChanged(); } @@ -233,10 +230,10 @@ index 0ef5e02d2ae365b4e7b30fd49771e547c030bcfc..0787518696fc90bba3dce8c1e1c00387 nsString&& aOldValue) { MOZ_ASSERT(IsTop()); diff --git a/docshell/base/BrowsingContext.h b/docshell/base/BrowsingContext.h -index 7554128cf49ce929c973aeddf5f50ede01829c28..81ae7ec9523b944654c048af6a9f6844799eb4f3 100644 +index 5ec95a61e4d3af265cbe7dd9d83f6535da1d103e..f8acafe6d58c429af27a38363e06ad546dfbfddd 100644 --- a/docshell/base/BrowsingContext.h +++ b/docshell/base/BrowsingContext.h -@@ -200,10 +200,10 @@ struct EmbedderColorSchemes { +@@ -199,10 +199,10 @@ struct EmbedderColorSchemes { FIELD(GVInaudibleAutoplayRequestStatus, GVAutoplayRequestStatus) \ /* ScreenOrientation-related APIs */ \ FIELD(CurrentOrientationAngle, float) \ @@ -249,7 +246,7 @@ index 7554128cf49ce929c973aeddf5f50ede01829c28..81ae7ec9523b944654c048af6a9f6844 FIELD(EmbedderElementType, Maybe) \ FIELD(MessageManagerGroup, nsString) \ FIELD(MaxTouchPointsOverride, uint8_t) \ -@@ -241,6 +241,10 @@ struct EmbedderColorSchemes { +@@ -240,6 +240,10 @@ struct EmbedderColorSchemes { * embedder element. */ \ FIELD(EmbedderColorSchemes, EmbedderColorSchemes) \ FIELD(DisplayMode, dom::DisplayMode) \ @@ -260,7 +257,7 @@ index 7554128cf49ce929c973aeddf5f50ede01829c28..81ae7ec9523b944654c048af6a9f6844 /* The number of entries added to the session history because of this \ * browsing context. */ \ FIELD(HistoryEntryCount, uint32_t) \ -@@ -933,6 +937,14 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { +@@ -926,6 +930,14 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { return GetPrefersColorSchemeOverride(); } @@ -275,7 +272,7 @@ index 7554128cf49ce929c973aeddf5f50ede01829c28..81ae7ec9523b944654c048af6a9f6844 bool IsInBFCache() const; bool AllowJavascript() const { return GetAllowJavascript(); } -@@ -1097,6 +1109,23 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { +@@ -1090,6 +1102,23 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { void WalkPresContexts(Callback&&); void PresContextAffectingFieldChanged(); @@ -300,10 +297,10 @@ index 7554128cf49ce929c973aeddf5f50ede01829c28..81ae7ec9523b944654c048af6a9f6844 bool CanSet(FieldIndex, bool, ContentParent*) { diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp -index d5f85b1e571a7840425164a3c7715e8c70ed5c8b..5ba7484b1e7f817b2bb21dd6b5b35c6ffe2c1ca5 100644 +index 84f2d2960a3fa642754e0c909f92d96865e39984..e91fc85fc7a7966d2d536839fab823ae88d1b4bd 100644 --- a/docshell/base/CanonicalBrowsingContext.cpp +++ b/docshell/base/CanonicalBrowsingContext.cpp -@@ -1466,6 +1466,12 @@ void CanonicalBrowsingContext::LoadURI(nsIURI* aURI, +@@ -1477,6 +1477,12 @@ void CanonicalBrowsingContext::LoadURI(nsIURI* aURI, return; } @@ -317,7 +314,7 @@ index d5f85b1e571a7840425164a3c7715e8c70ed5c8b..5ba7484b1e7f817b2bb21dd6b5b35c6f } diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp -index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f81b5618d7 100644 +index 3404597343e0d21c42c5adc2f2849888869cf75a..558f03f30672b9f0fdb68ba8d23a0d878d33643d 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -15,6 +15,12 @@ @@ -379,7 +376,7 @@ index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f8 mAllowAuth(mItemType == typeContent), mAllowKeywordFixup(false), mDisableMetaRefreshWhenInactive(false), -@@ -3115,6 +3132,214 @@ nsDocShell::GetMessageManager(ContentFrameMessageManager** aMessageManager) { +@@ -3101,6 +3118,214 @@ nsDocShell::GetMessageManager(ContentFrameMessageManager** aMessageManager) { return NS_OK; } @@ -594,7 +591,7 @@ index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f8 NS_IMETHODIMP nsDocShell::GetIsNavigating(bool* aOut) { *aOut = mIsNavigating; -@@ -4803,7 +5028,7 @@ nsDocShell::GetVisibility(bool* aVisibility) { +@@ -4789,7 +5014,7 @@ nsDocShell::GetVisibility(bool* aVisibility) { } void nsDocShell::ActivenessMaybeChanged() { @@ -603,7 +600,7 @@ index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f8 if (RefPtr presShell = GetPresShell()) { presShell->ActivenessMaybeChanged(); } -@@ -6722,6 +6947,10 @@ bool nsDocShell::CanSavePresentation(uint32_t aLoadType, +@@ -6711,6 +6936,10 @@ bool nsDocShell::CanSavePresentation(uint32_t aLoadType, return false; // no entry to save into } @@ -614,7 +611,7 @@ index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f8 MOZ_ASSERT(!mozilla::SessionHistoryInParent(), "mOSHE cannot be non-null with SHIP"); nsCOMPtr viewer = mOSHE->GetDocumentViewer(); -@@ -8454,6 +8683,12 @@ nsresult nsDocShell::PerformRetargeting(nsDocShellLoadState* aLoadState) { +@@ -8443,6 +8672,12 @@ nsresult nsDocShell::PerformRetargeting(nsDocShellLoadState* aLoadState) { true, // aForceNoOpener getter_AddRefs(newBC)); MOZ_ASSERT(!newBC); @@ -627,7 +624,7 @@ index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f8 return rv; } -@@ -9566,6 +9801,16 @@ nsresult nsDocShell::InternalLoad(nsDocShellLoadState* aLoadState, +@@ -9569,6 +9804,16 @@ nsresult nsDocShell::InternalLoad(nsDocShellLoadState* aLoadState, nsINetworkPredictor::PREDICT_LOAD, attrs, nullptr); nsCOMPtr req; @@ -644,7 +641,7 @@ index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f8 rv = DoURILoad(aLoadState, aCacheKey, getter_AddRefs(req)); if (NS_SUCCEEDED(rv)) { -@@ -12714,6 +12959,9 @@ class OnLinkClickEvent : public Runnable { +@@ -12732,6 +12977,9 @@ class OnLinkClickEvent : public Runnable { mHandler->OnLinkClickSync(mContent, mLoadState, mNoOpenerImplied, mTriggeringPrincipal); } @@ -654,7 +651,7 @@ index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f8 return NS_OK; } -@@ -12798,6 +13046,8 @@ nsresult nsDocShell::OnLinkClick( +@@ -12816,6 +13064,8 @@ nsresult nsDocShell::OnLinkClick( nsCOMPtr ev = new OnLinkClickEvent(this, aContent, loadState, noOpenerImplied, aIsTrusted, aTriggeringPrincipal); @@ -664,7 +661,7 @@ index 0b8212fbf3f81ef6264f17fc8e84f91cde39c0f7..99d43d662978c0418231b8ea55d670f8 } diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h -index 9f2d9a17dc0d54be4bd09f8e04da6e85f987fe34..8ff6e67fedef0bf73297c4cfed569b8f2ced36d9 100644 +index 82ac6c9ab9dbc102a429ab0fe6cb24b8fcdf477f..f6328c25349cf39fcce973adcf908782e8721447 100644 --- a/docshell/base/nsDocShell.h +++ b/docshell/base/nsDocShell.h @@ -15,6 +15,7 @@ @@ -699,7 +696,7 @@ index 9f2d9a17dc0d54be4bd09f8e04da6e85f987fe34..8ff6e67fedef0bf73297c4cfed569b8f // Create a content viewer within this nsDocShell for the given // `WindowGlobalChild` actor. nsresult CreateDocumentViewerForActor( -@@ -1003,6 +1014,8 @@ class nsDocShell final : public nsDocLoader, +@@ -1004,6 +1015,8 @@ class nsDocShell final : public nsDocLoader, bool CSSErrorReportingEnabled() const { return mCSSErrorReportingEnabled; } @@ -708,7 +705,7 @@ index 9f2d9a17dc0d54be4bd09f8e04da6e85f987fe34..8ff6e67fedef0bf73297c4cfed569b8f // Handles retrieval of subframe session history for nsDocShell::LoadURI. If a // load is requested in a subframe of the current DocShell, the subframe // loadType may need to reflect the loadType of the parent document, or in -@@ -1294,6 +1307,16 @@ class nsDocShell final : public nsDocLoader, +@@ -1295,6 +1308,16 @@ class nsDocShell final : public nsDocLoader, bool mAllowDNSPrefetch : 1; bool mAllowWindowControl : 1; bool mCSSErrorReportingEnabled : 1; @@ -726,7 +723,7 @@ index 9f2d9a17dc0d54be4bd09f8e04da6e85f987fe34..8ff6e67fedef0bf73297c4cfed569b8f bool mAllowKeywordFixup : 1; bool mDisableMetaRefreshWhenInactive : 1; diff --git a/docshell/base/nsIDocShell.idl b/docshell/base/nsIDocShell.idl -index 9e79b6831a74c6de7c6a6c56d9a024d29c1c704b..db5cd5586b74ec65d788480f9c5fca93eb562c21 100644 +index 21f09a517e91644f81f5bb823f556c15cd06e51f..a68d30e0a60f03a0942ac1cd8a1f83804fdfd3e0 100644 --- a/docshell/base/nsIDocShell.idl +++ b/docshell/base/nsIDocShell.idl @@ -44,6 +44,7 @@ interface nsIURI; @@ -737,7 +734,7 @@ index 9e79b6831a74c6de7c6a6c56d9a024d29c1c704b..db5cd5586b74ec65d788480f9c5fca93 interface nsIEditor; interface nsIEditingSession; interface nsIInputStream; -@@ -767,6 +768,36 @@ interface nsIDocShell : nsIDocShellTreeItem +@@ -754,6 +755,36 @@ interface nsIDocShell : nsIDocShellTreeItem */ void synchronizeLayoutHistoryState(); @@ -775,10 +772,10 @@ index 9e79b6831a74c6de7c6a6c56d9a024d29c1c704b..db5cd5586b74ec65d788480f9c5fca93 * This attempts to save any applicable layout history state (like * scroll position) in the nsISHEntry. This is normally done diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp -index 0a2f5be08d0dcad40cd11f4b064a1287b8141e2f..a845203c6aaea8384e8835cbe005669767a1b196 100644 +index 4e9286a91e3b0f1114aa0a7aa6ff81dde615a73d..941a0c3dac71008ca760024a1e828f75f6af5182 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp -@@ -3705,6 +3705,9 @@ void Document::SendToConsole(nsCOMArray& aMessages) { +@@ -3676,6 +3676,9 @@ void Document::SendToConsole(nsCOMArray& aMessages) { } void Document::ApplySettingsFromCSP(bool aSpeculative) { @@ -788,7 +785,7 @@ index 0a2f5be08d0dcad40cd11f4b064a1287b8141e2f..a845203c6aaea8384e8835cbe0056697 nsresult rv = NS_OK; if (!aSpeculative) { // 1) apply settings from regular CSP -@@ -3762,6 +3765,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) { +@@ -3733,6 +3736,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) { MOZ_ASSERT(!mScriptGlobalObject, "CSP must be initialized before mScriptGlobalObject is set!"); @@ -800,7 +797,7 @@ index 0a2f5be08d0dcad40cd11f4b064a1287b8141e2f..a845203c6aaea8384e8835cbe0056697 // If this is a data document - no need to set CSP. if (mLoadedAsData) { return NS_OK; -@@ -4557,6 +4565,10 @@ bool Document::HasFocus(ErrorResult& rv) const { +@@ -4500,6 +4508,10 @@ bool Document::HasFocus(ErrorResult& rv) const { return false; } @@ -811,7 +808,7 @@ index 0a2f5be08d0dcad40cd11f4b064a1287b8141e2f..a845203c6aaea8384e8835cbe0056697 if (!fm->IsInActiveWindow(bc)) { return false; } -@@ -18878,6 +18890,68 @@ ColorScheme Document::PreferredColorScheme(IgnoreRFP aIgnoreRFP) const { +@@ -18849,6 +18861,66 @@ ColorScheme Document::PreferredColorScheme(IgnoreRFP aIgnoreRFP) const { return PreferenceSheet::PrefsFor(*this).mColorScheme; } @@ -837,7 +834,6 @@ index 0a2f5be08d0dcad40cd11f4b064a1287b8141e2f..a845203c6aaea8384e8835cbe0056697 + case dom::PrefersReducedMotionOverride::No_preference: + return false; + case dom::PrefersReducedMotionOverride::None: -+ case dom::PrefersReducedMotionOverride::EndGuard_: + break; + } + } @@ -866,7 +862,6 @@ index 0a2f5be08d0dcad40cd11f4b064a1287b8141e2f..a845203c6aaea8384e8835cbe0056697 + case dom::ForcedColorsOverride::None: + return false; + case dom::ForcedColorsOverride::No_override: -+ case dom::ForcedColorsOverride::EndGuard_: + break; + } + } @@ -881,10 +876,10 @@ index 0a2f5be08d0dcad40cd11f4b064a1287b8141e2f..a845203c6aaea8384e8835cbe0056697 if (!sLoadingForegroundTopLevelContentDocument) { return false; diff --git a/dom/base/Document.h b/dom/base/Document.h -index 3f8032594868b8aa1c8bec2d25b789518170eb0e..5017b426369378b892a224a88410f18e743da45f 100644 +index a52c61addffc4a2344fa06cb0bceebe6a7ca9075..b0f8d65e5341bf277e48bef3b88cb4cc384fbc49 100644 --- a/dom/base/Document.h +++ b/dom/base/Document.h -@@ -4051,6 +4051,9 @@ class Document : public nsINode, +@@ -4044,6 +4044,9 @@ class Document : public nsINode, // color-scheme meta tag. ColorScheme DefaultColorScheme() const; @@ -895,10 +890,10 @@ index 3f8032594868b8aa1c8bec2d25b789518170eb0e..5017b426369378b892a224a88410f18e static bool AutomaticStorageAccessPermissionCanBeGranted( diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp -index d4b04f809228fecc3e2dbf33dac42151ffc24b11..39dfddff7404e878cd9fcc8f3b9bb734ab72d743 100644 +index 14a00b8ed85f69312a89990acbb5e0f9755bd832..4b07c28615920a95a2ba59247f8575515cac4235 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp -@@ -335,14 +335,18 @@ void Navigator::GetAppName(nsAString& aAppName) const { +@@ -338,14 +338,18 @@ void Navigator::GetAppName(nsAString& aAppName) const { * for more detail. */ /* static */ @@ -919,7 +914,7 @@ index d4b04f809228fecc3e2dbf33dac42151ffc24b11..39dfddff7404e878cd9fcc8f3b9bb734 // Split values on commas. for (nsDependentSubstring lang : -@@ -394,7 +398,13 @@ void Navigator::GetLanguage(nsAString& aLanguage) { +@@ -397,7 +401,13 @@ void Navigator::GetLanguage(nsAString& aLanguage) { } void Navigator::GetLanguages(nsTArray& aLanguages) { @@ -935,10 +930,10 @@ index d4b04f809228fecc3e2dbf33dac42151ffc24b11..39dfddff7404e878cd9fcc8f3b9bb734 // The returned value is cached by the binding code. The window listens to the // accept languages change and will clear the cache when needed. It has to diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h -index 998328cfc6f36fd579e4fe26629a92a1ceefa9fa..c73e48d8dfe5a66fb9eb7f6bf49527f88cabc884 100644 +index e559dc4d6aef61b7012a27f3d6c3186a12a15319..9798a50789ce972c4d9e94419e20a5cde4cd552a 100644 --- a/dom/base/Navigator.h +++ b/dom/base/Navigator.h -@@ -216,7 +216,7 @@ class Navigator final : public nsISupports, public nsWrapperCache { +@@ -215,7 +215,7 @@ class Navigator final : public nsISupports, public nsWrapperCache { StorageManager* Storage(); @@ -948,10 +943,10 @@ index 998328cfc6f36fd579e4fe26629a92a1ceefa9fa..c73e48d8dfe5a66fb9eb7f6bf49527f8 dom::MediaCapabilities* MediaCapabilities(); dom::MediaSession* MediaSession(); diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp -index 6d3a9f8937a7b37bf82a18362d7ee525e4e267f4..c598acdcda9d47cdd193011e8faa916988872a18 100644 +index c6f1687f73df6b1849a191ff8722dc9fc26fc3eb..9fdface27d5c9bd0c61b8af229a31be2356c46b5 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp -@@ -8697,7 +8697,8 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8711,7 +8711,8 @@ nsresult nsContentUtils::SendMouseEvent( bool aIgnoreRootScrollFrame, float aPressure, unsigned short aInputSourceArg, uint32_t aIdentifier, bool aToWindow, PreventDefaultResult* aPreventDefault, bool aIsDOMEventSynthesized, @@ -961,7 +956,7 @@ index 6d3a9f8937a7b37bf82a18362d7ee525e4e267f4..c598acdcda9d47cdd193011e8faa9169 nsPoint offset; nsCOMPtr widget = GetWidget(aPresShell, &offset); if (!widget) return NS_ERROR_FAILURE; -@@ -8705,6 +8706,7 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8719,6 +8720,7 @@ nsresult nsContentUtils::SendMouseEvent( EventMessage msg; Maybe exitFrom; bool contextMenuKey = false; @@ -969,7 +964,7 @@ index 6d3a9f8937a7b37bf82a18362d7ee525e4e267f4..c598acdcda9d47cdd193011e8faa9169 if (aType.EqualsLiteral("mousedown")) { msg = eMouseDown; } else if (aType.EqualsLiteral("mouseup")) { -@@ -8729,6 +8731,12 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8743,6 +8745,12 @@ nsresult nsContentUtils::SendMouseEvent( msg = eMouseHitTest; } else if (aType.EqualsLiteral("MozMouseExploreByTouch")) { msg = eMouseExploreByTouch; @@ -982,7 +977,7 @@ index 6d3a9f8937a7b37bf82a18362d7ee525e4e267f4..c598acdcda9d47cdd193011e8faa9169 } else { return NS_ERROR_FAILURE; } -@@ -8737,12 +8745,21 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8751,12 +8759,21 @@ nsresult nsContentUtils::SendMouseEvent( aInputSourceArg = MouseEvent_Binding::MOZ_SOURCE_MOUSE; } @@ -1006,7 +1001,7 @@ index 6d3a9f8937a7b37bf82a18362d7ee525e4e267f4..c598acdcda9d47cdd193011e8faa9169 event.pointerId = aIdentifier; event.mModifiers = GetWidgetModifiers(aModifiers); event.mButton = aButton; -@@ -8753,8 +8770,10 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8767,8 +8784,10 @@ nsresult nsContentUtils::SendMouseEvent( event.mPressure = aPressure; event.mInputSource = aInputSourceArg; event.mClickCount = aClickCount; @@ -1018,10 +1013,10 @@ index 6d3a9f8937a7b37bf82a18362d7ee525e4e267f4..c598acdcda9d47cdd193011e8faa9169 nsPresContext* presContext = aPresShell->GetPresContext(); if (!presContext) return NS_ERROR_FAILURE; diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h -index db68b67c5a3e60ac214231ac82fd9f652a697858..529b49b2c6c5f693747d847bca85e93415b9159c 100644 +index 338fc097dede02a538f240ba4cc66307086c7f56..8345e47237bc40490bd17019a053cce4c3d74a91 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h -@@ -2958,7 +2958,8 @@ class nsContentUtils { +@@ -3055,7 +3055,8 @@ class nsContentUtils { int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, unsigned short aInputSourceArg, uint32_t aIdentifier, bool aToWindow, mozilla::PreventDefaultResult* aPreventDefault, @@ -1032,7 +1027,7 @@ index db68b67c5a3e60ac214231ac82fd9f652a697858..529b49b2c6c5f693747d847bca85e934 static void FirePageShowEventForFrameLoaderSwap( nsIDocShellTreeItem* aItem, diff --git a/dom/base/nsDOMWindowUtils.cpp b/dom/base/nsDOMWindowUtils.cpp -index 6c547a9fd8604ac7fd7b965be473bc4120b2fdf7..c9aa1951da7af70913f77c76bb7c68ba144adaeb 100644 +index 9bc8340b9009717e0feecd5c14ff02be07a03daf..70ea04c7f11e6ccfadf72a82ec1741fac10ef5fd 100644 --- a/dom/base/nsDOMWindowUtils.cpp +++ b/dom/base/nsDOMWindowUtils.cpp @@ -685,6 +685,26 @@ nsDOMWindowUtils::GetPresShellId(uint32_t* aPresShellId) { @@ -1110,10 +1105,10 @@ index 63968c9b7a4e418e4c0de6e7a75fa215a36a9105..decf3ea3833ccdffd49a7aded2d600f9 MOZ_CAN_RUN_SCRIPT nsresult SendTouchEventCommon( diff --git a/dom/base/nsFocusManager.cpp b/dom/base/nsFocusManager.cpp -index 60f45157cdfceb7ebf4f9a1681d0e59dc1822360..964d7cc1b847cd8ef21cef29be4fdc11168b18d8 100644 +index 5a4cf78d65eee0adcbeca33787706113eca19de7..7c8016e422ccc9e86563eaa83c9acc1dad0e5967 100644 --- a/dom/base/nsFocusManager.cpp +++ b/dom/base/nsFocusManager.cpp -@@ -1673,6 +1673,10 @@ Maybe nsFocusManager::SetFocusInner(Element* aNewContent, +@@ -1675,6 +1675,10 @@ Maybe nsFocusManager::SetFocusInner(Element* aNewContent, (GetActiveBrowsingContext() == newRootBrowsingContext); } @@ -1124,7 +1119,27 @@ index 60f45157cdfceb7ebf4f9a1681d0e59dc1822360..964d7cc1b847cd8ef21cef29be4fdc11 // Exit fullscreen if a website focuses another window if (StaticPrefs::full_screen_api_exit_on_windowRaise() && !isElementInActiveWindow && (aFlags & FLAG_RAISE)) { -@@ -2946,7 +2950,9 @@ void nsFocusManager::RaiseWindow(nsPIDOMWindowOuter* aWindow, +@@ -2242,6 +2246,7 @@ bool nsFocusManager::BlurImpl(BrowsingContext* aBrowsingContextToClear, + bool aIsLeavingDocument, bool aAdjustWidget, + bool aRemainActive, Element* aElementToFocus, + uint64_t aActionId) { ++ + LOGFOCUS(("<>", aActionId)); + + // hold a reference to the focused content, which may be null +@@ -2288,6 +2293,11 @@ bool nsFocusManager::BlurImpl(BrowsingContext* aBrowsingContextToClear, + return true; + } + ++ // Playwright: emulate focused page by never bluring when leaving document. ++ if (XRE_IsContentProcess() && aIsLeavingDocument && docShell && nsDocShell::Cast(docShell)->ShouldOverrideHasFocus()) { ++ return true; ++ } ++ + // Keep a ref to presShell since dispatching the DOM event may cause + // the document to be destroyed. + RefPtr presShell = docShell->GetPresShell(); +@@ -2947,7 +2957,9 @@ void nsFocusManager::RaiseWindow(nsPIDOMWindowOuter* aWindow, } } @@ -1136,10 +1151,10 @@ index 60f45157cdfceb7ebf4f9a1681d0e59dc1822360..964d7cc1b847cd8ef21cef29be4fdc11 // care of lowering the present active window. This happens in // a separate runnable to avoid touching multiple windows in diff --git a/dom/base/nsGlobalWindowOuter.cpp b/dom/base/nsGlobalWindowOuter.cpp -index a10808b95d5f7c81942d2a513f63a72c7821061e..027b9a3c87811b794816bddb90ff67bc271f7faa 100644 +index e28dcdb092b23558702377af32eece5d273d4cf3..a37ae9d6ccd978d5e84562450e7039d6a75d517b 100644 --- a/dom/base/nsGlobalWindowOuter.cpp +++ b/dom/base/nsGlobalWindowOuter.cpp -@@ -2510,10 +2510,16 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument, +@@ -2509,10 +2509,16 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument, }(); if (!isContentAboutBlankInChromeDocshell) { @@ -1160,7 +1175,7 @@ index a10808b95d5f7c81942d2a513f63a72c7821061e..027b9a3c87811b794816bddb90ff67bc } } -@@ -2633,6 +2639,19 @@ void nsGlobalWindowOuter::DispatchDOMWindowCreated() { +@@ -2632,6 +2638,19 @@ void nsGlobalWindowOuter::DispatchDOMWindowCreated() { } } @@ -1193,10 +1208,10 @@ index 8337a7353fb8e97372f0b57bd0fd867506a9129f..e7dedd6d26125e481e1145337a0be6ab // Outer windows only. virtual void EnsureSizeAndPositionUpToDate() override; diff --git a/dom/base/nsINode.cpp b/dom/base/nsINode.cpp -index 11ca350f483458ba11f0ee170ce38e9785e8c70f..6bb310f6e96239388b4c92bd7bdf2d698fac8139 100644 +index d5455e559639aee9328905b50f02c52e94db950b..3fbd1e0459e5391066fc6b3a4e30a841594b31bf 100644 --- a/dom/base/nsINode.cpp +++ b/dom/base/nsINode.cpp -@@ -1362,6 +1362,61 @@ void nsINode::GetBoxQuadsFromWindowOrigin(const BoxQuadOptions& aOptions, +@@ -1365,6 +1365,61 @@ void nsINode::GetBoxQuadsFromWindowOrigin(const BoxQuadOptions& aOptions, mozilla::GetBoxQuadsFromWindowOrigin(this, aOptions, aResult, aRv); } @@ -1259,10 +1274,10 @@ index 11ca350f483458ba11f0ee170ce38e9785e8c70f..6bb310f6e96239388b4c92bd7bdf2d69 DOMQuad& aQuad, const GeometryNode& aFrom, const ConvertCoordinateOptions& aOptions, CallerType aCallerType, diff --git a/dom/base/nsINode.h b/dom/base/nsINode.h -index 0ba44cb08ffffde3bf9616e7e3b1fb33317181b6..b698e309e7bf658739b3a69a1d68f657a6c84e6e 100644 +index 3a47992cc89176fe9500f7b1d5b74e4422cb9625..27e6da8498af5e4a3c37407a3a8ab592e28dc372 100644 --- a/dom/base/nsINode.h +++ b/dom/base/nsINode.h -@@ -2235,6 +2235,10 @@ class nsINode : public mozilla::dom::EventTarget { +@@ -2248,6 +2248,10 @@ class nsINode : public mozilla::dom::EventTarget { nsTArray>& aResult, ErrorResult& aRv); @@ -1302,7 +1317,7 @@ index cceb725d393d5e5f83c8f87491089c3fa1d57cc3..e906a7fb7c3fd72554613f640dcc272e static bool DumpEnabled(); diff --git a/dom/chrome-webidl/BrowsingContext.webidl b/dom/chrome-webidl/BrowsingContext.webidl -index 8600a844634eed78e0b8470eaf11144f8ebd230b..853a4c98b78092181ad15542ae48cd41e9c49a82 100644 +index d70f3e18cc8e8f749e5057297161206129871453..2f2be2a6539203d1957bfe580a06ab70a512c053 100644 --- a/dom/chrome-webidl/BrowsingContext.webidl +++ b/dom/chrome-webidl/BrowsingContext.webidl @@ -53,6 +53,24 @@ enum PrefersColorSchemeOverride { @@ -1330,7 +1345,7 @@ index 8600a844634eed78e0b8470eaf11144f8ebd230b..853a4c98b78092181ad15542ae48cd41 /** * Allowed overrides of platform/pref default behaviour for touch events. */ -@@ -205,6 +223,12 @@ interface BrowsingContext { +@@ -209,6 +227,12 @@ interface BrowsingContext { // Color-scheme simulation, for DevTools. [SetterThrows] attribute PrefersColorSchemeOverride prefersColorSchemeOverride; @@ -1443,10 +1458,10 @@ index 7e1af00d05fbafa2d828e2c7e4dcc5c82d115f5b..e85af9718d064e4d2865bc944e9d4ba1 ~Geolocation(); diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp -index ae2c4af82c3827a521a79f8879a6f941ea68feca..92ea48eba6fb575ea1415d8713b49707b895561b 100644 +index d5a65a17555b7764611803f7fb298712b2c60fd7..fdee7deaf0b14e01702b902f8b73256c281e76b8 100644 --- a/dom/html/HTMLInputElement.cpp +++ b/dom/html/HTMLInputElement.cpp -@@ -58,6 +58,7 @@ +@@ -57,6 +57,7 @@ #include "mozilla/dom/Document.h" #include "mozilla/dom/HTMLDataListElement.h" #include "mozilla/dom/HTMLOptionElement.h" @@ -1454,11 +1469,12 @@ index ae2c4af82c3827a521a79f8879a6f941ea68feca..92ea48eba6fb575ea1415d8713b49707 #include "nsIFormControlFrame.h" #include "nsITextControlFrame.h" #include "nsIFrame.h" -@@ -784,6 +785,12 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) { +@@ -783,6 +784,13 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) { return NS_ERROR_FAILURE; } -+ nsDocShell* docShell = static_cast(win->GetDocShell()); ++ nsCOMPtr win = doc->GetWindow(); ++ nsDocShell* docShell = win ? static_cast(win->GetDocShell()) : nullptr; + if (docShell && docShell->IsFileInputInterceptionEnabled()) { + docShell->FilePickerShown(this); + return NS_OK; @@ -1468,7 +1484,7 @@ index ae2c4af82c3827a521a79f8879a6f941ea68feca..92ea48eba6fb575ea1415d8713b49707 return NS_OK; } diff --git a/dom/interfaces/base/nsIDOMWindowUtils.idl b/dom/interfaces/base/nsIDOMWindowUtils.idl -index 564b24e3f89e0ce6e683902a7fc4e1c3a6f5faac..e4264b251e580bb13aa2941b26227541c74d3371 100644 +index 6a0df1b435cee9cea3b7d7ca30d0aff0e31f8ac0..c17b24823dd873c025e407fcc635b7c678dfd8ed 100644 --- a/dom/interfaces/base/nsIDOMWindowUtils.idl +++ b/dom/interfaces/base/nsIDOMWindowUtils.idl @@ -373,6 +373,26 @@ interface nsIDOMWindowUtils : nsISupports { @@ -1499,10 +1515,10 @@ index 564b24e3f89e0ce6e683902a7fc4e1c3a6f5faac..e4264b251e580bb13aa2941b26227541 * touchstart, touchend, touchmove, and touchcancel * diff --git a/dom/ipc/BrowserChild.cpp b/dom/ipc/BrowserChild.cpp -index 830ad8579a39d262a1fd2c86479f2ddc77c01ae2..b840b68c9b5545fc974e1dafacac2e74372f4e41 100644 +index bdd10fdcb285e43778b55907ac05bfa973207e5e..d98808918ff8eccd6c51b4fbce1cce5e3745206a 100644 --- a/dom/ipc/BrowserChild.cpp +++ b/dom/ipc/BrowserChild.cpp -@@ -1651,6 +1651,21 @@ void BrowserChild::HandleRealMouseButtonEvent(const WidgetMouseEvent& aEvent, +@@ -1652,6 +1652,21 @@ void BrowserChild::HandleRealMouseButtonEvent(const WidgetMouseEvent& aEvent, if (postLayerization) { postLayerization->Register(); } @@ -1777,7 +1793,7 @@ index 3b39538e51840cd9b1685b2efd2ff2e9ec83608a..c7bf4f2d53b58bbacb22b3ebebf6f3fc return aGlobalOrNull; diff --git a/dom/security/nsCSPUtils.cpp b/dom/security/nsCSPUtils.cpp -index 50730b691b06409f47cb9172570866a7bb519abc..e5ae4f31b8f93f17943c24108a82c6370470e9f2 100644 +index 11d09909f73fee425fd0f50b384c396a52e02a36..b0e668881bcd3b850de709ebf2557ae8391b8fe8 100644 --- a/dom/security/nsCSPUtils.cpp +++ b/dom/security/nsCSPUtils.cpp @@ -22,6 +22,7 @@ @@ -1824,10 +1840,10 @@ index 2f71b284ee5f7e11f117c447834b48355784448c..2640bd57123c2b03bf4b06a2419cd020 * returned quads are further translated relative to the window * origin -- which is not the layout origin. Further translation diff --git a/dom/workers/RuntimeService.cpp b/dom/workers/RuntimeService.cpp -index bcfbe33925afb97e68305394fb38e42481682540..47bc46f34a93991f112292c851c539a6bc97778f 100644 +index 02efb1205382850b41c38d5f6ee47092adcdc63e..28c8d05d0b5cc415f3d13a4588248f3844faf4f2 100644 --- a/dom/workers/RuntimeService.cpp +++ b/dom/workers/RuntimeService.cpp -@@ -985,7 +985,7 @@ void PrefLanguagesChanged(const char* /* aPrefName */, void* /* aClosure */) { +@@ -995,7 +995,7 @@ void PrefLanguagesChanged(const char* /* aPrefName */, void* /* aClosure */) { AssertIsOnMainThread(); nsTArray languages; @@ -1836,7 +1852,7 @@ index bcfbe33925afb97e68305394fb38e42481682540..47bc46f34a93991f112292c851c539a6 RuntimeService* runtime = RuntimeService::GetService(); if (runtime) { -@@ -1172,8 +1172,7 @@ bool RuntimeService::RegisterWorker(WorkerPrivate& aWorkerPrivate) { +@@ -1182,8 +1182,7 @@ bool RuntimeService::RegisterWorker(WorkerPrivate& aWorkerPrivate) { } // The navigator overridden properties should have already been read. @@ -1846,7 +1862,7 @@ index bcfbe33925afb97e68305394fb38e42481682540..47bc46f34a93991f112292c851c539a6 mNavigatorPropertiesLoaded = true; } -@@ -1772,6 +1771,13 @@ void RuntimeService::PropagateStorageAccessPermissionGranted( +@@ -1789,6 +1788,13 @@ void RuntimeService::PropagateStorageAccessPermissionGranted( } } @@ -1860,7 +1876,7 @@ index bcfbe33925afb97e68305394fb38e42481682540..47bc46f34a93991f112292c851c539a6 template void RuntimeService::BroadcastAllWorkers(const Func& aFunc) { AssertIsOnMainThread(); -@@ -2287,6 +2293,14 @@ void PropagateStorageAccessPermissionGrantedToWorkers( +@@ -2304,6 +2310,14 @@ void PropagateStorageAccessPermissionGrantedToWorkers( } } @@ -1876,10 +1892,10 @@ index bcfbe33925afb97e68305394fb38e42481682540..47bc46f34a93991f112292c851c539a6 MOZ_ASSERT(!NS_IsMainThread()); MOZ_ASSERT(aCx); diff --git a/dom/workers/RuntimeService.h b/dom/workers/RuntimeService.h -index e6deb81f357043a937d032bb4b6c38207203f4d9..ff16582af9fbf550dfb7b5639658c34199524c45 100644 +index f51076ac1480794989999d00577bc9cf1566d5f9..fe15b2e00dc8f0bf203f2af9aad86e16c996d43d 100644 --- a/dom/workers/RuntimeService.h +++ b/dom/workers/RuntimeService.h -@@ -108,6 +108,8 @@ class RuntimeService final : public nsIObserver { +@@ -109,6 +109,8 @@ class RuntimeService final : public nsIObserver { void PropagateStorageAccessPermissionGranted( const nsPIDOMWindowInner& aWindow); @@ -1902,17 +1918,17 @@ index d10dabb5c5ff8e17851edf2bd2efc08e74584d8e..53c4070c5fde43b27fb8fbfdcf4c23d8 bool IsWorkerGlobal(JSObject* global); diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp -index acef06ba3abb006932f26f8a96fd73028f015150..940210c603d906ae0469d826b81ba8f537e7fef5 100644 +index a8643981aa966e9324a5dbdb09b4fe57210dc581..5120df2607584a7cd50ea03aa997ef5ade5c8ee2 100644 --- a/dom/workers/WorkerPrivate.cpp +++ b/dom/workers/WorkerPrivate.cpp -@@ -679,6 +679,18 @@ class UpdateContextOptionsRunnable final : public WorkerControlRunnable { +@@ -682,6 +682,18 @@ class UpdateContextOptionsRunnable final : public WorkerControlRunnable { } }; +class ResetDefaultLocaleRunnable final : public WorkerControlRunnable { + public: + explicit ResetDefaultLocaleRunnable(WorkerPrivate* aWorkerPrivate) -+ : WorkerControlRunnable(aWorkerPrivate, WorkerThread) {} ++ : WorkerControlRunnable(aWorkerPrivate, "ResetDefaultLocaleRunnable", WorkerThread) {} + + virtual bool WorkerRun(JSContext* aCx, + WorkerPrivate* aWorkerPrivate) override { @@ -1924,7 +1940,7 @@ index acef06ba3abb006932f26f8a96fd73028f015150..940210c603d906ae0469d826b81ba8f5 class UpdateLanguagesRunnable final : public WorkerRunnable { nsTArray mLanguages; -@@ -1977,6 +1989,16 @@ void WorkerPrivate::UpdateContextOptions( +@@ -1993,6 +2005,16 @@ void WorkerPrivate::UpdateContextOptions( } } @@ -1941,7 +1957,7 @@ index acef06ba3abb006932f26f8a96fd73028f015150..940210c603d906ae0469d826b81ba8f5 void WorkerPrivate::UpdateLanguages(const nsTArray& aLanguages) { AssertIsOnParentThread(); -@@ -5480,6 +5502,15 @@ void WorkerPrivate::UpdateContextOptionsInternal( +@@ -5489,6 +5511,15 @@ void WorkerPrivate::UpdateContextOptionsInternal( } } @@ -2032,10 +2048,10 @@ index 523e84c8c93f4221701f90f2e8ee146ec8e1adbd..98d5b1176e5378431b859a2dbd4d4e77 inline ClippedTime TimeClip(double time); diff --git a/js/src/debugger/Object.cpp b/js/src/debugger/Object.cpp -index c5a4f1f6dcf95922b5c8506d6bd24ad4fd2f1efc..a79bb0ad42d1bbd0434cda27c118cdd099013ab2 100644 +index 17528b0fd99ce8274e702746ff5674de4c3d4f2d..37fa52ae07381bec3504136b9bec0aa1ca110d6b 100644 --- a/js/src/debugger/Object.cpp +++ b/js/src/debugger/Object.cpp -@@ -2450,7 +2450,11 @@ Maybe DebuggerObject::call(JSContext* cx, +@@ -2468,7 +2468,11 @@ Maybe DebuggerObject::call(JSContext* cx, invokeArgs[i].set(args2[i]); } @@ -2202,10 +2218,10 @@ index dac899f7558b26d6848da8b98ed8a93555c8751a..2a07d67fa1c2840b25085566e84dc3b2 // No boxes to return return; diff --git a/layout/base/PresShell.cpp b/layout/base/PresShell.cpp -index 4afd2b10dfdab527b63f17919c52a559b3ac3de6..787283c004d9baa7227f00c338e0322dca88f949 100644 +index 31c21c337786b76306029149a925293a44c45c28..7aa4eb0b4980bb8ecdc4e10c91b1cd70e5d0ad08 100644 --- a/layout/base/PresShell.cpp +++ b/layout/base/PresShell.cpp -@@ -10963,7 +10963,9 @@ bool PresShell::ComputeActiveness() const { +@@ -11127,7 +11127,9 @@ bool PresShell::ComputeActiveness() const { if (!browserChild->IsVisible()) { MOZ_LOG(gLog, LogLevel::Debug, (" > BrowserChild %p is not visible", browserChild)); @@ -2229,10 +2245,10 @@ index 7bb839ae18835d128dc9285b7f9dc5b5e06335af..09e3979d07447522ace740daf2b818a6 const mozilla::dom::Document*); mozilla::StylePrefersColorScheme Gecko_MediaFeatures_PrefersColorScheme( diff --git a/layout/style/nsMediaFeatures.cpp b/layout/style/nsMediaFeatures.cpp -index c99eecb4867c623b8ccc6e6fb42986d71f795cc0..d127837d7e069818daaeb73ef42497226ff95e26 100644 +index f888c127d4423336a8f51e2011fc42eaf6c33f11..51d6e069f4a81c42b4bf270ba44ae4f82b8df592 100644 --- a/layout/style/nsMediaFeatures.cpp +++ b/layout/style/nsMediaFeatures.cpp -@@ -257,11 +257,11 @@ bool Gecko_MediaFeatures_MatchesPlatform(StylePlatform aPlatform) { +@@ -260,11 +260,11 @@ bool Gecko_MediaFeatures_MatchesPlatform(StylePlatform aPlatform) { } bool Gecko_MediaFeatures_PrefersReducedMotion(const Document* aDocument) { @@ -2250,7 +2266,7 @@ index c99eecb4867c623b8ccc6e6fb42986d71f795cc0..d127837d7e069818daaeb73ef4249722 bool Gecko_MediaFeatures_PrefersReducedTransparency(const Document* aDocument) { diff --git a/netwerk/base/LoadInfo.cpp b/netwerk/base/LoadInfo.cpp -index b15f24fffd7ea5a8a00319451fa7ebf9df32ec05..0279f6626f2ac938b0456d370fd956f2a23a036b 100644 +index eb90324c37ce515e5a0fcf75412605ae57ead9ee..6733dd6c99d77399529945386caa3926960e4176 100644 --- a/netwerk/base/LoadInfo.cpp +++ b/netwerk/base/LoadInfo.cpp @@ -653,7 +653,8 @@ LoadInfo::LoadInfo(const LoadInfo& rhs) @@ -2337,7 +2353,7 @@ index 155daa5cd52c4e93e1cc4559875868f4faf2c37e..02e8a2614a27a4cc9e1de760d4c48617 /** * Set the status and reason for the forthcoming synthesized response. diff --git a/netwerk/ipc/DocumentLoadListener.cpp b/netwerk/ipc/DocumentLoadListener.cpp -index ca1f59e8847bd399fcf3018ede95d318265c374c..d114f0bcaddedc3553780ff7b97e395e28aff91e 100644 +index d849eab7507f0665a8a79a1b11759afa3481f1ad..3a95d5201a1c1f2161a95e15beae86f2833a875f 100644 --- a/netwerk/ipc/DocumentLoadListener.cpp +++ b/netwerk/ipc/DocumentLoadListener.cpp @@ -167,6 +167,7 @@ static auto CreateDocumentLoadInfo(CanonicalBrowsingContext* aBrowsingContext, @@ -2387,10 +2403,10 @@ index c58fbc96391f8dcb585bd00b5ae8cba9088abd82..c121c891b61c9d60df770020c4ad0952 if (mPump && mLoadFlags & LOAD_CALL_CONTENT_SNIFFERS) { mPump->PeekStream(CallTypeSniffers, static_cast(this)); diff --git a/parser/html/nsHtml5TreeOpExecutor.cpp b/parser/html/nsHtml5TreeOpExecutor.cpp -index 3cb38dcf28a5cb3a8e70c336c8b1c822be59268f..4d9ae3ab666d4ba7b42730d50367720870f0183f 100644 +index f2c47c42a6b6448ede3a6fef1510a3982336d5af..9e35df57102c93238de2e4d548bbe1205d227f3b 100644 --- a/parser/html/nsHtml5TreeOpExecutor.cpp +++ b/parser/html/nsHtml5TreeOpExecutor.cpp -@@ -1381,6 +1381,10 @@ void nsHtml5TreeOpExecutor::UpdateReferrerInfoFromMeta( +@@ -1382,6 +1382,10 @@ void nsHtml5TreeOpExecutor::UpdateReferrerInfoFromMeta( void nsHtml5TreeOpExecutor::AddSpeculationCSP(const nsAString& aCSP) { NS_ASSERTION(NS_IsMainThread(), "Wrong thread!"); @@ -2498,10 +2514,10 @@ index 73c83e526be1a3a252f995d0718e3975d50bffa7..db5977c54221e19e107a8325a0834302 (lazy.isRunningTests || Cu.isInAutomation) && this.SERVER_URL == "data:,#remote-settings-dummy/v1" diff --git a/servo/components/style/gecko/media_features.rs b/servo/components/style/gecko/media_features.rs -index c9ad30b28b069a122cf01c5e97b83dc68ef022ff..f32dbcfe26fe2f6b8a0d066d6dfd208f1afc510d 100644 +index 8de45d95c2b942f069c898c93702bc7db2219369..be72e9678c3de31b1eaa72cfcb2c8be886f4a80f 100644 --- a/servo/components/style/gecko/media_features.rs +++ b/servo/components/style/gecko/media_features.rs -@@ -293,10 +293,15 @@ pub enum ForcedColors { +@@ -292,10 +292,15 @@ pub enum ForcedColors { /// https://drafts.csswg.org/mediaqueries-5/#forced-colors fn eval_forced_colors(context: &Context, query_value: Option) -> bool { @@ -2597,10 +2613,10 @@ index 209af157a35cf9c4586424421ee19b3f680796b6..1feb61e2f18e9a13631addc935f00da0 /** diff --git a/toolkit/mozapps/update/UpdateService.sys.mjs b/toolkit/mozapps/update/UpdateService.sys.mjs -index 290344c58bf488b4aa955c2c58bdaa11048e2f48..2d419b90e6c5a910d3038380cd6c819eb8b0c768 100644 +index 34bf1b9e19ae54f78d134b023af96820bc13a905..b85793edcd1996833420a026cb08706d648ece14 100644 --- a/toolkit/mozapps/update/UpdateService.sys.mjs +++ b/toolkit/mozapps/update/UpdateService.sys.mjs -@@ -3853,6 +3853,8 @@ UpdateService.prototype = { +@@ -3852,6 +3852,8 @@ UpdateService.prototype = { }, get disabledForTesting() { @@ -2610,7 +2626,7 @@ index 290344c58bf488b4aa955c2c58bdaa11048e2f48..2d419b90e6c5a910d3038380cd6c819e (Cu.isInAutomation || lazy.Marionette.running || diff --git a/toolkit/toolkit.mozbuild b/toolkit/toolkit.mozbuild -index f554b692f7e874dd21be1ef783e899ba602ee7f3..dd6c94f8723ca227611c8390d9dcd4f292939703 100644 +index b697eb1e3b02b0ffcc95a6e492dc23eb888488cc..0f4059341dbb3c2ecb2c46be0850e0d56e2a7453 100644 --- a/toolkit/toolkit.mozbuild +++ b/toolkit/toolkit.mozbuild @@ -155,6 +155,7 @@ if CONFIG["ENABLE_WEBDRIVER"]: @@ -2622,7 +2638,7 @@ index f554b692f7e874dd21be1ef783e899ba602ee7f3..dd6c94f8723ca227611c8390d9dcd4f2 ] diff --git a/toolkit/xre/nsWindowsWMain.cpp b/toolkit/xre/nsWindowsWMain.cpp -index 7eb9e1104682d4eb47060654f43a1efa8b2a6bb2..a8315d6decf654b5302bea5beeea34140c300ded 100644 +index 2a91deec5c10f87ed09f99b659baab77b2b638f2..78f4f30a0efe314563c6405f7b0848d2c3ca0551 100644 --- a/toolkit/xre/nsWindowsWMain.cpp +++ b/toolkit/xre/nsWindowsWMain.cpp @@ -14,8 +14,10 @@ @@ -2636,10 +2652,10 @@ index 7eb9e1104682d4eb47060654f43a1efa8b2a6bb2..a8315d6decf654b5302bea5beeea3414 #include #ifdef __MINGW32__ -@@ -114,6 +116,19 @@ static void FreeAllocStrings(int argc, char** argv) { - int wmain(int argc, WCHAR** argv) { +@@ -137,6 +139,19 @@ int wmain(int argc, WCHAR** argv) { SanitizeEnvironmentVariables(); SetDllDirectoryW(L""); + RemovePrefetchArguments(argc, argv); + bool hasJugglerPipe = + mozilla::CheckArg(argc, argv, "juggler-pipe", nullptr, + mozilla::CheckArgFlag::None) == mozilla::ARG_FOUND; @@ -2793,7 +2809,7 @@ index 4573e28470c5112f5ac2c5dd53e7a9d1ceedb943..b53b86d8e39f1de4b0d0f1a8d5d7295e // OnStartRequest) mDialog = nullptr; diff --git a/uriloader/exthandler/nsExternalHelperAppService.h b/uriloader/exthandler/nsExternalHelperAppService.h -index 205f73cfa127e15e171854165c92551fea957e84..6399525ea0abb55655c824b086a043d022392113 100644 +index 1f77e095dbfa3acc046779114007d83fc1cfa087..2354abbab7af6f6bdc3bd628722f03ea401d236a 100644 --- a/uriloader/exthandler/nsExternalHelperAppService.h +++ b/uriloader/exthandler/nsExternalHelperAppService.h @@ -257,6 +257,8 @@ class nsExternalHelperAppService : public nsIExternalHelperAppService, @@ -2886,7 +2902,7 @@ index 1c25e9d9a101233f71e92288a0f93125b81ac1c5..22cf67b0f6e3ddd2b3ed725a314ba6a9 } #endif diff --git a/widget/MouseEvents.h b/widget/MouseEvents.h -index ea714704df53af78a55065ce7626798e0e674a23..a108e0459aeac9789adac7d7ec166abf94646454 100644 +index d29b406524c8b4afe437b559e33b4b2b5824ee58..6bef9c1657f93f90f96735d76fedb6ba3888b5c1 100644 --- a/widget/MouseEvents.h +++ b/widget/MouseEvents.h @@ -258,6 +258,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, @@ -2935,7 +2951,7 @@ diff --git a/widget/cocoa/NativeKeyBindings.mm b/widget/cocoa/NativeKeyBindings. index e4bdf715e2fb899e97a5bfeb2e147127460d6047..3554f919480278b7353617481c7ce8050630a1aa 100644 --- a/widget/cocoa/NativeKeyBindings.mm +++ b/widget/cocoa/NativeKeyBindings.mm -@@ -528,6 +528,13 @@ void NativeKeyBindings::GetEditCommandsForTests( +@@ -528,6 +528,13 @@ break; case KEY_NAME_INDEX_ArrowLeft: if (aEvent.IsAlt()) { @@ -2949,7 +2965,7 @@ index e4bdf715e2fb899e97a5bfeb2e147127460d6047..3554f919480278b7353617481c7ce805 break; } if (aEvent.IsMeta() || (aEvent.IsControl() && aEvent.IsShift())) { -@@ -550,6 +557,13 @@ void NativeKeyBindings::GetEditCommandsForTests( +@@ -550,6 +557,13 @@ break; case KEY_NAME_INDEX_ArrowRight: if (aEvent.IsAlt()) { @@ -2963,7 +2979,7 @@ index e4bdf715e2fb899e97a5bfeb2e147127460d6047..3554f919480278b7353617481c7ce805 break; } if (aEvent.IsMeta() || (aEvent.IsControl() && aEvent.IsShift())) { -@@ -572,6 +586,10 @@ void NativeKeyBindings::GetEditCommandsForTests( +@@ -572,6 +586,10 @@ break; case KEY_NAME_INDEX_ArrowUp: if (aEvent.IsControl()) { @@ -2974,7 +2990,7 @@ index e4bdf715e2fb899e97a5bfeb2e147127460d6047..3554f919480278b7353617481c7ce805 break; } if (aEvent.IsMeta()) { -@@ -582,7 +600,7 @@ void NativeKeyBindings::GetEditCommandsForTests( +@@ -582,7 +600,7 @@ !aEvent.IsShift() ? ToObjcSelectorPtr(@selector(moveToBeginningOfDocument:)) : ToObjcSelectorPtr( @@ -2983,7 +2999,7 @@ index e4bdf715e2fb899e97a5bfeb2e147127460d6047..3554f919480278b7353617481c7ce805 aCommands); break; } -@@ -609,6 +627,10 @@ void NativeKeyBindings::GetEditCommandsForTests( +@@ -609,6 +627,10 @@ break; case KEY_NAME_INDEX_ArrowDown: if (aEvent.IsControl()) { diff --git a/browser_patches/webkit/UPSTREAM_CONFIG.sh b/browser_patches/webkit/UPSTREAM_CONFIG.sh index 71ae625752275..069f24571c3c3 100644 --- a/browser_patches/webkit/UPSTREAM_CONFIG.sh +++ b/browser_patches/webkit/UPSTREAM_CONFIG.sh @@ -1,3 +1,3 @@ REMOTE_URL="https://github.com/WebKit/WebKit.git" BASE_BRANCH="main" -BASE_REVISION="e225c278f4c06f451ea92cc68b12986dd2a99979" +BASE_REVISION="b2ca06dc3d84b356d01cdf09a82049f80515fbfe" diff --git a/browser_patches/webkit/patches/bootstrap.diff b/browser_patches/webkit/patches/bootstrap.diff index 538f93273830b..5df5d455da9cc 100644 --- a/browser_patches/webkit/patches/bootstrap.diff +++ b/browser_patches/webkit/patches/bootstrap.diff @@ -1,8 +1,8 @@ diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt -index 598c68f5ad80520cec7aa886d931a93b425dcac0..743a677b61d67db06eb8e76bcca0729fb45914ed 100644 +index dcd4c26b1cd99333e9498a483ff4139a8d42d14b..f041439eff7f2649b1560faf18661165b1fd7771 100644 --- a/Source/JavaScriptCore/CMakeLists.txt +++ b/Source/JavaScriptCore/CMakeLists.txt -@@ -1419,22 +1419,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS +@@ -1400,22 +1400,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS ${JAVASCRIPTCORE_DIR}/inspector/protocol/CSS.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Canvas.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Console.json @@ -1635,7 +1635,7 @@ index 52920cded24a9c6b0ef6fb4e518664955db4f9fa..bbbabc4e7259088b9404e8cc07eecd6f }, { diff --git a/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp b/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp -index e91e5ed0b72d5a3a4c8455ce1da31647f63b2011..7ebd9a28c78ad4c2296ed3c603ff81723719fdbd 100644 +index dd1286cec6e77895f519911c89719b6064db6949..b732e0eab0fd29e1a1c9a2179cc86a951768c062 100644 --- a/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp +++ b/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp @@ -28,7 +28,6 @@ @@ -1659,7 +1659,7 @@ index 72c81757450ad5ebacd5fd20d2a16095514802ec..b7d8ab1e04d3850180079870468b28ef private: enum ArgumentRequirement { ArgumentRequired, ArgumentNotRequired }; diff --git a/Source/ThirdParty/libwebrtc/CMakeLists.txt b/Source/ThirdParty/libwebrtc/CMakeLists.txt -index bff7beb4674150d0620513ccdbd30c970bb78554..79532335e892aeb209d54fa26312380d6b1da5b2 100644 +index d6b1e73b1268a1224c2d77b936ce46347be62dac..acd1950327608988059a7e972fb4d40f9efc0c68 100644 --- a/Source/ThirdParty/libwebrtc/CMakeLists.txt +++ b/Source/ThirdParty/libwebrtc/CMakeLists.txt @@ -452,6 +452,7 @@ set(webrtc_SOURCES @@ -1682,7 +1682,7 @@ index bff7beb4674150d0620513ccdbd30c970bb78554..79532335e892aeb209d54fa26312380d Source/third_party/libyuv/source/compare.cc Source/third_party/libyuv/source/compare_common.cc Source/third_party/libyuv/source/compare_gcc.cc -@@ -2262,6 +2268,10 @@ set(webrtc_INCLUDE_DIRECTORIES PRIVATE +@@ -2270,6 +2276,10 @@ set(webrtc_INCLUDE_DIRECTORIES PRIVATE Source/third_party/libsrtp/config Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include @@ -1951,7 +1951,7 @@ index f5f1d0ef71f7fcf175b016ddaefd99f18d96c1c3..5632dcb4919eb22133a62810b91e1433 isa = XCConfigurationList; buildConfigurations = ( diff --git a/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml b/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml -index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0f541003a 100644 +index 110e762586d9dc98b3a11a5cf5d1501334b2463f..870e1950740d745588cbfdc8abd3f3709867ab8f 100644 --- a/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml +++ b/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml @@ -562,6 +562,7 @@ ApplePayEnabled: @@ -1971,7 +1971,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 WebCore: default: false -@@ -1851,9 +1852,10 @@ CrossOriginEmbedderPolicyEnabled: +@@ -1739,9 +1740,10 @@ CrossOriginEmbedderPolicyEnabled: WebCore: default: false @@ -1983,7 +1983,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 category: security humanReadableName: "Cross-Origin-Opener-Policy (COOP) header" humanReadableDescription: "Support for Cross-Origin-Opener-Policy (COOP) header" -@@ -1861,7 +1863,7 @@ CrossOriginOpenerPolicyEnabled: +@@ -1749,7 +1751,7 @@ CrossOriginOpenerPolicyEnabled: WebKitLegacy: default: false WebKit: @@ -1992,7 +1992,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 WebCore: default: false -@@ -1905,7 +1907,7 @@ CustomPasteboardDataEnabled: +@@ -1793,7 +1795,7 @@ CustomPasteboardDataEnabled: WebKitLegacy: default: false WebKit: @@ -2001,7 +2001,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 default: false CustomStateSetEnabled: -@@ -1964,6 +1966,7 @@ DOMAudioSessionFullEnabled: +@@ -1852,6 +1854,7 @@ DOMAudioSessionFullEnabled: WebCore: default: false @@ -2009,7 +2009,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 DOMPasteAccessRequestsEnabled: type: bool status: internal -@@ -1975,7 +1978,7 @@ DOMPasteAccessRequestsEnabled: +@@ -1863,7 +1866,7 @@ DOMPasteAccessRequestsEnabled: default: false WebKit: "PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(VISION)": true @@ -2018,7 +2018,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 WebCore: default: false -@@ -3414,6 +3417,7 @@ InspectorAttachmentSide: +@@ -3232,6 +3235,7 @@ InspectorAttachmentSide: WebKit: default: 0 @@ -2026,7 +2026,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 InspectorStartsAttached: type: bool status: embedder -@@ -3421,7 +3425,7 @@ InspectorStartsAttached: +@@ -3239,7 +3243,7 @@ InspectorStartsAttached: exposed: [ WebKit ] defaultValue: WebKit: @@ -2035,7 +2035,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 InspectorWindowFrame: type: String -@@ -3776,9 +3780,10 @@ LayoutViewportHeightExpansionFactor: +@@ -3593,9 +3597,10 @@ LayoutViewportHeightExpansionFactor: WebCore: default: 0 @@ -2047,7 +2047,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 category: html humanReadableName: "Lazy iframe loading" humanReadableDescription: "Enable lazy iframe loading support" -@@ -3786,9 +3791,9 @@ LazyIframeLoadingEnabled: +@@ -3603,9 +3608,9 @@ LazyIframeLoadingEnabled: WebKitLegacy: default: true WebKit: @@ -2059,7 +2059,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 LazyImageLoadingEnabled: type: bool -@@ -5210,6 +5215,19 @@ PitchCorrectionAlgorithm: +@@ -5028,6 +5033,19 @@ PitchCorrectionAlgorithm: WebCore: default: MediaPlayerEnums::PitchCorrectionAlgorithm::BestAllAround @@ -2076,10 +2076,10 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 + WebCore: + default: true + - PopoverAttributeEnabled: + PointerLockOptionsEnabled: type: bool - status: stable -@@ -6946,6 +6964,7 @@ UseCGDisplayListsForDOMRendering: + status: testable +@@ -6778,6 +6796,7 @@ UseCGDisplayListsForDOMRendering: WebKit: default: true @@ -2087,7 +2087,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 UseGPUProcessForCanvasRenderingEnabled: type: bool status: stable -@@ -6958,7 +6977,7 @@ UseGPUProcessForCanvasRenderingEnabled: +@@ -6790,7 +6809,7 @@ UseGPUProcessForCanvasRenderingEnabled: defaultValue: WebKit: "ENABLE(GPU_PROCESS_BY_DEFAULT)": true @@ -2096,7 +2096,16 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 default: false UseGPUProcessForDOMRenderingEnabled: -@@ -7000,6 +7019,7 @@ UseGPUProcessForMediaEnabled: +@@ -6800,7 +6819,7 @@ UseGPUProcessForDOMRenderingEnabled: + humanReadableName: "GPU Process: DOM Rendering" + humanReadableDescription: "Enable DOM rendering in GPU Process" + webcoreBinding: none +- condition: ENABLE(GPU_PROCESS) ++ condition: ENABLE(GPU_PROCESS) && !PLATFORM(WIN) + exposed: [ WebKit ] + defaultValue: + WebKit: +@@ -6832,6 +6851,7 @@ UseGPUProcessForMediaEnabled: "ENABLE(GPU_PROCESS_BY_DEFAULT)": true default: false @@ -2104,7 +2113,7 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 UseGPUProcessForWebGLEnabled: type: bool status: internal -@@ -7011,7 +7031,7 @@ UseGPUProcessForWebGLEnabled: +@@ -6843,7 +6863,7 @@ UseGPUProcessForWebGLEnabled: default: false WebKit: "ENABLE(GPU_PROCESS_BY_DEFAULT) && ENABLE(GPU_PROCESS_WEBGL_BY_DEFAULT)": true @@ -2114,10 +2123,10 @@ index c7812f1c9eed5b85cfd0f2c95224509743572eef..df12b644468fe5cba5592be5265147a0 WebCore: "ENABLE(GPU_PROCESS_BY_DEFAULT) && ENABLE(GPU_PROCESS_WEBGL_BY_DEFAULT)": true diff --git a/Source/WTF/wtf/PlatformEnable.h b/Source/WTF/wtf/PlatformEnable.h -index 6fbfe8530da9b3f0c537f42ff66ec4ff7bc18eef..1b777bff1c688c4c0d1e8b81eff345e44c5068ef 100644 +index 6f547f01a22d1aba86b813fc77679124a643ef72..34fbae99c2e64f2a34a83d878da76f9c75d0bea5 100644 --- a/Source/WTF/wtf/PlatformEnable.h +++ b/Source/WTF/wtf/PlatformEnable.h -@@ -409,7 +409,7 @@ +@@ -401,7 +401,7 @@ // ORIENTATION_EVENTS should never get enabled on Desktop, only Mobile. #if !defined(ENABLE_ORIENTATION_EVENTS) @@ -2126,7 +2135,7 @@ index 6fbfe8530da9b3f0c537f42ff66ec4ff7bc18eef..1b777bff1c688c4c0d1e8b81eff345e4 #endif #if !defined(ENABLE_OVERFLOW_SCROLLING_TOUCH) -@@ -514,7 +514,7 @@ +@@ -506,7 +506,7 @@ #endif #if !defined(ENABLE_TOUCH_EVENTS) @@ -2136,10 +2145,10 @@ index 6fbfe8530da9b3f0c537f42ff66ec4ff7bc18eef..1b777bff1c688c4c0d1e8b81eff345e4 #if !defined(ENABLE_TOUCH_ACTION_REGIONS) diff --git a/Source/WTF/wtf/PlatformEnableCocoa.h b/Source/WTF/wtf/PlatformEnableCocoa.h -index ced4314427247eeccfec1792da08ac8c4138f229..ff97e57bd8e70a7025959469d9fed7b20762f887 100644 +index d797c28eccac0578c7c504fa0c7b34d517746b17..32e815241e2513c979d1af01ef88b494851a2409 100644 --- a/Source/WTF/wtf/PlatformEnableCocoa.h +++ b/Source/WTF/wtf/PlatformEnableCocoa.h -@@ -791,7 +791,7 @@ +@@ -775,7 +775,7 @@ #endif #if !defined(ENABLE_SEC_ITEM_SHIM) @@ -2149,7 +2158,7 @@ index ced4314427247eeccfec1792da08ac8c4138f229..ff97e57bd8e70a7025959469d9fed7b2 #if !defined(ENABLE_SERVER_PRECONNECT) diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h -index c4f3e13ed22dcd09335804ea248437ed42269f2c..0cdb4fd452ef373fdd95cb5ec0195c1456f16813 100644 +index cb5e806040f4e6e2bf94a4c27b05892af7e4301d..81fd915ce2643522b225139661da9f7dedf32469 100644 --- a/Source/WTF/wtf/PlatformHave.h +++ b/Source/WTF/wtf/PlatformHave.h @@ -419,7 +419,7 @@ @@ -2172,7 +2181,7 @@ index c4f3e13ed22dcd09335804ea248437ed42269f2c..0cdb4fd452ef373fdd95cb5ec0195c14 #if !defined(HAVE_LOCKDOWN_MODE_PDF_ADDITIONS) && \ diff --git a/Source/WTF/wtf/unicode/UTF8Conversion.h b/Source/WTF/wtf/unicode/UTF8Conversion.h -index 8c27e4ca50e6208262966834dbd9f08214294c5f..40898c535e48536418eebf1ed151887c8b0348af 100644 +index f45ef73d81bd02c0b542e98ff01f59d88f57b8a0..0fb91174b8e6641d20b4ee084ec48910cdf7b836 100644 --- a/Source/WTF/wtf/unicode/UTF8Conversion.h +++ b/Source/WTF/wtf/unicode/UTF8Conversion.h @@ -28,6 +28,10 @@ @@ -2187,10 +2196,10 @@ index 8c27e4ca50e6208262966834dbd9f08214294c5f..40898c535e48536418eebf1ed151887c namespace Unicode { diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make -index 4ab111cd6c9090f3ff912b6e0249df92da0d6523..dfd80b0297e5ee657a29375241eed77cab4e039e 100644 +index 9dd05dd4e7ad824cae7c47d61117a2bbde10c3e5..015b2ce422f594860a77b0382e9a3857f2db4ff6 100644 --- a/Source/WebCore/DerivedSources.make +++ b/Source/WebCore/DerivedSources.make -@@ -1147,6 +1147,10 @@ JS_BINDING_IDLS := \ +@@ -1149,6 +1149,10 @@ JS_BINDING_IDLS := \ $(WebCore)/dom/Slotable.idl \ $(WebCore)/dom/StaticRange.idl \ $(WebCore)/dom/StringCallback.idl \ @@ -2201,7 +2210,7 @@ index 4ab111cd6c9090f3ff912b6e0249df92da0d6523..dfd80b0297e5ee657a29375241eed77c $(WebCore)/dom/Text.idl \ $(WebCore)/dom/TextDecoder.idl \ $(WebCore)/dom/TextDecoderStream.idl \ -@@ -1736,9 +1740,6 @@ JS_BINDING_IDLS := \ +@@ -1735,9 +1739,6 @@ JS_BINDING_IDLS := \ ADDITIONAL_BINDING_IDLS = \ DocumentTouch.idl \ GestureEvent.idl \ @@ -2212,10 +2221,10 @@ index 4ab111cd6c9090f3ff912b6e0249df92da0d6523..dfd80b0297e5ee657a29375241eed77c vpath %.in $(WEBKITADDITIONS_HEADER_SEARCH_PATHS) diff --git a/Source/WebCore/Modules/geolocation/Geolocation.cpp b/Source/WebCore/Modules/geolocation/Geolocation.cpp -index d27f967de68f36c5a4cb2b9df6d011380b48b593..82fc33a1d0ab8c5368842385ed74e4981e1d6a72 100644 +index 32fde85425cbb82eb30bcc7aef58155026d2b7b7..a35495d97fcf0346e4696e26df80cf4a8fb890d6 100644 --- a/Source/WebCore/Modules/geolocation/Geolocation.cpp +++ b/Source/WebCore/Modules/geolocation/Geolocation.cpp -@@ -362,8 +362,9 @@ bool Geolocation::shouldBlockGeolocationRequests() +@@ -357,8 +357,9 @@ bool Geolocation::shouldBlockGeolocationRequests() bool isSecure = SecurityOrigin::isSecure(document()->url()) || document()->isSecureContext(); bool hasMixedContent = !document()->foundMixedContent().isEmpty(); bool isLocalOrigin = securityOrigin()->isLocal(); @@ -2263,10 +2272,10 @@ index 506ebb25fa290f27a75674a6fe5506fc311910d6..07d34c567b42aca08b188243c3f036f6 [self sendSpeechEndIfNeeded]; diff --git a/Source/WebCore/PlatformWPE.cmake b/Source/WebCore/PlatformWPE.cmake -index 5c4d75ebdab0739a2d7f37e87f63f9c62bd297f4..1ac5a96ea17ec88dc4906c3b9d24d30026380968 100644 +index c6a03b56d8358316c9ce422c1a11438bd216f80f..69fbd319b7cd084ca125a8db1b5d92ef6a4dc10f 100644 --- a/Source/WebCore/PlatformWPE.cmake +++ b/Source/WebCore/PlatformWPE.cmake -@@ -57,6 +57,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS +@@ -60,6 +60,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS platform/graphics/libwpe/PlatformDisplayLibWPE.h platform/graphics/wayland/PlatformDisplayWayland.h @@ -2275,10 +2284,10 @@ index 5c4d75ebdab0739a2d7f37e87f63f9c62bd297f4..1ac5a96ea17ec88dc4906c3b9d24d300 set(CSS_VALUE_PLATFORM_DEFINES "HAVE_OS_DARK_MODE_SUPPORT=1") diff --git a/Source/WebCore/SourcesCocoa.txt b/Source/WebCore/SourcesCocoa.txt -index 9fd175c505e01a219000c92dbf83fd5cacd428a2..e8be3e733db6a49b1993ef1edb062298849e05f2 100644 +index eece14fded1942140af81dede0861fb5f79fb532..cd3c5ebaccd268695d9e7bc0b96f30522c42e43e 100644 --- a/Source/WebCore/SourcesCocoa.txt +++ b/Source/WebCore/SourcesCocoa.txt -@@ -712,3 +712,9 @@ testing/cocoa/WebViewVisualIdentificationOverlay.mm +@@ -713,3 +713,9 @@ testing/cocoa/WebViewVisualIdentificationOverlay.mm platform/graphics/angle/GraphicsContextGLANGLE.cpp @no-unify platform/graphics/cocoa/GraphicsContextGLCocoa.mm @no-unify platform/graphics/cv/GraphicsContextGLCVCocoa.cpp @no-unify @@ -2289,10 +2298,10 @@ index 9fd175c505e01a219000c92dbf83fd5cacd428a2..e8be3e733db6a49b1993ef1edb062298 +JSTouchList.cpp +// Playwright end diff --git a/Source/WebCore/SourcesGTK.txt b/Source/WebCore/SourcesGTK.txt -index 867352b020400643f6aeff8acc4c2c874c5aec83..3bf8903963d0128b015879bb6cfa192d4b302c39 100644 +index af2081f34b9d8d97864a6e9507805abc9e8eb6d7..06ed467b2c6e529baba22a04e03a4858f8552e19 100644 --- a/Source/WebCore/SourcesGTK.txt +++ b/Source/WebCore/SourcesGTK.txt -@@ -107,3 +107,10 @@ platform/unix/LoggingUnix.cpp +@@ -110,3 +110,10 @@ platform/unix/LoggingUnix.cpp platform/unix/SharedMemoryUnix.cpp platform/xdg/MIMETypeRegistryXdg.cpp @@ -2304,10 +2313,10 @@ index 867352b020400643f6aeff8acc4c2c874c5aec83..3bf8903963d0128b015879bb6cfa192d +JSSpeechSynthesisEventInit.cpp +// Playwright: end. diff --git a/Source/WebCore/SourcesWPE.txt b/Source/WebCore/SourcesWPE.txt -index e24a29cf23786daa6bce604694db462d3ccf67a4..ed61fb29cafea30491a52fdd8f8f4dce3e1e3a3a 100644 +index 92f1879df295fc63a9194dc54d3f7499c5fe3041..67c40d056aee6a8149ed1ff16ce4c835e19f7f6c 100644 --- a/Source/WebCore/SourcesWPE.txt +++ b/Source/WebCore/SourcesWPE.txt -@@ -45,6 +45,8 @@ editing/libwpe/EditorLibWPE.cpp +@@ -46,6 +46,8 @@ editing/libwpe/EditorLibWPE.cpp loader/soup/ResourceLoaderSoup.cpp @@ -2316,7 +2325,7 @@ index e24a29cf23786daa6bce604694db462d3ccf67a4..ed61fb29cafea30491a52fdd8f8f4dce page/linux/ResourceUsageOverlayLinux.cpp page/linux/ResourceUsageThreadLinux.cpp -@@ -84,6 +86,17 @@ platform/text/LocaleICU.cpp +@@ -87,6 +89,17 @@ platform/text/LocaleICU.cpp platform/unix/LoggingUnix.cpp platform/unix/SharedMemoryUnix.cpp @@ -2335,10 +2344,10 @@ index e24a29cf23786daa6bce604694db462d3ccf67a4..ed61fb29cafea30491a52fdd8f8f4dce +JSSpeechSynthesisEventInit.cpp +// Playwright: end. diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4afc4e335e1 100644 +index 8807578bc8e503fce83e9acc30029cef75b7f071..7fffb6499c200dca0c3ee777feaf284999d5d763 100644 --- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -@@ -6215,6 +6215,13 @@ +@@ -6216,6 +6216,13 @@ EDE3A5000C7A430600956A37 /* ColorMac.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE3A4FF0C7A430600956A37 /* ColorMac.h */; settings = {ATTRIBUTES = (Private, ); }; }; EDEC98030AED7E170059137F /* WebCorePrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = EDEC98020AED7E170059137F /* WebCorePrefix.h */; }; EFCC6C8F20FE914400A2321B /* CanvasActivityRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = EFCC6C8D20FE914000A2321B /* CanvasActivityRecord.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -2352,7 +2361,7 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af F12171F616A8CF0B000053CA /* WebVTTElement.h in Headers */ = {isa = PBXBuildFile; fileRef = F12171F416A8BC63000053CA /* WebVTTElement.h */; }; F32BDCD92363AACA0073B6AE /* UserGestureEmulationScope.h in Headers */ = {isa = PBXBuildFile; fileRef = F32BDCD72363AACA0073B6AE /* UserGestureEmulationScope.h */; }; F344C7141125B82C00F26EEE /* InspectorFrontendClient.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */; settings = {ATTRIBUTES = (Private, ); }; }; -@@ -20080,6 +20087,14 @@ +@@ -20126,6 +20133,14 @@ EDEC98020AED7E170059137F /* WebCorePrefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebCorePrefix.h; sourceTree = ""; tabWidth = 4; usesTabs = 0; }; EFB7287B2124C73D005C2558 /* CanvasActivityRecord.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CanvasActivityRecord.cpp; sourceTree = ""; }; EFCC6C8D20FE914000A2321B /* CanvasActivityRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CanvasActivityRecord.h; sourceTree = ""; }; @@ -2367,7 +2376,7 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af F12171F316A8BC63000053CA /* WebVTTElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebVTTElement.cpp; sourceTree = ""; }; F12171F416A8BC63000053CA /* WebVTTElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVTTElement.h; sourceTree = ""; }; F32BDCD52363AAC90073B6AE /* UserGestureEmulationScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserGestureEmulationScope.cpp; sourceTree = ""; }; -@@ -27690,6 +27705,11 @@ +@@ -27745,6 +27760,11 @@ BC4A5324256055590028C592 /* TextDirectionSubmenuInclusionBehavior.h */, 2D4F96F11A1ECC240098BF88 /* TextIndicator.cpp */, 2D4F96F21A1ECC240098BF88 /* TextIndicator.h */, @@ -2379,7 +2388,7 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af F48570A42644C76D00C05F71 /* TranslationContextMenuInfo.h */, F4E1965F21F26E4E00285078 /* UndoItem.cpp */, 2ECDBAD521D8906300F00ECD /* UndoItem.h */, -@@ -33986,6 +34006,8 @@ +@@ -34075,6 +34095,8 @@ 29E4D8DF16B0940F00C84704 /* PlatformSpeechSynthesizer.h */, 1AD8F81A11CAB9E900E93E54 /* PlatformStrategies.cpp */, 1AD8F81911CAB9E900E93E54 /* PlatformStrategies.h */, @@ -2388,7 +2397,7 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af 0FD7C21D23CE41E30096D102 /* PlatformWheelEvent.cpp */, 935C476A09AC4D4F00A6AAB4 /* PlatformWheelEvent.h */, F491A66A2A9FEFA300F96146 /* PlatformWheelEvent.serialization.in */, -@@ -36653,6 +36675,7 @@ +@@ -36745,6 +36767,7 @@ AD6E71AB1668899D00320C13 /* DocumentSharedObjectPool.h */, 6BDB5DC1227BD3B800919770 /* DocumentStorageAccess.cpp */, 6BDB5DC0227BD3B800919770 /* DocumentStorageAccess.h */, @@ -2396,7 +2405,7 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af 7CE7FA5B1EF882300060C9D6 /* DocumentTouch.cpp */, 7CE7FA591EF882300060C9D6 /* DocumentTouch.h */, A8185F3209765765005826D9 /* DocumentType.cpp */, -@@ -41383,6 +41406,8 @@ +@@ -41482,6 +41505,8 @@ F4E90A3C2B52038E002DA469 /* PlatformTextAlternatives.h in Headers */, 0F7D07331884C56C00B4AF86 /* PlatformTextTrack.h in Headers */, 074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */, @@ -2405,7 +2414,7 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af CDD08ABD277E542600EA3755 /* PlatformTrackConfiguration.h in Headers */, CD1F9B022700323D00617EB6 /* PlatformVideoColorPrimaries.h in Headers */, CD1F9B01270020B700617EB6 /* PlatformVideoColorSpace.h in Headers */, -@@ -42660,6 +42685,7 @@ +@@ -42762,6 +42787,7 @@ 0F54DD081881D5F5003EEDBB /* Touch.h in Headers */, 71B7EE0D21B5C6870031C1EF /* TouchAction.h in Headers */, 0F54DD091881D5F5003EEDBB /* TouchEvent.h in Headers */, @@ -2413,7 +2422,7 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af 0F54DD0A1881D5F5003EEDBB /* TouchList.h in Headers */, 070334D71459FFD5008D8D45 /* TrackBase.h in Headers */, BE88E0C21715CE2600658D98 /* TrackListBase.h in Headers */, -@@ -43788,6 +43814,8 @@ +@@ -43910,6 +43936,8 @@ 2D22830323A8470700364B7E /* CursorMac.mm in Sources */, 5CBD59592280E926002B22AA /* CustomHeaderFields.cpp in Sources */, 07E4BDBF2A3A5FAB000D5509 /* DictationCaretAnimator.cpp in Sources */, @@ -2422,7 +2431,7 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af 7CE6CBFD187F394900D46BF5 /* FormatConverter.cpp in Sources */, 4667EA3E2968D9DA00BAB1E2 /* GameControllerHapticEffect.mm in Sources */, 46FE73D32968E52000B8064C /* GameControllerHapticEngines.mm in Sources */, -@@ -43875,6 +43903,9 @@ +@@ -43997,6 +44025,9 @@ CE88EE262414467B007F29C2 /* TextAlternativeWithRange.mm in Sources */, BE39137129B267F500FA5D4F /* TextTransformCocoa.cpp in Sources */, 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, @@ -2433,18 +2442,18 @@ index 426658f2035cb425d913c21ad621a8f1a8f03f14..1a462ad491fdf8044c2cad77c43da4af 538EC8021F96AF81004D22A8 /* UnifiedSource1.cpp in Sources */, 538EC8051F96AF81004D22A8 /* UnifiedSource2-mm.mm in Sources */, diff --git a/Source/WebCore/accessibility/AccessibilityObject.cpp b/Source/WebCore/accessibility/AccessibilityObject.cpp -index ed50745a2ae8973604461d1f91994656cb6ba26f..f69247170ffc45a2dc6e477a9e1f6a48d9862ea2 100644 +index 9253fbb9de00b2768dd67c6efa20a2242e2e6621..c758a4e9b6f779458a611b6458ba89de1c17e4c8 100644 --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityObject.cpp -@@ -65,6 +65,7 @@ - #include "HTMLParserIdioms.h" +@@ -66,6 +66,7 @@ + #include "HTMLSlotElement.h" #include "HTMLTextAreaElement.h" #include "HitTestResult.h" +#include "InspectorInstrumentation.h" #include "LocalFrame.h" #include "LocalizedStrings.h" #include "MathMLNames.h" -@@ -4063,9 +4064,14 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const +@@ -4075,9 +4076,14 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const if (roleValue() == AccessibilityRole::ApplicationDialog) return AccessibilityObjectInclusion::IncludeObject; @@ -2475,7 +2484,7 @@ index f20ac9d4d61a6f396e9ed796c8e6c5b8a7ea0577..3151b5e54ea17c0d979d22a0cc43c5ce macro(DynamicsCompressorNode) \ macro(ElementInternals) \ diff --git a/Source/WebCore/css/query/MediaQueryFeatures.cpp b/Source/WebCore/css/query/MediaQueryFeatures.cpp -index bae4d73a2e54a59595843bc64eb34252ca421a4a..a9ed264d3c5a46224d0f9a3bdabfbf19079be063 100644 +index 9892fda4291cae0e0d338fac8b0f98cd0126807d..7ecfd659809ab30e82a9c00ec7710292a1bd5611 100644 --- a/Source/WebCore/css/query/MediaQueryFeatures.cpp +++ b/Source/WebCore/css/query/MediaQueryFeatures.cpp @@ -368,7 +368,11 @@ const FeatureSchema& forcedColors() @@ -2502,7 +2511,7 @@ index bae4d73a2e54a59595843bc64eb34252ca421a4a..a9ed264d3c5a46224d0f9a3bdabfbf19 case ForcedAccessibilityValue::On: return true; diff --git a/Source/WebCore/dom/DataTransfer.cpp b/Source/WebCore/dom/DataTransfer.cpp -index 4cc52397bbf1397aaa210e1d73831d178a3ff443..16eb5f885aeb17f61611109287ba2ce11a458ab6 100644 +index b56c600b6159973dc8a33db1deba0cfbb77abf48..a347a85381888e2f6423393552d619938ad34f21 100644 --- a/Source/WebCore/dom/DataTransfer.cpp +++ b/Source/WebCore/dom/DataTransfer.cpp @@ -510,6 +510,14 @@ Ref DataTransfer::createForDrag(const Document& document) @@ -2583,7 +2592,7 @@ index 9b8dbfc15ce078702321abcd6c0e636df7a60510..2956f7098e87af10ab8f5584b456ce9a ] partial interface mixin DocumentOrShadowRoot { readonly attribute Element? pointerLockElement; diff --git a/Source/WebCore/dom/Element+PointerLock.idl b/Source/WebCore/dom/Element+PointerLock.idl -index f27718c1e2b8cd0a8075e556d4cdba7d9ae8fc54..2b61721594e5435845f3151e0de345e90eafc9ea 100644 +index 9b344003de17b96d8b9ca8c7f32143a27543b1ea..2208a3f2b7d930bcd291e65b474d4c3023d2a7e4 100644 --- a/Source/WebCore/dom/Element+PointerLock.idl +++ b/Source/WebCore/dom/Element+PointerLock.idl @@ -24,6 +24,7 @@ @@ -2593,7 +2602,7 @@ index f27718c1e2b8cd0a8075e556d4cdba7d9ae8fc54..2b61721594e5435845f3151e0de345e9 + EnabledBySetting=PointerLockEnabled, Conditional=POINTER_LOCK ] partial interface Element { - undefined requestPointerLock(); + // Returns Promise if PointerLockOptionsEnabled Runtime Flag is set, otherwise returns undefined. diff --git a/Source/WebCore/dom/PointerEvent.cpp b/Source/WebCore/dom/PointerEvent.cpp index c35c7851f168954a0c5265ea218a2173b7b079a8..500b267351d2e4ac9864129650b6c00627a8ea6f 100644 --- a/Source/WebCore/dom/PointerEvent.cpp @@ -2756,10 +2765,10 @@ index dde92a4942d3f6679b6ef2455fa15d023544dfbc..c6ed18b40209195d1cf5c7785091d37f break; } diff --git a/Source/WebCore/inspector/InspectorController.cpp b/Source/WebCore/inspector/InspectorController.cpp -index 284787f7db1051968ccaf7852bf0e71228ef2e99..d1977ec28b264e964264fe26155d84005e8099aa 100644 +index 3844ae7bab48f46b77cfd85530e4ab19392a71dd..8d705215457f89711e78e3bee9c983d131b08245 100644 --- a/Source/WebCore/inspector/InspectorController.cpp +++ b/Source/WebCore/inspector/InspectorController.cpp -@@ -288,6 +288,8 @@ void InspectorController::disconnectFrontend(FrontendChannel& frontendChannel) +@@ -287,6 +287,8 @@ void InspectorController::disconnectFrontend(FrontendChannel& frontendChannel) // Unplug all instrumentations since they aren't needed now. InspectorInstrumentation::unregisterInstrumentingAgents(m_instrumentingAgents.get()); @@ -2768,7 +2777,7 @@ index 284787f7db1051968ccaf7852bf0e71228ef2e99..d1977ec28b264e964264fe26155d8400 } m_inspectorClient->frontendCountChanged(m_frontendRouter->frontendCount()); -@@ -307,6 +309,8 @@ void InspectorController::disconnectAllFrontends() +@@ -306,6 +308,8 @@ void InspectorController::disconnectAllFrontends() // The frontend should call setInspectorFrontendClient(nullptr) under closeWindow(). ASSERT(!m_inspectorFrontendClient); @@ -2777,7 +2786,7 @@ index 284787f7db1051968ccaf7852bf0e71228ef2e99..d1977ec28b264e964264fe26155d8400 if (!m_frontendRouter->hasFrontends()) return; -@@ -395,8 +399,8 @@ void InspectorController::inspect(Node* node) +@@ -394,8 +398,8 @@ void InspectorController::inspect(Node* node) if (!enabled()) return; @@ -2788,7 +2797,7 @@ index 284787f7db1051968ccaf7852bf0e71228ef2e99..d1977ec28b264e964264fe26155d8400 ensureDOMAgent().inspect(node); } -@@ -539,4 +543,24 @@ void InspectorController::didComposite(LocalFrame& frame) +@@ -538,4 +542,24 @@ void InspectorController::didComposite(LocalFrame& frame) InspectorInstrumentation::didComposite(frame); } @@ -3262,7 +3271,7 @@ index 7aa2d9e599359d9302cbdde8a7a0b9399e37d313..7b4ec6ee9adb5687e16eb0fe746a3114 { return context ? instrumentingAgents(*context) : nullptr; diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp -index 8922f4e9112436011f5ed028dfb12b0ce273576b..d3299f4fb14c1ef3c67caabd27cb2d8b5339b1da 100644 +index a5167242b6b1ee9d6ccfcd81ef86a5729882d3a4..d64c560f86db46786ba47fe55654c140efd1d31b 100644 --- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp @@ -65,10 +65,14 @@ @@ -3564,8 +3573,8 @@ index 8922f4e9112436011f5ed028dfb12b0ce273576b..d3299f4fb14c1ef3c67caabd27cb2d8b } Node* InspectorDOMAgent::scriptValueAsNode(JSC::JSValue value) -@@ -3178,4 +3350,57 @@ Inspector::Protocol::ErrorStringOr> In - return stats; +@@ -3183,4 +3355,57 @@ Inspector::Protocol::ErrorStringOr> In + #endif } +Protocol::ErrorStringOr InspectorDOMAgent::setInputFiles(const String& objectId, RefPtr&& files, RefPtr&& paths) { @@ -3696,7 +3705,7 @@ index 5f1dba2bc4d5c2f113a88dcc9ba479679cb79233..5616c853a99b5fdb38306a804cc0e917 void discardBindings(); diff --git a/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp b/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp -index cf2145f9d95fb7e1639757b0b90d1e93fb6b6f14..93da4f3e31842777238ff26ea1cf7ce8d03165ca 100644 +index 00dba5735f2f682d00f7e17ef2abddf85a4c7f90..4c2ca023d6ad04a3ccda68d5f707df8065d50419 100644 --- a/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp @@ -59,6 +59,7 @@ @@ -3707,18 +3716,18 @@ index cf2145f9d95fb7e1639757b0b90d1e93fb6b6f14..93da4f3e31842777238ff26ea1cf7ce8 #include "Page.h" #include "PlatformStrategies.h" #include "ProgressTracker.h" -@@ -337,8 +338,8 @@ static Ref buildObjectForResourceRequest( +@@ -339,8 +340,8 @@ static Ref buildObjectForResourceRequest( .release(); if (request.httpBody() && !request.httpBody()->isEmpty()) { - auto bytes = request.httpBody()->flatten(); -- requestObject->setPostData(String::fromUTF8WithLatin1Fallback(bytes.data(), bytes.size())); +- requestObject->setPostData(String::fromUTF8WithLatin1Fallback(bytes.span())); + Vector bytes = request.httpBody()->flatten(); + requestObject->setPostData(base64EncodeToString(bytes)); } if (resourceLoader) { -@@ -391,6 +392,8 @@ RefPtr InspectorNetworkAgent::buildObjec +@@ -393,6 +394,8 @@ RefPtr InspectorNetworkAgent::buildObjec .setSource(responseSource(response.source())) .release(); @@ -3727,7 +3736,7 @@ index cf2145f9d95fb7e1639757b0b90d1e93fb6b6f14..93da4f3e31842777238ff26ea1cf7ce8 if (resourceLoader) { auto* metrics = response.deprecatedNetworkLoadMetricsOrNull(); responseObject->setTiming(buildObjectForTiming(metrics ? *metrics : NetworkLoadMetrics::emptyMetrics(), *resourceLoader)); -@@ -958,6 +961,7 @@ void InspectorNetworkAgent::continuePendingResponses() +@@ -960,6 +963,7 @@ void InspectorNetworkAgent::continuePendingResponses() Inspector::Protocol::ErrorStringOr InspectorNetworkAgent::setExtraHTTPHeaders(Ref&& headers) { @@ -3735,7 +3744,7 @@ index cf2145f9d95fb7e1639757b0b90d1e93fb6b6f14..93da4f3e31842777238ff26ea1cf7ce8 for (auto& entry : headers.get()) { auto stringValue = entry.value->asString(); if (!!stringValue) -@@ -1236,6 +1240,9 @@ Inspector::Protocol::ErrorStringOr InspectorNetworkAgent::interceptWithReq +@@ -1238,6 +1242,9 @@ Inspector::Protocol::ErrorStringOr InspectorNetworkAgent::interceptWithReq return makeUnexpected("Missing pending intercept request for given requestId"_s); auto& loader = *pendingRequest->m_loader; @@ -3745,7 +3754,7 @@ index cf2145f9d95fb7e1639757b0b90d1e93fb6b6f14..93da4f3e31842777238ff26ea1cf7ce8 ResourceRequest request = loader.request(); if (!!url) request.setURL(URL({ }, url)); -@@ -1335,14 +1342,23 @@ Inspector::Protocol::ErrorStringOr InspectorNetworkAgent::interceptRequest +@@ -1333,14 +1340,23 @@ Inspector::Protocol::ErrorStringOr InspectorNetworkAgent::interceptRequest response.setHTTPStatusCode(status); response.setHTTPStatusText(String { statusText }); HTTPHeaderMap explicitHeaders; @@ -3771,7 +3780,7 @@ index cf2145f9d95fb7e1639757b0b90d1e93fb6b6f14..93da4f3e31842777238ff26ea1cf7ce8 if (loader->reachedTerminalState()) return; -@@ -1405,6 +1421,12 @@ Inspector::Protocol::ErrorStringOr InspectorNetworkAgent::setEmulatedCondi +@@ -1403,6 +1419,12 @@ Inspector::Protocol::ErrorStringOr InspectorNetworkAgent::setEmulatedCondi #endif // ENABLE(INSPECTOR_NETWORK_THROTTLING) @@ -3806,7 +3815,7 @@ index dc7e574ee6e9256a1f75ea838d20ca7f5e9190de..5dd4464256e0f5d652fa51fd611286dd // InspectorInstrumentation void willRecalculateStyle(); diff --git a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp -index 8fc922b0ab24e76458c959361551736c361bf390..4c3a462dbfacf1cdf9b16478ab579d8965221aa4 100644 +index 5329fd0a2c24031a74d05d7c6c342a5f8398eaae..a64e486220e4fc8e37c34856fce8c3d8dea87401 100644 --- a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp @@ -32,19 +32,26 @@ @@ -3884,9 +3893,9 @@ index 8fc922b0ab24e76458c959361551736c361bf390..4c3a462dbfacf1cdf9b16478ab579d89 + return nameToWorld; +} + - static bool decodeBuffer(const uint8_t* buffer, unsigned size, const String& textEncodingName, String* result) + static bool decodeBuffer(std::span buffer, const String& textEncodingName, String* result) { - if (buffer) { + if (buffer.data()) { @@ -334,6 +355,7 @@ InspectorPageAgent::InspectorPageAgent(PageAgentContext& context, InspectorClien , m_frontendDispatcher(makeUnique(context.frontendRouter)) , m_backendDispatcher(Inspector::PageBackendDispatcher::create(context.backendDispatcher, this)) @@ -4274,7 +4283,7 @@ index 8fc922b0ab24e76458c959361551736c361bf390..4c3a462dbfacf1cdf9b16478ab579d89 Inspector::Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::optional&& width, std::optional&& height) { if (width.has_value() != height.has_value()) -@@ -1251,6 +1451,523 @@ Inspector::Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverri +@@ -1251,6 +1451,519 @@ Inspector::Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverri localMainFrame->setOverrideScreenSize(FloatSize(width.value_or(0), height.value_or(0))); return { }; } @@ -4310,16 +4319,12 @@ index 8fc922b0ab24e76458c959361551736c361bf390..4c3a462dbfacf1cdf9b16478ab579d89 + return "ApplicationAlertDialog"_s; + case AccessibilityRole::ApplicationDialog: + return "ApplicationDialog"_s; -+ case AccessibilityRole::ApplicationGroup: -+ return "ApplicationGroup"_s; + case AccessibilityRole::ApplicationLog: + return "ApplicationLog"_s; + case AccessibilityRole::ApplicationMarquee: + return "ApplicationMarquee"_s; + case AccessibilityRole::ApplicationStatus: + return "ApplicationStatus"_s; -+ case AccessibilityRole::ApplicationTextGroup: -+ return "ApplicationTextGroup"_s; + case AccessibilityRole::ApplicationTimer: + return "ApplicationTimer"_s; + case AccessibilityRole::Audio: @@ -4799,7 +4804,7 @@ index 8fc922b0ab24e76458c959361551736c361bf390..4c3a462dbfacf1cdf9b16478ab579d89 } // namespace WebCore diff --git a/Source/WebCore/inspector/agents/InspectorPageAgent.h b/Source/WebCore/inspector/agents/InspectorPageAgent.h -index f270cb7c3bcc1b5d7d646d9c6e6bda7063cf82e3..83d793622a71b441afe5962bd7c94ad85a12263f 100644 +index 371bcfcf1d0ae17471f8e69706d2f12356793418..6bc660d683a639f1d6f6a0dca8db5e058d32cd21 100644 --- a/Source/WebCore/inspector/agents/InspectorPageAgent.h +++ b/Source/WebCore/inspector/agents/InspectorPageAgent.h @@ -32,8 +32,10 @@ @@ -4923,7 +4928,7 @@ index f270cb7c3bcc1b5d7d646d9c6e6bda7063cf82e3..83d793622a71b441afe5962bd7c94ad8 + void ensureUserWorldsExistInAllFrames(const Vector&); static bool mainResourceContent(LocalFrame*, bool withBase64Encode, String* result); - static bool dataContent(const uint8_t* data, unsigned size, const String& textEncodingName, bool withBase64Encode, String* result); + static bool dataContent(std::span data, const String& textEncodingName, bool withBase64Encode, String* result); @@ -169,17 +201,21 @@ private: RefPtr m_backendDispatcher; @@ -4949,7 +4954,7 @@ index f270cb7c3bcc1b5d7d646d9c6e6bda7063cf82e3..83d793622a71b441afe5962bd7c94ad8 } // namespace WebCore diff --git a/Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp b/Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp -index 4e2613c5194137568d629dc809d6f062e9e2bc95..345876eb0eb72ffa75f5f7ea71bdcb7d71127d6f 100644 +index 61b797e08f5e6d90cc2724dd7a3b45c0f45af4f8..919a8b963d93742cc99c2739e472361deea84e4c 100644 --- a/Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp +++ b/Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp @@ -34,6 +34,7 @@ @@ -4959,7 +4964,7 @@ index 4e2613c5194137568d629dc809d6f062e9e2bc95..345876eb0eb72ffa75f5f7ea71bdcb7d +#include "FrameLoader.h" #include "InspectorPageAgent.h" #include "InstrumentingAgents.h" - #include "JSExecState.h" + #include "JSDOMWindowCustom.h" @@ -42,6 +43,7 @@ #include "Page.h" #include "PageConsoleClient.h" @@ -5136,7 +5141,7 @@ index edfc601a36f006122f26946de5b3a60573a07968..794a6c389be8af23989a54696d573123 protected: static SameSiteInfo sameSiteInfo(const Document&, IsForDOMCookieAccess = IsForDOMCookieAccess::No); diff --git a/Source/WebCore/loader/DocumentLoader.cpp b/Source/WebCore/loader/DocumentLoader.cpp -index e85ff270c6f646f5f8f7e02ce5346a1f0b5cadaa..84214d0b81ad08f8039522b9a48ac8b34d933f38 100644 +index 90023ca4ebad0d8608b74434ca5d870ffeb00871..7360ea6857f98e60bdfa74ad4a0d595958cfc11f 100644 --- a/Source/WebCore/loader/DocumentLoader.cpp +++ b/Source/WebCore/loader/DocumentLoader.cpp @@ -763,8 +763,10 @@ void DocumentLoader::willSendRequest(ResourceRequest&& newRequest, const Resourc @@ -5171,7 +5176,7 @@ index e85ff270c6f646f5f8f7e02ce5346a1f0b5cadaa..84214d0b81ad08f8039522b9a48ac8b3 { ASSERT(navigationID); diff --git a/Source/WebCore/loader/DocumentLoader.h b/Source/WebCore/loader/DocumentLoader.h -index 875b1833d5c8a3c7402070de33587630114e1a93..b61fa5f72c3aab410b1d3a4b58dd268d996f5311 100644 +index aa98ba7e3eb896b65a156fe8f75ae3c0bc99f246..00531c35e1d5041d3bcc13c54308eb7eff387baf 100644 --- a/Source/WebCore/loader/DocumentLoader.h +++ b/Source/WebCore/loader/DocumentLoader.h @@ -191,6 +191,8 @@ public: @@ -5184,10 +5189,10 @@ index 875b1833d5c8a3c7402070de33587630114e1a93..b61fa5f72c3aab410b1d3a4b58dd268d CheckedPtr checkedFrameLoader() const; WEBCORE_EXPORT SubresourceLoader* mainResourceLoader() const; diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp -index 504ef796ccbc570fc44b441c69a4ddc4b89fee75..9c3a168dd937dbd274ecd758398e82729a47911a 100644 +index 4882d1ded68a2e88595c1ce7e2a6891f066b3457..e630a3cd7022449e6eec9516f7bb5e63f3085b0e 100644 --- a/Source/WebCore/loader/FrameLoader.cpp +++ b/Source/WebCore/loader/FrameLoader.cpp -@@ -1310,6 +1310,7 @@ void FrameLoader::loadInSameDocument(URL url, RefPtr stat +@@ -1355,6 +1355,7 @@ void FrameLoader::loadInSameDocument(URL url, RefPtr stat } m_client->dispatchDidNavigateWithinPage(); @@ -5195,7 +5200,7 @@ index 504ef796ccbc570fc44b441c69a4ddc4b89fee75..9c3a168dd937dbd274ecd758398e8272 document->statePopped(stateObject ? stateObject.releaseNonNull() : SerializedScriptValue::nullValue()); m_client->dispatchDidPopStateWithinPage(); -@@ -1775,6 +1776,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1820,6 +1821,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t const String& httpMethod = loader->request().httpMethod(); if (shouldPerformFragmentNavigation(isFormSubmission, httpMethod, policyChecker().loadType(), newURL)) { @@ -5204,7 +5209,7 @@ index 504ef796ccbc570fc44b441c69a4ddc4b89fee75..9c3a168dd937dbd274ecd758398e8272 RefPtr oldDocumentLoader = m_documentLoader; NavigationAction action { frame->protectedDocument().releaseNonNull(), loader->request(), InitiatedByMainFrame::Unknown, loader->isRequestFromClientOrUserInput(), policyChecker().loadType(), isFormSubmission }; oldDocumentLoader->setTriggeringAction(WTFMove(action)); -@@ -1808,7 +1811,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1853,7 +1856,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t } RELEASE_ASSERT(!isBackForwardLoadType(policyChecker().loadType()) || history().provisionalItem()); @@ -5214,7 +5219,7 @@ index 504ef796ccbc570fc44b441c69a4ddc4b89fee75..9c3a168dd937dbd274ecd758398e8272 continueLoadAfterNavigationPolicy(request, RefPtr { weakFormState.get() }.get(), navigationPolicyDecision, allowNavigationToInvalidURL); completionHandler(); }, PolicyDecisionMode::Asynchronous); -@@ -3066,14 +3071,19 @@ String FrameLoader::userAgent(const URL& url) const +@@ -3115,14 +3120,19 @@ String FrameLoader::userAgent(const URL& url) const String FrameLoader::navigatorPlatform() const { @@ -5236,7 +5241,7 @@ index 504ef796ccbc570fc44b441c69a4ddc4b89fee75..9c3a168dd937dbd274ecd758398e8272 } void FrameLoader::dispatchOnloadEvents() -@@ -3514,6 +3524,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) +@@ -3572,6 +3582,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) checkCompleted(); if (frame->page()) checkLoadComplete(); @@ -5245,7 +5250,7 @@ index 504ef796ccbc570fc44b441c69a4ddc4b89fee75..9c3a168dd937dbd274ecd758398e8272 } void FrameLoader::continueFragmentScrollAfterNavigationPolicy(const ResourceRequest& request, const SecurityOrigin* requesterOrigin, bool shouldContinue) -@@ -4367,9 +4379,6 @@ String FrameLoader::referrer() const +@@ -4425,9 +4437,6 @@ String FrameLoader::referrer() const void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() { @@ -5255,7 +5260,7 @@ index 504ef796ccbc570fc44b441c69a4ddc4b89fee75..9c3a168dd937dbd274ecd758398e8272 Vector> worlds; ScriptController::getAllWorlds(worlds); for (auto& world : worlds) -@@ -4379,13 +4388,12 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() +@@ -4437,13 +4446,12 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() void FrameLoader::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld& world) { Ref frame = m_frame.get(); @@ -5335,10 +5340,10 @@ index b74c5258454b0df9f74aa8a5297674b733925685..b6c3999745368c7f7e2e6176bfca6dc0 void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, const ResourceResponse& response) diff --git a/Source/WebCore/loader/cache/CachedResourceLoader.cpp b/Source/WebCore/loader/cache/CachedResourceLoader.cpp -index a2220c148173e75ab575dbca17506243523a7f7e..1bd9e2d210c4b7c636666e7584c0d33f2102345b 100644 +index f0d0aeb93ca42f7178a9dc07beeba911a38c32fe..1f82595cbbbc4f32b5cc4330b4d71e05d51b27a0 100644 --- a/Source/WebCore/loader/cache/CachedResourceLoader.cpp +++ b/Source/WebCore/loader/cache/CachedResourceLoader.cpp -@@ -1061,8 +1061,11 @@ ResourceErrorOr> CachedResourceLoader::requ +@@ -1054,8 +1054,11 @@ ResourceErrorOr> CachedResourceLoader::requ request.updateReferrerPolicy(document() ? document()->referrerPolicy() : ReferrerPolicy::Default); @@ -5352,7 +5357,7 @@ index a2220c148173e75ab575dbca17506243523a7f7e..1bd9e2d210c4b7c636666e7584c0d33f Ref page = *frame->page(); -@@ -1670,8 +1673,9 @@ Vector> CachedResourceLoader::allCachedSVGImages() const +@@ -1663,8 +1666,9 @@ Vector> CachedResourceLoader::allCachedSVGImages() const ResourceErrorOr> CachedResourceLoader::preload(CachedResource::Type type, CachedResourceRequest&& request) { @@ -5365,10 +5370,10 @@ index a2220c148173e75ab575dbca17506243523a7f7e..1bd9e2d210c4b7c636666e7584c0d33f ASSERT(m_document); if (request.charset().isEmpty() && m_document && (type == CachedResource::Type::Script || type == CachedResource::Type::CSSStyleSheet)) diff --git a/Source/WebCore/page/ChromeClient.h b/Source/WebCore/page/ChromeClient.h -index ba86781050d91cdc6b67f088bfd199b29bbc7a3f..b13a833c0712d8d2b6c8b3a0cee3fa5827d04de2 100644 +index 20666cc080e04b0fa12e654ac357531f18c7c1df..3cf1823363aacdc014326957f98f3435cf505beb 100644 --- a/Source/WebCore/page/ChromeClient.h +++ b/Source/WebCore/page/ChromeClient.h -@@ -334,7 +334,7 @@ public: +@@ -335,7 +335,7 @@ public: #endif #if ENABLE(ORIENTATION_EVENTS) @@ -5378,10 +5383,10 @@ index ba86781050d91cdc6b67f088bfd199b29bbc7a3f..b13a833c0712d8d2b6c8b3a0cee3fa58 #if ENABLE(INPUT_TYPE_COLOR) diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp -index ac9e55cc26b95ceb6b8a3bd62b984ccf4e96fbec..37edb3407986ba04a82c0d1acd1662e5e835fb6a 100644 +index 1171407b2f308431ba948ec477a56c90e66911e8..a96feb7fe5a299adaeb950a11512bdf26b1f2836 100644 --- a/Source/WebCore/page/EventHandler.cpp +++ b/Source/WebCore/page/EventHandler.cpp -@@ -4322,6 +4322,12 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event, CheckDr +@@ -4325,6 +4325,12 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event, CheckDr if (!document) return false; @@ -5394,7 +5399,7 @@ index ac9e55cc26b95ceb6b8a3bd62b984ccf4e96fbec..37edb3407986ba04a82c0d1acd1662e5 dragState().dataTransfer = DataTransfer::createForDrag(*document); auto hasNonDefaultPasteboardData = HasNonDefaultPasteboardData::No; -@@ -4948,7 +4954,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve +@@ -4951,7 +4957,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve // Increment the platform touch id by 1 to avoid storing a key of 0 in the hashmap. unsigned touchPointTargetKey = point.id() + 1; @@ -5403,7 +5408,7 @@ index ac9e55cc26b95ceb6b8a3bd62b984ccf4e96fbec..37edb3407986ba04a82c0d1acd1662e5 bool pointerCancelled = false; #endif RefPtr touchTarget; -@@ -4995,7 +5001,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve +@@ -4998,7 +5004,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve // we also remove it from the map. touchTarget = m_originatingTouchPointTargets.take(touchPointTargetKey); @@ -5412,7 +5417,7 @@ index ac9e55cc26b95ceb6b8a3bd62b984ccf4e96fbec..37edb3407986ba04a82c0d1acd1662e5 HitTestResult result = hitTestResultAtPoint(pagePoint, hitType | HitTestRequest::Type::AllowChildFrameContent); pointerTarget = result.targetElement(); pointerCancelled = (pointerTarget != touchTarget); -@@ -5018,7 +5024,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve +@@ -5021,7 +5027,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve if (!targetFrame) continue; @@ -5473,7 +5478,7 @@ index e4f52ca1cb3228868bc77a5498c87e1f2af59ce4..9ce6b102570cdcd2775ebf5adcd1650d struct SnapshotOptions { diff --git a/Source/WebCore/page/History.cpp b/Source/WebCore/page/History.cpp -index fc2312697a19a2dca1907f9ddaffef26a2918113..ab51a74df8ff444302c46f85f0bc8ab0f791d1dc 100644 +index 28dacedeebc77b2da6428cdbe166581c96348dfa..9c5bfaf9c81c2e5904f69071ee674363ee9decf8 100644 --- a/Source/WebCore/page/History.cpp +++ b/Source/WebCore/page/History.cpp @@ -32,6 +32,7 @@ @@ -5493,7 +5498,7 @@ index fc2312697a19a2dca1907f9ddaffef26a2918113..ab51a74df8ff444302c46f85f0bc8ab0 if (stateObjectType == StateObjectType::Push) { frame->loader().history().pushState(WTFMove(data), fullURL.string()); diff --git a/Source/WebCore/page/LocalFrame.cpp b/Source/WebCore/page/LocalFrame.cpp -index 1261ef00be22e57714d52a718a1a463aff4b902e..1b6eaf61ebf7f3987b0b5785637341016eb2ff44 100644 +index 9f480cb9a6000333711f0e9630522ddc77534015..f2d62e42e926b0d1d53f3a9feb3ce4ea93507ca3 100644 --- a/Source/WebCore/page/LocalFrame.cpp +++ b/Source/WebCore/page/LocalFrame.cpp @@ -40,6 +40,7 @@ @@ -5512,7 +5517,7 @@ index 1261ef00be22e57714d52a718a1a463aff4b902e..1b6eaf61ebf7f3987b0b578563734101 #include "HTMLAttachmentElement.h" #include "HTMLFormControlElement.h" #include "HTMLFormElement.h" -@@ -76,6 +78,7 @@ +@@ -77,6 +79,7 @@ #include "Logging.h" #include "Navigator.h" #include "NodeList.h" @@ -5520,7 +5525,7 @@ index 1261ef00be22e57714d52a718a1a463aff4b902e..1b6eaf61ebf7f3987b0b578563734101 #include "NodeTraversal.h" #include "Page.h" #include "ProcessWarming.h" -@@ -186,6 +189,7 @@ LocalFrame::LocalFrame(Page& page, UniqueRef&& frameLoad +@@ -187,6 +190,7 @@ LocalFrame::LocalFrame(Page& page, UniqueRef&& frameLoad void LocalFrame::init() { @@ -5528,7 +5533,7 @@ index 1261ef00be22e57714d52a718a1a463aff4b902e..1b6eaf61ebf7f3987b0b578563734101 checkedLoader()->init(); } -@@ -420,7 +424,7 @@ void LocalFrame::orientationChanged() +@@ -411,7 +415,7 @@ void LocalFrame::orientationChanged() IntDegrees LocalFrame::orientation() const { if (RefPtr page = this->page()) @@ -5537,7 +5542,7 @@ index 1261ef00be22e57714d52a718a1a463aff4b902e..1b6eaf61ebf7f3987b0b578563734101 return 0; } #endif // ENABLE(ORIENTATION_EVENTS) -@@ -1341,6 +1345,362 @@ String LocalFrame::customUserAgentAsSiteSpecificQuirks() const +@@ -1340,6 +1344,362 @@ String LocalFrame::customUserAgentAsSiteSpecificQuirks() const return { }; } @@ -5901,7 +5906,7 @@ index 1261ef00be22e57714d52a718a1a463aff4b902e..1b6eaf61ebf7f3987b0b578563734101 #undef FRAME_RELEASE_LOG_ERROR diff --git a/Source/WebCore/page/LocalFrame.h b/Source/WebCore/page/LocalFrame.h -index 8664b164cf806585025da5d60ad1440ee4723482..8e0a986d16eb6cd6bb4cf381d18434b6acf1ab61 100644 +index 976a7e01a1a83902d2eddcdbe044c1ec1cd9a7b8..d548c31e6beffe704b8093669ee07d576941a50a 100644 --- a/Source/WebCore/page/LocalFrame.h +++ b/Source/WebCore/page/LocalFrame.h @@ -28,8 +28,10 @@ @@ -5980,10 +5985,10 @@ index 8664b164cf806585025da5d60ad1440ee4723482..8e0a986d16eb6cd6bb4cf381d18434b6 ViewportArguments m_viewportArguments; diff --git a/Source/WebCore/page/Page.cpp b/Source/WebCore/page/Page.cpp -index 2e0f4477ca7e4874b4b5b38fe1e8fefd2bc75cd8..c0e9358b9cdbb92c273832edbb560236af24e80c 100644 +index 2da22620311314dc67bec3563c7f1b6525bd7b28..e7c530d193fe0c318dfa89f5ae72e3598bdf44bd 100644 --- a/Source/WebCore/page/Page.cpp +++ b/Source/WebCore/page/Page.cpp -@@ -554,6 +554,45 @@ void Page::setOverrideViewportArguments(const std::optional& +@@ -569,6 +569,45 @@ void Page::setOverrideViewportArguments(const std::optional& document->updateViewportArguments(); } @@ -6029,7 +6034,7 @@ index 2e0f4477ca7e4874b4b5b38fe1e8fefd2bc75cd8..c0e9358b9cdbb92c273832edbb560236 ScrollingCoordinator* Page::scrollingCoordinator() { if (!m_scrollingCoordinator && m_settings->scrollingCoordinatorEnabled()) { -@@ -3834,6 +3873,26 @@ void Page::setUseDarkAppearanceOverride(std::optional valueOverride) +@@ -3870,6 +3909,26 @@ void Page::setUseDarkAppearanceOverride(std::optional valueOverride) #endif } @@ -6057,10 +6062,10 @@ index 2e0f4477ca7e4874b4b5b38fe1e8fefd2bc75cd8..c0e9358b9cdbb92c273832edbb560236 { if (insets == m_fullscreenInsets) diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h -index 1941a2ed150ad039c4e7b02fa826a3be6c55a0bd..5c5610ef3410a55b8f1b684ff68be456c11a0db8 100644 +index 551ffa245a63f05cd7d58a86048ed22c1feb6205..cd1ce84ec63f5ed8ae75178f79c35b9fd91b37f7 100644 --- a/Source/WebCore/page/Page.h +++ b/Source/WebCore/page/Page.h -@@ -312,6 +312,9 @@ public: +@@ -316,6 +316,9 @@ public: const std::optional& overrideViewportArguments() const { return m_overrideViewportArguments; } WEBCORE_EXPORT void setOverrideViewportArguments(const std::optional&); @@ -6070,7 +6075,7 @@ index 1941a2ed150ad039c4e7b02fa826a3be6c55a0bd..5c5610ef3410a55b8f1b684ff68be456 static void refreshPlugins(bool reload); WEBCORE_EXPORT PluginData& pluginData(); void clearPluginData(); -@@ -375,6 +378,10 @@ public: +@@ -380,6 +383,10 @@ public: #if ENABLE(DRAG_SUPPORT) DragController& dragController() { return m_dragController.get(); } const DragController& dragController() const { return m_dragController.get(); } @@ -6081,7 +6086,7 @@ index 1941a2ed150ad039c4e7b02fa826a3be6c55a0bd..5c5610ef3410a55b8f1b684ff68be456 #endif FocusController& focusController() const { return *m_focusController; } WEBCORE_EXPORT CheckedRef checkedFocusController() const; -@@ -555,6 +562,10 @@ public: +@@ -563,6 +570,10 @@ public: WEBCORE_EXPORT void effectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel); bool defaultUseDarkAppearance() const { return m_useDarkAppearance; } void setUseDarkAppearanceOverride(std::optional); @@ -6092,7 +6097,7 @@ index 1941a2ed150ad039c4e7b02fa826a3be6c55a0bd..5c5610ef3410a55b8f1b684ff68be456 #if ENABLE(TEXT_AUTOSIZING) float textAutosizingWidth() const { return m_textAutosizingWidth; } -@@ -1003,6 +1014,11 @@ public: +@@ -1011,6 +1022,11 @@ public: WEBCORE_EXPORT void setInteractionRegionsEnabled(bool); #endif @@ -6104,7 +6109,7 @@ index 1941a2ed150ad039c4e7b02fa826a3be6c55a0bd..5c5610ef3410a55b8f1b684ff68be456 #if ENABLE(DEVICE_ORIENTATION) && PLATFORM(IOS_FAMILY) DeviceOrientationUpdateProvider* deviceOrientationUpdateProvider() const { return m_deviceOrientationUpdateProvider.get(); } #endif -@@ -1166,6 +1182,9 @@ private: +@@ -1181,6 +1197,9 @@ private: #if ENABLE(DRAG_SUPPORT) UniqueRef m_dragController; @@ -6114,7 +6119,7 @@ index 1941a2ed150ad039c4e7b02fa826a3be6c55a0bd..5c5610ef3410a55b8f1b684ff68be456 #endif std::unique_ptr m_focusController; #if ENABLE(CONTEXT_MENUS) -@@ -1241,6 +1260,8 @@ private: +@@ -1259,6 +1278,8 @@ private: bool m_useElevatedUserInterfaceLevel { false }; bool m_useDarkAppearance { false }; std::optional m_useDarkAppearanceOverride; @@ -6123,7 +6128,7 @@ index 1941a2ed150ad039c4e7b02fa826a3be6c55a0bd..5c5610ef3410a55b8f1b684ff68be456 #if ENABLE(TEXT_AUTOSIZING) float m_textAutosizingWidth { 0 }; -@@ -1419,6 +1440,11 @@ private: +@@ -1437,6 +1458,11 @@ private: #endif std::optional m_overrideViewportArguments; @@ -6136,10 +6141,10 @@ index 1941a2ed150ad039c4e7b02fa826a3be6c55a0bd..5c5610ef3410a55b8f1b684ff68be456 #if ENABLE(DEVICE_ORIENTATION) && PLATFORM(IOS_FAMILY) RefPtr m_deviceOrientationUpdateProvider; diff --git a/Source/WebCore/page/PageConsoleClient.cpp b/Source/WebCore/page/PageConsoleClient.cpp -index 98f3da2b75dce250749bbf206d64d1acf7790c69..8d28363676fdc8f52139b6e326119a03379aac66 100644 +index 18e3cde7b9ae368de4b87c88c2f8324b77cbd7c8..1ebc51b6d81fc6ae17124e7be7da039609df03d0 100644 --- a/Source/WebCore/page/PageConsoleClient.cpp +++ b/Source/WebCore/page/PageConsoleClient.cpp -@@ -434,4 +434,9 @@ Ref PageConsoleClient::protectedPage() const +@@ -439,4 +439,9 @@ Ref PageConsoleClient::protectedPage() const return m_page.get(); } @@ -6150,10 +6155,10 @@ index 98f3da2b75dce250749bbf206d64d1acf7790c69..8d28363676fdc8f52139b6e326119a03 + } // namespace WebCore diff --git a/Source/WebCore/page/PageConsoleClient.h b/Source/WebCore/page/PageConsoleClient.h -index e9b4f0bca732d0448b3f5e439ca52625277cef64..cb21a4d14aaed660cf6a9398a6b5f3b6d1c0c23d 100644 +index 6ee10d6ca68ad8ea93ae45adb0876c80953d3278..d4e14d54af6cd21fc5649d18dbc6af2020fae4a2 100644 --- a/Source/WebCore/page/PageConsoleClient.h +++ b/Source/WebCore/page/PageConsoleClient.h -@@ -82,6 +82,7 @@ private: +@@ -85,6 +85,7 @@ private: void record(JSC::JSGlobalObject*, Ref&&) override; void recordEnd(JSC::JSGlobalObject*, Ref&&) override; void screenshot(JSC::JSGlobalObject*, Ref&&) override; @@ -6256,7 +6261,7 @@ index 4e4dfdebe954bf3f047d3a86a758dfd0913f732e..da2bcd0256cdfc2ba28fb07094abd0b6 } diff --git a/Source/WebCore/page/csp/ContentSecurityPolicy.cpp b/Source/WebCore/page/csp/ContentSecurityPolicy.cpp -index ad0c3f33aa674454f270899400cc0e8e4421a874..6c68e218b27b117145324b10572393854d48ead0 100644 +index a35951b3150fe859450c5f781e44032078ca5f74..7fd0c71777a3fb451f3bd97b16911c01e5aa2203 100644 --- a/Source/WebCore/page/csp/ContentSecurityPolicy.cpp +++ b/Source/WebCore/page/csp/ContentSecurityPolicy.cpp @@ -336,6 +336,8 @@ bool ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtoc @@ -6563,10 +6568,10 @@ index ae46341ba71c7f6df7c607bd852338cdb7f83fe1..b318c0771192344a6891c1f097cb0b93 +} // namespace WebCore +#endif diff --git a/Source/WebCore/platform/PlatformScreen.h b/Source/WebCore/platform/PlatformScreen.h -index 93b1d7907a2ec5ca59ffad0e3f5d562ea669473e..11debfb941710bc41fc8d222d7dca0d18239bcdd 100644 +index 6c64c7040eb190c3d67380070e884a8230029c26..d0f8341c538cbc2323ac0074a5ef3226d00a5fd6 100644 --- a/Source/WebCore/platform/PlatformScreen.h +++ b/Source/WebCore/platform/PlatformScreen.h -@@ -150,13 +150,18 @@ WEBCORE_EXPORT float screenScaleFactor(UIScreen * = nullptr); +@@ -151,13 +151,18 @@ WEBCORE_EXPORT float screenScaleFactor(UIScreen * = nullptr); #endif #if ENABLE(TOUCH_EVENTS) @@ -6628,7 +6633,7 @@ index e280025043b3c03c3974289e62ef7cc88ebfa2c7..077a4ab4aa5b688937ed4d5018745aa6 static const unsigned thumbBorderSize = 1; static const unsigned overlayThumbSize = 3; diff --git a/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp b/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp -index a126eaa294ef640841f62a3f0d9364b733236e6b..f5b81118b2b430b87492f1c3669ffff2d563d721 100644 +index d137ffd1a8ed0b788bd28197c6d7e9f7d14e852f..dcf8bf3f7ee6b037a370712e2ac36b6e2e4bbebc 100644 --- a/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp +++ b/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp @@ -48,6 +48,13 @@ @@ -6703,7 +6708,7 @@ index a126eaa294ef640841f62a3f0d9364b733236e6b..f5b81118b2b430b87492f1c3669ffff2 + jpeg_destroy_compress(&info); + + Vector output; -+ output.append(bufferPtr, bufferSize); ++ output.append(std::span { bufferPtr, bufferSize }); + // Cannot use unique_ptr as bufferPtr changes during compression. GUniquePtr would work + // but it's under GLib and won't work on Windows. + free(bufferPtr); @@ -6723,7 +6728,7 @@ index a126eaa294ef640841f62a3f0d9364b733236e6b..f5b81118b2b430b87492f1c3669ffff2 if (!image || !encodeImage(image, mimeType, &encodedImage)) return { }; diff --git a/Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h b/Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h -index 076b61642867584cc02cb7263026ff94555adf64..e56cd4cb92e51e48bfbb25f6c8bba6fbe404bac7 100644 +index a82b748682f984fcdd4f5413d0254e0f5573f043..2c3d4bba92c63235c124a400d89455499aa3a189 100644 --- a/Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h +++ b/Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h @@ -38,7 +38,7 @@ WEBCORE_EXPORT uint8_t verifyImageBufferIsBigEnough(const void* buffer, size_t b @@ -6733,7 +6738,7 @@ index 076b61642867584cc02cb7263026ff94555adf64..e56cd4cb92e51e48bfbb25f6c8bba6fb -Vector encodeData(CGImageRef, const String& mimeType, std::optional quality); +WEBCORE_EXPORT Vector encodeData(CGImageRef, const String& mimeType, std::optional quality); Vector encodeData(const PixelBuffer&, const String& mimeType, std::optional quality); - Vector encodeData(const std::span&, const String& mimeType, std::optional quality); + Vector encodeData(std::span, const String& mimeType, std::optional quality); diff --git a/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h index b60f9a64bacc8282860da6de299b75aeb295b9b5..55bd017c03c6478ca334bd5ef164160fef5d5302 100644 @@ -6748,7 +6753,7 @@ index b60f9a64bacc8282860da6de299b75aeb295b9b5..55bd017c03c6478ca334bd5ef164160f namespace WebCore { diff --git a/Source/WebCore/platform/graphics/win/ComplexTextControllerUniscribe.cpp b/Source/WebCore/platform/graphics/win/ComplexTextControllerUniscribe.cpp -index 7b9d3c85fa1f76e2b53efc712f98866e6d892d4f..40e21fe75fd53d40e388a31eb10a1941347b7776 100644 +index 3f96ccee98a29188e4af376484ab6514b319ddf8..20d9ba661aa10adada5ef5688854b4bc3c0f0702 100644 --- a/Source/WebCore/platform/graphics/win/ComplexTextControllerUniscribe.cpp +++ b/Source/WebCore/platform/graphics/win/ComplexTextControllerUniscribe.cpp @@ -169,6 +169,33 @@ static Vector stringIndicesFromClusters(const Vector& clusters, @@ -6795,7 +6800,7 @@ index 7b9d3c85fa1f76e2b53efc712f98866e6d892d4f..40e21fe75fd53d40e388a31eb10a1941 // Determine the string for this item. const UChar* str = cp + items[i].iCharPos; diff --git a/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp b/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp -index 62ff097c43f0fcf0ad4f25376da113de2f1754c6..49923d505d6d41c38520431a92dc905b2e608708 100644 +index 58f2ac6c28396289c55493c7a78b2b4709e5f129..cf9687900fdeeebe9d829907d121da2495722bae 100644 --- a/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp +++ b/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp @@ -37,7 +37,9 @@ @@ -7056,10 +7061,10 @@ index 62ff097c43f0fcf0ad4f25376da113de2f1754c6..49923d505d6d41c38520431a92dc905b { switch (val) { diff --git a/Source/WebCore/platform/gtk/PlatformScreenGtk.cpp b/Source/WebCore/platform/gtk/PlatformScreenGtk.cpp -index 9049189fde4e939feff4db303b0aa25eadeb7180..efa236e9b8330456889fb4c888ba5f3905d7e557 100644 +index ae1da37330aa06a8f660876ba415ff2821f59813..c358a925347187181fbe1b381428c7bd0018455c 100644 --- a/Source/WebCore/platform/gtk/PlatformScreenGtk.cpp +++ b/Source/WebCore/platform/gtk/PlatformScreenGtk.cpp -@@ -117,7 +117,7 @@ bool screenSupportsExtendedColor(Widget*) +@@ -124,7 +124,7 @@ bool screenSupportsExtendedColor(Widget*) } #if ENABLE(TOUCH_EVENTS) @@ -7068,7 +7073,7 @@ index 9049189fde4e939feff4db303b0aa25eadeb7180..efa236e9b8330456889fb4c888ba5f39 { auto* display = gdk_display_get_default(); if (!display) -@@ -127,7 +127,7 @@ bool screenHasTouchDevice() +@@ -134,7 +134,7 @@ bool screenHasTouchDevice() return seat ? gdk_seat_get_capabilities(seat) & GDK_SEAT_CAPABILITY_TOUCH : true; } @@ -7547,7 +7552,7 @@ index e187936cbef017c080d1dfa14de439b3f5bc2cf8..270c237c8db2f6809719ecfd54a95306 { switch (val) { diff --git a/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp b/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp -index 93db57fd75b8fcac1a745f62294e27c97e040ab0..02411ac6bb361c2677c269945f665e0a92ccb902 100644 +index c62e88f8c3aa40f01618cdaf0c0e22a2404b17ad..02411ac6bb361c2677c269945f665e0a92ccb902 100644 --- a/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp +++ b/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp @@ -31,10 +31,18 @@ @@ -7578,7 +7583,7 @@ index 93db57fd75b8fcac1a745f62294e27c97e040ab0..02411ac6bb361c2677c269945f665e0a - - for (unsigned i = 0; i < pasteboardTypes.length; ++i) { - auto& typeString = pasteboardTypes.strings[i]; -- types.append(String(typeString.data, typeString.length)); +- types.append(String({ typeString.data, typeString.length })); - } - - wpe_pasteboard_string_vector_free(&pasteboardTypes); @@ -7593,7 +7598,7 @@ index 93db57fd75b8fcac1a745f62294e27c97e040ab0..02411ac6bb361c2677c269945f665e0a - if (!string.length) - return String(); - -- String returnValue(string.data, string.length); +- String returnValue({ string.data, string.length }); - - wpe_pasteboard_string_free(&string); - return returnValue; @@ -7664,7 +7669,7 @@ index 0552842dbe3f3a2c12a504178f5a8ca977e1c4db..2ef3b1b459d8a9b4e86b4556feeb4f07 class WEBCORE_EXPORT LibWebRTCProviderGStreamer : public LibWebRTCProvider { diff --git a/Source/WebCore/platform/network/HTTPHeaderMap.cpp b/Source/WebCore/platform/network/HTTPHeaderMap.cpp -index 35ade40b37f0c476815535541118f9246ed199cd..2bd1444f9a5e9a14ab3d6acbc020434e1f55ede1 100644 +index 34caadc74c1ad6b411e9043289fece53b9757f17..1e8ec2fe9f16ddd0a33e261172689a9d35ec5194 100644 --- a/Source/WebCore/platform/network/HTTPHeaderMap.cpp +++ b/Source/WebCore/platform/network/HTTPHeaderMap.cpp @@ -235,8 +235,11 @@ void HTTPHeaderMap::add(HTTPHeaderName name, const String& value) @@ -7681,7 +7686,7 @@ index 35ade40b37f0c476815535541118f9246ed199cd..2bd1444f9a5e9a14ab3d6acbc020434e m_commonHeaders.append(CommonHeader { name, value }); } diff --git a/Source/WebCore/platform/network/NetworkStorageSession.h b/Source/WebCore/platform/network/NetworkStorageSession.h -index d044695c67cc56999c6e0f71dcccf5ce65c7dd2f..3ca5d2ad1d8993958b198cc78eb40cfb6f6483dc 100644 +index e745131ddc12d23cd5e2429f565f910ad3520e82..dd23b06a3ceab1675e7e59d8642abc589c360d2a 100644 --- a/Source/WebCore/platform/network/NetworkStorageSession.h +++ b/Source/WebCore/platform/network/NetworkStorageSession.h @@ -167,6 +167,8 @@ public: @@ -7775,7 +7780,7 @@ index 203c591edc985e99ec7dc7a2bfaf69c92d3de99c..461b774d446528b7259ffc6ea3982d17 ResourceResponseBase::Source source; ResourceResponseBase::Type type; diff --git a/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm b/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm -index 7103740892b1f4b49a713b02308932e088c9a646..ca4d8fd2c993c48743bccaa3e6dbf4a83b17e97b 100644 +index 305080a5c298eaa1ef4644bdc6d90e243bcd061d..e3cbec55b164a49b9ed92b66ff70134618ab53f5 100644 --- a/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm +++ b/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm @@ -518,6 +518,22 @@ bool NetworkStorageSession::setCookieFromDOM(const URL& firstParty, const SameSi @@ -7858,7 +7863,7 @@ index bc9c731a0e69c4923bb8b4bdda088c2be30b3f1c..2088662fb2ce29b7ed843586460630fb void send(UniqueArray&&, size_t); diff --git a/Source/WebCore/platform/network/curl/CurlStreamScheduler.cpp b/Source/WebCore/platform/network/curl/CurlStreamScheduler.cpp -index 2032a40640bd944ed7e3255c8d4f1af8889a1b02..1283c85ec2e431144168504fd9cc23e0d147fdfe 100644 +index 048cd352dd9b4cc952337308337a4bd9c31f00f1..de54623b601aea9fbd6a88f5c646b20524b8ee2b 100644 --- a/Source/WebCore/platform/network/curl/CurlStreamScheduler.cpp +++ b/Source/WebCore/platform/network/curl/CurlStreamScheduler.cpp @@ -40,7 +40,7 @@ CurlStreamScheduler::~CurlStreamScheduler() @@ -7912,7 +7917,7 @@ index f46f26a553e0634fd6a4d383c0821aadd504a399..738327163771952be91bc024e92070c0 { switch (cookieDatabase().acceptPolicy()) { diff --git a/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp b/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp -index e5e324e7e616f16ca13e41cd0b618eb946063995..0827159dea1d162aa9e5db36ac252b475081312c 100644 +index 09ab1320beacc41ae92399f3320aaf805d9d81d1..4c63cb2a3f6fbf277227a88b92f206402bc12cd7 100644 --- a/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp +++ b/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp @@ -424,6 +424,30 @@ void NetworkStorageSession::replaceCookies(const Vector& cookies) @@ -7947,7 +7952,7 @@ index e5e324e7e616f16ca13e41cd0b618eb946063995..0827159dea1d162aa9e5db36ac252b47 { GUniquePtr targetCookie(cookie.toSoupCookie()); diff --git a/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp b/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp -index 79648fbd61bff20a1496c3247219796fe713daed..fc4ca92aab0bd6fdf234a09d1d8b21c68bcea794 100644 +index 15f47d0d2a99bcb1a7b9dd9764a9766a20e97692..f623d165826485f58cef60c4b3551055f4352de6 100644 --- a/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp +++ b/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp @@ -39,6 +39,7 @@ @@ -7958,20 +7963,20 @@ index 79648fbd61bff20a1496c3247219796fe713daed..fc4ca92aab0bd6fdf234a09d1d8b21c6 namespace WebCore { -@@ -690,7 +691,10 @@ template void getStringData(IDataObject* data, FORMATETC* format, Ve +@@ -689,7 +690,10 @@ template void getStringData(IDataObject* data, FORMATETC* format, Ve STGMEDIUM store; if (FAILED(data->GetData(format, &store))) return; -- dataStrings.append(String(static_cast(GlobalLock(store.hGlobal)), ::GlobalSize(store.hGlobal) / sizeof(T))); +- dataStrings.append(String({ static_cast(GlobalLock(store.hGlobal)), ::GlobalSize(store.hGlobal) / sizeof(T) })); + // The string here should be null terminated, but it could come from another app so lets lock it + // to the size to prevent an overflow. -+ String rawString = String(static_cast(GlobalLock(store.hGlobal)), ::GlobalSize(store.hGlobal) / sizeof(T)); ++ String rawString = String({ static_cast(GlobalLock(store.hGlobal)), ::GlobalSize(store.hGlobal) / sizeof(T) }); + dataStrings.append(String::fromUTF8(rawString.utf8().data())); GlobalUnlock(store.hGlobal); ReleaseStgMedium(&store); } diff --git a/Source/WebCore/platform/win/ClipboardUtilitiesWin.h b/Source/WebCore/platform/win/ClipboardUtilitiesWin.h -index c50799b63e05adbe32bae3535d786c7d268f980f..9cf1cc7ec4eaae22947f80ba272dfae272167bd6 100644 +index c3ffc7392c0b7fa099a7dd4e4be977cdee1c803c..9570dbb0f2c42ca38598a8898183c9b310f858ab 100644 --- a/Source/WebCore/platform/win/ClipboardUtilitiesWin.h +++ b/Source/WebCore/platform/win/ClipboardUtilitiesWin.h @@ -34,6 +34,7 @@ namespace WebCore { @@ -8013,7 +8018,7 @@ index 7bdb180c89bf3fe9d48098318d3b7503b8fd6279..296a3b2b82733b27272acb51ab4f883d if (!m_dragDataMap.isEmpty() || !m_platformDragData) return m_dragDataMap; diff --git a/Source/WebCore/platform/win/KeyEventWin.cpp b/Source/WebCore/platform/win/KeyEventWin.cpp -index f997a64f68deca632435450869c1abc9c3c35ac2..79da1d419799e359c60f2346e1d3ac8a8be4e654 100644 +index b9f728911d34163c1ca14d359741d44cc05ab755..1609197044eaa8e9036e6dae23d1c5270b53e08b 100644 --- a/Source/WebCore/platform/win/KeyEventWin.cpp +++ b/Source/WebCore/platform/win/KeyEventWin.cpp @@ -242,10 +242,16 @@ PlatformKeyboardEvent::PlatformKeyboardEvent(HWND, WPARAM code, LPARAM keyData, @@ -8037,7 +8042,7 @@ index f997a64f68deca632435450869c1abc9c3c35ac2..79da1d419799e359c60f2346e1d3ac8a OptionSet PlatformKeyboardEvent::currentStateOfModifierKeys() diff --git a/Source/WebCore/platform/win/PasteboardWin.cpp b/Source/WebCore/platform/win/PasteboardWin.cpp -index 54e81c8974a68333027ec4ca26d63cd11d9873c0..80ae2fd4c97a502ffea49c937265bf7cabb18fca 100644 +index 5728033e25919cef5b81d08516964aa5445c5d6e..0e588ebd34299d56ace86806bdec6e9ce337b053 100644 --- a/Source/WebCore/platform/win/PasteboardWin.cpp +++ b/Source/WebCore/platform/win/PasteboardWin.cpp @@ -1130,7 +1130,21 @@ void Pasteboard::writeCustomData(const Vector& data) @@ -8183,7 +8188,7 @@ index 0000000000000000000000000000000000000000..f8fc3fa43bfe62a1c066689f48ddabaa +} diff --git a/Source/WebCore/platform/wpe/DragImageWPE.cpp b/Source/WebCore/platform/wpe/DragImageWPE.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..3aedd4bdfacd4d66552346bec8211efaeff1993c +index 0000000000000000000000000000000000000000..a2454253889d4c7d5129c2d7895c089f54bc2e3d --- /dev/null +++ b/Source/WebCore/platform/wpe/DragImageWPE.cpp @@ -0,0 +1,73 @@ @@ -8238,7 +8243,7 @@ index 0000000000000000000000000000000000000000..3aedd4bdfacd4d66552346bec8211efa + +DragImageRef createDragImageFromImage(Image* image, ImageOrientation) +{ -+ return image->nativeImageForCurrentFrame()->platformImage(); ++ return image->currentNativeImage()->platformImage(); +} + + @@ -8261,10 +8266,10 @@ index 0000000000000000000000000000000000000000..3aedd4bdfacd4d66552346bec8211efa + +} diff --git a/Source/WebCore/platform/wpe/PlatformScreenWPE.cpp b/Source/WebCore/platform/wpe/PlatformScreenWPE.cpp -index b4b1421799ba24ff07842c3006afcff7948e6c83..64b3bfab8d80ce9a4aea931ed7e478300a3bc358 100644 +index 77bdff686770e56f5445fa12216c6bff93bb5cfb..e16583ea6298864df9c8b82cb0686b2afb18ce95 100644 --- a/Source/WebCore/platform/wpe/PlatformScreenWPE.cpp +++ b/Source/WebCore/platform/wpe/PlatformScreenWPE.cpp -@@ -139,12 +139,12 @@ bool screenSupportsExtendedColor(Widget*) +@@ -151,12 +151,12 @@ bool screenSupportsExtendedColor(Widget*) } #if ENABLE(TOUCH_EVENTS) @@ -8508,7 +8513,7 @@ index 0000000000000000000000000000000000000000..cf2b51f6f02837a1106f4d999f2f130e + +} // namespace WebCore diff --git a/Source/WebCore/rendering/RenderTextControl.cpp b/Source/WebCore/rendering/RenderTextControl.cpp -index 43d3b0ea8c3000a82999356aeca617e9ce0cc9bc..6e0557a1cd8b9d1d03f6dbc6f8b67df462d8a2a9 100644 +index 58574b4d9fb503918e2cac0993ffe778f256a953..23de6aecb4ea7f7a1a36af6a93611559f19cfc11 100644 --- a/Source/WebCore/rendering/RenderTextControl.cpp +++ b/Source/WebCore/rendering/RenderTextControl.cpp @@ -222,13 +222,13 @@ void RenderTextControl::layoutExcludedChildren(bool relayoutChildren) @@ -8527,10 +8532,10 @@ index 43d3b0ea8c3000a82999356aeca617e9ce0cc9bc..6e0557a1cd8b9d1d03f6dbc6f8b67df4 { auto innerText = innerTextElement(); diff --git a/Source/WebCore/rendering/RenderTextControl.h b/Source/WebCore/rendering/RenderTextControl.h -index e064a7a15a416e593b68de15133c5528b1ce2ae0..2860c13fad04ea32e28142848e0583701263f45d 100644 +index 0c3b0f009ba9fca604f9bea904aae15142ee600e..b55788795cb550764d3de2e4dd0368773a14f290 100644 --- a/Source/WebCore/rendering/RenderTextControl.h +++ b/Source/WebCore/rendering/RenderTextControl.h -@@ -36,9 +36,9 @@ public: +@@ -37,9 +37,9 @@ public: WEBCORE_EXPORT HTMLTextFormControlElement& textFormControlElement() const; @@ -8565,7 +8570,7 @@ index 1d8488e0d36288e09cd5662bd7f770ade95dfee3..dee07f87b47d62d4ef8ede45824bdb2f WorkerOrWorkletGlobalScope& m_globalScope; }; diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp -index bf5894cb3065bcded234f5bb0c2384ffe8afeaf1..5bb922d3fb26790b337e39460dde88b736157126 100644 +index caf9b8fe4c94e56154fa70b4b09391dc1db5b4b6..e9c038a464ac0e30bce7c1e162911d12086c1082 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp @@ -96,6 +96,8 @@ @@ -8577,7 +8582,7 @@ index bf5894cb3065bcded234f5bb0c2384ffe8afeaf1..5bb922d3fb26790b337e39460dde88b7 #endif #if ENABLE(APPLE_PAY_REMOTE_UI) -@@ -1077,6 +1079,14 @@ void NetworkConnectionToWebProcess::clearPageSpecificData(PageIdentifier pageID) +@@ -1093,6 +1095,14 @@ void NetworkConnectionToWebProcess::clearPageSpecificData(PageIdentifier pageID) storageSession->clearPageSpecificDataForResourceLoadStatistics(pageID); } @@ -8593,7 +8598,7 @@ index bf5894cb3065bcded234f5bb0c2384ffe8afeaf1..5bb922d3fb26790b337e39460dde88b7 { if (auto* storageSession = networkProcess().storageSession(m_sessionID)) diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -index 2e75a2e5f36e4bf8572dde214007ef9112340147..da32d9a2159dde35b31ad6494b57ee002bc32230 100644 +index a9fd7f7625ca67043c8ed0dcd7979df49cd65266..8e7903e0c5acefb8c5381f8297b52d610b8e4a29 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h @@ -343,6 +343,8 @@ private: @@ -8606,7 +8611,7 @@ index 2e75a2e5f36e4bf8572dde214007ef9112340147..da32d9a2159dde35b31ad6494b57ee00 void logUserInteraction(RegistrableDomain&&); diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in -index db2fd2aa2a4e2cc6f8e543a1238768a87a47b7b3..6fd98fff31ca2f07267c2f1e87e67585d356504b 100644 +index b90021dcc3e4d70cb7b42b538050c5a37653b3cd..acc42255c8d3fb08971f62e6771f022f544199b7 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in @@ -74,6 +74,8 @@ messages -> NetworkConnectionToWebProcess LegacyReceiver { @@ -8619,10 +8624,10 @@ index db2fd2aa2a4e2cc6f8e543a1238768a87a47b7b3..6fd98fff31ca2f07267c2f1e87e67585 LogUserInteraction(WebCore::RegistrableDomain domain) ResourceLoadStatisticsUpdated(Vector statistics) -> () diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.cpp b/Source/WebKit/NetworkProcess/NetworkProcess.cpp -index a64ab0c971d231725f54b48f2dfce9b14f176413..edf339a771288a5779088f47dd140bbb1ac79d9f 100644 +index cd174626a10faea7348b568bcfc384d9aaa86f5a..72e66509f540301cedc64ac9ea69f50fb1044245 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkProcess.cpp -@@ -630,6 +630,12 @@ void NetworkProcess::registrableDomainsExemptFromWebsiteDataDeletion(PAL::Sessio +@@ -658,6 +658,12 @@ void NetworkProcess::registrableDomainsExemptFromWebsiteDataDeletion(PAL::Sessio completionHandler({ }); } @@ -8636,7 +8641,7 @@ index a64ab0c971d231725f54b48f2dfce9b14f176413..edf339a771288a5779088f47dd140bbb { if (auto* session = networkSession(sessionID)) { diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.h b/Source/WebKit/NetworkProcess/NetworkProcess.h -index a8e9afedc539d5be95b11d30a621d75b0a1e21ca..3a94e96c865c1e324571a31fba49fdeb7f524a58 100644 +index 6d41842684f3e0e8b1190359f87105b747cf9da9..279d5c033397afb120a082953c0112f34bf2878a 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkProcess.h @@ -33,6 +33,7 @@ @@ -8647,7 +8652,7 @@ index a8e9afedc539d5be95b11d30a621d75b0a1e21ca..3a94e96c865c1e324571a31fba49fdeb #include "WebPageProxyIdentifier.h" #include "WebResourceLoadStatisticsStore.h" #include "WebsiteData.h" -@@ -86,6 +87,7 @@ class SessionID; +@@ -82,6 +83,7 @@ class SessionID; namespace WebCore { class CertificateInfo; @@ -8655,7 +8660,7 @@ index a8e9afedc539d5be95b11d30a621d75b0a1e21ca..3a94e96c865c1e324571a31fba49fdeb class CurlProxySettings; class ProtectionSpace; class NetworkStorageSession; -@@ -214,6 +216,9 @@ public: +@@ -212,6 +214,9 @@ public: void registrableDomainsWithLastAccessedTime(PAL::SessionID, CompletionHandler>)>&&); void registrableDomainsExemptFromWebsiteDataDeletion(PAL::SessionID, CompletionHandler)>&&); @@ -8666,7 +8671,7 @@ index a8e9afedc539d5be95b11d30a621d75b0a1e21ca..3a94e96c865c1e324571a31fba49fdeb void clearUserInteraction(PAL::SessionID, RegistrableDomain&&, CompletionHandler&&); void deleteAndRestrictWebsiteDataForRegistrableDomains(PAL::SessionID, OptionSet, RegistrableDomainsToDeleteOrRestrictWebsiteDataFor&&, bool shouldNotifyPage, CompletionHandler&&)>&&); diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.messages.in b/Source/WebKit/NetworkProcess/NetworkProcess.messages.in -index 0a6ee4fa17b06a3983e083ccef42af134367a63b..0e386d5f16c60c185ebec1d3b974c6242fadd6bc 100644 +index 5e590b5a09f8bd5d040e2e68d54c545c52d4b179..c58bb6270ab75026187fdda6c94822f6aa47a35a 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkProcess.messages.in @@ -79,6 +79,8 @@ messages -> NetworkProcess LegacyReceiver { @@ -8679,10 +8684,10 @@ index 0a6ee4fa17b06a3983e083ccef42af134367a63b..0e386d5f16c60c185ebec1d3b974c624 ClearUserInteraction(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () DumpResourceLoadStatistics(PAL::SessionID sessionID) -> (String dumpedStatistics) diff --git a/Source/WebKit/NetworkProcess/NetworkSession.h b/Source/WebKit/NetworkProcess/NetworkSession.h -index e0abf3efc001aef58ecdc10e7b0066d5a0f0bc3f..0940c4918d6db0f22a350abde8089b300222505b 100644 +index b22ff912dba5b116a979119af6721bcfcc72ec5d..deb9a0b67adb51b190833354e7ea5d8e46aea56c 100644 --- a/Source/WebKit/NetworkProcess/NetworkSession.h +++ b/Source/WebKit/NetworkProcess/NetworkSession.h -@@ -198,6 +198,9 @@ public: +@@ -200,6 +200,9 @@ public: void lowMemoryHandler(WTF::Critical); @@ -8692,7 +8697,7 @@ index e0abf3efc001aef58ecdc10e7b0066d5a0f0bc3f..0940c4918d6db0f22a350abde8089b30 void removeSoftUpdateLoader(ServiceWorkerSoftUpdateLoader* loader) { m_softUpdateLoaders.remove(loader); } void addNavigationPreloaderTask(ServiceWorkerFetchTask&); ServiceWorkerFetchTask* navigationPreloaderTaskFromFetchIdentifier(WebCore::FetchIdentifier); -@@ -307,6 +310,7 @@ protected: +@@ -309,6 +312,7 @@ protected: bool m_privateClickMeasurementDebugModeEnabled { false }; std::optional m_ephemeralMeasurement; bool m_isRunningEphemeralMeasurementTest { false }; @@ -8701,7 +8706,7 @@ index e0abf3efc001aef58ecdc10e7b0066d5a0f0bc3f..0940c4918d6db0f22a350abde8089b30 HashSet> m_keptAliveLoads; diff --git a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm -index 95fd05820627eb2ec3ab61bbfe3c93011761464c..b1944ca937b09a942a42ce4e57311f8a5ff6aa51 100644 +index 95d84783fe56cc381e67113924780bf1e2d9320e..129e7ada7fa90665a80ccf79641d7fcaf9f085a0 100644 --- a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm +++ b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm @@ -761,6 +761,8 @@ - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didRece @@ -8872,7 +8877,7 @@ index 486849ef6f550a0f3caab311abf5743c6d38e5af..afeaac63a18d9e71d3afead23b7da4fe void NetworkSessionCurl::didReceiveChallenge(WebSocketTask& webSocketTask, WebCore::AuthenticationChallenge&& challenge, CompletionHandler&& challengeCompletionHandler) diff --git a/Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.cpp b/Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.cpp -index 34712a017c7a7f444f6e296681ad5d95db9df63c..d5fc1c0583df5548ca9ec3e8760d8f50a6be13e3 100644 +index 60106d6125f85d0cf848e828fd4ed7a50005f105..021d7b6d12baf4671a2968753969ca4675044313 100644 --- a/Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.cpp +++ b/Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.cpp @@ -36,11 +36,12 @@ @@ -8929,10 +8934,10 @@ index 5023a9be6554abc9ffe8fb37968978cb28c5b9a1..9cfdedd0411bf32843c2c9a7d7d722c5 WebCore::CurlStreamScheduler& m_scheduler; diff --git a/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in b/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in -index 514d2ee0446c8316e9e27a302e32de73480aafdc..42584c972be820f6906da2e0f54c839908db111a 100644 +index 51f3fb7ae9a4e208bc11ac583b72e772eac5e4dc..386ec972eba86763b83407c322a971a30286f40f 100644 --- a/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in +++ b/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in -@@ -444,9 +444,11 @@ +@@ -448,9 +448,11 @@ ;; FIXME: This should be removed when is fixed. ;; Restrict AppSandboxed processes from creating /Library/Keychains, but allow access to the contents of /Library/Keychains: @@ -8948,7 +8953,7 @@ index 514d2ee0446c8316e9e27a302e32de73480aafdc..42584c972be820f6906da2e0f54c8399 ;; Except deny access to new-style iOS Keychain folders which are UUIDs. (deny file-read* file-write* diff --git a/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp b/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp -index e00ae629016df8bec8cdaf45a42b1ae891cc2e93..ab5cb955e0b1b97a4df9ac4c6baa391ec2ee1798 100644 +index 4295b59484942084404ff7b03669aba249667e97..73dea05ac933938a19bbd6ec5bbcbd6139f98c25 100644 --- a/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp +++ b/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp @@ -466,6 +466,8 @@ void NetworkDataTaskSoup::didSendRequest(GRefPtr&& inputStream) @@ -8970,10 +8975,10 @@ index e00ae629016df8bec8cdaf45a42b1ae891cc2e93..ab5cb955e0b1b97a4df9ac4c6baa391e if (!error) return true; diff --git a/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp b/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp -index 3fa6072886e6d34d53c63fffb131d51a197540fd..72d919c0043fb524109aed043897195a78563198 100644 +index 60e79ff683e280591d686468c42decf1ac109ed2..ef74cb09e75c3e6f57d180487fa266b7a0f09af5 100644 --- a/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp +++ b/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp -@@ -99,6 +99,11 @@ void NetworkSessionSoup::clearCredentials(WallTime) +@@ -97,6 +97,11 @@ void NetworkSessionSoup::clearCredentials(WallTime) #endif } @@ -8985,7 +8990,7 @@ index 3fa6072886e6d34d53c63fffb131d51a197540fd..72d919c0043fb524109aed043897195a #if USE(SOUP2) static gboolean webSocketAcceptCertificateCallback(GTlsConnection* connection, GTlsCertificate* certificate, GTlsCertificateFlags errors, NetworkSessionSoup* session) { -@@ -119,6 +124,15 @@ static void webSocketMessageNetworkEventCallback(SoupMessage* soupMessage, GSock +@@ -117,6 +122,15 @@ static void webSocketMessageNetworkEventCallback(SoupMessage* soupMessage, GSock } #endif @@ -9001,7 +9006,7 @@ index 3fa6072886e6d34d53c63fffb131d51a197540fd..72d919c0043fb524109aed043897195a std::unique_ptr NetworkSessionSoup::createWebSocketTask(WebPageProxyIdentifier, std::optional frameID, std::optional pageID, NetworkSocketChannel& channel, const ResourceRequest& request, const String& protocol, const ClientOrigin&, bool, bool, OptionSet, ShouldRelaxThirdPartyCookieBlocking shouldRelaxThirdPartyCookieBlocking, StoredCredentialsPolicy) { GRefPtr soupMessage = request.createSoupMessage(blobRegistry()); -@@ -127,14 +141,21 @@ std::unique_ptr NetworkSessionSoup::createWebSocketTask(WebPagePr +@@ -125,14 +139,21 @@ std::unique_ptr NetworkSessionSoup::createWebSocketTask(WebPagePr if (request.url().protocolIs("wss"_s)) { #if USE(SOUP2) @@ -9031,10 +9036,10 @@ index 3fa6072886e6d34d53c63fffb131d51a197540fd..72d919c0043fb524109aed043897195a } diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index a2d21b8fab2c038ed4d73dd9505b2e523084c219..84fa5c0fa497a55b3959e5c24a8ecde5acdbfc74 100644 +index bd8dab990c4c034059d21588921784f047bb6d6a..46a61dcef89e94a9a1a25e6ae352ec88f0aec5e7 100644 --- a/Source/WebKit/PlatformGTK.cmake +++ b/Source/WebKit/PlatformGTK.cmake -@@ -316,6 +316,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -321,6 +321,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GSTREAMER_PBUTILS_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -9044,7 +9049,7 @@ index a2d21b8fab2c038ed4d73dd9505b2e523084c219..84fa5c0fa497a55b3959e5c24a8ecde5 ) list(APPEND WebKit_INTERFACE_INCLUDE_DIRECTORIES -@@ -355,6 +358,9 @@ if (USE_LIBWEBRTC) +@@ -351,6 +354,9 @@ if (USE_LIBWEBRTC) list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/libwebrtc/Source/" "${THIRDPARTY_DIR}/libwebrtc/Source/webrtc" @@ -9054,7 +9059,7 @@ index a2d21b8fab2c038ed4d73dd9505b2e523084c219..84fa5c0fa497a55b3959e5c24a8ecde5 ) endif () -@@ -406,6 +412,12 @@ else () +@@ -402,6 +408,12 @@ else () set(WebKitGTK_ENUM_HEADER_TEMPLATE ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitEnumTypesGtk3.h.in) endif () @@ -9068,10 +9073,10 @@ index a2d21b8fab2c038ed4d73dd9505b2e523084c219..84fa5c0fa497a55b3959e5c24a8ecde5 set(WebKitGTK_ENUM_GENERATION_HEADERS ${WebKitGTK_INSTALLED_HEADERS}) list(REMOVE_ITEM WebKitGTK_ENUM_GENERATION_HEADERS ${WebKitGTK_DERIVED_SOURCES_DIR}/webkit/WebKitEnumTypes.h) diff --git a/Source/WebKit/PlatformWPE.cmake b/Source/WebKit/PlatformWPE.cmake -index be960eda81a449e654cc76f98998f6695e3be15b..61546c86ac76c565517e7a5c27f968c9e5cab4da 100644 +index 8f27536b690e863fcaf086c04d1b0fb21356a622..a0207624821b4179d7adc646adf06aae65f0ca33 100644 --- a/Source/WebKit/PlatformWPE.cmake +++ b/Source/WebKit/PlatformWPE.cmake -@@ -210,6 +210,7 @@ set(WPE_API_HEADER_TEMPLATES +@@ -212,6 +212,7 @@ set(WPE_API_HEADER_TEMPLATES ${WEBKIT_DIR}/UIProcess/API/glib/WebKitWindowProperties.h.in ${WEBKIT_DIR}/UIProcess/API/glib/WebKitWebsitePolicies.h.in ${WEBKIT_DIR}/UIProcess/API/glib/webkit.h.in @@ -9079,7 +9084,7 @@ index be960eda81a449e654cc76f98998f6695e3be15b..61546c86ac76c565517e7a5c27f968c9 ) if (ENABLE_2022_GLIB_API) -@@ -422,8 +423,17 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -423,8 +424,17 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GIO_UNIX_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -9095,8 +9100,8 @@ index be960eda81a449e654cc76f98998f6695e3be15b..61546c86ac76c565517e7a5c27f968c9 +# Playwright end + list(APPEND WebKit_LIBRARIES - ATK::Bridge WPE::libwpe + ${GLIB_LIBRARIES} diff --git a/Source/WebKit/PlatformWin.cmake b/Source/WebKit/PlatformWin.cmake index 06a86d0cfd1ca90f383af2b079f60ce220f8eb02..9e21935463bf964ecb090be48e68b50ef29c049b 100644 --- a/Source/WebKit/PlatformWin.cmake @@ -9331,26 +9336,11 @@ index 72ad2880160a374e8fa663e561d59becf9d2f36d..372ae6953199245fe4fc55a49813c7ca String markup #endif }; -diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp -index 27289a1df966d9ce4964a21ed407cf694c8a4b84..4403ea531c85fd7c623e2c8793e71820d6043530 100644 ---- a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp -+++ b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp -@@ -182,6 +182,10 @@ - #include - #endif - -+#if PLATFORM(WPE) -+#include "ArgumentCodersWPE.h" -+#endif -+ - // FIXME: Seems like we could use std::tuple to cut down the code below a lot! - - namespace IPC { diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in -index 3c2e6946fe221f15889e98b46bdb82eab8055ad5..843a49d6ae1476ed83147d417015520e523f1e01 100644 +index 2a11967151ca0bebd14b6a64482a793e2a536333..f4fc1b8eab49eba96badf4151358325a0bb7072c 100644 --- a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in +++ b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in -@@ -2609,6 +2609,9 @@ class WebCore::AuthenticationChallenge { +@@ -2658,6 +2658,9 @@ class WebCore::AuthenticationChallenge { class WebCore::DragData { #if PLATFORM(COCOA) String pasteboardName(); @@ -9360,7 +9350,7 @@ index 3c2e6946fe221f15889e98b46bdb82eab8055ad5..843a49d6ae1476ed83147d417015520e #endif WebCore::IntPoint clientPosition(); WebCore::IntPoint globalPosition(); -@@ -3170,6 +3173,7 @@ enum class WebCore::WasPrivateRelayed : bool; +@@ -3221,6 +3224,7 @@ enum class WebCore::WasPrivateRelayed : bool; String httpStatusText; String httpVersion; WebCore::HTTPHeaderMap httpHeaderFields; @@ -9451,7 +9441,7 @@ index b80bcb39473ecec86be5671f38698130bd9acbf3..d886cbac5f4c073e14e12f257fa92041 { } diff --git a/Source/WebKit/Shared/WebKeyboardEvent.h b/Source/WebKit/Shared/WebKeyboardEvent.h -index 2734461c33f7f9a57933afbc1098029d905522ec..1eb7f2cff4f5fe70aa576be4d4f9b0ea6ea5ddf4 100644 +index 8e4e2d6d5ebb08fba210fe0a328d45290348dd11..32a43192ec1e918c33b1b046b71d2ec571dc92ff 100644 --- a/Source/WebKit/Shared/WebKeyboardEvent.h +++ b/Source/WebKit/Shared/WebKeyboardEvent.h @@ -42,14 +42,18 @@ public: @@ -9474,7 +9464,7 @@ index 2734461c33f7f9a57933afbc1098029d905522ec..1eb7f2cff4f5fe70aa576be4d4f9b0ea const String& text() const { return m_text; } diff --git a/Source/WebKit/Shared/WebMouseEvent.h b/Source/WebKit/Shared/WebMouseEvent.h -index a38fc7fde1d5f1a1fd04ae1f84eb59c1501deec5..d3669c3d3bad91468fbbeeaa328c361082ecd408 100644 +index 5da1ed78e5a55bf63e9e52e33dfa9e704922589a..6630725885bbfe6123537ea799bf5b6885ea977f 100644 --- a/Source/WebKit/Shared/WebMouseEvent.h +++ b/Source/WebKit/Shared/WebMouseEvent.h @@ -70,6 +70,7 @@ public: @@ -9486,10 +9476,10 @@ index a38fc7fde1d5f1a1fd04ae1f84eb59c1501deec5..d3669c3d3bad91468fbbeeaa328c3610 void setPosition(const WebCore::IntPoint& position) { m_position = position; } const WebCore::IntPoint& globalPosition() const { return m_globalPosition; } diff --git a/Source/WebKit/Shared/WebPageCreationParameters.h b/Source/WebKit/Shared/WebPageCreationParameters.h -index 91be42f87923a08e8f19a35bbacc9cbc3781a550..b4de1b8170a28ec38556922967d849b05861468c 100644 +index e0f2fcf54bf77b41619a9b76a3f42cc17303029f..4f79a4a9e081bfbb6a05c2c8afcbdaae060f2229 100644 --- a/Source/WebKit/Shared/WebPageCreationParameters.h +++ b/Source/WebKit/Shared/WebPageCreationParameters.h -@@ -295,6 +295,8 @@ struct WebPageCreationParameters { +@@ -300,6 +300,8 @@ struct WebPageCreationParameters { bool httpsUpgradeEnabled { true }; @@ -9499,10 +9489,10 @@ index 91be42f87923a08e8f19a35bbacc9cbc3781a550..b4de1b8170a28ec38556922967d849b0 bool allowsDeprecatedSynchronousXMLHttpRequestDuringUnload { false }; #endif diff --git a/Source/WebKit/Shared/WebPageCreationParameters.serialization.in b/Source/WebKit/Shared/WebPageCreationParameters.serialization.in -index 4ea97727612b82724ed25a1a6f04d07dd6faa7b7..7eb2a40699258a5cad2bc09631f54993cdf1945e 100644 +index c7c3aac107d2b528d63a31645d84573ba4115a89..4e6932d22e24e2df15e045c0cbb177e8e0a8e880 100644 --- a/Source/WebKit/Shared/WebPageCreationParameters.serialization.in +++ b/Source/WebKit/Shared/WebPageCreationParameters.serialization.in -@@ -227,6 +227,8 @@ enum class WebCore::UserInterfaceLayoutDirection : bool; +@@ -228,6 +228,8 @@ enum class WebCore::UserInterfaceLayoutDirection : bool; bool httpsUpgradeEnabled; @@ -9767,7 +9757,7 @@ index 0000000000000000000000000000000000000000..789a0d7cf69704c8f665a9ed79348fbc + +} // namespace IPC diff --git a/Source/WebKit/Shared/win/WebEventFactory.cpp b/Source/WebKit/Shared/win/WebEventFactory.cpp -index 665b9d6a9de903ee9ad6dc53e15ab421b6cb769f..2b129963074d2ceec1c05f3a637c5e1c9e652008 100644 +index eae9e21a437c04cec91d1a4848038e11f4ee3e07..4fe63a9042d875555d9d1b934a9f53ea352e47aa 100644 --- a/Source/WebKit/Shared/win/WebEventFactory.cpp +++ b/Source/WebKit/Shared/win/WebEventFactory.cpp @@ -476,7 +476,7 @@ WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(HWND hwnd, UINT message @@ -9780,10 +9770,10 @@ index 665b9d6a9de903ee9ad6dc53e15ab421b6cb769f..2b129963074d2ceec1c05f3a637c5e1c #endif // ENABLE(TOUCH_EVENTS) diff --git a/Source/WebKit/Sources.txt b/Source/WebKit/Sources.txt -index e57ec3140eeed2a50f0465448a165de12abc09bb..d3509d47546a35c31f4ed053cf4fa4f5f78caa7f 100644 +index d3b9afee939c3ec362f48851865da60251a5700f..fe0c3cc89c0823ed145eb1c374edd13239f48ee7 100644 --- a/Source/WebKit/Sources.txt +++ b/Source/WebKit/Sources.txt -@@ -378,6 +378,7 @@ Shared/XR/XRDeviceProxy.cpp +@@ -379,6 +379,7 @@ Shared/XR/XRDeviceProxy.cpp UIProcess/AuxiliaryProcessProxy.cpp UIProcess/BackgroundProcessResponsivenessTimer.cpp UIProcess/BrowsingContextGroup.cpp @@ -9791,7 +9781,7 @@ index e57ec3140eeed2a50f0465448a165de12abc09bb..d3509d47546a35c31f4ed053cf4fa4f5 UIProcess/DeviceIdHashSaltStorage.cpp UIProcess/DisplayLink.cpp UIProcess/DisplayLinkProcessProxyClient.cpp -@@ -387,16 +388,20 @@ UIProcess/FrameLoadState.cpp +@@ -388,16 +389,20 @@ UIProcess/FrameLoadState.cpp UIProcess/FrameProcess.cpp UIProcess/GeolocationPermissionRequestManagerProxy.cpp UIProcess/GeolocationPermissionRequestProxy.cpp @@ -9812,7 +9802,7 @@ index e57ec3140eeed2a50f0465448a165de12abc09bb..d3509d47546a35c31f4ed053cf4fa4f5 UIProcess/RemotePageDrawingAreaProxy.cpp UIProcess/RemotePageProxy.cpp UIProcess/ResponsivenessTimer.cpp -@@ -440,6 +445,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp +@@ -441,6 +446,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp UIProcess/WebPageDiagnosticLoggingClient.cpp UIProcess/WebPageGroup.cpp UIProcess/WebPageInjectedBundleClient.cpp @@ -9821,7 +9811,7 @@ index e57ec3140eeed2a50f0465448a165de12abc09bb..d3509d47546a35c31f4ed053cf4fa4f5 UIProcess/WebPageProxy.cpp UIProcess/WebPageProxyMessageReceiverRegistration.cpp UIProcess/WebPasteboardProxy.cpp -@@ -574,7 +581,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp +@@ -576,7 +583,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp UIProcess/Inspector/WebPageDebuggable.cpp UIProcess/Inspector/WebPageInspectorController.cpp @@ -9834,10 +9824,10 @@ index e57ec3140eeed2a50f0465448a165de12abc09bb..d3509d47546a35c31f4ed053cf4fa4f5 UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp UIProcess/Media/MediaUsageManager.cpp diff --git a/Source/WebKit/SourcesCocoa.txt b/Source/WebKit/SourcesCocoa.txt -index f23b74ff14d4c0bcf3ea58dc93c3582ae9d8ff54..0b615daef0d042deba914ad958a437c50cab926c 100644 +index 8dc390feda97fbe8e80e0bdfd62b682be36c81e5..9dee9867202c5e63e81dec992fa348fd16a557d8 100644 --- a/Source/WebKit/SourcesCocoa.txt +++ b/Source/WebKit/SourcesCocoa.txt -@@ -269,6 +269,7 @@ UIProcess/API/Cocoa/_WKArchiveExclusionRule.mm +@@ -271,6 +271,7 @@ UIProcess/API/Cocoa/_WKArchiveExclusionRule.mm UIProcess/API/Cocoa/_WKAttachment.mm UIProcess/API/Cocoa/_WKAutomationSession.mm UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm @@ -9845,7 +9835,7 @@ index f23b74ff14d4c0bcf3ea58dc93c3582ae9d8ff54..0b615daef0d042deba914ad958a437c5 UIProcess/API/Cocoa/_WKContentRuleListAction.mm UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm UIProcess/API/Cocoa/_WKCustomHeaderFields.mm @no-unify -@@ -447,6 +448,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm +@@ -455,6 +456,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm UIProcess/Inspector/ios/WKInspectorNodeSearchGestureRecognizer.mm UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm @@ -9854,7 +9844,7 @@ index f23b74ff14d4c0bcf3ea58dc93c3582ae9d8ff54..0b615daef0d042deba914ad958a437c5 UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm UIProcess/Inspector/mac/WKInspectorViewController.mm diff --git a/Source/WebKit/SourcesGTK.txt b/Source/WebKit/SourcesGTK.txt -index 103182e1768930dbeecdbabe590e6491af0d92bf..96305b9bfafec6b70ec807a04c78f7e2002da0ea 100644 +index bec1e568f9ad00bfff883318692d9c404e012e2c..de45461d0851248f44973780b07d0ba7692fd578 100644 --- a/Source/WebKit/SourcesGTK.txt +++ b/Source/WebKit/SourcesGTK.txt @@ -134,6 +134,7 @@ UIProcess/API/glib/WebKitAutomationSession.cpp @no-unify @@ -9891,7 +9881,7 @@ index 103182e1768930dbeecdbabe590e6491af0d92bf..96305b9bfafec6b70ec807a04c78f7e2 UIProcess/gtk/WebPasteboardProxyGtk.cpp UIProcess/gtk/WebPopupMenuProxyGtk.cpp diff --git a/Source/WebKit/SourcesWPE.txt b/Source/WebKit/SourcesWPE.txt -index 10b4c898beea0c4246e5329298dba514a6f68663..fb685e34364ab73bacaf8314336c2d2ead031c3b 100644 +index 3eefd6cc3eb22329583901518442756d728378a1..45f2092be52d2d347660972a6723741176ff4b42 100644 --- a/Source/WebKit/SourcesWPE.txt +++ b/Source/WebKit/SourcesWPE.txt @@ -86,6 +86,7 @@ Shared/glib/ProcessExecutablePathGLib.cpp @@ -9902,7 +9892,7 @@ index 10b4c898beea0c4246e5329298dba514a6f68663..fb685e34364ab73bacaf8314336c2d2e Shared/libwpe/NativeWebKeyboardEventLibWPE.cpp Shared/libwpe/NativeWebMouseEventLibWPE.cpp Shared/libwpe/NativeWebTouchEventLibWPE.cpp -@@ -135,6 +136,7 @@ UIProcess/API/glib/WebKitAuthenticationRequest.cpp @no-unify +@@ -136,6 +137,7 @@ UIProcess/API/glib/WebKitAuthenticationRequest.cpp @no-unify UIProcess/API/glib/WebKitAutomationSession.cpp @no-unify UIProcess/API/glib/WebKitBackForwardList.cpp @no-unify UIProcess/API/glib/WebKitBackForwardListItem.cpp @no-unify @@ -9910,7 +9900,7 @@ index 10b4c898beea0c4246e5329298dba514a6f68663..fb685e34364ab73bacaf8314336c2d2e UIProcess/API/glib/WebKitContextMenuClient.cpp @no-unify UIProcess/API/glib/WebKitCookieManager.cpp @no-unify UIProcess/API/glib/WebKitCredential.cpp @no-unify -@@ -168,6 +170,7 @@ UIProcess/API/glib/WebKitOptionMenu.cpp @no-unify +@@ -169,6 +171,7 @@ UIProcess/API/glib/WebKitOptionMenu.cpp @no-unify UIProcess/API/glib/WebKitOptionMenuItem.cpp @no-unify UIProcess/API/glib/WebKitPermissionRequest.cpp @no-unify UIProcess/API/glib/WebKitPermissionStateQuery.cpp @no-unify @@ -9918,7 +9908,7 @@ index 10b4c898beea0c4246e5329298dba514a6f68663..fb685e34364ab73bacaf8314336c2d2e UIProcess/API/glib/WebKitPolicyDecision.cpp @no-unify UIProcess/API/glib/WebKitPrivate.cpp @no-unify UIProcess/API/glib/WebKitProtocolHandler.cpp @no-unify -@@ -204,6 +207,7 @@ UIProcess/API/soup/HTTPCookieStoreSoup.cpp +@@ -205,6 +208,7 @@ UIProcess/API/soup/HTTPCookieStoreSoup.cpp UIProcess/API/wpe/InputMethodFilterWPE.cpp @no-unify UIProcess/API/wpe/PageClientImpl.cpp @no-unify UIProcess/API/wpe/WebKitColor.cpp @no-unify @@ -9926,7 +9916,7 @@ index 10b4c898beea0c4246e5329298dba514a6f68663..fb685e34364ab73bacaf8314336c2d2e UIProcess/API/wpe/WebKitInputMethodContextWPE.cpp @no-unify UIProcess/API/wpe/WebKitPopupMenu.cpp @no-unify UIProcess/API/wpe/WebKitRectangle.cpp @no-unify -@@ -226,6 +230,7 @@ UIProcess/glib/DisplayLinkGLib.cpp +@@ -228,6 +232,7 @@ UIProcess/glib/DisplayLinkGLib.cpp UIProcess/glib/DisplayVBlankMonitor.cpp UIProcess/glib/DisplayVBlankMonitorDRM.cpp UIProcess/glib/DisplayVBlankMonitorTimer.cpp @@ -9934,7 +9924,7 @@ index 10b4c898beea0c4246e5329298dba514a6f68663..fb685e34364ab73bacaf8314336c2d2e UIProcess/glib/ScreenManager.cpp UIProcess/glib/WebPageProxyGLib.cpp UIProcess/glib/WebProcessPoolGLib.cpp -@@ -256,7 +261,12 @@ UIProcess/linux/MemoryPressureMonitor.cpp +@@ -258,7 +263,12 @@ UIProcess/linux/MemoryPressureMonitor.cpp UIProcess/soup/WebProcessPoolSoup.cpp UIProcess/wpe/AcceleratedBackingStoreDMABuf.cpp @@ -9947,7 +9937,7 @@ index 10b4c898beea0c4246e5329298dba514a6f68663..fb685e34364ab73bacaf8314336c2d2e UIProcess/wpe/WebPageProxyWPE.cpp UIProcess/wpe/WebPreferencesWPE.cpp -@@ -280,6 +290,8 @@ WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp +@@ -282,6 +292,8 @@ WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp @@ -10004,10 +9994,10 @@ index 32ef9bd308e520f5ac7173639c8b23ea91cde037..7a80553c2d91b9236f563fa1b76aa8a5 bool m_shouldTakeUIBackgroundAssertion { true }; bool m_shouldCaptureDisplayInUIProcess { DEFAULT_CAPTURE_DISPLAY_IN_UI_PROCESS }; diff --git a/Source/WebKit/UIProcess/API/APIUIClient.h b/Source/WebKit/UIProcess/API/APIUIClient.h -index 06b83708038f6d39aa841f941f9490f45d5e90ed..e2300ca79ed61c378cb2024e23ef83281ae8b7d0 100644 +index f8baf3b5cbd1613da54c001cbff573125742358d..be628650e5562978187f8cc1d0afed8849a083b2 100644 --- a/Source/WebKit/UIProcess/API/APIUIClient.h +++ b/Source/WebKit/UIProcess/API/APIUIClient.h -@@ -113,6 +113,7 @@ public: +@@ -114,6 +114,7 @@ public: virtual void runJavaScriptAlert(WebKit::WebPageProxy&, const WTF::String&, WebKit::WebFrameProxy*, WebKit::FrameInfoData&&, Function&& completionHandler) { completionHandler(); } virtual void runJavaScriptConfirm(WebKit::WebPageProxy&, const WTF::String&, WebKit::WebFrameProxy*, WebKit::FrameInfoData&&, Function&& completionHandler) { completionHandler(false); } virtual void runJavaScriptPrompt(WebKit::WebPageProxy&, const WTF::String&, const WTF::String&, WebKit::WebFrameProxy*, WebKit::FrameInfoData&&, Function&& completionHandler) { completionHandler(WTF::String()); } @@ -10059,10 +10049,10 @@ index 026121d114c5fcad84c1396be8d692625beaa3bd..edd6e5cae033124c589959a42522fde0 } #endif diff --git a/Source/WebKit/UIProcess/API/C/WKPage.cpp b/Source/WebKit/UIProcess/API/C/WKPage.cpp -index 8db060fa2f15d58d8bbc9faed88cac4e51d0f3c1..22fcdf0790b7187fbf2978bf3079b3011929d23e 100644 +index 81d4f44bd1f4201cb0ddd9d4b8ef210862551cdb..6e750c6e1f4624b5cf54a642b831ab10d4448649 100644 --- a/Source/WebKit/UIProcess/API/C/WKPage.cpp +++ b/Source/WebKit/UIProcess/API/C/WKPage.cpp -@@ -1783,6 +1783,13 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient +@@ -1780,6 +1780,13 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient completionHandler(String()); } @@ -10076,7 +10066,7 @@ index 8db060fa2f15d58d8bbc9faed88cac4e51d0f3c1..22fcdf0790b7187fbf2978bf3079b301 void setStatusText(WebPageProxy* page, const String& text) final { if (!m_client.setStatusText) -@@ -1812,6 +1819,8 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient +@@ -1809,6 +1816,8 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient { if (!m_client.didNotHandleKeyEvent) return; @@ -10146,10 +10136,10 @@ index 1484f064ec89ee8c25c35df9f0a4462896699415..0622f4d5fc9144b9059395d9d0730a4a // Version 15. WKPageDecidePolicyForSpeechRecognitionPermissionRequestCallback decidePolicyForSpeechRecognitionPermissionRequest; diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm b/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm -index 9479d9025142e679533061397c93f750053efacb..01031cca01abb99eef44a054dc200922be6b782d 100644 +index 857afb1b892c2ee7327808f3dab0cff441c92c52..332bb2e687d6b97fd11f1366ade5b17841bcae58 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm -@@ -700,6 +700,16 @@ - (void)_setMediaCaptureRequiresSecureConnection:(BOOL)requiresSecureConnection +@@ -702,6 +702,16 @@ - (void)_setMediaCaptureRequiresSecureConnection:(BOOL)requiresSecureConnection _preferences->setMediaCaptureRequiresSecureConnection(requiresSecureConnection); } @@ -10167,10 +10157,10 @@ index 9479d9025142e679533061397c93f750053efacb..01031cca01abb99eef44a054dc200922 { return _preferences->inactiveMediaCaptureSteamRepromptIntervalInMinutes(); diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h b/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h -index 2d7258f213b74356c8ab3e47923016dd4554e672..0f8977d00655cd4c36ae280c8c27c52f8dd0c09f 100644 +index 48e4b28374b93173df1be63444aa5ca3abd626d6..194b2099be032c800a463891976364ab7cd74890 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h +++ b/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h -@@ -118,6 +118,7 @@ typedef NS_ENUM(NSInteger, _WKPitchCorrectionAlgorithm) { +@@ -119,6 +119,7 @@ typedef NS_ENUM(NSInteger, _WKPitchCorrectionAlgorithm) { @property (nonatomic, setter=_setMockCaptureDevicesEnabled:) BOOL _mockCaptureDevicesEnabled WK_API_AVAILABLE(macos(10.13), ios(11.0)); @property (nonatomic, setter=_setMockCaptureDevicesPromptEnabled:) BOOL _mockCaptureDevicesPromptEnabled WK_API_AVAILABLE(macos(10.13.4), ios(11.3)); @property (nonatomic, setter=_setMediaCaptureRequiresSecureConnection:) BOOL _mediaCaptureRequiresSecureConnection WK_API_AVAILABLE(macos(10.13), ios(11.0)); @@ -10217,7 +10207,7 @@ index 4f5956098f0e83c2e9c421c97056b6718b124a3c..1eb51dd70dc6ef1b7e95a09118aa816b NS_ASSUME_NONNULL_END diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm -index 07a937bf57e682398c2befad11ad6a4d228e741e..189f4b3cbe358490f2779a1042f2e9fd240fa422 100644 +index 350914dd5352683024925bb820148ba2582cd0c7..ac9767ff4920e066b11da4556b2df77debd18a1f 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm @@ -51,6 +51,7 @@ @@ -10228,7 +10218,7 @@ index 07a937bf57e682398c2befad11ad6a4d228e741e..189f4b3cbe358490f2779a1042f2e9fd #import #import #import -@@ -444,6 +445,11 @@ - (void)removeDataOfTypes:(NSSet *)dataTypes modifiedSince:(NSDate *)date comple +@@ -446,6 +447,11 @@ - (void)removeDataOfTypes:(NSSet *)dataTypes modifiedSince:(NSDate *)date comple }); } @@ -10401,7 +10391,7 @@ index df71be1e30c4a13fe9565d309c7bbfb82e049d06..8424a471e7841d300174aa54143578f8 { _processPoolConfiguration->setIsAutomaticProcessWarmingEnabled(prewarms); diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm b/Source/WebKit/UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm -index e5209134d490c226db6a122f4f0f3f38d26e20eb..47a41b11999d7927fbfbe033e3630eac86d61e99 100644 +index 500a748e78bdcd418b18fb4de416b95e9042d2c4..63d4ea68cbc711ba8f12e126d0f6b78aad5f5155 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm @@ -24,6 +24,7 @@ @@ -10425,7 +10415,7 @@ index 4974e14214e2bb3e982325b885bab33e54f83998..cacdf8c71fab248d38d2faf03f7affdc typedef NS_ENUM(NSInteger, _WKUserStyleLevel) { _WKUserStyleUserLevel, diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.mm b/Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.mm -index 705a8483a04c8abe863bd788f5a4ea6a09414f27..c0e69429369155aa3974c508e755292c81c89e19 100644 +index 383bd33cc0b53ea049d2e6fb1bf338d584caeb18..e29ba10dceced9d115b09e014cc086c5453e33fe 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.mm @@ -35,6 +35,7 @@ @@ -10639,10 +10629,10 @@ index 0000000000000000000000000000000000000000..e0b1da48465c850f541532ed961d1b77 +WebKit::WebPageProxy* webkitBrowserInspectorCreateNewPageInContext(WebKitWebContext*); +void webkitBrowserInspectorQuitApplication(); diff --git a/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp b/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp -index a13f808f23a97bd4eaf452fc57e0f1279e3a264b..e222833eeea5d4252189ba2755993e35c3190963 100644 +index d6b7f61b141870b4af00fdd0a104dc6cf382fc36..bacc29f875ec5dccb65f7653a772bb99ceee2129 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp -@@ -94,6 +94,10 @@ private: +@@ -95,6 +95,10 @@ private: page.makeViewBlankIfUnpaintedSinceLastLoadCommit(); webkitWebViewRunJavaScriptPrompt(m_webView, message.utf8(), defaultValue.utf8(), WTFMove(completionHandler)); } @@ -10654,7 +10644,7 @@ index a13f808f23a97bd4eaf452fc57e0f1279e3a264b..e222833eeea5d4252189ba2755993e35 bool canRunBeforeUnloadConfirmPanel() const final { return true; } diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp -index cdf57e32e9024051ed28eb57678662376b0aae6c..8647bf0e5beff4d5d92e02733548332abeb00c55 100644 +index 14c655bdd47bfb87d548e8c4ddd826e6bbb5d7c5..05440a65021ff70887fc88dc5fbfff71f4990957 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp @@ -415,10 +415,19 @@ static void webkitWebContextSetProperty(GObject* object, guint propID, const GVa @@ -10723,7 +10713,7 @@ index e994309b097c1b140abfa4373fd2fafee46c05ec..6e0cc677a3bf33683ae8c89d12a48191 #endif +int webkitWebContextExistingCount(); diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp -index 4a15f81cbca7ab84ce25b6ccc96cd6ad720f6129..a1d6e0f4ccdceddff6c88563c480266b4e8c4247 100644 +index 1e389f70c7b4722458cffbf4ac34b1d67efa4ba8..b9f5f22c8e866de1909240b72d23c06d7525d863 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp @@ -33,6 +33,7 @@ @@ -10750,7 +10740,7 @@ index 4a15f81cbca7ab84ce25b6ccc96cd6ad720f6129..a1d6e0f4ccdceddff6c88563c480266b #include "WebKitPrintOperationPrivate.h" #include "WebKitWebInspectorPrivate.h" #include "WebKitWebViewBasePrivate.h" -@@ -140,6 +141,7 @@ enum { +@@ -141,6 +142,7 @@ enum { CLOSE, SCRIPT_DIALOG, @@ -10758,7 +10748,7 @@ index 4a15f81cbca7ab84ce25b6ccc96cd6ad720f6129..a1d6e0f4ccdceddff6c88563c480266b DECIDE_POLICY, PERMISSION_REQUEST, -@@ -493,6 +495,9 @@ GRefPtr WebKitWebViewClient::showOptionMenu(WebKitPopupMenu& p +@@ -494,6 +496,9 @@ GRefPtr WebKitWebViewClient::showOptionMenu(WebKitPopupMenu& p void WebKitWebViewClient::frameDisplayed(WKWPE::View&) { @@ -10768,7 +10758,7 @@ index 4a15f81cbca7ab84ce25b6ccc96cd6ad720f6129..a1d6e0f4ccdceddff6c88563c480266b { SetForScope inFrameDisplayedGuard(m_webView->priv->inFrameDisplayed, true); for (const auto& callback : m_webView->priv->frameDisplayedCallbacks) { -@@ -509,6 +514,11 @@ void WebKitWebViewClient::frameDisplayed(WKWPE::View&) +@@ -510,6 +515,11 @@ void WebKitWebViewClient::frameDisplayed(WKWPE::View&) } } @@ -10780,7 +10770,7 @@ index 4a15f81cbca7ab84ce25b6ccc96cd6ad720f6129..a1d6e0f4ccdceddff6c88563c480266b void WebKitWebViewClient::willStartLoad(WKWPE::View&) { webkitWebViewWillStartLoad(m_webView); -@@ -595,7 +605,7 @@ static gboolean webkitWebViewDecidePolicy(WebKitWebView*, WebKitPolicyDecision* +@@ -596,7 +606,7 @@ static gboolean webkitWebViewDecidePolicy(WebKitWebView*, WebKitPolicyDecision* static gboolean webkitWebViewPermissionRequest(WebKitWebView*, WebKitPermissionRequest* request) { @@ -10789,7 +10779,7 @@ index 4a15f81cbca7ab84ce25b6ccc96cd6ad720f6129..a1d6e0f4ccdceddff6c88563c480266b if (WEBKIT_IS_POINTER_LOCK_PERMISSION_REQUEST(request)) { webkit_permission_request_allow(request); return TRUE; -@@ -1902,6 +1912,15 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) +@@ -1903,6 +1913,15 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) G_TYPE_BOOLEAN, 1, WEBKIT_TYPE_SCRIPT_DIALOG); @@ -10805,7 +10795,7 @@ index 4a15f81cbca7ab84ce25b6ccc96cd6ad720f6129..a1d6e0f4ccdceddff6c88563c480266b /** * WebKitWebView::decide-policy: * @web_view: the #WebKitWebView on which the signal is emitted -@@ -2701,6 +2720,23 @@ void webkitWebViewRunJavaScriptBeforeUnloadConfirm(WebKitWebView* webView, const +@@ -2702,6 +2721,23 @@ void webkitWebViewRunJavaScriptBeforeUnloadConfirm(WebKitWebView* webView, const webkit_script_dialog_unref(webView->priv->currentScriptDialog); } @@ -10830,10 +10820,10 @@ index 4a15f81cbca7ab84ce25b6ccc96cd6ad720f6129..a1d6e0f4ccdceddff6c88563c480266b { if (!webView->priv->currentScriptDialog) diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h b/Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h -index 8b5eb1ce720c9ad09b9de9e9f3d6b15564a86b54..89642048bad844aabdf1eec8486679bfc75e20c0 100644 +index 1a04ee05c3ddec0628ef5b8b8c181cbcc2b7d622..2a24f8f3fdc3f0eed13f8a79050258a4e4a489f0 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h -@@ -65,6 +65,7 @@ void webkitWebViewRunJavaScriptAlert(WebKitWebView*, const CString& message, Fun +@@ -66,6 +66,7 @@ void webkitWebViewRunJavaScriptAlert(WebKitWebView*, const CString& message, Fun void webkitWebViewRunJavaScriptConfirm(WebKitWebView*, const CString& message, Function&& completionHandler); void webkitWebViewRunJavaScriptPrompt(WebKitWebView*, const CString& message, const CString& defaultText, Function&& completionHandler); void webkitWebViewRunJavaScriptBeforeUnloadConfirm(WebKitWebView*, const CString& message, Function&& completionHandler); @@ -10854,10 +10844,10 @@ index 805f9f638c1630b5e9310494ae2970262de001cc..add3e80896c2e82bdd12cee15c8014bf #include <@API_INCLUDE_PREFIX@/WebKitClipboardPermissionRequest.h> #include <@API_INCLUDE_PREFIX@/WebKitColorChooserRequest.h> diff --git a/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp b/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp -index 1c4f884537edf50ed867378786f58ace47eabfaa..283fa58d2427cffc115e12a861ab9d6882004214 100644 +index cea5882f6c455898e1b5a231e1213e6b71ff21b6..d82b93d3c759b1184869b3504e1c3c07f53cc8ce 100644 --- a/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp +++ b/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp -@@ -266,6 +266,8 @@ void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool +@@ -269,6 +269,8 @@ void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool { if (wasEventHandled || event.type() != WebEventType::KeyDown || !event.nativeEvent()) return; @@ -10866,7 +10856,7 @@ index 1c4f884537edf50ed867378786f58ace47eabfaa..283fa58d2427cffc115e12a861ab9d68 // Always consider arrow keys as handled, otherwise the GtkWindow key bindings will move the focus. guint keyval; -@@ -368,9 +370,9 @@ void PageClientImpl::selectionDidChange() +@@ -371,9 +373,9 @@ void PageClientImpl::selectionDidChange() webkitWebViewSelectionDidChange(WEBKIT_WEB_VIEW(m_viewWidget)); } @@ -10992,10 +10982,10 @@ index 496079da90993ac37689b060b69ecd4a67c2b6a8..af30181ca922f16c0f6e245c70e5ce7d G_BEGIN_DECLS diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -index e1a7e687913826b5912ab1e735894a6e0a5b4da9..d75b97ebdd06e529e457266b2ee2bfa7debd3330 100644 +index 9ce95b0e5ec142f4067c99d4aeb388fa08ae3f89..0718c8d9764d100fc8f41348a9273020645f0825 100644 --- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp +++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -@@ -2923,6 +2923,11 @@ void webkitWebViewBaseResetClickCounter(WebKitWebViewBase* webkitWebViewBase) +@@ -2908,6 +2908,11 @@ void webkitWebViewBaseResetClickCounter(WebKitWebViewBase* webkitWebViewBase) #endif } @@ -11007,7 +10997,7 @@ index e1a7e687913826b5912ab1e735894a6e0a5b4da9..d75b97ebdd06e529e457266b2ee2bfa7 void webkitWebViewBaseEnterAcceleratedCompositingMode(WebKitWebViewBase* webkitWebViewBase, const LayerTreeContext& layerTreeContext) { ASSERT(webkitWebViewBase->priv->acceleratedBackingStore); -@@ -2979,12 +2984,12 @@ void webkitWebViewBasePageClosed(WebKitWebViewBase* webkitWebViewBase) +@@ -2964,12 +2969,12 @@ void webkitWebViewBasePageClosed(WebKitWebViewBase* webkitWebViewBase) webkitWebViewBase->priv->acceleratedBackingStore->update({ }); } @@ -11023,7 +11013,7 @@ index e1a7e687913826b5912ab1e735894a6e0a5b4da9..d75b97ebdd06e529e457266b2ee2bfa7 #if !USE(GTK4) diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h -index 1e98b90627322094b58b60f06b9b2294b8e79d63..1fa990e53ce63e5f54d68928d0d8d3f7c64062b3 100644 +index a227380c1171e1e5824370b21c66440bb744c7f7..9b7bc68d01ef5d7c5d34720a6ab7c27f9e8c2156 100644 --- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h +++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h @@ -27,6 +27,7 @@ @@ -11033,8 +11023,8 @@ index 1e98b90627322094b58b60f06b9b2294b8e79d63..1fa990e53ce63e5f54d68928d0d8d3f7 +#include "AcceleratedBackingStore.h" #include "APIPageConfiguration.h" #include "InputMethodState.h" - #include "SameDocumentNavigationType.h" -@@ -106,7 +107,7 @@ void webkitWebViewBaseStartDrag(WebKitWebViewBase*, WebCore::SelectionData&&, Op + #include "RendererBufferFormat.h" +@@ -107,7 +108,7 @@ void webkitWebViewBaseStartDrag(WebKitWebViewBase*, WebCore::SelectionData&&, Op void webkitWebViewBaseDidPerformDragControllerAction(WebKitWebViewBase*); #endif @@ -11043,10 +11033,10 @@ index 1e98b90627322094b58b60f06b9b2294b8e79d63..1fa990e53ce63e5f54d68928d0d8d3f7 void webkitWebViewBaseSetEnableBackForwardNavigationGesture(WebKitWebViewBase*, bool enabled); WebKit::ViewGestureController* webkitWebViewBaseViewGestureController(WebKitWebViewBase*); -@@ -145,3 +146,5 @@ void webkitWebViewBaseCallAfterNextPresentationUpdate(WebKitWebViewBase*, Comple - #if USE(GTK4) - void webkitWebViewBaseSetPlugID(WebKitWebViewBase*, const String&); +@@ -148,3 +149,5 @@ void webkitWebViewBaseSetPlugID(WebKitWebViewBase*, const String&); #endif + + WebKit::RendererBufferFormat webkitWebViewBaseGetRendererBufferFormat(WebKitWebViewBase*); + +WebKit::AcceleratedBackingStore* webkitWebViewBaseGetAcceleratedBackingStore(WebKitWebViewBase*); diff --git a/Source/WebKit/UIProcess/API/wpe/APIViewClient.h b/Source/WebKit/UIProcess/API/wpe/APIViewClient.h @@ -11072,7 +11062,7 @@ index 26d1790017e528f26ae04dac635678d5494bfd04..48dbe50eb05628307264a350350ac19f virtual void didChangePageID(WKWPE::View&) { } virtual void didReceiveUserMessage(WKWPE::View&, WebKit::UserMessage&&, CompletionHandler&& completionHandler) { completionHandler(WebKit::UserMessage()); } diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp -index ab920ef03db906e90613cdb4a4369169a2bf1cbe..d4deb4bad543ff8692b79ecbd3a6d74f8b53915e 100644 +index f498562d70a4652f6831ac6bc12ef86e537d3930..503a8875fed34fd7925646b61a1eed11d7c866b7 100644 --- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp +++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp @@ -33,9 +33,13 @@ @@ -11089,7 +11079,7 @@ index ab920ef03db906e90613cdb4a4369169a2bf1cbe..d4deb4bad543ff8692b79ecbd3a6d74f #include #include #include -@@ -200,7 +204,7 @@ WebCore::IntPoint PageClientImpl::accessibilityScreenToRootView(const WebCore::I +@@ -203,7 +207,7 @@ WebCore::IntPoint PageClientImpl::accessibilityScreenToRootView(const WebCore::I WebCore::IntRect PageClientImpl::rootViewToAccessibilityScreen(const WebCore::IntRect& rect) { @@ -11098,7 +11088,7 @@ index ab920ef03db906e90613cdb4a4369169a2bf1cbe..d4deb4bad543ff8692b79ecbd3a6d74f } void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent&, bool) -@@ -460,6 +464,33 @@ void PageClientImpl::selectionDidChange() +@@ -465,6 +469,33 @@ void PageClientImpl::selectionDidChange() m_view.selectionDidChange(); } @@ -11132,7 +11122,7 @@ index ab920ef03db906e90613cdb4a4369169a2bf1cbe..d4deb4bad543ff8692b79ecbd3a6d74f WebKitWebResourceLoadManager* PageClientImpl::webResourceLoadManager() { return m_view.webResourceLoadManager(); -@@ -470,4 +501,23 @@ void PageClientImpl::callAfterNextPresentationUpdate(CompletionHandler&& +@@ -475,4 +506,23 @@ void PageClientImpl::callAfterNextPresentationUpdate(CompletionHandler&& m_view.callAfterNextPresentationUpdate(WTFMove(callback)); } @@ -11157,10 +11147,10 @@ index ab920ef03db906e90613cdb4a4369169a2bf1cbe..d4deb4bad543ff8692b79ecbd3a6d74f + } // namespace WebKit diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h -index dbd9dd946fceebb49b70d6600b1e654e2f0cc0a6..22c6839e2e7c9aa435be04727c6218a88aa29dc1 100644 +index a7ece2c8dc3fd30bfb850de04c4fc10004444d5a..b5ee1a1877b3e748dea3ce195cd75cb0701a7034 100644 --- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h +++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h -@@ -164,9 +164,21 @@ private: +@@ -166,9 +166,21 @@ private: void didChangeWebPageID() const override; void selectionDidChange() override; @@ -11183,20 +11173,20 @@ index dbd9dd946fceebb49b70d6600b1e654e2f0cc0a6..22c6839e2e7c9aa435be04727c6218a8 }; diff --git a/Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp b/Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp -index 9a682ff7309e3a7290384d922579094e35ef0167..ec1cd8cb3b8518cb90c526f55f1ba9d482ddb097 100644 +index 8a9b8a7a853f2bdb6ae0b8bb389d3db1e1a53ac4..c22553b96c3e9afc126ce93c4e45e3af0fbd38f0 100644 --- a/Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp +++ b/Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp -@@ -103,7 +103,9 @@ View::View(struct wpe_view_backend* backend, WPEDisplay* display, const API::Pag - if (preferences) { - preferences->setAcceleratedCompositingEnabled(true); - preferences->setForceCompositingMode(true); -- preferences->setThreadedScrollingEnabled(true); -+ // Playwright override begin -+ preferences->setThreadedScrollingEnabled(false); -+ // Playwright override end - } - - auto* pool = configuration->processPool(); +@@ -98,7 +98,9 @@ View::View(struct wpe_view_backend* backend, WPEDisplay* display, const API::Pag + auto& preferences = configuration->preferences(); + preferences.setAcceleratedCompositingEnabled(true); + preferences.setForceCompositingMode(true); +- preferences.setThreadedScrollingEnabled(true); ++ // Playwright override begin ++ preferences.setThreadedScrollingEnabled(false); ++ // Playwright override end + + auto& pool = configuration->processPool(); + m_pageProxy = pool.createWebPage(*m_pageClient, WTFMove(configuration)); diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitBrowserInspector.h b/Source/WebKit/UIProcess/API/wpe/WebKitBrowserInspector.h new file mode 100644 index 0000000000000000000000000000000000000000..273c5105cdf1638955cea01128c9bbab3e64436c @@ -11491,10 +11481,10 @@ index 720c88818bdb4cde3cb58e95785454754f6c1396..7f702c0b922e13128522d2bb1ace6a23 void didChangePageID(WKWPE::View&) override; void didReceiveUserMessage(WKWPE::View&, WebKit::UserMessage&&, CompletionHandler&&) override; diff --git a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp -index 39e4660d5936fd8915cf0dcd7afa83aece092067..da3ef68451021c296b3ff12416ad3bf8440fa657 100644 +index 6f69cd9d4db8544a2c0c8b11fb557697f9b6a183..750a565d8a0c1208cd6950740b2beffa8c1d69d9 100644 --- a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp +++ b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp -@@ -157,7 +157,11 @@ void AuxiliaryProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& lau +@@ -158,7 +158,11 @@ void AuxiliaryProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& lau launchOptions.processCmdPrefix = String::fromUTF8(processCmdPrefix); #endif // ENABLE(DEVELOPER_MODE) && (PLATFORM(GTK) || PLATFORM(WPE)) @@ -11507,10 +11497,10 @@ index 39e4660d5936fd8915cf0dcd7afa83aece092067..da3ef68451021c296b3ff12416ad3bf8 platformGetLaunchOptions(launchOptions); } diff --git a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h -index a18630c193b4902b58f3880b038928c9518cb4d1..c3c9e54a8eb5c653be37a6be81336f4f7ac1e209 100644 +index e2d1e9dfbc77e3d520ce8d31c812a8482facae10..28238da43a4fc45466b43753bc5ad8aa07963f94 100644 --- a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h +++ b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h -@@ -259,13 +259,16 @@ protected: +@@ -264,13 +264,16 @@ protected: static RefPtr fetchAudioComponentServerRegistrations(); #endif @@ -11673,7 +11663,7 @@ index 957f7f088087169668a9b4f1ba65d9f206a2a836..15e44c8d5b6a3eafb7f1148707366b0c class PopUpSOAuthorizationSession final : public SOAuthorizationSession { public: diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h -index b310d8ccd4ab217564ff72b1e9d02e1136eb7b89..052056e17d3e8c198a3148e8578905c08d34e7f6 100644 +index 20af8a02d6dee5af7328accca7cd88a06995c4bb..16e8fc676e4bd70f3f35414434963ccb9f277311 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h @@ -96,6 +96,7 @@ private: @@ -11684,7 +11674,7 @@ index b310d8ccd4ab217564ff72b1e9d02e1136eb7b89..052056e17d3e8c198a3148e8578905c0 void presentStorageAccessConfirmDialog(const WTF::String& requestingDomain, const WTF::String& currentDomain, CompletionHandler&&); void requestStorageAccessConfirm(WebPageProxy&, WebFrameProxy*, const WebCore::RegistrableDomain& requestingDomain, const WebCore::RegistrableDomain& currentDomain, std::optional&&, CompletionHandler&&) final; void decidePolicyForGeolocationPermissionRequest(WebPageProxy&, WebFrameProxy&, const FrameInfoData&, Function&) final; -@@ -205,6 +206,7 @@ private: +@@ -207,6 +208,7 @@ private: bool webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRunJavaScriptTextInputPanelWithPromptDefaultTextInitiatedByFrameCompletionHandler : 1; @@ -11693,10 +11683,10 @@ index b310d8ccd4ab217564ff72b1e9d02e1136eb7b89..052056e17d3e8c198a3148e8578905c0 bool webViewRequestStorageAccessPanelForDomainUnderCurrentDomainForQuirkDomainsCompletionHandler : 1; bool webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm -index eeaf81b4869c7d557e9547b0d1bd99ce1efe7aa1..136eef5fcc033fc37a046939f87625c8348b4544 100644 +index db0e7523899917cc9055ced3127a1e4eb493313d..c5a8a5a7da934deda55313465c26a38b1b33d2ac 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm -@@ -117,6 +117,7 @@ void UIDelegate::setDelegate(id delegate) +@@ -118,6 +118,7 @@ void UIDelegate::setDelegate(id delegate) m_delegateMethods.webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:)]; m_delegateMethods.webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:)]; m_delegateMethods.webViewRunJavaScriptTextInputPanelWithPromptDefaultTextInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:)]; @@ -11704,7 +11694,7 @@ index eeaf81b4869c7d557e9547b0d1bd99ce1efe7aa1..136eef5fcc033fc37a046939f87625c8 m_delegateMethods.webViewRequestStorageAccessPanelUnderFirstPartyCompletionHandler = [delegate respondsToSelector:@selector(_webView:requestStorageAccessPanelForDomain:underCurrentDomain:completionHandler:)]; m_delegateMethods.webViewRequestStorageAccessPanelForDomainUnderCurrentDomainForQuirkDomainsCompletionHandler = [delegate respondsToSelector:@selector(_webView:requestStorageAccessPanelForDomain:underCurrentDomain:forQuirkDomains:completionHandler:)]; m_delegateMethods.webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:)]; -@@ -438,6 +439,15 @@ void UIDelegate::UIClient::runJavaScriptPrompt(WebPageProxy& page, const WTF::St +@@ -442,6 +443,15 @@ void UIDelegate::UIClient::runJavaScriptPrompt(WebPageProxy& page, const WTF::St }).get()]; } @@ -11721,7 +11711,7 @@ index eeaf81b4869c7d557e9547b0d1bd99ce1efe7aa1..136eef5fcc033fc37a046939f87625c8 { if (!m_uiDelegate) diff --git a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm -index 1e5123cddd3d09b7bd1076f8e050979b3388757d..827edb9d65ad34f4b1372d884cce08aa7880346e 100644 +index b77d46b64193c5cf2017da8d81623e54d5f6f7a8..61a08b78ff3829995b54ce14c1752d4e073d5796 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm @@ -38,6 +38,7 @@ @@ -11732,7 +11722,7 @@ index 1e5123cddd3d09b7bd1076f8e050979b3388757d..827edb9d65ad34f4b1372d884cce08aa #import "PlaybackSessionManagerProxy.h" #import "QuickLookThumbnailLoader.h" #import "RemoteLayerTreeTransaction.h" -@@ -282,10 +283,87 @@ bool WebPageProxy::scrollingUpdatesDisabledForTesting() +@@ -283,10 +284,87 @@ bool WebPageProxy::scrollingUpdatesDisabledForTesting() void WebPageProxy::startDrag(const DragItem& dragItem, ShareableBitmap::Handle&& dragImageHandle) { @@ -11819,13 +11809,13 @@ index 1e5123cddd3d09b7bd1076f8e050979b3388757d..827edb9d65ad34f4b1372d884cce08aa + +#endif // ENABLE(DRAG_SUPPORT) - #if ENABLE(ATTACHMENT_ELEMENT) + #if ENABLE(UNIFIED_TEXT_REPLACEMENT) diff --git a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -index 39e5b93f61600114b4229c53ca529aa2ea5357bd..b8c0f37272184c6847ed1ed1737464cbb0febe10 100644 +index ba0c5fe1678dc1055c7f495f5ff421438db7e082..bdf2dd23de87c114db52603b919f29188a2c4bed 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -@@ -429,7 +429,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END +@@ -434,7 +434,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END auto screenProperties = WebCore::collectScreenProperties(); parameters.screenProperties = WTFMove(screenProperties); #if PLATFORM(MAC) @@ -11834,7 +11824,7 @@ index 39e5b93f61600114b4229c53ca529aa2ea5357bd..b8c0f37272184c6847ed1ed1737464cb #endif #if (PLATFORM(IOS) || PLATFORM(VISION)) && HAVE(AGX_COMPILER_SERVICE) -@@ -797,8 +797,8 @@ void WebProcessPool::registerNotificationObservers() +@@ -803,8 +803,8 @@ void WebProcessPool::registerNotificationObservers() }]; m_scrollerStyleNotificationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSPreferredScrollerStyleDidChangeNotification object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) { @@ -11846,7 +11836,7 @@ index 39e5b93f61600114b4229c53ca529aa2ea5357bd..b8c0f37272184c6847ed1ed1737464cb m_activationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSApplicationDidBecomeActiveNotification object:NSApp queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) { diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp -index 40ad458db34babad87d145c16244a678d4531941..55c32131029665071775a0c8881d0f171cbae89d 100644 +index 3796110b3f6ffb29bc1eae80505017dee9e779d1..1a181f4ac8ce8d15d5e65a9df6afc8fe5695e85c 100644 --- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp +++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp @@ -33,14 +33,17 @@ @@ -12004,7 +11994,7 @@ index d2ceeda76e90ab2041f238c240f81bf9e37f6072..faa338a2b4af13663bb63efc940b7efe } // namespace WebKit diff --git a/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp b/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp -index f2d9013c71bc229498425de62c090323d6f7655b..0e26ccf1d2ad583b54b8a3c0f8829f12f1ce9853 100644 +index 0295a560194b82bf172bfe978c711bb8f280f8e4..e8584dc0133a6a57734c63f6020f3d27dbcd04d7 100644 --- a/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp +++ b/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp @@ -40,8 +40,10 @@ @@ -12043,7 +12033,7 @@ index f2d9013c71bc229498425de62c090323d6f7655b..0e26ccf1d2ad583b54b8a3c0f8829f12 m_downloadProxyMap.downloadFinished(*this); }); } else -@@ -162,6 +170,21 @@ void DownloadProxy::decideDestinationWithSuggestedFilename(const WebCore::Resour +@@ -164,6 +172,21 @@ void DownloadProxy::decideDestinationWithSuggestedFilename(const WebCore::Resour suggestedFilename = m_suggestedFilename; suggestedFilename = MIMETypeRegistry::appendFileExtensionIfNecessary(suggestedFilename, response.mimeType()); @@ -12065,7 +12055,7 @@ index f2d9013c71bc229498425de62c090323d6f7655b..0e26ccf1d2ad583b54b8a3c0f8829f12 m_client->decideDestinationWithSuggestedFilename(*this, response, ResourceResponseBase::sanitizeSuggestedFilename(suggestedFilename), [this, protectedThis = Ref { *this }, completionHandler = WTFMove(completionHandler)] (AllowOverwrite allowOverwrite, String destination) mutable { SandboxExtension::Handle sandboxExtensionHandle; if (!destination.isNull()) { -@@ -210,6 +233,8 @@ void DownloadProxy::didFinish() +@@ -212,6 +235,8 @@ void DownloadProxy::didFinish() updateQuarantinePropertiesIfPossible(); #endif m_client->didFinish(*this); @@ -12074,7 +12064,7 @@ index f2d9013c71bc229498425de62c090323d6f7655b..0e26ccf1d2ad583b54b8a3c0f8829f12 // This can cause the DownloadProxy object to be deleted. m_downloadProxyMap.downloadFinished(*this); -@@ -220,6 +245,8 @@ void DownloadProxy::didFail(const ResourceError& error, std::span +@@ -222,6 +247,8 @@ void DownloadProxy::didFail(const ResourceError& error, std::span m_legacyResumeData = createData(resumeData); m_client->didFail(*this, error, m_legacyResumeData.get()); @@ -12420,7 +12410,7 @@ index 0000000000000000000000000000000000000000..4ec8b96bbbddf8a7b042f53a8068754a +cairo_status_t cairo_image_surface_write_to_jpeg_mem(cairo_surface_t *sfc, unsigned char **data, size_t *len, int quality); diff --git a/Source/WebKit/UIProcess/Inspector/Agents/InspectorScreencastAgent.cpp b/Source/WebKit/UIProcess/Inspector/Agents/InspectorScreencastAgent.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..844f559af924de3fddce8cfcea8550261a8da95b +index 0000000000000000000000000000000000000000..91cf94cd292350afb3e3ed071ca44760acda1c14 --- /dev/null +++ b/Source/WebKit/UIProcess/Inspector/Agents/InspectorScreencastAgent.cpp @@ -0,0 +1,305 @@ @@ -12536,7 +12526,7 @@ index 0000000000000000000000000000000000000000..844f559af924de3fddce8cfcea855026 + int stride = cairo_image_surface_get_stride(surface); + int height = cairo_image_surface_get_height(surface); + auto cryptoDigest = PAL::CryptoDigest::create(PAL::CryptoDigest::Algorithm::SHA_1); -+ cryptoDigest->addBytes(data, stride * height); ++ cryptoDigest->addBytes(std::span(data, stride * height)); + auto digest = cryptoDigest->computeHash(); + if (m_lastFrameDigest == digest) + return; @@ -12703,7 +12693,7 @@ index 0000000000000000000000000000000000000000..844f559af924de3fddce8cfcea855026 + + // Do not send the same frame over and over. + auto cryptoDigest = PAL::CryptoDigest::create(PAL::CryptoDigest::Algorithm::SHA_1); -+ cryptoDigest->addBytes(data.data(), data.size()); ++ cryptoDigest->addBytes(std::span(data.data(), data.size())); + auto digest = cryptoDigest->computeHash(); + if (m_lastFrameDigest != digest) { + String base64Data = base64EncodeToString(data); @@ -12834,7 +12824,7 @@ index 0000000000000000000000000000000000000000..d28dde452275f18739e3b1c8d709185c +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/Inspector/Agents/ScreencastEncoder.cpp b/Source/WebKit/UIProcess/Inspector/Agents/ScreencastEncoder.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..5f82314ec035268b1a90568935d427e0909eae05 +index 0000000000000000000000000000000000000000..90080e92c8278e73355c1fd4c571ea12f0bca9c5 --- /dev/null +++ b/Source/WebKit/UIProcess/Inspector/Agents/ScreencastEncoder.cpp @@ -0,0 +1,391 @@ @@ -13022,7 +13012,7 @@ index 0000000000000000000000000000000000000000..5f82314ec035268b1a90568935d427e0 +class ScreencastEncoder::VPXCodec { +public: + VPXCodec(ScopedVpxCodec codec, vpx_codec_enc_cfg_t cfg, FILE* file) -+ : m_encoderQueue(WorkQueue::create("Screencast encoder")) ++ : m_encoderQueue(WorkQueue::create("Screencast encoder"_s)) + , m_codec(WTFMove(codec)) + , m_cfg(cfg) + , m_file(file) @@ -15535,23 +15525,11 @@ index 3fe0abcfe36bef7ca45bed5661a737ed2bfe56d0..510656948af01ec65d4543c805e9667a #include "RemoteMediaSessionCoordinatorMessages.h" #include "RemoteMediaSessionCoordinatorProxyMessages.h" #include "WebPageProxy.h" -diff --git a/Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp b/Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp -index 6f2b716f4445008123e96f9db494aea307520636..8f0235a699c91d966a4de9fd03aff57712e80675 100644 ---- a/Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp -+++ b/Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/Source/WebKit/UIProcess/PageClient.h b/Source/WebKit/UIProcess/PageClient.h -index 42eee66ab16a2194f63b01a9f26c20aeb728a872..c66aca2950f5cc8823194c4f6cfd60275f5f00a2 100644 +index 46f725b53f67ed41ff3312d106a23174d6a16363..369ee3539762a6286977d94a7958b25291f11ed6 100644 --- a/Source/WebKit/UIProcess/PageClient.h +++ b/Source/WebKit/UIProcess/PageClient.h -@@ -91,6 +91,10 @@ OBJC_CLASS WKView; +@@ -92,6 +92,10 @@ OBJC_CLASS WKView; #endif #endif @@ -15562,7 +15540,7 @@ index 42eee66ab16a2194f63b01a9f26c20aeb728a872..c66aca2950f5cc8823194c4f6cfd6027 namespace API { class Attachment; class HitTestResult; -@@ -342,7 +346,16 @@ public: +@@ -347,7 +351,16 @@ public: virtual void selectionDidChange() = 0; #endif @@ -15706,7 +15684,7 @@ index 0000000000000000000000000000000000000000..3c8fd0549f1847515d35092f0f49b060 + +#endif // ENABLE(FULLSCREEN_API) diff --git a/Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp b/Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp -index a2dabe84360ef09ea687ded6234d4a742fcc8e56..c411e95dc6549be2e8ed65f025f154bbc9f1ef2c 100644 +index b2dc99d6ca28e7f1140122a259d9fbcf3b4eeabf..4f182cd32458d19b775f79deb1f6da22a4077ba6 100644 --- a/Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp +++ b/Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp @@ -25,6 +25,7 @@ @@ -15719,7 +15697,7 @@ index a2dabe84360ef09ea687ded6234d4a742fcc8e56..c411e95dc6549be2e8ed65f025f154bb #include "VisitedLinkStore.h" diff --git a/Source/WebKit/UIProcess/RemoteInspectorPipe.cpp b/Source/WebKit/UIProcess/RemoteInspectorPipe.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..967d6e05836be7e46c8aecfd4c3243bb9f422b96 +index 0000000000000000000000000000000000000000..1a824be7d9fcb225d018b4a821fa895e844d7805 --- /dev/null +++ b/Source/WebKit/UIProcess/RemoteInspectorPipe.cpp @@ -0,0 +1,225 @@ @@ -15838,7 +15816,7 @@ index 0000000000000000000000000000000000000000..967d6e05836be7e46c8aecfd4c3243bb + +public: + RemoteFrontendChannel() -+ : m_senderQueue(WorkQueue::create("Inspector pipe writer")) ++ : m_senderQueue(WorkQueue::create("Inspector pipe writer"_s)) + { + } + @@ -15886,7 +15864,7 @@ index 0000000000000000000000000000000000000000..967d6e05836be7e46c8aecfd4c3243bb + + m_playwrightAgent.connectFrontend(*m_remoteFrontendChannel); + m_terminated = false; -+ m_receiverThread = Thread::create("Inspector pipe reader", [this] { ++ m_receiverThread = Thread::create("Inspector pipe reader"_s, [this] { + workerRun(); + }); + return true; @@ -15920,7 +15898,7 @@ index 0000000000000000000000000000000000000000..967d6e05836be7e46c8aecfd4c3243bb + } + size_t start = 0; + size_t end = line.size(); -+ line.append(buffer.get(), size); ++ line.append(std::span { buffer.get(), size }); + while (true) { + for (; end < line.size(); ++end) { + if (line[end] == '\0') @@ -15930,7 +15908,7 @@ index 0000000000000000000000000000000000000000..967d6e05836be7e46c8aecfd4c3243bb + break; + + if (end > start) { -+ String message = String::fromUTF8(line.data() + start, end - start); ++ String message = String::fromUTF8({ line.data() + start, end - start }); + RunLoop::main().dispatch([this, message = WTFMove(message)] { + if (!m_terminated) + m_playwrightAgent.dispatchMessageFromFrontend(message); @@ -16044,10 +16022,10 @@ index d499ee31f32b9dcdb456ba0b476d211fba115673..43b349887d18e21162b59fa8174df32c namespace WebCore { class PlatformWheelEvent; diff --git a/Source/WebKit/UIProcess/RemotePageProxy.cpp b/Source/WebKit/UIProcess/RemotePageProxy.cpp -index 7ba86bc321d138d96705bfb979088a327cd14944..41ce842abf547f173672ff220f2256f89f4aae47 100644 +index 1db0914af03203844ccbda63b50f8486dc823586..3bf331ae9866aaea83e3bea6ca5bb196d4039110 100644 --- a/Source/WebKit/UIProcess/RemotePageProxy.cpp +++ b/Source/WebKit/UIProcess/RemotePageProxy.cpp -@@ -42,6 +42,7 @@ +@@ -43,6 +43,7 @@ #include "WebPageProxyMessages.h" #include "WebProcessMessages.h" #include "WebProcessProxy.h" @@ -16068,7 +16046,7 @@ index 5ecfa03204724d8e5696149dd45e4d35877993f0..fc8262fb617aef3eb68cf13117747dc4 class RemotePageProxy : public IPC::MessageReceiver { WTF_MAKE_FAST_ALLOCATED; diff --git a/Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp b/Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp -index b2d3197c7a4428171d97a8dff2054e0eebd965fe..2cc258a0343cdeffa1d3c7afd89985b9388f715a 100644 +index 4d8a16e02d2d3c1d11df5df2c84197da76539324..5de382d79c2dd8f7884eb27ef454ba0b99f3fab8 100644 --- a/Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp +++ b/Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp @@ -37,6 +37,7 @@ @@ -16104,7 +16082,7 @@ index e7d6621532fcc73212cc9130a7cafbb13f458d1d..ec931c8f19d2a61c0fa7d78b52df7f3f WebPageProxy* page() const { return m_page.get(); } diff --git a/Source/WebKit/UIProcess/WebFrameProxy.cpp b/Source/WebKit/UIProcess/WebFrameProxy.cpp -index 049738f4f0db8071eb2dce0d3187fb50da0214af..30ee4aff100cfcb6aa90d730bceea6bb3b9f3b0d 100644 +index 6e6560e17721ed182ab27277759488c410ae130e..207bda7e3c53118344536568ef18ccc043104ba1 100644 --- a/Source/WebKit/UIProcess/WebFrameProxy.cpp +++ b/Source/WebKit/UIProcess/WebFrameProxy.cpp @@ -31,6 +31,7 @@ @@ -16810,10 +16788,10 @@ index 0000000000000000000000000000000000000000..3e87bf40ced2301f4fb145c6cb31f2cf + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp -index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8aee698d86a 100644 +index 365c5e2c7925347531f2e488d720973612f25d39..585c51dd017a628f08d443c863fd1453d4592996 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit/UIProcess/WebPageProxy.cpp -@@ -183,12 +183,14 @@ +@@ -185,12 +185,14 @@ #include #include #include @@ -16828,7 +16806,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae #include #include #include -@@ -209,6 +211,7 @@ +@@ -211,6 +213,7 @@ #include #include #include @@ -16836,8 +16814,8 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae #include #include #include -@@ -216,11 +219,13 @@ - #include +@@ -218,11 +221,13 @@ + #include #include #include +#include @@ -16850,7 +16828,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae #include #include #include -@@ -296,6 +301,9 @@ +@@ -298,6 +303,9 @@ #include "AcceleratedBackingStoreDMABuf.h" #endif #include "GtkSettingsManager.h" @@ -16860,7 +16838,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae #include #endif -@@ -409,6 +417,8 @@ static constexpr Seconds tryCloseTimeoutDelay = 50_ms; +@@ -419,6 +427,8 @@ static constexpr Seconds tryCloseTimeoutDelay = 50_ms; static constexpr Seconds audibleActivityClearDelay = 10_s; #endif @@ -16869,7 +16847,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, webPageProxyCounter, ("WebPageProxy")); #if PLATFORM(COCOA) -@@ -813,6 +823,10 @@ WebPageProxy::~WebPageProxy() +@@ -823,6 +833,10 @@ WebPageProxy::~WebPageProxy() if (preferences->mediaSessionCoordinatorEnabled()) GroupActivitiesSessionNotifier::sharedNotifier().removeWebPage(*this); #endif @@ -16880,7 +16858,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } void WebPageProxy::addAllMessageReceivers() -@@ -1341,6 +1355,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) +@@ -1361,6 +1375,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) protectedPageClient()->didRelaunchProcess(); internals().pageLoadState.didSwapWebProcesses(); @@ -16888,7 +16866,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } void WebPageProxy::didAttachToRunningProcess() -@@ -1349,7 +1364,7 @@ void WebPageProxy::didAttachToRunningProcess() +@@ -1369,7 +1384,7 @@ void WebPageProxy::didAttachToRunningProcess() #if ENABLE(FULLSCREEN_API) ASSERT(!m_fullScreenManager); @@ -16897,7 +16875,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae #endif #if ENABLE(VIDEO_PRESENTATION_MODE) ASSERT(!m_playbackSessionManager); -@@ -1747,6 +1762,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() +@@ -1764,6 +1779,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() return m_process; } @@ -16919,7 +16897,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae RefPtr WebPageProxy::loadRequest(ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData) { if (m_isClosed) -@@ -2321,6 +2351,42 @@ void WebPageProxy::setControlledByAutomation(bool controlled) +@@ -2336,6 +2366,42 @@ void WebPageProxy::setControlledByAutomation(bool controlled) websiteDataStore().protectedNetworkProcess()->send(Messages::NetworkProcess::SetSessionIsControlledByAutomation(m_websiteDataStore->sessionID(), m_controlledByAutomation), 0); } @@ -16962,7 +16940,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae void WebPageProxy::createInspectorTarget(const String& targetId, Inspector::InspectorTargetType type) { MESSAGE_CHECK(m_process, !targetId.isEmpty()); -@@ -2562,6 +2628,24 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpdate) +@@ -2577,6 +2643,24 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpdate) bool wasVisible = isViewVisible(); Ref pageClient = this->pageClient(); internals().activityState.remove(flagsToUpdate); @@ -16987,7 +16965,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae if (flagsToUpdate & ActivityState::IsFocused && pageClient->isViewFocused()) internals().activityState.add(ActivityState::IsFocused); if (flagsToUpdate & ActivityState::WindowIsActive && pageClient->isViewWindowActive()) -@@ -3273,7 +3357,7 @@ void WebPageProxy::performDragOperation(DragData& dragData, const String& dragSt +@@ -3302,7 +3386,7 @@ void WebPageProxy::performDragOperation(DragData& dragData, const String& dragSt grantAccessToCurrentPasteboardData(dragStorageName); #endif @@ -16996,7 +16974,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae performDragControllerAction(DragControllerAction::PerformDragOperation, dragData); #else if (!hasRunningProcess()) -@@ -3290,6 +3374,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -3319,6 +3403,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag if (!hasRunningProcess()) return; @@ -17005,7 +16983,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae auto completionHandler = [this, protectedThis = Ref { *this }, action, dragData] (std::optional dragOperation, WebCore::DragHandlingMethod dragHandlingMethod, bool mouseIsOverFileInput, unsigned numberOfItemsToBeAccepted, const IntRect& insertionRect, const IntRect& editableElementRect, std::optional remoteUserInputEventData) mutable { if (!remoteUserInputEventData) { didPerformDragControllerAction(dragOperation, dragHandlingMethod, mouseIsOverFileInput, numberOfItemsToBeAccepted, insertionRect, editableElementRect); -@@ -3306,6 +3392,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -3335,6 +3421,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag protectedProcess()->assumeReadAccessToBaseURL(*this, url); ASSERT(dragData.platformData()); @@ -17014,7 +16992,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae sendWithAsyncReply(Messages::WebPage::PerformDragControllerAction(action, dragData.clientPosition(), dragData.globalPosition(), dragData.draggingSourceOperationMask(), *dragData.platformData(), dragData.flags()), WTFMove(completionHandler)); #else sendToProcessContainingFrame(frameID, Messages::WebPage::PerformDragControllerAction(frameID, action, dragData), WTFMove(completionHandler)); -@@ -3321,14 +3409,34 @@ void WebPageProxy::didPerformDragControllerAction(std::optionaldidPerformDragControllerAction(); @@ -17052,7 +17030,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae didStartDrag(); } #endif -@@ -3349,6 +3457,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo +@@ -3378,6 +3486,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo setDragCaretRect({ }); } @@ -17077,7 +17055,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae void WebPageProxy::didStartDrag() { if (!hasRunningProcess()) -@@ -3356,6 +3482,16 @@ void WebPageProxy::didStartDrag() +@@ -3385,6 +3511,16 @@ void WebPageProxy::didStartDrag() discardQueuedMouseEvents(); send(Messages::WebPage::DidStartDrag()); @@ -17094,7 +17072,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } void WebPageProxy::dragCancelled() -@@ -3508,16 +3644,37 @@ void WebPageProxy::processNextQueuedMouseEvent() +@@ -3540,16 +3676,37 @@ void WebPageProxy::processNextQueuedMouseEvent() process->startResponsivenessTimer(); } @@ -17138,7 +17116,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } void WebPageProxy::doAfterProcessingAllPendingMouseEvents(WTF::Function&& action) -@@ -3683,6 +3840,8 @@ void WebPageProxy::wheelEventHandlingCompleted(bool wasHandled) +@@ -3715,6 +3872,8 @@ void WebPageProxy::wheelEventHandlingCompleted(bool wasHandled) if (RefPtr automationSession = process().processPool().automationSession()) automationSession->wheelEventsFlushedForPage(*this); @@ -17147,7 +17125,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } void WebPageProxy::cacheWheelEventScrollingAccelerationCurve(const NativeWebWheelEvent& nativeWheelEvent) -@@ -3829,7 +3988,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) +@@ -3863,7 +4022,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent) { @@ -17156,7 +17134,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae for (auto& touchPoint : touchStartEvent.touchPoints()) { auto location = touchPoint.location(); auto update = [this, location](TrackingType& trackingType, EventTrackingRegions::EventType eventType) { -@@ -4420,6 +4579,7 @@ void WebPageProxy::receivedNavigationActionPolicyDecision(WebProcessProxy& proce +@@ -4460,6 +4619,7 @@ void WebPageProxy::receivedNavigationActionPolicyDecision(WebProcessProxy& proce void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation* navigation, RefPtr&& websitePolicies, Ref&& navigationAction, WillContinueLoadInNewProcess willContinueLoadInNewProcess, std::optional sandboxExtensionHandle, std::optional&& consoleMessage, CompletionHandler&& completionHandler) { @@ -17164,7 +17142,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae if (!hasRunningProcess()) return completionHandler(PolicyDecision { }); -@@ -5342,6 +5502,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) +@@ -5382,6 +5542,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) m_pageScaleFactor = scaleFactor; } @@ -17176,7 +17154,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae void WebPageProxy::pluginScaleFactorDidChange(double pluginScaleFactor) { MESSAGE_CHECK(m_process, scaleFactorIsValid(pluginScaleFactor)); -@@ -5872,6 +6037,7 @@ void WebPageProxy::didDestroyNavigationShared(Ref&& process, ui +@@ -5935,6 +6100,7 @@ void WebPageProxy::didDestroyNavigationShared(Ref&& process, ui Ref protectedPageClient { pageClient() }; m_navigationState->didDestroyNavigation(process->coreProcessIdentifier(), navigationID); @@ -17184,7 +17162,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } void WebPageProxy::didStartProvisionalLoadForFrame(FrameIdentifier frameID, FrameInfoData&& frameInfo, ResourceRequest&& request, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) -@@ -6126,6 +6292,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p +@@ -6189,6 +6355,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p m_failingProvisionalLoadURL = { }; @@ -17193,7 +17171,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae // If the provisional page's load fails then we destroy the provisional page. if (m_provisionalPage && m_provisionalPage->mainFrame() == &frame && willContinueLoading == WillContinueLoading::No) m_provisionalPage = nullptr; -@@ -6767,7 +6935,14 @@ void WebPageProxy::beginSafeBrowsingCheck(const URL&, bool, WebFramePolicyListen +@@ -6834,7 +7002,14 @@ void WebPageProxy::beginSafeBrowsingCheck(const URL&, bool, WebFramePolicyListen void WebPageProxy::decidePolicyForNavigationActionAsync(NavigationActionData&& data, CompletionHandler&& completionHandler) { @@ -17209,7 +17187,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } void WebPageProxy::decidePolicyForNavigationActionAsyncShared(Ref&& process, NavigationActionData&& data, CompletionHandler&& completionHandler) -@@ -7404,6 +7579,7 @@ void WebPageProxy::createNewPage(WindowFeatures&& windowFeatures, NavigationActi +@@ -7474,6 +7649,7 @@ void WebPageProxy::createNewPage(WindowFeatures&& windowFeatures, NavigationActi if (RefPtr page = originatingFrameInfo->page()) openerAppInitiatedState = page->lastNavigationWasAppInitiated(); @@ -17217,7 +17195,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae auto completionHandler = [ this, protectedThis = Ref { *this }, -@@ -7462,6 +7638,7 @@ void WebPageProxy::createNewPage(WindowFeatures&& windowFeatures, NavigationActi +@@ -7540,6 +7716,7 @@ void WebPageProxy::createNewPage(WindowFeatures&& windowFeatures, NavigationActi void WebPageProxy::showPage() { m_uiClient->showPage(this); @@ -17225,7 +17203,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } bool WebPageProxy::hasOpenedPage() const -@@ -7541,6 +7718,10 @@ void WebPageProxy::closePage() +@@ -7621,6 +7798,10 @@ void WebPageProxy::closePage() if (isClosed()) return; @@ -17236,7 +17214,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae WEBPAGEPROXY_RELEASE_LOG(Process, "closePage:"); protectedPageClient()->clearAllEditCommands(); m_uiClient->close(this); -@@ -7577,6 +7758,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f +@@ -7657,6 +7838,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f } runModalJavaScriptDialog(WTFMove(frame), WTFMove(frameInfo), message, [reply = WTFMove(reply)](WebPageProxy& page, WebFrameProxy* frame, FrameInfoData&& frameInfo, const String& message, CompletionHandler&& completion) mutable { @@ -17245,7 +17223,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae page.m_uiClient->runJavaScriptAlert(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)]() mutable { reply(); completion(); -@@ -7598,6 +7781,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& +@@ -7678,6 +7861,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& if (RefPtr automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17254,7 +17232,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae runModalJavaScriptDialog(WTFMove(frame), WTFMove(frameInfo), message, [reply = WTFMove(reply)](WebPageProxy& page, WebFrameProxy* frame, FrameInfoData&& frameInfo, const String& message, CompletionHandler&& completion) mutable { page.m_uiClient->runJavaScriptConfirm(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)](bool result) mutable { -@@ -7621,6 +7806,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& +@@ -7701,6 +7886,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& if (RefPtr automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17263,7 +17241,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae runModalJavaScriptDialog(WTFMove(frame), WTFMove(frameInfo), message, [reply = WTFMove(reply), defaultValue](WebPageProxy& page, WebFrameProxy* frame, FrameInfoData&& frameInfo, const String& message, CompletionHandler&& completion) mutable { page.m_uiClient->runJavaScriptPrompt(page, message, defaultValue, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)](auto& result) mutable { -@@ -7737,6 +7924,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf +@@ -7817,6 +8004,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf return; } } @@ -17272,7 +17250,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae // Since runBeforeUnloadConfirmPanel() can spin a nested run loop we need to turn off the responsiveness timer and the tryClose timer. protectedProcess()->stopResponsivenessTimer(); -@@ -8220,6 +8409,11 @@ void WebPageProxy::resourceLoadDidCompleteWithError(ResourceLoadInfo&& loadInfo, +@@ -8307,6 +8496,11 @@ void WebPageProxy::resourceLoadDidCompleteWithError(ResourceLoadInfo&& loadInfo, } #if ENABLE(FULLSCREEN_API) @@ -17284,7 +17262,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae WebFullScreenManagerProxy* WebPageProxy::fullScreenManager() { return m_fullScreenManager.get(); -@@ -8296,6 +8490,17 @@ void WebPageProxy::requestDOMPasteAccess(WebCore::DOMPasteAccessCategory pasteAc +@@ -8383,6 +8577,17 @@ void WebPageProxy::requestDOMPasteAccess(WebCore::DOMPasteAccessCategory pasteAc { MESSAGE_CHECK_COMPLETION(m_process, !originIdentifier.isEmpty(), completionHandler(DOMPasteAccessResponse::DeniedForGesture)); @@ -17302,7 +17280,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae m_pageClient->requestDOMPasteAccess(pasteAccessCategory, elementRect, originIdentifier, WTFMove(completionHandler)); } -@@ -9121,6 +9326,8 @@ void WebPageProxy::mouseEventHandlingCompleted(std::optional event +@@ -9232,6 +9437,8 @@ void WebPageProxy::mouseEventHandlingCompleted(std::optional event if (RefPtr automationSession = process().processPool().automationSession()) automationSession->mouseEventsFlushedForPage(*this); didFinishProcessingAllPendingMouseEvents(); @@ -17311,7 +17289,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } } -@@ -9155,6 +9362,7 @@ void WebPageProxy::keyEventHandlingCompleted(std::optional eventTy +@@ -9266,6 +9473,7 @@ void WebPageProxy::keyEventHandlingCompleted(std::optional eventTy if (!canProcessMoreKeyEvents) { if (RefPtr automationSession = process().processPool().automationSession()) automationSession->keyboardEventsFlushedForPage(*this); @@ -17319,9 +17297,9 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae } } -@@ -9560,7 +9768,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) +@@ -9671,7 +9879,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) { - WEBPAGEPROXY_RELEASE_LOG_ERROR(Loading, "dispatchProcessDidTerminate: reason=%" PUBLIC_LOG_STRING, processTerminationReasonToString(reason)); + WEBPAGEPROXY_RELEASE_LOG_ERROR(Loading, "dispatchProcessDidTerminate: reason=%" PUBLIC_LOG_STRING, processTerminationReasonToString(reason).characters()); - bool handledByClient = false; + bool handledByClient = m_inspectorController->pageCrashed(reason); @@ -17331,15 +17309,15 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae if (m_loaderClient) handledByClient = reason != ProcessTerminationReason::RequestedByClient && m_loaderClient->processDidCrash(*this); else -@@ -9927,6 +10138,7 @@ bool WebPageProxy::useGPUProcessForDOMRenderingEnabled() const +@@ -10041,6 +10252,7 @@ bool WebPageProxy::useGPUProcessForDOMRenderingEnabled() const - WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea, bool isProcessSwap, RefPtr&& websitePolicies, std::optional&& mainFrameIdentifier, SubframeProcessPageParameters* subframeProcessPageParameters, std::optional topContentInset) + WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea, std::optional&& subframeProcessPageParameters, bool isProcessSwap, RefPtr&& websitePolicies, std::optional&& mainFrameIdentifier, std::optional topContentInset) { + WebPageCreationParameters parameters; parameters.processDisplayName = configuration().processDisplayName(); -@@ -10151,6 +10363,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc +@@ -10267,6 +10479,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc parameters.httpsUpgradeEnabled = preferences().upgradeKnownHostsToHTTPSEnabled() ? m_configuration->httpsUpgradeEnabled() : false; @@ -17348,7 +17326,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae #if PLATFORM(IOS) || PLATFORM(VISION) // FIXME: This is also being passed over the to WebProcess via the PreferencesStore. parameters.allowsDeprecatedSynchronousXMLHttpRequestDuringUnload = allowsDeprecatedSynchronousXMLHttpRequestDuringUnload(); -@@ -10257,8 +10471,42 @@ void WebPageProxy::gamepadActivity(const Vector>& gam +@@ -10373,8 +10587,42 @@ void WebPageProxy::gamepadActivity(const Vector>& gam #endif @@ -17391,7 +17369,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae if (negotiatedLegacyTLS == NegotiatedLegacyTLS::Yes) { m_navigationClient->shouldAllowLegacyTLS(*this, authenticationChallenge.get(), [this, protectedThis = Ref { *this }, authenticationChallenge] (bool shouldAllowLegacyTLS) { if (shouldAllowLegacyTLS) -@@ -10353,6 +10601,12 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge +@@ -10469,6 +10717,12 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge request->deny(); }; @@ -17404,7 +17382,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae // FIXME: Once iOS migrates to the new WKUIDelegate SPI, clean this up // and make it one UIClient call that calls the completionHandler with false // if there is no delegate instead of returning the completionHandler -@@ -10415,6 +10669,12 @@ void WebPageProxy::queryPermission(const ClientOrigin& clientOrigin, const Permi +@@ -10531,6 +10785,12 @@ void WebPageProxy::queryPermission(const ClientOrigin& clientOrigin, const Permi shouldChangeDeniedToPrompt = false; if (sessionID().isEphemeral()) { @@ -17417,7 +17395,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae completionHandler(shouldChangeDeniedToPrompt ? PermissionState::Prompt : PermissionState::Denied); return; } -@@ -10429,6 +10689,12 @@ void WebPageProxy::queryPermission(const ClientOrigin& clientOrigin, const Permi +@@ -10545,6 +10805,12 @@ void WebPageProxy::queryPermission(const ClientOrigin& clientOrigin, const Permi return; } @@ -17431,7 +17409,7 @@ index df4dd0b19148e6c1ec29ca080209bca624f9bdd1..f64fd97f7d82209da372c102cd6ca8ae completionHandler(shouldChangeDeniedToPrompt ? PermissionState::Prompt : PermissionState::Denied); return; diff --git a/Source/WebKit/UIProcess/WebPageProxy.h b/Source/WebKit/UIProcess/WebPageProxy.h -index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07ba620d7be 100644 +index 2e40bbb43a05c10eee30296c5a7febdcdb74c157..4deb131a7c531d9035833f22062cf9e8f0aa3a6c 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.h +++ b/Source/WebKit/UIProcess/WebPageProxy.h @@ -26,6 +26,7 @@ @@ -17442,7 +17420,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b #include "MessageReceiver.h" #include "MessageSender.h" #include -@@ -35,6 +36,24 @@ +@@ -36,6 +37,24 @@ #include #include #include @@ -17467,7 +17445,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b #if USE(DICTATION_ALTERNATIVES) #include -@@ -104,6 +123,7 @@ class DestinationColorSpace; +@@ -106,6 +125,7 @@ class DestinationColorSpace; class DragData; class FloatPoint; class FloatQuad; @@ -17475,7 +17453,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b class FloatRect; class FloatSize; class FontAttributeChanges; -@@ -418,6 +438,7 @@ class WebExtensionController; +@@ -421,6 +441,7 @@ class WebExtensionController; class WebFramePolicyListenerProxy; class WebFrameProxy; class WebFullScreenManagerProxy; @@ -17483,7 +17461,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b class WebInspectorUIProxy; class WebKeyboardEvent; class WebMouseEvent; -@@ -645,6 +666,8 @@ public: +@@ -649,6 +670,8 @@ public: void setControlledByAutomation(bool); WebPageInspectorController& inspectorController() { return *m_inspectorController; } @@ -17492,7 +17470,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b #if PLATFORM(IOS_FAMILY) void showInspectorIndication(); -@@ -678,6 +701,7 @@ public: +@@ -682,6 +705,7 @@ public: bool hasSleepDisabler() const; #if ENABLE(FULLSCREEN_API) @@ -17500,7 +17478,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b WebFullScreenManagerProxy* fullScreenManager(); API::FullscreenClient& fullscreenClient() const { return *m_fullscreenClient; } -@@ -766,6 +790,11 @@ public: +@@ -770,6 +794,11 @@ public: void setPageLoadStateObserver(std::unique_ptr&&); @@ -17512,7 +17490,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b void initializeWebPage(); void setDrawingArea(std::unique_ptr&&); -@@ -792,6 +821,7 @@ public: +@@ -796,6 +825,7 @@ public: void addPlatformLoadParameters(WebProcessProxy&, LoadParameters&); RefPtr loadRequest(WebCore::ResourceRequest&&); RefPtr loadRequest(WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData = nullptr); @@ -17520,7 +17498,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b RefPtr loadFile(const String& fileURL, const String& resourceDirectoryURL, bool isAppInitiated = true, API::Object* userData = nullptr); RefPtr loadData(std::span, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData = nullptr); RefPtr loadData(std::span, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, WebCore::ShouldOpenExternalURLsPolicy); -@@ -856,6 +886,7 @@ public: +@@ -862,6 +892,7 @@ public: PageClient& pageClient() const; Ref protectedPageClient() const; @@ -17528,7 +17506,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b void setViewNeedsDisplay(const WebCore::Region&); void requestScroll(const WebCore::FloatPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin, WebCore::ScrollIsAnimated); -@@ -1376,6 +1407,7 @@ public: +@@ -1389,6 +1420,7 @@ public: #endif void pageScaleFactorDidChange(double); @@ -17536,7 +17514,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b void pluginScaleFactorDidChange(double); void pluginZoomFactorDidChange(double); -@@ -1460,14 +1492,20 @@ public: +@@ -1473,14 +1505,20 @@ public: void didStartDrag(); void dragCancelled(); void setDragCaretRect(const WebCore::IntRect&); @@ -17558,7 +17536,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b #endif void processDidBecomeUnresponsive(); -@@ -1700,6 +1738,7 @@ public: +@@ -1713,6 +1751,7 @@ public: void setViewportSizeForCSSViewportUnits(const WebCore::FloatSize&); WebCore::FloatSize viewportSizeForCSSViewportUnits() const; @@ -17566,7 +17544,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b void didReceiveAuthenticationChallengeProxy(Ref&&, NegotiatedLegacyTLS); void negotiatedLegacyTLS(); void didNegotiateModernTLS(const URL&); -@@ -1734,6 +1773,8 @@ public: +@@ -1747,6 +1786,8 @@ public: #if PLATFORM(COCOA) || PLATFORM(GTK) RefPtr takeViewSnapshot(std::optional&&); @@ -17575,7 +17553,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b #endif void wrapCryptoKey(const Vector&, CompletionHandler>&&)>&&); -@@ -2596,6 +2637,7 @@ private: +@@ -2639,6 +2680,7 @@ private: RefPtr launchProcessForReload(); void requestNotificationPermission(const String& originString, CompletionHandler&&); @@ -17583,7 +17561,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b void didChangeContentSize(const WebCore::IntSize&); void didChangeIntrinsicContentSize(const WebCore::IntSize&); -@@ -3103,8 +3145,10 @@ private: +@@ -3145,8 +3187,10 @@ private: String m_overrideContentSecurityPolicy; RefPtr m_inspector; @@ -17594,7 +17572,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b std::unique_ptr m_fullScreenManager; std::unique_ptr m_fullscreenClient; #endif -@@ -3294,6 +3338,22 @@ private: +@@ -3336,6 +3380,22 @@ private: std::optional m_currentDragOperation; bool m_currentDragIsOverFileInput { false }; unsigned m_currentDragNumberOfFilesToBeAccepted { 0 }; @@ -17617,7 +17595,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b #endif bool m_mainFrameHasHorizontalScrollbar { false }; -@@ -3465,6 +3525,10 @@ private: +@@ -3507,6 +3567,10 @@ private: RefPtr messageBody; }; Vector m_pendingInjectedBundleMessages; @@ -17629,7 +17607,7 @@ index d02f8aff91035baa83a6465152c8d62d824a2829..074bb4572f078ee140375f60c5fca07b #if PLATFORM(IOS_FAMILY) && ENABLE(DEVICE_ORIENTATION) std::unique_ptr m_webDeviceOrientationUpdateProviderProxy; diff --git a/Source/WebKit/UIProcess/WebPageProxy.messages.in b/Source/WebKit/UIProcess/WebPageProxy.messages.in -index 3b1f8c7613d9ebc836bb173b49187bb5cc53247e..91a86a693e99950efb90c406199dcb9769c1e401 100644 +index 3907e52e0136c24b8cdc24cb6e178b201e3e482a..03ef59a3032b12f91dcdd4a1160c7c8ef12cc0e3 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.messages.in +++ b/Source/WebKit/UIProcess/WebPageProxy.messages.in @@ -29,6 +29,7 @@ messages -> WebPageProxy { @@ -17648,7 +17626,7 @@ index 3b1f8c7613d9ebc836bb173b49187bb5cc53247e..91a86a693e99950efb90c406199dcb97 PluginScaleFactorDidChange(double zoomFactor) PluginZoomFactorDidChange(double zoomFactor) -@@ -303,10 +305,14 @@ messages -> WebPageProxy { +@@ -309,10 +311,14 @@ messages -> WebPageProxy { StartDrag(struct WebCore::DragItem dragItem, WebCore::ShareableBitmapHandle dragImage) SetPromisedDataForImage(String pasteboardName, WebCore::SharedMemory::Handle imageHandle, String filename, String extension, String title, String url, String visibleURL, WebCore::SharedMemory::Handle archiveHandle, String originIdentifier) #endif @@ -17680,10 +17658,10 @@ index c909cd634d6acd72695de8372866691269ad6a04..ff5b37e3b4a17eab4bd3f8e9a2a6ef84 } diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp -index 8d176f2829f0c11fbb5c2d052a3036bcae981c78..5416b923ad7f36d6676120b640ca258905176aa2 100644 +index f997e69f867ecaa6ec60a94a21ac89d51de413a4..78008ea36f1d08948c671fdfeeef08b30c7fc7fa 100644 --- a/Source/WebKit/UIProcess/WebProcessPool.cpp +++ b/Source/WebKit/UIProcess/WebProcessPool.cpp -@@ -429,10 +429,10 @@ void WebProcessPool::setAutomationClient(std::unique_ptr& +@@ -430,10 +430,10 @@ void WebProcessPool::setAutomationClient(std::unique_ptr& void WebProcessPool::setOverrideLanguages(Vector&& languages) { @@ -17696,7 +17674,7 @@ index 8d176f2829f0c11fbb5c2d052a3036bcae981c78..5416b923ad7f36d6676120b640ca2589 #if ENABLE(GPU_PROCESS) if (RefPtr gpuProcess = GPUProcessProxy::singletonIfCreated()) -@@ -440,9 +440,10 @@ void WebProcessPool::setOverrideLanguages(Vector&& languages) +@@ -441,9 +441,10 @@ void WebProcessPool::setOverrideLanguages(Vector&& languages) #endif #if USE(SOUP) for (Ref networkProcess : NetworkProcessProxy::allNetworkProcesses()) @@ -17708,7 +17686,7 @@ index 8d176f2829f0c11fbb5c2d052a3036bcae981c78..5416b923ad7f36d6676120b640ca2589 void WebProcessPool::fullKeyboardAccessModeChanged(bool fullKeyboardAccessEnabled) { -@@ -934,7 +935,7 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa +@@ -936,7 +937,7 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa #endif parameters.cacheModel = LegacyGlobalSettings::singleton().cacheModel(); @@ -17718,10 +17696,10 @@ index 8d176f2829f0c11fbb5c2d052a3036bcae981c78..5416b923ad7f36d6676120b640ca2589 parameters.urlSchemesRegisteredAsEmptyDocument = copyToVector(m_schemesToRegisterAsEmptyDocument); diff --git a/Source/WebKit/UIProcess/WebProcessProxy.cpp b/Source/WebKit/UIProcess/WebProcessProxy.cpp -index c10fcb327b2d8ddf2393a7acda99c84531cab4e2..ab03eb619003f7202ccefed2d030f5cd6c7251c3 100644 +index b8305771145ecb6b92e28de1bcb370dc8ccbba0d..d3b591bc81ccd07367223270c545056fbdb51f49 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.cpp +++ b/Source/WebKit/UIProcess/WebProcessProxy.cpp -@@ -184,6 +184,11 @@ Vector> WebProcessProxy::allProcesses() +@@ -188,6 +188,11 @@ Vector> WebProcessProxy::allProcesses() }); } @@ -17733,7 +17711,7 @@ index c10fcb327b2d8ddf2393a7acda99c84531cab4e2..ab03eb619003f7202ccefed2d030f5cd RefPtr WebProcessProxy::processForIdentifier(ProcessIdentifier identifier) { return allProcessMap().get(identifier); -@@ -541,6 +546,26 @@ void WebProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOpt +@@ -555,6 +560,26 @@ void WebProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOpt if (WebKit::isInspectorProcessPool(processPool())) launchOptions.extraInitializationData.add("inspector-process"_s, "1"_s); @@ -17761,10 +17739,10 @@ index c10fcb327b2d8ddf2393a7acda99c84531cab4e2..ab03eb619003f7202ccefed2d030f5cd if (isPrewarmed()) diff --git a/Source/WebKit/UIProcess/WebProcessProxy.h b/Source/WebKit/UIProcess/WebProcessProxy.h -index bb3e329ad02085273cbc7f00c514acfb3c8f9c35..be6d0e7e0d8023f3c6a84af9535db6b786855993 100644 +index 92ebcbaf5abecd997e8bfd3cb5cb41b02191b7c5..bec4da91324e832f1dd027ad9e064a3336b3e047 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.h +++ b/Source/WebKit/UIProcess/WebProcessProxy.h -@@ -164,6 +164,7 @@ public: +@@ -166,6 +166,7 @@ public: static void forWebPagesWithOrigin(PAL::SessionID, const WebCore::SecurityOriginData&, const Function&); static Vector> allowedFirstPartiesForCookies(); @@ -17773,7 +17751,7 @@ index bb3e329ad02085273cbc7f00c514acfb3c8f9c35..be6d0e7e0d8023f3c6a84af9535db6b7 WebConnection* webConnection() const { return m_webConnection.get(); } RefPtr protectedWebConnection() const { return m_webConnection; } diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp -index d6ab1fddd24467a01e748a6ec94fbbd2a806454c..14486b0c5e1f80f0825ebc6cec337283732e5fd2 100644 +index 9729698017cabce150921532f0dd40e10634f0ce..9bb75eda6f3e5e0633d6ef55b3980f8ce35b2f2f 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp @@ -305,7 +305,8 @@ SOAuthorizationCoordinator& WebsiteDataStore::soAuthorizationCoordinator(const W @@ -17786,7 +17764,7 @@ index d6ab1fddd24467a01e748a6ec94fbbd2a806454c..14486b0c5e1f80f0825ebc6cec337283 if (sessionID.isEphemeral()) { // Reuse a previous persistent session network process for ephemeral sessions. for (auto& dataStore : allDataStores().values()) { -@@ -2266,6 +2267,12 @@ void WebsiteDataStore::originDirectoryForTesting(WebCore::ClientOrigin&& origin, +@@ -2278,6 +2279,12 @@ void WebsiteDataStore::originDirectoryForTesting(WebCore::ClientOrigin&& origin, protectedNetworkProcess()->websiteDataOriginDirectoryForTesting(m_sessionID, WTFMove(origin), type, WTFMove(completionHandler)); } @@ -17800,7 +17778,7 @@ index d6ab1fddd24467a01e748a6ec94fbbd2a806454c..14486b0c5e1f80f0825ebc6cec337283 void WebsiteDataStore::hasAppBoundSession(CompletionHandler&& completionHandler) const { diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h -index f89889023ac34839a249145b37540cf34e9a6e9e..25418e0cba99a7d82ee2cd758f25e34bad93c053 100644 +index 165885137ca032390c6b55baacc30a8c4c423eb5..930ceeca56587636993f9a0c0e0a21d0ebab3835 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h @@ -97,6 +97,7 @@ class DeviceIdHashSaltStorage; @@ -17833,7 +17811,7 @@ index f89889023ac34839a249145b37540cf34e9a6e9e..25418e0cba99a7d82ee2cd758f25e34b class WebsiteDataStore : public API::ObjectImpl, public CanMakeWeakPtr { public: static Ref defaultDataStore(); -@@ -302,11 +312,13 @@ public: +@@ -305,11 +315,13 @@ public: const WebCore::CurlProxySettings& networkProxySettings() const { return m_proxySettings; } #endif @@ -17848,7 +17826,7 @@ index f89889023ac34839a249145b37540cf34e9a6e9e..25418e0cba99a7d82ee2cd758f25e34b void setNetworkProxySettings(WebCore::SoupNetworkProxySettings&&); const WebCore::SoupNetworkProxySettings& networkProxySettings() const { return m_networkProxySettings; } void setCookiePersistentStorage(const String&, SoupCookiePersistentStorageType); -@@ -391,6 +403,12 @@ public: +@@ -394,6 +406,12 @@ public: static const String& defaultBaseDataDirectory(); #endif @@ -17861,7 +17839,7 @@ index f89889023ac34839a249145b37540cf34e9a6e9e..25418e0cba99a7d82ee2cd758f25e34b void resetQuota(CompletionHandler&&); void resetStoragePersistedState(CompletionHandler&&); #if PLATFORM(IOS_FAMILY) -@@ -561,9 +579,11 @@ private: +@@ -564,9 +582,11 @@ private: WebCore::CurlProxySettings m_proxySettings; #endif @@ -17874,7 +17852,7 @@ index f89889023ac34839a249145b37540cf34e9a6e9e..25418e0cba99a7d82ee2cd758f25e34b WebCore::SoupNetworkProxySettings m_networkProxySettings; String m_cookiePersistentStoragePath; SoupCookiePersistentStorageType m_cookiePersistentStorageType { SoupCookiePersistentStorageType::SQLite }; -@@ -590,6 +610,10 @@ private: +@@ -593,6 +613,10 @@ private: RefPtr m_cookieStore; RefPtr m_networkProcess; @@ -17886,10 +17864,10 @@ index f89889023ac34839a249145b37540cf34e9a6e9e..25418e0cba99a7d82ee2cd758f25e34b std::unique_ptr m_soAuthorizationCoordinator; #endif diff --git a/Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.cpp b/Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.cpp -index 8cf57bf6b4370d7c19d0a624e852a8bec4f9aba3..cc9047c17a10863a9ea8bdda903af9367018c3cc 100644 +index d02a8ad4cd66f7f277eee16d21e9ffb0e1a961db..ef35d46977b9b6a866b665e3a01eac94a648cc97 100644 --- a/Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.cpp +++ b/Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.cpp -@@ -100,6 +100,14 @@ void GeoclueGeolocationProvider::stop() +@@ -101,6 +101,14 @@ void GeoclueGeolocationProvider::stop() } m_sourceType = LocationProviderSource::Unknown; @@ -17904,7 +17882,7 @@ index 8cf57bf6b4370d7c19d0a624e852a8bec4f9aba3..cc9047c17a10863a9ea8bdda903af936 } void GeoclueGeolocationProvider::setEnableHighAccuracy(bool enabled) -@@ -372,6 +380,8 @@ void GeoclueGeolocationProvider::createGeoclueClient(const char* clientPath) +@@ -373,6 +381,8 @@ void GeoclueGeolocationProvider::createGeoclueClient(const char* clientPath) return; } @@ -18185,10 +18163,10 @@ index 0000000000000000000000000000000000000000..394f07e1754be52b7d503d5720cba5d3 + +#endif // ENABLE(REMOTE_INSPECTOR) diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h -index 71fb4cbd4338bcbda3a61019cbf4a914bf74953e..6f56e4afb345c23b4d8b91ee77f1991c72e58383 100644 +index b02c70d85fe1a93899640a8b909b0cf734d28b18..b1dc8e89eb265be81e083bf337109561e08cbf45 100644 --- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h +++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h -@@ -28,6 +28,7 @@ +@@ -29,6 +29,7 @@ #include typedef struct _cairo cairo_t; @@ -18196,7 +18174,7 @@ index 71fb4cbd4338bcbda3a61019cbf4a914bf74953e..6f56e4afb345c23b4d8b91ee77f1991c #if USE(GTK4) typedef struct _GdkSnapshot GdkSnapshot; -@@ -56,6 +57,8 @@ public: +@@ -57,6 +58,8 @@ public: #else virtual bool paint(cairo_t*, const WebCore::IntRect&) = 0; #endif @@ -18206,12 +18184,12 @@ index 71fb4cbd4338bcbda3a61019cbf4a914bf74953e..6f56e4afb345c23b4d8b91ee77f1991c virtual void unrealize() { }; virtual int renderHostFileDescriptor() { return -1; } diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp -index a02443e27fe05c1ad14337b676c365a7ff63aaa6..d0772d4ac275dd8298dbf24d4ecc6d3ae101f2e1 100644 +index bef1f57ad45eaef04640991d4afd34138b8d7b76..a37024640fbf6eb79838c039001ee1cf4907042e 100644 --- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp +++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp -@@ -618,6 +618,32 @@ bool AcceleratedBackingStoreDMABuf::paint(cairo_t* cr, const WebCore::IntRect& c +@@ -659,4 +659,30 @@ RendererBufferFormat AcceleratedBackingStoreDMABuf::bufferFormat() const + return buffer ? buffer->format() : RendererBufferFormat { }; } - #endif +// Playwright begin +cairo_surface_t* AcceleratedBackingStoreDMABuf::surface() @@ -18240,10 +18218,8 @@ index a02443e27fe05c1ad14337b676c365a7ff63aaa6..d0772d4ac275dd8298dbf24d4ecc6d3a +// Playwright end + } // namespace WebKit - - #endif // USE(EGL) diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h -index 8bfba047f41fa3f805d93771c648ca2045411ed6..f32e795be4d60cd35e3a704cd3975065146cdb06 100644 +index cd95ceb063fc776b5d68ff45262c4d84e572c509..041c562551cd467c320b8f566264885d00d1434b 100644 --- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h +++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h @@ -88,6 +88,7 @@ private: @@ -18253,8 +18229,8 @@ index 8bfba047f41fa3f805d93771c648ca2045411ed6..f32e795be4d60cd35e3a704cd3975065 + cairo_surface_t* surface() override; void unrealize() override; void update(const LayerTreeContext&) override; - -@@ -233,6 +234,9 @@ private: + RendererBufferFormat bufferFormat() const override; +@@ -243,6 +244,9 @@ private: RefPtr m_pendingBuffer; RefPtr m_committedBuffer; HashMap> m_buffers; @@ -18531,10 +18507,10 @@ index d18b3e777203ef5d0f33884f909bc598d3526831..aef80b47359d7a2e4805a006dc59cd60 m_primarySelectionOwner = frame; } diff --git a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -index b5adddce23fd14eab99f55739a3e18bccbcdf5ec..e7dd2d5daafb870e524bcd8f7cf6779e97ae08ba 100644 +index 286877d14b4eb6ac45092fa1cce5ce530558f8af..85240554255d69a30269e764214a139743de521b 100644 --- a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm +++ b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -@@ -494,6 +494,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) +@@ -504,6 +504,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool eventWasHandled) { @@ -18753,7 +18729,7 @@ index 0000000000000000000000000000000000000000..721826c8c98fc85b68a4f45deaee69c1 + +#endif diff --git a/Source/WebKit/UIProcess/mac/PageClientImplMac.h b/Source/WebKit/UIProcess/mac/PageClientImplMac.h -index bf8da430d8a48128879eb2033ceb1a4e6aae3fd3..8c048aa6055aa2ec7e74d96f99dbd58594cb01fc 100644 +index 1647891b55a718f66ee2f4a084439edd655c623a..2099b9166e2cac062d4161d704050a0795a26c93 100644 --- a/Source/WebKit/UIProcess/mac/PageClientImplMac.h +++ b/Source/WebKit/UIProcess/mac/PageClientImplMac.h @@ -54,6 +54,8 @@ class PageClientImpl final : public PageClientImplCocoa @@ -18787,7 +18763,7 @@ index bf8da430d8a48128879eb2033ceb1a4e6aae3fd3..8c048aa6055aa2ec7e74d96f99dbd585 void navigationGestureWillEnd(bool willNavigate, WebBackForwardListItem&) override; void navigationGestureDidEnd(bool willNavigate, WebBackForwardListItem&) override; diff --git a/Source/WebKit/UIProcess/mac/PageClientImplMac.mm b/Source/WebKit/UIProcess/mac/PageClientImplMac.mm -index 0150ec4512cb5a8d405c045f6b6464b374849d04..8ff52a96708296f4933b5f43a106396c4943adb0 100644 +index 3fe2a9487a96b31f476bb17e45374f880e80da9a..b72433e5981f298d4d1ca93274df51cd830855c0 100644 --- a/Source/WebKit/UIProcess/mac/PageClientImplMac.mm +++ b/Source/WebKit/UIProcess/mac/PageClientImplMac.mm @@ -80,6 +80,7 @@ @@ -18938,7 +18914,7 @@ index 6ab7aacaebfda818e3010bb06db72c8552ac598a..3e19cba50d73084392f62f176ad4c315 bool showAfterPostProcessingContextData(); diff --git a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm -index 5edd66a5259b64217d338ac041c8dd0dafafed9b..c786a8205ddd8f9e40c1da3d2c4a67732d2d2499 100644 +index 6da27ca16f9f4d359118053049caa5033b6789d7..254e582066fbc774fc02c69dddbc1ae589efdc7a 100644 --- a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm +++ b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm @@ -481,6 +481,12 @@ void WebContextMenuProxyMac::getShareMenuItem(CompletionHandlersizeInBytes(); - auto stride = bitmap->bytesPerRow(); - GRefPtr bytes = adoptGRef(g_bytes_new_with_free_func(data, dataSize, [](gpointer userData) { -- delete static_cast(userData); -+ delete static_cast(userData); - }, bitmap.leakRef())); - - GRefPtr buffer = adoptGRef(WPE_BUFFER(wpe_buffer_shm_new(m_wpeView.get(), size.width(), size.height(), WPE_PIXEL_FORMAT_ARGB8888, bytes.get(), stride))); diff --git a/Source/WebKit/UIProcess/wpe/InspectorTargetProxyWPE.cpp b/Source/WebKit/UIProcess/wpe/InspectorTargetProxyWPE.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7453194ca6f032ba86a4c67f5bf12688ab6ec1be @@ -19974,7 +19925,7 @@ index 0000000000000000000000000000000000000000..a7d88f8c745f95af21db71dcfce368ba + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp b/Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp -index 057b6c7a43cbde35cfaac266dfc9fce5bc3c6a31..1605888e79ccb9416719eff486d8151a6845fe98 100644 +index b6536b74452c26a4d661bcf6039af54824f258d0..ade7c4ad1cef7bc69c452bef404eb38437c93088 100644 --- a/Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp +++ b/Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp @@ -29,6 +29,7 @@ @@ -19983,10 +19934,10 @@ index 057b6c7a43cbde35cfaac266dfc9fce5bc3c6a31..1605888e79ccb9416719eff486d8151a #include "PageClientImpl.h" +#include #include - #include + #if USE(ATK) diff --git a/Source/WebKit/WPEPlatform/CMakeLists.txt b/Source/WebKit/WPEPlatform/CMakeLists.txt -index 4dc0d0990d9ab5f89efa44bd404b95264c2bbfa8..0cb39461386cfe0e34bcf33cc07bcb03e3826a05 100644 +index 9319cacf6dff2c3ffdd469927c91a880978a80aa..17a829b23ae6941b184d32e8701f0fd774639449 100644 --- a/Source/WebKit/WPEPlatform/CMakeLists.txt +++ b/Source/WebKit/WPEPlatform/CMakeLists.txt @@ -82,6 +82,7 @@ set(WPEPlatform_SYSTEM_INCLUDE_DIRECTORIES @@ -19998,10 +19949,10 @@ index 4dc0d0990d9ab5f89efa44bd404b95264c2bbfa8..0cb39461386cfe0e34bcf33cc07bcb03 ${GLIB_GIO_LIBRARIES} ${GLIB_GOBJECT_LIBRARIES} diff --git a/Source/WebKit/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj -index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51337a21b8 100644 +index 5638e7e7ca660b2bb7c9b3f21dde5f5dfb68dad0..d4c7e4081d7b4c80423e2a406f8471c3ffb292f7 100644 --- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj +++ b/Source/WebKit/WebKit.xcodeproj/project.pbxproj -@@ -1535,6 +1535,7 @@ +@@ -1542,6 +1542,7 @@ 5CABDC8722C40FED001EDE8E /* APIMessageListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CABDC8322C40FA7001EDE8E /* APIMessageListener.h */; }; 5CADDE05215046BD0067D309 /* WKWebProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C74300E21500492004BFA17 /* WKWebProcess.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5CAECB6627465AE400AB78D0 /* UnifiedSource115.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CAECB5E27465AE300AB78D0 /* UnifiedSource115.cpp */; }; @@ -20009,7 +19960,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 5CAF7AA726F93AB00003F19E /* adattributiond.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CAF7AA526F93A950003F19E /* adattributiond.cpp */; }; 5CAFDE452130846300B1F7E1 /* _WKInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CAFDE422130843500B1F7E1 /* _WKInspector.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5CAFDE472130846A00B1F7E1 /* _WKInspectorInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CAFDE442130843600B1F7E1 /* _WKInspectorInternal.h */; }; -@@ -2369,6 +2370,18 @@ +@@ -2381,6 +2382,18 @@ DF0C5F28252ECB8E00D921DB /* WKDownload.h in Headers */ = {isa = PBXBuildFile; fileRef = DF0C5F24252ECB8D00D921DB /* WKDownload.h */; settings = {ATTRIBUTES = (Public, ); }; }; DF0C5F2A252ECB8E00D921DB /* WKDownloadDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DF0C5F26252ECB8E00D921DB /* WKDownloadDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; DF0C5F2B252ED44000D921DB /* WKDownloadInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DF0C5F25252ECB8E00D921DB /* WKDownloadInternal.h */; }; @@ -20028,7 +19979,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 DF462E0F23F22F5500EFF35F /* WKHTTPCookieStorePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = DF462E0E23F22F5300EFF35F /* WKHTTPCookieStorePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; DF462E1223F338BE00EFF35F /* WKContentWorldPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = DF462E1123F338AD00EFF35F /* WKContentWorldPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; DF7A231C291B088D00B98DF3 /* WKSnapshotConfigurationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = DF7A231B291B088D00B98DF3 /* WKSnapshotConfigurationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; -@@ -2453,6 +2466,8 @@ +@@ -2468,6 +2481,8 @@ E5BEF6822130C48000F31111 /* WebDataListSuggestionsDropdownIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = E5BEF6802130C47F00F31111 /* WebDataListSuggestionsDropdownIOS.h */; }; E5CB07DC20E1678F0022C183 /* WKFormColorControl.h in Headers */ = {isa = PBXBuildFile; fileRef = E5CB07DA20E1678F0022C183 /* WKFormColorControl.h */; }; E5CBA76427A318E100DF7858 /* UnifiedSource120.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5CBA75F27A3187800DF7858 /* UnifiedSource120.cpp */; }; @@ -20037,7 +19988,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 E5CBA76527A318E100DF7858 /* UnifiedSource118.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5CBA76127A3187900DF7858 /* UnifiedSource118.cpp */; }; E5CBA76627A318E100DF7858 /* UnifiedSource116.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5CBA76327A3187B00DF7858 /* UnifiedSource116.cpp */; }; E5CBA76727A318E100DF7858 /* UnifiedSource119.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5CBA76027A3187900DF7858 /* UnifiedSource119.cpp */; }; -@@ -2473,6 +2488,9 @@ +@@ -2488,6 +2503,9 @@ EBA8D3B627A5E33F00CB7900 /* MockPushServiceConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = EBA8D3B027A5E33F00CB7900 /* MockPushServiceConnection.mm */; }; EBA8D3B727A5E33F00CB7900 /* PushServiceConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = EBA8D3B127A5E33F00CB7900 /* PushServiceConnection.mm */; }; ED82A7F2128C6FAF004477B3 /* WKBundlePageOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A22F0FF1289FCD90085E74F /* WKBundlePageOverlay.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -20047,7 +19998,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 F409BA181E6E64BC009DA28E /* WKDragDestinationAction.h in Headers */ = {isa = PBXBuildFile; fileRef = F409BA171E6E64B3009DA28E /* WKDragDestinationAction.h */; settings = {ATTRIBUTES = (Private, ); }; }; F40C3B712AB401C5007A3567 /* WKDatePickerPopoverController.h in Headers */ = {isa = PBXBuildFile; fileRef = F40C3B6F2AB40167007A3567 /* WKDatePickerPopoverController.h */; }; F41795A62AC61B78007F5F12 /* CompactContextMenuPresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = F41795A42AC619A2007F5F12 /* CompactContextMenuPresenter.h */; }; -@@ -6192,6 +6210,7 @@ +@@ -6218,6 +6236,7 @@ 5CABDC8522C40FCC001EDE8E /* WKMessageListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKMessageListener.h; sourceTree = ""; }; 5CABE07A28F60E8A00D83FD9 /* WebPushMessage.serialization.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = WebPushMessage.serialization.in; sourceTree = ""; }; 5CADDE0D2151AA010067D309 /* AuthenticationChallengeDisposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthenticationChallengeDisposition.h; sourceTree = ""; }; @@ -20055,7 +20006,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 5CAECB5E27465AE300AB78D0 /* UnifiedSource115.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource115.cpp; sourceTree = ""; }; 5CAF7AA426F93A750003F19E /* adattributiond */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = adattributiond; sourceTree = BUILT_PRODUCTS_DIR; }; 5CAF7AA526F93A950003F19E /* adattributiond.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = adattributiond.cpp; sourceTree = ""; }; -@@ -7894,6 +7913,19 @@ +@@ -7930,6 +7949,19 @@ DF0C5F24252ECB8D00D921DB /* WKDownload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDownload.h; sourceTree = ""; }; DF0C5F25252ECB8E00D921DB /* WKDownloadInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDownloadInternal.h; sourceTree = ""; }; DF0C5F26252ECB8E00D921DB /* WKDownloadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDownloadDelegate.h; sourceTree = ""; }; @@ -20075,7 +20026,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 DF462E0E23F22F5300EFF35F /* WKHTTPCookieStorePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKHTTPCookieStorePrivate.h; sourceTree = ""; }; DF462E1123F338AD00EFF35F /* WKContentWorldPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContentWorldPrivate.h; sourceTree = ""; }; DF58C6311371AC5800F9A37C /* NativeWebWheelEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NativeWebWheelEvent.h; sourceTree = ""; }; -@@ -8040,6 +8072,8 @@ +@@ -8082,6 +8114,8 @@ E5CBA76127A3187900DF7858 /* UnifiedSource118.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource118.cpp; sourceTree = ""; }; E5CBA76227A3187900DF7858 /* UnifiedSource117.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource117.cpp; sourceTree = ""; }; E5CBA76327A3187B00DF7858 /* UnifiedSource116.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource116.cpp; sourceTree = ""; }; @@ -20084,7 +20035,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 E5DEFA6726F8F42600AB68DB /* PhotosUISPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PhotosUISPI.h; sourceTree = ""; }; EB0D312D275AE13300863D8F /* com.apple.webkit.webpushd.mac.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.webkit.webpushd.mac.plist; sourceTree = ""; }; EB0D312E275AE13300863D8F /* com.apple.webkit.webpushd.ios.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.webkit.webpushd.ios.plist; sourceTree = ""; }; -@@ -8064,6 +8098,14 @@ +@@ -8106,6 +8140,14 @@ ECA680D31E6904B500731D20 /* ExtraPrivateSymbolsForTAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExtraPrivateSymbolsForTAPI.h; sourceTree = ""; }; ECBFC1DB1E6A4D66000300C7 /* ExtraPublicSymbolsForTAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtraPublicSymbolsForTAPI.h; sourceTree = ""; }; F036978715F4BF0500C3A80E /* WebColorPicker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebColorPicker.cpp; sourceTree = ""; }; @@ -20099,7 +20050,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 F409BA171E6E64B3009DA28E /* WKDragDestinationAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDragDestinationAction.h; sourceTree = ""; }; F40C3B6F2AB40167007A3567 /* WKDatePickerPopoverController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKDatePickerPopoverController.h; path = ios/forms/WKDatePickerPopoverController.h; sourceTree = ""; }; F40C3B702AB40167007A3567 /* WKDatePickerPopoverController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKDatePickerPopoverController.mm; path = ios/forms/WKDatePickerPopoverController.mm; sourceTree = ""; }; -@@ -8351,6 +8393,7 @@ +@@ -8404,6 +8446,7 @@ 3766F9EE189A1241003CF19B /* JavaScriptCore.framework in Frameworks */, 3766F9F1189A1254003CF19B /* libicucore.dylib in Frameworks */, 7B9FC5BB28A5233B007570E7 /* libWebKitPlatform.a in Frameworks */, @@ -20107,7 +20058,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 3766F9EF189A1244003CF19B /* QuartzCore.framework in Frameworks */, 37694525184FC6B600CDE21F /* Security.framework in Frameworks */, 37BEC4DD1948FC6A008B4286 /* WebCore.framework in Frameworks */, -@@ -11211,6 +11254,7 @@ +@@ -11278,6 +11321,7 @@ 99788ACA1F421DCA00C08000 /* _WKAutomationSessionConfiguration.mm */, 990D28A81C6404B000986977 /* _WKAutomationSessionDelegate.h */, 990D28AF1C65203900986977 /* _WKAutomationSessionInternal.h */, @@ -20115,7 +20066,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 5C4609E222430E4C009943C2 /* _WKContentRuleListAction.h */, 5C4609E322430E4D009943C2 /* _WKContentRuleListAction.mm */, 5C4609E422430E4D009943C2 /* _WKContentRuleListActionInternal.h */, -@@ -12503,6 +12547,7 @@ +@@ -12589,6 +12633,7 @@ E34B110C27C46BC6006D2F2E /* libWebCoreTestShim.dylib */, E34B110F27C46D09006D2F2E /* libWebCoreTestSupport.dylib */, DDE992F4278D06D900F60D26 /* libWebKitAdditions.a */, @@ -20123,7 +20074,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 57A9FF15252C6AEF006A2040 /* libWTF.a */, 5750F32A2032D4E500389347 /* LocalAuthentication.framework */, 570DAAB0230273D200E8FC04 /* NearField.framework */, -@@ -13073,6 +13118,12 @@ +@@ -13159,6 +13204,12 @@ children = ( 9197940423DBC4BB00257892 /* InspectorBrowserAgent.cpp */, 9197940323DBC4BB00257892 /* InspectorBrowserAgent.h */, @@ -20136,7 +20087,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 ); path = Agents; sourceTree = ""; -@@ -13081,6 +13132,7 @@ +@@ -13167,6 +13218,7 @@ isa = PBXGroup; children = ( A5D3504D1D78F0D2005124A9 /* RemoteWebInspectorUIProxyMac.mm */, @@ -20144,7 +20095,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 1CA8B935127C774E00576C2B /* WebInspectorUIProxyMac.mm */, 99A7ACE326012919006D57FD /* WKInspectorResourceURLSchemeHandler.h */, 99A7ACE42601291A006D57FD /* WKInspectorResourceURLSchemeHandler.mm */, -@@ -13794,6 +13846,7 @@ +@@ -13884,6 +13936,7 @@ E1513C65166EABB200149FCB /* AuxiliaryProcessProxy.h */, 46A2B6061E5675A200C3DEDA /* BackgroundProcessResponsivenessTimer.cpp */, 46A2B6071E5675A200C3DEDA /* BackgroundProcessResponsivenessTimer.h */, @@ -20152,7 +20103,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 5C6D69352AC3935D0099BDAF /* BrowsingContextGroup.cpp */, 5C6D69362AC3935D0099BDAF /* BrowsingContextGroup.h */, 07297F9C1C1711EA003F0735 /* DeviceIdHashSaltStorage.cpp */, -@@ -13817,6 +13870,8 @@ +@@ -13907,6 +13960,8 @@ BC06F43912DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp */, BC06F43812DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h */, 2DD5A72A1EBF09A7009BA597 /* HiddenPageThrottlingAutoIncreasesCounter.h */, @@ -20161,7 +20112,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 5CEABA2B2333251400797797 /* LegacyGlobalSettings.cpp */, 5CEABA2A2333247700797797 /* LegacyGlobalSettings.h */, 31607F3819627002009B87DA /* LegacySessionStateCoding.h */, -@@ -13850,6 +13905,7 @@ +@@ -13940,6 +13995,7 @@ 1A0C227D2451130A00ED614D /* QuickLookThumbnailingSoftLink.mm */, 1AEE57232409F142002005D6 /* QuickLookThumbnailLoader.h */, 1AEE57242409F142002005D6 /* QuickLookThumbnailLoader.mm */, @@ -20169,7 +20120,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 5CCB54DC2A4FEA6A0005FAA8 /* RemotePageDrawingAreaProxy.cpp */, 5CCB54DB2A4FEA6A0005FAA8 /* RemotePageDrawingAreaProxy.h */, 5C907E9A294D507100B3402D /* RemotePageProxy.cpp */, -@@ -13955,6 +14011,8 @@ +@@ -14045,6 +14101,8 @@ BC7B6204129A0A6700D174A4 /* WebPageGroup.h */, 2D9EA3101A96D9EB002D2807 /* WebPageInjectedBundleClient.cpp */, 2D9EA30E1A96CBFF002D2807 /* WebPageInjectedBundleClient.h */, @@ -20178,7 +20129,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 BC111B0B112F5E4F00337BAB /* WebPageProxy.cpp */, BC032DCB10F4389F0058C15A /* WebPageProxy.h */, BCBD38FA125BAB9A00D2C29F /* WebPageProxy.messages.in */, -@@ -14117,6 +14175,7 @@ +@@ -14209,6 +14267,7 @@ BC646C1911DD399F006455B0 /* WKBackForwardListItemRef.h */, BC646C1611DD399F006455B0 /* WKBackForwardListRef.cpp */, BC646C1711DD399F006455B0 /* WKBackForwardListRef.h */, @@ -20186,7 +20137,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 BCB9E24A1120E15C00A137E0 /* WKContext.cpp */, BCB9E2491120E15C00A137E0 /* WKContext.h */, 1AE52F9319201F6B00A1FA37 /* WKContextConfigurationRef.cpp */, -@@ -14700,6 +14759,9 @@ +@@ -14792,6 +14851,9 @@ 7AFA6F682A9F57C50055322A /* DisplayLinkMac.cpp */, 31ABA79C215AF9E000C90E31 /* HighPerformanceGPUManager.h */, 31ABA79D215AF9E000C90E31 /* HighPerformanceGPUManager.mm */, @@ -20196,7 +20147,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 1AFDE65B1954E8D500C48FFA /* LegacySessionStateCoding.cpp */, 0FCB4E5818BBE3D9000FCFC9 /* PageClientImplMac.h */, 0FCB4E5918BBE3D9000FCFC9 /* PageClientImplMac.mm */, -@@ -14723,6 +14785,8 @@ +@@ -14815,6 +14877,8 @@ E568B92120A3AC6A00E3C856 /* WebDataListSuggestionsDropdownMac.mm */, E55CD20124D09F1F0042DB9C /* WebDateTimePickerMac.h */, E55CD20224D09F1F0042DB9C /* WebDateTimePickerMac.mm */, @@ -20205,7 +20156,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 BC857E8512B71EBB00EDEB2E /* WebPageProxyMac.mm */, BC5750951268F3C6006F0F12 /* WebPopupMenuProxyMac.h */, BC5750961268F3C6006F0F12 /* WebPopupMenuProxyMac.mm */, -@@ -15726,6 +15790,7 @@ +@@ -15820,6 +15884,7 @@ 99788ACB1F421DDA00C08000 /* _WKAutomationSessionConfiguration.h in Headers */, 990D28AC1C6420CF00986977 /* _WKAutomationSessionDelegate.h in Headers */, 990D28B11C65208D00986977 /* _WKAutomationSessionInternal.h in Headers */, @@ -20213,7 +20164,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 5C4609E7224317B4009943C2 /* _WKContentRuleListAction.h in Headers */, 5C4609E8224317BB009943C2 /* _WKContentRuleListActionInternal.h in Headers */, 1A5704F81BE01FF400874AF1 /* _WKContextMenuElementInfo.h in Headers */, -@@ -16029,6 +16094,7 @@ +@@ -16129,6 +16194,7 @@ E170876C16D6CA6900F99226 /* BlobRegistryProxy.h in Headers */, 4F601432155C5AA2001FBDE0 /* BlockingResponseMap.h in Headers */, 1A5705111BE410E600874AF1 /* BlockSPI.h in Headers */, @@ -20221,7 +20172,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 A7E69BCC2B2117A100D43D3F /* BufferAndBackendInfo.h in Headers */, BC3065FA1259344E00E71278 /* CacheModel.h in Headers */, 935BF7FC2936BF1A00B41326 /* CacheStorageCache.h in Headers */, -@@ -16208,7 +16274,11 @@ +@@ -16309,7 +16375,11 @@ BC14DF77120B5B7900826C0C /* InjectedBundleScriptWorld.h in Headers */, CE550E152283752200D28791 /* InsertTextOptions.h in Headers */, 9197940523DBC4BB00257892 /* InspectorBrowserAgent.h in Headers */, @@ -20233,7 +20184,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 A5E391FD2183C1F800C8FB31 /* InspectorTargetProxy.h in Headers */, C5BCE5DF1C50766A00CDE3FA /* InteractionInformationAtPosition.h in Headers */, 2D4D2C811DF60BF3002EB10C /* InteractionInformationRequest.h in Headers */, -@@ -16464,6 +16534,7 @@ +@@ -16567,6 +16637,7 @@ CDAC20C923FC2F750021DEE3 /* RemoteCDMInstanceSessionIdentifier.h in Headers */, F451C0FE2703B263002BA03B /* RemoteDisplayListRecorderProxy.h in Headers */, A78A5FE42B0EB39E005036D3 /* RemoteImageBufferSetIdentifier.h in Headers */, @@ -20241,7 +20192,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 2D47B56D1810714E003A3AEE /* RemoteLayerBackingStore.h in Headers */, 2DDF731518E95060004F5A66 /* RemoteLayerBackingStoreCollection.h in Headers */, 1AB16AEA164B3A8800290D62 /* RemoteLayerTreeContext.h in Headers */, -@@ -16519,6 +16590,7 @@ +@@ -16622,6 +16693,7 @@ E1E552C516AE065F004ED653 /* SandboxInitializationParameters.h in Headers */, E36FF00327F36FBD004BE21A /* SandboxStateVariables.h in Headers */, 7BAB111025DD02B3008FC479 /* ScopedActiveMessageReceiveQueue.h in Headers */, @@ -20249,7 +20200,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 463BB93A2B9D08D80098C5C3 /* ScriptMessageHandlerIdentifier.h in Headers */, E4D54D0421F1D72D007E3C36 /* ScrollingTreeFrameScrollingNodeRemoteIOS.h in Headers */, 0F931C1C18C5711900DBA7C3 /* ScrollingTreeOverflowScrollingNodeIOS.h in Headers */, -@@ -16868,6 +16940,8 @@ +@@ -16972,6 +17044,8 @@ 939EF87029D112EE00F23AEE /* WebPageInlines.h in Headers */, 9197940823DBC4CB00257892 /* WebPageInspectorAgentBase.h in Headers */, A513F5402154A5D700662841 /* WebPageInspectorController.h in Headers */, @@ -20258,7 +20209,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 A543E30C215C8A8D00279CD9 /* WebPageInspectorTarget.h in Headers */, A543E30D215C8A9000279CD9 /* WebPageInspectorTargetController.h in Headers */, A543E307215AD13700279CD9 /* WebPageInspectorTargetFrontendChannel.h in Headers */, -@@ -19161,6 +19235,8 @@ +@@ -19367,6 +19441,8 @@ 522F792928D50EBB0069B45B /* HidService.mm in Sources */, 2749F6442146561B008380BF /* InjectedBundleNodeHandle.cpp in Sources */, 2749F6452146561E008380BF /* InjectedBundleRangeHandle.cpp in Sources */, @@ -20267,7 +20218,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 1CC94E532AC92F190045F269 /* JSWebExtensionAPIAction.mm in Sources */, 1C2B4D4B2A819D0D00C528A1 /* JSWebExtensionAPIAlarms.mm in Sources */, 1C8ECFEA2AFC7DCB007BAA62 /* JSWebExtensionAPICommands.mm in Sources */, -@@ -19600,6 +19676,8 @@ +@@ -19807,6 +19883,8 @@ E3816B3D27E2463A005EAFC0 /* WebMockContentFilterManager.cpp in Sources */, 31BA924D148831260062EDB5 /* WebNotificationManagerMessageReceiver.cpp in Sources */, 2DF6FE52212E110900469030 /* WebPage.cpp in Sources */, @@ -20277,7 +20228,7 @@ index 399ee15035d02439fd905dcfef995b15c367cbc0..3119ffb671cb9518ec080b3b78a08f51 BCBD3914125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp in Sources */, 7CE9CE101FA0767A000177DE /* WebPageUpdatePreferences.cpp in Sources */, diff --git a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp -index 610dc831f72e672abd8ebd1ad9dfdf77ca94a727..e297bd173390d9ae50fded54d3ff9b35995a4b59 100644 +index 0ab7a191b4d1b35579666f381f87d8a3995e3501..bfd50e5c4f82ad02d9a96afb9a297450257bd2fb 100644 --- a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp +++ b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp @@ -229,6 +229,11 @@ void WebLoaderStrategy::scheduleLoad(ResourceLoader& resourceLoader, CachedResou @@ -20337,7 +20288,7 @@ index 610dc831f72e672abd8ebd1ad9dfdf77ca94a727..e297bd173390d9ae50fded54d3ff9b35 loadParameters.isMainFrameNavigation = isMainFrameNavigation; if (loadParameters.isMainFrameNavigation && document) -@@ -525,12 +527,24 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -525,6 +527,17 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL } ASSERT((loadParameters.webPageID && loadParameters.webFrameID) || loadParameters.clientCredentialPolicy == ClientCredentialPolicy::CannotAskClientForCredentials); @@ -20355,14 +20306,7 @@ index 610dc831f72e672abd8ebd1ad9dfdf77ca94a727..e297bd173390d9ae50fded54d3ff9b35 std::optional existingNetworkResourceLoadIdentifierToResume; if (loadParameters.isMainFrameNavigation) - existingNetworkResourceLoadIdentifierToResume = std::exchange(m_existingNetworkResourceLoadIdentifierToResume, std::nullopt); - WEBLOADERSTRATEGY_RELEASE_LOG("scheduleLoad: Resource is being scheduled with the NetworkProcess (priority=%d, existingNetworkResourceLoadIdentifierToResume=%" PRIu64 ")", static_cast(resourceLoader.request().priority()), valueOrDefault(existingNetworkResourceLoadIdentifierToResume).toUInt64()); - -+ auto* frame = resourceLoader.frame(); - if (frame && !frame->settings().siteIsolationEnabled() && !WebProcess::singleton().allowsFirstPartyForCookies(loadParameters.request.firstPartyForCookies())) - RELEASE_LOG_FAULT(IPC, "scheduleLoad: Process will terminate due to failed allowsFirstPartyForCookies check"); - -@@ -543,7 +557,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -540,7 +553,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL } auto loader = WebResourceLoader::create(resourceLoader, trackingParameters); @@ -20371,7 +20315,7 @@ index 610dc831f72e672abd8ebd1ad9dfdf77ca94a727..e297bd173390d9ae50fded54d3ff9b35 } void WebLoaderStrategy::scheduleInternallyFailedLoad(WebCore::ResourceLoader& resourceLoader) -@@ -953,7 +967,7 @@ void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier +@@ -950,7 +963,7 @@ void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier bool WebLoaderStrategy::isOnLine() const { @@ -20380,7 +20324,7 @@ index 610dc831f72e672abd8ebd1ad9dfdf77ca94a727..e297bd173390d9ae50fded54d3ff9b35 } void WebLoaderStrategy::addOnlineStateChangeListener(Function&& listener) -@@ -980,6 +994,11 @@ void WebLoaderStrategy::isResourceLoadFinished(CachedResource& resource, Complet +@@ -977,6 +990,11 @@ void WebLoaderStrategy::isResourceLoadFinished(CachedResource& resource, Complet void WebLoaderStrategy::setOnLineState(bool isOnLine) { @@ -20392,7 +20336,7 @@ index 610dc831f72e672abd8ebd1ad9dfdf77ca94a727..e297bd173390d9ae50fded54d3ff9b35 if (m_isOnLine == isOnLine) return; -@@ -988,6 +1007,12 @@ void WebLoaderStrategy::setOnLineState(bool isOnLine) +@@ -985,6 +1003,12 @@ void WebLoaderStrategy::setOnLineState(bool isOnLine) listener(isOnLine); } @@ -20436,10 +20380,10 @@ index 3ef86cc236b8acee2fbe5d0b9c3fd755fcc9f06f..75951fc0fc5e4ef566582c0a49482793 } // namespace WebKit diff --git a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp -index e9bd84cf730f46d9e18a4f39e7050f7cc7343b5f..9998a2e3647373429ed1af6d97b5cd3e5ff59fe2 100644 +index ee6ed68f57ac7205087c7f0abe59fb56ee0fa012..9d81ae6dff0ab154a0665d6430be58affae6d820 100644 --- a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp +++ b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp -@@ -200,9 +200,6 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR +@@ -189,9 +189,6 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR } m_coreLoader->didReceiveResponse(inspectorResponse, [this, protectedThis = WTFMove(protectedThis), interceptedRequestIdentifier, policyDecisionCompletionHandler = WTFMove(policyDecisionCompletionHandler), overrideData = WTFMove(overrideData)]() mutable { @@ -20449,7 +20393,7 @@ index e9bd84cf730f46d9e18a4f39e7050f7cc7343b5f..9998a2e3647373429ed1af6d97b5cd3e if (!m_coreLoader || !m_coreLoader->identifier()) { m_interceptController.continueResponse(interceptedRequestIdentifier); return; -@@ -220,6 +217,8 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR +@@ -209,6 +206,8 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR } }); }); @@ -20472,7 +20416,7 @@ index ee9c3c4f48c328daaa015e2122235e51349bd999..5b3a4d3e742147195e0ff9e88176759d auto permissionHandlers = m_requestsPerOrigin.take(securityOrigin); diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp -index 14a6547ae278cd186805daf5f812d1070582aaf1..83a809d9a2ff7987ce8ecb4f2aed7f27009bf4d6 100644 +index 3fa53c3e4977dcc0b83d48091490c2261ed785e0..bef114c5988a88eaca305287471c55515fc22ff6 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp +++ b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp @@ -468,6 +468,8 @@ void WebChromeClient::addMessageToConsole(MessageSource source, MessageLevel lev @@ -20512,13 +20456,13 @@ index 2eb0886f13ed035a53b8eaa60605de4dfe53fbe3..0f6a539f00a42149c0f2b2237a9cbdd8 { } diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp -index 991213d7cb5c4790f563a8c09add8413a7f48b3c..275629aaff71d44397b58685b4c9ff0baf759f09 100644 +index 7b9b0348c1a3b606ad31b3fe2df3eedcb64cf233..97a6a56cc8427bd3eadfacc8fd5c4f15d5bfcdf7 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp +++ b/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp -@@ -1588,14 +1588,6 @@ void WebLocalFrameLoaderClient::transitionToCommittedForNewPage() +@@ -1592,14 +1592,6 @@ void WebLocalFrameLoaderClient::transitionToCommittedForNewPage(InitializingIfra - if (webPage->scrollPinningBehavior() != ScrollPinningBehavior::DoNotPin) - view->setScrollPinningBehavior(webPage->scrollPinningBehavior()); + if (initializingIframe == InitializingIframe::No) + webPage->scheduleFullEditorStateUpdate(); - -#if USE(COORDINATED_GRAPHICS) - if (shouldUseFixedLayout) { @@ -20725,10 +20669,10 @@ index 6780fb04b94241977df3396ffb77585f10faf035..db015c88e2b3413c9fde348779b62c90 void DrawingAreaCoordinatedGraphics::scheduleDisplay() diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp -index 33fe769ad9c94388e4038e5848b4c50087bf9cd3..9cff157e96cd005a43e9c64dcd83ddc35d5c1518 100644 +index d453fc33b2a366e4944b48c47bbe056d508124e7..4b58d67c55ebcde8598a1045cbc99202bf6f8feb 100644 --- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp +++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp -@@ -194,8 +194,16 @@ void LayerTreeHost::setViewOverlayRootLayer(GraphicsLayer* viewOverlayRootLayer) +@@ -193,8 +193,16 @@ void LayerTreeHost::setViewOverlayRootLayer(GraphicsLayer* viewOverlayRootLayer) void LayerTreeHost::scrollNonCompositedContents(const IntRect& rect) { auto* frameView = m_webPage.localMainFrameView(); @@ -20745,7 +20689,7 @@ index 33fe769ad9c94388e4038e5848b4c50087bf9cd3..9cff157e96cd005a43e9c64dcd83ddc3 m_viewportController.didScroll(rect.location()); didChangeViewport(); -@@ -274,6 +282,7 @@ GraphicsLayerFactory* LayerTreeHost::graphicsLayerFactory() +@@ -273,6 +281,7 @@ GraphicsLayerFactory* LayerTreeHost::graphicsLayerFactory() void LayerTreeHost::contentsSizeChanged(const IntSize& newSize) { m_viewportController.didChangeContentsSize(newSize); @@ -20753,7 +20697,7 @@ index 33fe769ad9c94388e4038e5848b4c50087bf9cd3..9cff157e96cd005a43e9c64dcd83ddc3 } void LayerTreeHost::didChangeViewportAttributes(ViewportAttributes&& attr) -@@ -313,6 +322,10 @@ void LayerTreeHost::didChangeViewport() +@@ -312,6 +321,10 @@ void LayerTreeHost::didChangeViewport() if (!view->useFixedLayout()) view->notifyScrollPositionChanged(m_lastScrollPosition); @@ -20861,10 +20805,10 @@ index b6e5283f51db82b60091320df44ef0bbf20c33c6..0d82fbb98b93e760cecf5fa7a41327d0 WebCookieJar(); diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c20996a5049e 100644 +index 36ca16c66c74db2f7d4b2a4938e7714b5ef49ca1..821029c298841fc1408f80579d43ec7c8d54faad 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp +++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -@@ -1024,6 +1024,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) +@@ -1034,6 +1034,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) #endif #endif // HAVE(SANDBOX_STATE_FLAGS) @@ -20874,7 +20818,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 updateThrottleState(); #if ENABLE(ACCESSIBILITY_ANIMATION_CONTROL) updateImageAnimationEnabled(); -@@ -1991,6 +1994,22 @@ void WebPage::transitionFrameToLocal(LocalFrameCreationParameters&& creationPara +@@ -2007,6 +2010,22 @@ void WebPage::transitionFrameToLocal(LocalFrameCreationParameters&& creationPara frame->transitionToLocal(creationParameters.layerHostingContextIdentifier); } @@ -20897,7 +20841,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 void WebPage::loadRequest(LoadParameters&& loadParameters) { WEBPAGE_RELEASE_LOG(Loading, "loadRequest: navigationID=%" PRIu64 ", shouldTreatAsContinuingLoad=%u, lastNavigationWasAppInitiated=%d, existingNetworkResourceLoadIdentifierToResume=%" PRIu64, loadParameters.navigationID, static_cast(loadParameters.shouldTreatAsContinuingLoad), loadParameters.request.isAppInitiated(), valueOrDefault(loadParameters.existingNetworkResourceLoadIdentifierToResume).toUInt64()); -@@ -2270,17 +2289,14 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) +@@ -2283,17 +2302,14 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) view->resize(viewSize); m_drawingArea->setNeedsDisplay(); @@ -20915,7 +20859,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArguments) { RefPtr localMainFrame = dynamicDowncast(m_page->mainFrame()); -@@ -2305,20 +2321,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -2318,20 +2334,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg ViewportAttributes attr = computeViewportAttributes(viewportArguments, minimumLayoutFallbackWidth, deviceWidth, deviceHeight, 1, m_viewSize); @@ -20943,7 +20887,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 #if USE(COORDINATED_GRAPHICS) m_drawingArea->didChangeViewportAttributes(WTFMove(attr)); -@@ -2326,7 +2340,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -2339,7 +2353,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg send(Messages::WebPageProxy::DidChangeViewportProperties(attr)); #endif } @@ -20951,7 +20895,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 void WebPage::scrollMainFrameIfNotAtMaxScrollPosition(const IntSize& scrollOffset) { -@@ -2619,6 +2632,7 @@ void WebPage::scaleView(double scale) +@@ -2640,6 +2653,7 @@ void WebPage::scaleView(double scale) } m_page->setViewScaleFactor(scale); @@ -20959,7 +20903,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 scalePage(pageScale, scrollPositionAtNewScale); } -@@ -2798,18 +2812,14 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum +@@ -2819,18 +2833,14 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum viewportConfigurationChanged(); #endif @@ -20979,7 +20923,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 } #if !PLATFORM(IOS_FAMILY) -@@ -3809,6 +3819,97 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent, CompletionHandlersendMessageToTargetBackend(targetId, message); } @@ -21089,7 +21033,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 void WebPage::insertNewlineInQuotedContent() { RefPtr frame = m_page->checkedFocusController()->focusedOrMainFrame(); -@@ -4129,6 +4235,7 @@ void WebPage::didCompletePageTransition() +@@ -4150,6 +4256,7 @@ void WebPage::didCompletePageTransition() void WebPage::show() { send(Messages::WebPageProxy::ShowPage()); @@ -21097,7 +21041,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 } void WebPage::setIsTakingSnapshotsForApplicationSuspension(bool isTakingSnapshotsForApplicationSuspension) -@@ -5224,7 +5331,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana +@@ -5249,7 +5356,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana #if ENABLE(DRAG_SUPPORT) @@ -21106,7 +21050,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 void WebPage::performDragControllerAction(DragControllerAction action, const IntPoint& clientPosition, const IntPoint& globalPosition, OptionSet draggingSourceOperationMask, SelectionData&& selectionData, OptionSet flags, CompletionHandler, DragHandlingMethod, bool, unsigned, IntRect, IntRect, std::optional)>&& completionHandler) { if (!m_page) -@@ -7552,6 +7659,10 @@ void WebPage::didCommitLoad(WebFrame* frame) +@@ -7586,6 +7693,10 @@ void WebPage::didCommitLoad(WebFrame* frame) #endif flushDeferredDidReceiveMouseEvent(); @@ -21117,7 +21061,7 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 } void WebPage::didFinishDocumentLoad(WebFrame& frame) -@@ -7792,6 +7903,9 @@ Ref WebPage::createDocumentLoader(LocalFrame& frame, const Resou +@@ -7850,6 +7961,9 @@ Ref WebPage::createDocumentLoader(LocalFrame& frame, const Resou WebsitePoliciesData::applyToDocumentLoader(WTFMove(*m_pendingWebsitePolicies), documentLoader); m_pendingWebsitePolicies = std::nullopt; } @@ -21128,18 +21072,18 @@ index da971ba778c6e8c0397c255b60a33c76d4124056..ebfb82b8ec31cb78a9f13b6da929c209 return documentLoader; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h -index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e2261b5b7 100644 +index a8d232fda1bf1dc7a9b3e866b3cbfb2952b26eef..b048960902cdd660209be177b4ecbe7719c74f8d 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.h +++ b/Source/WebKit/WebProcess/WebPage/WebPage.h -@@ -69,6 +69,7 @@ - #include +@@ -70,6 +70,7 @@ #include #include + #include +#include #include #include #include -@@ -110,6 +111,10 @@ +@@ -112,6 +113,10 @@ #include "WebPrintOperationGtk.h" #endif @@ -21150,7 +21094,7 @@ index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e #if PLATFORM(GTK) || PLATFORM(WPE) #include "InputMethodState.h" #endif -@@ -1135,11 +1140,11 @@ public: +@@ -1145,11 +1150,11 @@ public: void clearSelection(); void restoreSelectionInFocusedEditableElement(); @@ -21164,7 +21108,7 @@ index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e void performDragControllerAction(std::optional, DragControllerAction, WebCore::DragData&&, CompletionHandler, WebCore::DragHandlingMethod, bool, unsigned, WebCore::IntRect, WebCore::IntRect, std::optional)>&&); void performDragOperation(WebCore::DragData&&, SandboxExtension::Handle&&, Vector&&, CompletionHandler&&); #endif -@@ -1154,6 +1159,9 @@ public: +@@ -1164,6 +1169,9 @@ public: void didStartDrag(); void dragCancelled(); OptionSet allowedDragSourceActions() const { return m_allowedDragSourceActions; } @@ -21174,7 +21118,7 @@ index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e #endif void beginPrinting(WebCore::FrameIdentifier, const PrintInfo&); -@@ -1377,6 +1385,7 @@ public: +@@ -1387,6 +1395,7 @@ public: void connectInspector(const String& targetId, Inspector::FrontendChannel::ConnectionType); void disconnectInspector(const String& targetId); void sendMessageToTargetBackend(const String& targetId, const String& message); @@ -21182,7 +21126,7 @@ index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e void insertNewlineInQuotedContent(); -@@ -1834,6 +1843,7 @@ private: +@@ -1863,6 +1872,7 @@ private: void tryClose(CompletionHandler&&); void platformDidReceiveLoadParameters(const LoadParameters&); void transitionFrameToLocal(LocalFrameCreationParameters&&, WebCore::FrameIdentifier); @@ -21190,7 +21134,7 @@ index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e void loadRequest(LoadParameters&&); [[noreturn]] void loadRequestWaitingForProcessLaunch(LoadParameters&&, URL&&, WebPageProxyIdentifier, bool); void loadData(LoadParameters&&); -@@ -1873,6 +1883,7 @@ private: +@@ -1902,6 +1912,7 @@ private: void updatePotentialTapSecurityOrigin(const WebTouchEvent&, bool wasHandled); #elif ENABLE(TOUCH_EVENTS) void touchEvent(const WebTouchEvent&, CompletionHandler, bool)>&&); @@ -21198,7 +21142,7 @@ index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e #endif void cancelPointer(WebCore::PointerID, const WebCore::IntPoint&); -@@ -2017,9 +2028,7 @@ private: +@@ -2046,9 +2057,7 @@ private: void addLayerForFindOverlay(CompletionHandler&&); void removeLayerForFindOverlay(CompletionHandler&&); @@ -21208,7 +21152,7 @@ index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e void didChangeSelectedIndexForActivePopupMenu(int32_t newIndex); void setTextForActivePopupMenu(int32_t index); -@@ -2603,6 +2612,7 @@ private: +@@ -2649,6 +2658,7 @@ private: UserActivity m_userActivity; uint64_t m_pendingNavigationID { 0 }; @@ -21217,10 +21161,10 @@ index d122b26429823b3dfc9a215977174a1348a19fd0..6b154a312bedd764f78d32aba8c4452e bool m_mainFrameProgressCompleted { false }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in -index 3b1d4404bd28adadb01c27d39a335cf5519b83f3..7fcdf4d0ac653c249938974105707a21a899b942 100644 +index b67b771976b46970925529207e0153bc5637c533..7fc087a6d9769664347d62776d744287ec39c3a3 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in +++ b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in -@@ -149,6 +149,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType +@@ -147,6 +147,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType ConnectInspector(String targetId, Inspector::FrontendChannel::ConnectionType connectionType) DisconnectInspector(String targetId) SendMessageToTargetBackend(String targetId, String message) @@ -21228,7 +21172,7 @@ index 3b1d4404bd28adadb01c27d39a335cf5519b83f3..7fcdf4d0ac653c249938974105707a21 #if ENABLE(REMOTE_INSPECTOR) SetIndicating(bool indicating); -@@ -159,6 +160,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType +@@ -157,6 +158,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType #endif #if !ENABLE(IOS_TOUCH_EVENTS) && ENABLE(TOUCH_EVENTS) TouchEvent(WebKit::WebTouchEvent event) -> (std::optional eventType, bool handled) @@ -21236,7 +21180,7 @@ index 3b1d4404bd28adadb01c27d39a335cf5519b83f3..7fcdf4d0ac653c249938974105707a21 #endif CancelPointer(WebCore::PointerID pointerId, WebCore::IntPoint documentPoint) -@@ -190,6 +192,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType +@@ -188,6 +190,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType LoadDataInFrame(std::span data, String MIMEType, String encodingName, URL baseURL, WebCore::FrameIdentifier frameID) LoadRequest(struct WebKit::LoadParameters loadParameters) TransitionFrameToLocal(struct WebKit::LocalFrameCreationParameters creationParameters, WebCore::FrameIdentifier frameID) @@ -21244,8 +21188,8 @@ index 3b1d4404bd28adadb01c27d39a335cf5519b83f3..7fcdf4d0ac653c249938974105707a21 LoadRequestWaitingForProcessLaunch(struct WebKit::LoadParameters loadParameters, URL resourceDirectoryURL, WebKit::WebPageProxyIdentifier pageID, bool checkAssumedReadAccessToResourceURL) LoadData(struct WebKit::LoadParameters loadParameters) LoadSimulatedRequestAndResponse(struct WebKit::LoadParameters loadParameters, WebCore::ResourceResponse simulatedResponse) -@@ -357,10 +360,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType - AddMIMETypeWithCustomContentProvider(String mimeType) +@@ -353,10 +356,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType + RemoveLayerForFindOverlay() -> () # Drag and drop. -#if PLATFORM(GTK) && ENABLE(DRAG_SUPPORT) @@ -21257,7 +21201,7 @@ index 3b1d4404bd28adadb01c27d39a335cf5519b83f3..7fcdf4d0ac653c249938974105707a21 PerformDragControllerAction(std::optional frameID, enum:uint8_t WebKit::DragControllerAction action, WebCore::DragData dragData) -> (std::optional dragOperation, enum:uint8_t WebCore::DragHandlingMethod dragHandlingMethod, bool mouseIsOverFileInput, unsigned numberOfItemsToBeAccepted, WebCore::IntRect insertionRect, WebCore::IntRect editableElementRect, struct std::optional remoteUserInputEventData) PerformDragOperation(WebCore::DragData dragData, WebKit::SandboxExtensionHandle sandboxExtensionHandle, Vector sandboxExtensionsForUpload) -> (bool handled) #endif -@@ -370,6 +373,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType +@@ -366,6 +369,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType DragCancelled() #endif @@ -21269,7 +21213,7 @@ index 3b1d4404bd28adadb01c27d39a335cf5519b83f3..7fcdf4d0ac653c249938974105707a21 RequestDragStart(WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, OptionSet allowedActionsMask) RequestAdditionalItemsForDragSession(WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, OptionSet allowedActionsMask) diff --git a/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm b/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm -index fbc94ccff0a00b9b827c5f6fd22735ee3ff3eab7..380bafd4d7decd8dbefe14dd1780a4f1bf664ba3 100644 +index 46b5327ff8777f3dce83ecf37219ad08321e8462..364d1010f0356a37d3f3b07d7fde187973028857 100644 --- a/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm +++ b/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm @@ -800,21 +800,37 @@ String WebPage::platformUserAgent(const URL&) const @@ -21361,7 +21305,7 @@ index f17f5d719d892309ed9c7093384945866b5117b9..1dba47bbf0dbd0362548423a74b38034 } diff --git a/Source/WebKit/WebProcess/WebProcess.cpp b/Source/WebKit/WebProcess/WebProcess.cpp -index 3ad4794de88f16fb0b90c004654782e80b1d0b1e..ef49378d65ea56b10f30ecf8d6817dffc35acb01 100644 +index 4b52cd3a81eceb55531d48d4e4a54dc7d62b4d32..e3427d76d44a9bf148f4f9dca7ed7d7b58319b53 100644 --- a/Source/WebKit/WebProcess/WebProcess.cpp +++ b/Source/WebKit/WebProcess/WebProcess.cpp @@ -88,6 +88,7 @@ @@ -21372,7 +21316,7 @@ index 3ad4794de88f16fb0b90c004654782e80b1d0b1e..ef49378d65ea56b10f30ecf8d6817dff #include #include #include -@@ -373,6 +374,8 @@ void WebProcess::initializeProcess(const AuxiliaryProcessInitializationParameter +@@ -365,6 +366,8 @@ void WebProcess::initializeProcess(const AuxiliaryProcessInitializationParameter platformInitializeProcess(parameters); updateCPULimit(); @@ -21397,7 +21341,7 @@ index 8987c3964a9308f2454759de7f8972215a3ae416..bcac0afeb94ed8123d1f9fb0b932c849 SetProcessDPIAware(); return true; diff --git a/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm b/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm -index 79b45534f7468cddc04a9021623799bf1052a7f9..d8efaabf72c725ca3a7247bc8475d90a9cecdd50 100644 +index 1ef662de86f8b92a7a5c6414df2dac6dbb3882f0..793785e12f96fe52193e8c27ec8b015521e06390 100644 --- a/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm +++ b/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm @@ -4214,7 +4214,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END @@ -21410,10 +21354,10 @@ index 79b45534f7468cddc04a9021623799bf1052a7f9..d8efaabf72c725ca3a7247bc8475d90a - (void)touch:(WebEvent *)event { diff --git a/Source/WebKitLegacy/mac/WebView/WebView.mm b/Source/WebKitLegacy/mac/WebView/WebView.mm -index 1e9502677b2434c8f0e7c8ae395d4c1e148cf9d7..0da8e737d05031413b12803eb62041a7f571d26b 100644 +index c892fdcdb2834ab3d93a4a0575b712c848b662c0..0e817f6ac6cf4e0bc04e1acd178ef976105d9b16 100644 --- a/Source/WebKitLegacy/mac/WebView/WebView.mm +++ b/Source/WebKitLegacy/mac/WebView/WebView.mm -@@ -3974,7 +3974,7 @@ + (void)_doNotStartObservingNetworkReachability +@@ -3979,7 +3979,7 @@ + (void)_doNotStartObservingNetworkReachability } #endif // PLATFORM(IOS_FAMILY) @@ -21422,7 +21366,7 @@ index 1e9502677b2434c8f0e7c8ae395d4c1e148cf9d7..0da8e737d05031413b12803eb62041a7 - (NSArray *)_touchEventRegions { -@@ -4016,7 +4016,7 @@ - (NSArray *)_touchEventRegions +@@ -4021,7 +4021,7 @@ - (NSArray *)_touchEventRegions }).autorelease(); } @@ -21463,7 +21407,7 @@ index 0000000000000000000000000000000000000000..dd6a53e2d57318489b7e49dd7373706d + LIBVPX_LIBRARIES +) diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index 6bf415090c55f84b887319aff5316e3538e78ca8..2aaba526ca8ccb39b7457821e7332cc775f8b715 100644 +index 31085c5a7f8d4e1680887ff9f20de2d421256a62..d1374f5f68f26d166d9a6e4f1ae9a23dd9151e13 100644 --- a/Source/cmake/OptionsGTK.cmake +++ b/Source/cmake/OptionsGTK.cmake @@ -11,8 +11,13 @@ if (${CMAKE_VERSION} VERSION_LESS "3.20" AND NOT ${CMAKE_GENERATOR} STREQUAL "Ni @@ -21489,9 +21433,9 @@ index 6bf415090c55f84b887319aff5316e3538e78ca8..2aaba526ca8ccb39b7457821e7332cc7 +# Playwright end + include(GStreamerDefinitions) + include(FindGLibCompileResources) - SET_AND_EXPOSE_TO_BUILD(USE_GCRYPT TRUE) -@@ -87,14 +96,14 @@ endif () +@@ -88,14 +97,14 @@ endif () # without approval from a GTK reviewer. There must be strong reason to support # changing the value of the option. WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PUBLIC ON) @@ -21509,16 +21453,16 @@ index 6bf415090c55f84b887319aff5316e3538e78ca8..2aaba526ca8ccb39b7457821e7332cc7 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_LCMS PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_JPEGXL PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_WOFF2 PUBLIC ON) -@@ -120,7 +129,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_MONTH PRIVATE ON) +@@ -119,7 +128,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATETIMELOCAL PRIVATE ON) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_MONTH PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_WEEK PRIVATE ON) - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYER_BASED_SVG_ENGINE PRIVATE ON) -WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_RECORDER PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_RECORDER PRIVATE OFF) - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION_PLAYLIST PRIVATE OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ON) -@@ -132,7 +141,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION P +@@ -131,7 +140,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION P WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_STALE_WHILE_REVALIDATE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS_IN_WORKERS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21527,7 +21471,7 @@ index 6bf415090c55f84b887319aff5316e3538e78ca8..2aaba526ca8ccb39b7457821e7332cc7 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PERIODIC_MEMORY_MONITOR PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON) -@@ -142,6 +151,14 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON) +@@ -141,6 +150,14 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CODECS PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21543,7 +21487,7 @@ index 6bf415090c55f84b887319aff5316e3538e78ca8..2aaba526ca8ccb39b7457821e7332cc7 # Finalize the value for all options. Do not attempt to use an option before diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake -index 7ca4dbcaa45ad799539f96a19377ca2b7023a921..770d7fbc68bec3112c530f47edabb48492d7ca37 100644 +index e0c8dc92717c31173b6848b9f04856276125fb9d..24bbbae0654cded5197e6a4ce13246f71f5d5590 100644 --- a/Source/cmake/OptionsWPE.cmake +++ b/Source/cmake/OptionsWPE.cmake @@ -9,6 +9,8 @@ if (${CMAKE_VERSION} VERSION_LESS "3.20" AND NOT ${CMAKE_GENERATOR} STREQUAL "Ni @@ -21554,8 +21498,8 @@ index 7ca4dbcaa45ad799539f96a19377ca2b7023a921..770d7fbc68bec3112c530f47edabb484 + set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") - find_package(ATK 2.16.0 REQUIRED) -@@ -29,6 +31,9 @@ find_package(WebP REQUIRED COMPONENTS demux) + find_package(HarfBuzz 1.4.2 REQUIRED COMPONENTS ICU) +@@ -27,6 +29,9 @@ find_package(WebP REQUIRED COMPONENTS demux) find_package(WPE REQUIRED) find_package(ZLIB REQUIRED) @@ -21565,7 +21509,7 @@ index 7ca4dbcaa45ad799539f96a19377ca2b7023a921..770d7fbc68bec3112c530f47edabb484 WEBKIT_OPTION_BEGIN() SET_AND_EXPOSE_TO_BUILD(ENABLE_DEVELOPER_MODE ${DEVELOPER_MODE}) -@@ -39,11 +44,11 @@ include(GStreamerDefinitions) +@@ -38,11 +43,11 @@ include(FindGLibCompileResources) # without approval from a WPE reviewer. There must be strong reason to support # changing the value of the option. WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ENCRYPTED_MEDIA PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21579,16 +21523,16 @@ index 7ca4dbcaa45ad799539f96a19377ca2b7023a921..770d7fbc68bec3112c530f47edabb484 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_LCMS PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_JPEGXL PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_WOFF2 PUBLIC ON) -@@ -61,7 +66,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTPDIR PRIVATE OFF) +@@ -58,7 +63,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DARK_MODE_CSS PRIVATE ON) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTPDIR PRIVATE OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GPU_PROCESS PRIVATE OFF) - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYER_BASED_SVG_ENGINE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS PRIVATE ON) -WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_RECORDER PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_RECORDER PRIVATE OFF) - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION_PLAYLIST PRIVATE OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ON) -@@ -75,7 +80,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS_IN_WORKERS PRIVATE ${EN +@@ -72,7 +77,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS_IN_WORKERS PRIVATE ${EN WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PERIODIC_MEMORY_MONITOR PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21597,7 +21541,7 @@ index 7ca4dbcaa45ad799539f96a19377ca2b7023a921..770d7fbc68bec3112c530f47edabb484 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VARIATION_FONTS PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CODECS PRIVATE ON) -@@ -86,6 +91,23 @@ if (WPE_VERSION VERSION_GREATER_EQUAL 1.13.90) +@@ -83,6 +88,23 @@ if (WPE_VERSION VERSION_GREATER_EQUAL 1.13.90) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD PUBLIC ON) endif () @@ -21621,17 +21565,17 @@ index 7ca4dbcaa45ad799539f96a19377ca2b7023a921..770d7fbc68bec3112c530f47edabb484 # Public options specific to the WPE port. Do not add any options here unless # there is a strong reason we should support changing the value of the option, # and the option is not relevant to other WebKit ports. -@@ -95,7 +117,7 @@ WEBKIT_OPTION_DEFINE(ENABLE_JOURNALD_LOG "Whether to enable journald logging" PU +@@ -92,7 +114,7 @@ WEBKIT_OPTION_DEFINE(ENABLE_JOURNALD_LOG "Whether to enable journald logging" PU WEBKIT_OPTION_DEFINE(ENABLE_WPE_PLATFORM_DRM "Whether to enable support for DRM platform" PUBLIC ON) WEBKIT_OPTION_DEFINE(ENABLE_WPE_PLATFORM_HEADLESS "Whether to enable support for headless platform" PUBLIC ON) WEBKIT_OPTION_DEFINE(ENABLE_WPE_PLATFORM_WAYLAND "Whether to enable support for Wayland platform" PUBLIC ON) -WEBKIT_OPTION_DEFINE(ENABLE_WPE_QT_API "Whether to enable support for the Qt5/QML plugin" PUBLIC ${ENABLE_DEVELOPER_MODE}) +WEBKIT_OPTION_DEFINE(ENABLE_WPE_QT_API "Whether to enable support for the Qt5/QML plugin" PUBLIC OFF) WEBKIT_OPTION_DEFINE(ENABLE_WPE_1_1_API "Whether to build WPE 1.1 instead of WPE 2.0" PUBLIC OFF) + WEBKIT_OPTION_DEFINE(USE_ATK "Whether to enable usage of ATK." PUBLIC ON) WEBKIT_OPTION_DEFINE(USE_GBM "Whether to enable usage of GBM." PUBLIC ON) - WEBKIT_OPTION_DEFINE(USE_LIBBACKTRACE "Whether to enable usage of libbacktrace." PUBLIC ON) diff --git a/Source/cmake/OptionsWin.cmake b/Source/cmake/OptionsWin.cmake -index e60d013125f60b32b7b9bca1847eb118cfb72406..5fca8f7c0a78e36144e28e1b1388dc1380f1bcf9 100644 +index 2ed9985c35980ba0fca09c2fc9ea5ab300b19b00..a5f773d071cb67025b16614a998bd09355061572 100644 --- a/Source/cmake/OptionsWin.cmake +++ b/Source/cmake/OptionsWin.cmake @@ -86,6 +86,29 @@ find_package(ZLIB 1.2.11 REQUIRED) @@ -21664,7 +21608,7 @@ index e60d013125f60b32b7b9bca1847eb118cfb72406..5fca8f7c0a78e36144e28e1b1388dc13 WEBKIT_OPTION_BEGIN() # FIXME: Most of these options should not be public. -@@ -163,6 +186,14 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTPDIR PRIVATE OFF) +@@ -159,6 +182,14 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTPDIR PRIVATE OFF) SET_AND_EXPOSE_TO_BUILD(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS ON) SET_AND_EXPOSE_TO_BUILD(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS ON) @@ -22008,10 +21952,10 @@ index 451e0333dd4e8f5d6313fa80c5027ef2661a61ac..7398af4772ed9a479b1632e38af2d4ee return exitAfterLoad && webProcessCrashed ? 1 : 0; diff --git a/Tools/MiniBrowser/wpe/main.cpp b/Tools/MiniBrowser/wpe/main.cpp -index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8ae9e35f4a 100644 +index 3c2476471ef67299da6312d0f995fc0738aa96c9..b13ab78bfe62c8c2cdd052e24255a780bbc2afa3 100644 --- a/Tools/MiniBrowser/wpe/main.cpp +++ b/Tools/MiniBrowser/wpe/main.cpp -@@ -42,6 +42,9 @@ static gboolean headlessMode; +@@ -45,6 +45,9 @@ static gboolean headlessMode; static gboolean privateMode; static gboolean automationMode; static gboolean ignoreTLSErrors; @@ -22021,7 +21965,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a static const char* contentFilter; static const char* cookiesFile; static const char* cookiesPolicy; -@@ -75,6 +78,9 @@ static const GOptionEntry commandLineOptions[] = +@@ -78,6 +81,9 @@ static const GOptionEntry commandLineOptions[] = { "use-wpe-platform-api", 0, 0, G_OPTION_ARG_NONE, &useWPEPlatformAPI, "Use the WPE platform API", nullptr }, #endif { "version", 'v', 0, G_OPTION_ARG_NONE, &printVersion, "Print the WPE version", nullptr }, @@ -22031,7 +21975,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a { G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &uriArguments, nullptr, "[URL]" }, { nullptr, 0, 0, G_OPTION_ARG_NONE, nullptr, nullptr, nullptr } }; -@@ -210,15 +216,38 @@ static void filterSavedCallback(WebKitUserContentFilterStore *store, GAsyncResul +@@ -220,15 +226,38 @@ static void filterSavedCallback(WebKitUserContentFilterStore *store, GAsyncResul g_main_loop_quit(data->mainLoop); } @@ -22072,7 +22016,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a { auto backend = createViewBackend(1280, 720); -@@ -234,18 +263,37 @@ static WebKitWebView* createWebView(WebKitWebView* webView, WebKitNavigationActi +@@ -244,18 +273,37 @@ static WebKitWebView* createWebView(WebKitWebView* webView, WebKitNavigationActi }, backend.release()); } @@ -22116,7 +22060,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a return newWebView; } -@@ -259,13 +307,89 @@ static WebKitFeature* findFeature(WebKitFeatureList* featureList, const char* id +@@ -269,13 +317,89 @@ static WebKitFeature* findFeature(WebKitFeatureList* featureList, const char* id return nullptr; } @@ -22207,7 +22151,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a webkit_network_session_set_itp_enabled(networkSession, enableITP); if (proxy) { -@@ -292,10 +416,18 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -302,10 +426,18 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* webkit_cookie_manager_set_persistent_storage(cookieManager, cookiesFile, storageType); } } @@ -22228,7 +22172,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a webkit_website_data_manager_set_itp_enabled(manager, enableITP); if (proxy) { -@@ -326,6 +458,7 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -336,6 +468,7 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* } #endif @@ -22236,7 +22180,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a WebKitUserContentManager* userContentManager = nullptr; if (contentFilter) { GFile* contentFilterFile = g_file_new_for_commandline_arg(contentFilter); -@@ -398,6 +531,15 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -408,6 +541,15 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* "autoplay", WEBKIT_AUTOPLAY_ALLOW, nullptr); @@ -22252,7 +22196,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a auto* webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, "backend", viewBackend, "web-context", webContext, -@@ -424,8 +566,6 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -436,8 +578,6 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* g_signal_connect(wpeView, "event", G_CALLBACK(wpeViewEventCallback), webView); #endif @@ -22261,7 +22205,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a webkit_web_context_set_automation_allowed(webContext, automationMode); g_signal_connect(webContext, "automation-started", G_CALLBACK(automationStartedCallback), webView); g_signal_connect(webView, "permission-request", G_CALLBACK(decidePermissionRequest), nullptr); -@@ -438,16 +578,9 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -450,16 +590,9 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* webkit_web_view_set_background_color(webView, &color); if (uriArguments) { @@ -22281,7 +22225,7 @@ index 630d96d01ca6175ef114ec07fbf9396af0a85b26..75d31fcf0507fcc1fc27696c956a3f8a webkit_web_view_load_uri(webView, "about:blank"); else webkit_web_view_load_uri(webView, "https://wpewebkit.org"); -@@ -521,8 +654,14 @@ int main(int argc, char *argv[]) +@@ -533,8 +666,14 @@ int main(int argc, char *argv[]) } } @@ -22309,7 +22253,7 @@ index 1067b31bc989748dfcc5502209d36d001b9b239e..7629263fb8bc93dca6dfc01c75eed8d2 + add_subdirectory(Playwright/win) +endif () diff --git a/Tools/Scripts/build-webkit b/Tools/Scripts/build-webkit -index 9d2c490729c07369eac8372885c7ff98bb3e5707..21cb415200240028360eb7492a64522c5913aec6 100755 +index 39c351abbdd7b1b7f7016c5fd071ec2ae59b4a42..dc804e1d5284b15da6fa0679932d6cca8ece499a 100755 --- a/Tools/Scripts/build-webkit +++ b/Tools/Scripts/build-webkit @@ -273,7 +273,7 @@ if (isAppleCocoaWebKit()) { @@ -22337,10 +22281,10 @@ index 9e53f459e444b9c10fc5248f0e8059df6c1e0041..c17c875a7dd3ca05c4489578ab32378b "${WebKitTestRunner_DIR}/InjectedBundle/Bindings/AccessibilityController.idl" "${WebKitTestRunner_DIR}/InjectedBundle/Bindings/AccessibilityTextMarker.idl" diff --git a/Tools/WebKitTestRunner/TestController.cpp b/Tools/WebKitTestRunner/TestController.cpp -index 4278aa9844a3a6bade0e3ea0ba5fc19792992afa..e27a870a70bbde031240f33ff6f29e01d9fcff1c 100644 +index 244cfc247fa50bf073ba523913543cab0c6f1b3b..d1cd4657f513d1be167f8d1176dc1217f57acbbd 100644 --- a/Tools/WebKitTestRunner/TestController.cpp +++ b/Tools/WebKitTestRunner/TestController.cpp -@@ -963,6 +963,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) +@@ -964,6 +964,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) 0, // requestStorageAccessConfirm shouldAllowDeviceOrientationAndMotionAccess, runWebAuthenticationPanel, @@ -22450,7 +22394,7 @@ index 1e2a9202f88c63afa6525d97d0f945438f5f2032..e6cdee08aff723eb5c6b16491051ca39 # These are dependencies necessary for running tests. cups-daemon diff --git a/Tools/gtk/jhbuild.modules b/Tools/gtk/jhbuild.modules -index 0bd2f996ba2641cbe4f4864b6fd8ce59204bae0a..b211f1bad06fab907de2bb592de843683c8af0fb 100644 +index 5453eb855928744d58e459f8a986535825dc29a0..b7d9568aef262d8e2825569b021ea0f5d0923ba0 100644 --- a/Tools/gtk/jhbuild.modules +++ b/Tools/gtk/jhbuild.modules @@ -252,10 +252,10 @@ @@ -22468,19 +22412,18 @@ index 0bd2f996ba2641cbe4f4864b6fd8ce59204bae0a..b211f1bad06fab907de2bb592de84368 diff --git a/Tools/jhbuild/jhbuild-minimal.modules b/Tools/jhbuild/jhbuild-minimal.modules -index 6c9e52c5c872d81e6e50ee44af9a3abae7750029..34b30f388341865a94f3fe26bf7feea9a17e2678 100644 +index fe58a444522de94d8f2a57c538a8e7bca93e5c74..78fd69a2a98cb0a826cba13f95c3f419b4376045 100644 --- a/Tools/jhbuild/jhbuild-minimal.modules +++ b/Tools/jhbuild/jhbuild-minimal.modules -@@ -24,7 +24,7 @@ - - - -- -+ +@@ -32,7 +32,6 @@ + - -@@ -120,10 +120,10 @@ +- + + + +@@ -132,10 +131,10 @@ @@ -22494,7 +22437,7 @@ index 6c9e52c5c872d81e6e50ee44af9a3abae7750029..34b30f388341865a94f3fe26bf7feea9 -@@ -219,6 +219,16 @@ +@@ -231,6 +230,16 @@ @@ -22512,10 +22455,10 @@ index 6c9e52c5c872d81e6e50ee44af9a3abae7750029..34b30f388341865a94f3fe26bf7feea9 + + - -@@ -101,10 +102,10 @@ +@@ -102,10 +103,10 @@ @@ -22599,7 +22542,7 @@ index 191d23b445c58ddbf0fb0eb416deea938f28e2aa..9f4e4897676b06e28925b0003bd1c6d2 -@@ -323,6 +324,16 @@ +@@ -334,6 +335,16 @@ hash="sha256:c625a83b4838befc8cafcd54e3619946515d9e44d63d61c4adf7f5513ddfbebf"/>