From 92b1b1604176ae77ad4a8b367868a3c11eb68f03 Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Thu, 22 Feb 2024 13:17:33 -0800 Subject: [PATCH] chore: update browser patches to Jan 9 2024 (#29623) Commit 337e0dbf2cb068a5a519b09fee1155509fb2dc1f --- browser_patches/firefox/UPSTREAM_CONFIG.sh | 2 +- browser_patches/firefox/juggler/Helper.js | 10 + .../firefox/juggler/NetworkObserver.js | 9 - .../firefox/juggler/TargetRegistry.js | 12 + .../firefox/juggler/content/PageAgent.js | 8 - .../firefox/juggler/content/main.js | 9 - .../juggler/protocol/BrowserHandler.js | 3 +- .../firefox/juggler/protocol/PageHandler.js | 9 +- .../firefox/patches/bootstrap.diff | 396 +++-- .../firefox/preferences/playwright.cfg | 5 +- browser_patches/webkit/UPSTREAM_CONFIG.sh | 2 +- browser_patches/webkit/patches/bootstrap.diff | 1402 +++++++++-------- 12 files changed, 931 insertions(+), 936 deletions(-) diff --git a/browser_patches/firefox/UPSTREAM_CONFIG.sh b/browser_patches/firefox/UPSTREAM_CONFIG.sh index 5436a7ef44..c107d01d86 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="7ab3cc0103090dd7bfa02e072a529b9fc784ab4e" +BASE_REVISION="a32b8662993085139ac91212a297123b632fc1c0" diff --git a/browser_patches/firefox/juggler/Helper.js b/browser_patches/firefox/juggler/Helper.js index 9572aa37ad..f5a64d6c8b 100644 --- a/browser_patches/firefox/juggler/Helper.js +++ b/browser_patches/firefox/juggler/Helper.js @@ -23,6 +23,16 @@ class Helper { return allBrowsingContexts; } + awaitTopic(topic) { + return new Promise(resolve => { + const listener = () => { + Services.obs.removeObserver(listener, topic); + resolve(); + } + Services.obs.addObserver(listener, topic); + }); + } + toProtocolNavigationId(loadIdentifier) { return `nav-${loadIdentifier}`; } diff --git a/browser_patches/firefox/juggler/NetworkObserver.js b/browser_patches/firefox/juggler/NetworkObserver.js index b0413d2e2c..628c6fcb37 100644 --- a/browser_patches/firefox/juggler/NetworkObserver.js +++ b/browser_patches/firefox/juggler/NetworkObserver.js @@ -366,13 +366,6 @@ class NetworkRequest { return; } - const browserContext = pageNetwork._target.browserContext(); - if (browserContext.crossProcessCookie.settings.onlineOverride === 'offline') { - // Implement offline. - this.abort(Cr.NS_ERROR_OFFLINE); - return; - } - // Ok, so now we have intercepted the request, let's issue onRequest. // If interception has been disabled while we were intercepting, resume and forget. const interceptionEnabled = this._shouldIntercept(); @@ -462,8 +455,6 @@ class NetworkRequest { const browserContext = pageNetwork._target.browserContext(); if (browserContext.requestInterceptionEnabled) return true; - if (browserContext.crossProcessCookie.settings.onlineOverride === 'offline') - return true; return false; } diff --git a/browser_patches/firefox/juggler/TargetRegistry.js b/browser_patches/firefox/juggler/TargetRegistry.js index 25be3c67af..0b1dcd4906 100644 --- a/browser_patches/firefox/juggler/TargetRegistry.js +++ b/browser_patches/firefox/juggler/TargetRegistry.js @@ -458,6 +458,11 @@ class PageTarget { this.updateColorSchemeOverride(browsingContext); this.updateReducedMotionOverride(browsingContext); this.updateForcedColorsOverride(browsingContext); + this.updateForceOffline(browsingContext); + } + + updateForceOffline(browsingContext = undefined) { + (browsingContext || this._linkedBrowser.browsingContext).forceOffline = this._browserContext.forceOffline; } updateTouchOverride(browsingContext = undefined) { @@ -829,6 +834,7 @@ class BrowserContext { this.defaultUserAgent = null; this.defaultPlatform = null; this.touchOverride = false; + this.forceOffline = false; this.colorScheme = 'none'; this.forcedColors = 'no-override'; this.reducedMotion = 'none'; @@ -924,6 +930,12 @@ class BrowserContext { page.updateTouchOverride(); } + setForceOffline(forceOffline) { + this.forceOffline = forceOffline; + for (const page of this.pages) + page.updateForceOffline(); + } + 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 614d5b5101..aa69432958 100644 --- a/browser_patches/firefox/juggler/content/PageAgent.js +++ b/browser_patches/firefox/juggler/content/PageAgent.js @@ -461,16 +461,8 @@ class PageAgent { } async _dispatchKeyEvent({type, keyCode, code, key, repeat, location, text}) { - if (code === 'OSLeft') - code = 'MetaLeft'; - else if (code === 'OSRight') - code = 'MetaRight'; const frame = this._frameTree.mainFrame(); const tip = frame.textInputProcessor(); - if (key === 'Meta' && Services.appinfo.OS !== 'Darwin') - key = 'OS'; - else if (key === 'OS' && Services.appinfo.OS === 'Darwin') - key = 'Meta'; let keyEvent = new (frame.domWindow().KeyboardEvent)("", { key, code, diff --git a/browser_patches/firefox/juggler/content/main.js b/browser_patches/firefox/juggler/content/main.js index 4b891b3a76..022b1e3a5e 100644 --- a/browser_patches/firefox/juggler/content/main.js +++ b/browser_patches/firefox/juggler/content/main.js @@ -47,15 +47,6 @@ function initialize(browsingContext, docShell, actor) { } }, - onlineOverride: (onlineOverride) => { - if (!onlineOverride) { - docShell.onlineOverride = Ci.nsIDocShell.ONLINE_OVERRIDE_NONE; - return; - } - docShell.onlineOverride = onlineOverride === 'online' ? - Ci.nsIDocShell.ONLINE_OVERRIDE_ONLINE : Ci.nsIDocShell.ONLINE_OVERRIDE_OFFLINE; - }, - bypassCSP: (bypassCSP) => { docShell.bypassCSPEnabled = bypassCSP; }, diff --git a/browser_patches/firefox/juggler/protocol/BrowserHandler.js b/browser_patches/firefox/juggler/protocol/BrowserHandler.js index 7bec58108a..ba70002c3b 100644 --- a/browser_patches/firefox/juggler/protocol/BrowserHandler.js +++ b/browser_patches/firefox/juggler/protocol/BrowserHandler.js @@ -199,7 +199,8 @@ class BrowserHandler { } async ['Browser.setOnlineOverride']({browserContextId, override}) { - await this._targetRegistry.browserContextForId(browserContextId).applySetting('onlineOverride', nullToUndefined(override)); + const forceOffline = override === 'offline'; + await this._targetRegistry.browserContextForId(browserContextId).setForceOffline(forceOffline); } async ['Browser.setColorScheme']({browserContextId, colorScheme}) { diff --git a/browser_patches/firefox/juggler/protocol/PageHandler.js b/browser_patches/firefox/juggler/protocol/PageHandler.js index 8bceb06979..a893e1593b 100644 --- a/browser_patches/firefox/juggler/protocol/PageHandler.js +++ b/browser_patches/firefox/juggler/protocol/PageHandler.js @@ -488,6 +488,9 @@ class PageHandler { this._pageTarget._linkedBrowser.scrollRectIntoViewIfNeeded(x, y, 0, 0); // 2. Get element's bounding box in the browser after the scroll is completed. const boundingBox = this._pageTarget._linkedBrowser.getBoundingClientRect(); + // 3. Make sure compositor is flushed after scrolling. + if (win.windowUtils.flushApzRepaints()) + await helper.awaitTopic('apz-repaints-flushed'); const watcher = new EventWatcher(this._pageEventSink, types, this._pendingEventWatchers); const promises = []; @@ -608,7 +611,7 @@ class PageHandler { const lineOrPageDeltaX = deltaX > 0 ? Math.floor(deltaX) : Math.ceil(deltaX); const lineOrPageDeltaY = deltaY > 0 ? Math.floor(deltaY) : Math.ceil(deltaY); - await this._pageTarget.activateAndRun(() => { + await this._pageTarget.activateAndRun(async () => { this._pageTarget.ensureContextMenuClosed(); // 1. Scroll element to the desired location first; the coordinates are relative to the element. @@ -617,6 +620,10 @@ class PageHandler { const boundingBox = this._pageTarget._linkedBrowser.getBoundingClientRect(); const win = this._pageTarget._window; + // 3. Make sure compositor is flushed after scrolling. + if (win.windowUtils.flushApzRepaints()) + await helper.awaitTopic('apz-repaints-flushed'); + win.windowUtils.sendWheelEvent( x + boundingBox.left, y + boundingBox.top, diff --git a/browser_patches/firefox/patches/bootstrap.diff b/browser_patches/firefox/patches/bootstrap.diff index d58ec0332a..e325f549de 100644 --- a/browser_patches/firefox/patches/bootstrap.diff +++ b/browser_patches/firefox/patches/bootstrap.diff @@ -1,5 +1,5 @@ diff --git a/accessible/base/NotificationController.h b/accessible/base/NotificationController.h -index bc1a692c23d8599512a5ce956d99998640347c46..4e77897aa4a84ce88445ba45f1ba3b5b2dde9e23 100644 +index 137963f1170927ae0262e0dc26ef721d496376f4..41fa27bc4a3da41814a7f326792990df3424e81f 100644 --- a/accessible/base/NotificationController.h +++ b/accessible/base/NotificationController.h @@ -244,6 +244,8 @@ class NotificationController final : public EventQueue, @@ -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 d3fa2a973619ed3dc12d9aac9bc751e21a158406..ab3b84ce0a685d79ef56cbf38b5c4beeb7a1100c 100644 +index b40e0fceb567c0d217adf284e13f434e49cc8467..2c4e6d5fbf8da40954ad6a5b15e412493e43b14e 100644 --- a/browser/app/winlauncher/LauncherProcessWin.cpp +++ b/browser/app/winlauncher/LauncherProcessWin.cpp @@ -22,6 +22,7 @@ @@ -68,7 +68,7 @@ index d3fa2a973619ed3dc12d9aac9bc751e21a158406..ab3b84ce0a685d79ef56cbf38b5c4bee #include #include -@@ -422,8 +423,18 @@ Maybe LauncherMain(int& argc, wchar_t* argv[], +@@ -421,8 +422,18 @@ Maybe LauncherMain(int& argc, wchar_t* argv[], HANDLE stdHandles[] = {::GetStdHandle(STD_INPUT_HANDLE), ::GetStdHandle(STD_OUTPUT_HANDLE), ::GetStdHandle(STD_ERROR_HANDLE)}; @@ -89,7 +89,7 @@ index d3fa2a973619ed3dc12d9aac9bc751e21a158406..ab3b84ce0a685d79ef56cbf38b5c4bee DWORD creationFlags = CREATE_SUSPENDED | CREATE_UNICODE_ENVIRONMENT; diff --git a/browser/installer/allowed-dupes.mn b/browser/installer/allowed-dupes.mn -index bae6d0c5be1ef486b44563b519c5f4aa4b5bc769..636e801c940dea835dee55759cb638a6714a33cd 100644 +index 24a6f228c617c034ccc4926c238aa15e32c964f6..38c4ed9936f5033abe7a4ac7997aea2d92747733 100644 --- a/browser/installer/allowed-dupes.mn +++ b/browser/installer/allowed-dupes.mn @@ -71,6 +71,12 @@ browser/features/webcompat@mozilla.org/shims/empty-shim.txt @@ -106,10 +106,10 @@ index bae6d0c5be1ef486b44563b519c5f4aa4b5bc769..636e801c940dea835dee55759cb638a6 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 1e48dd12b43ed48085f22f6576f8c6696153775f..3b79a0e6e607ae67a00c3c7403ff18261a2419b4 100644 +index b3213b8c4498b0467d7863d53c5fc4240e4609be..5ca6b68c6c7aaebd41a81999974f69810876f82b 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -196,6 +196,9 @@ +@@ -195,6 +195,9 @@ @RESPATH@/chrome/remote.manifest #endif @@ -167,7 +167,7 @@ index 4236ec2921bd57c58cfffdf1cdcf509d76fca3db..23d0cb1f06bb8c7a1cac8fcec94a99fb const transportProvider = { setListener(upgradeListener) { diff --git a/docshell/base/BrowsingContext.cpp b/docshell/base/BrowsingContext.cpp -index e6360a37dcdf0d01353175bb24211e48c54c6ac5..1aeaacb0f91c6bee166ec888196971d3bc957a41 100644 +index 211f83a476caa08281b3a0158da42cb08b01a374..47d78411e67d3f9b67c48ff10379e117b8631ab6 100644 --- a/docshell/base/BrowsingContext.cpp +++ b/docshell/base/BrowsingContext.cpp @@ -114,6 +114,20 @@ struct ParamTraits @@ -233,7 +233,7 @@ index e6360a37dcdf0d01353175bb24211e48c54c6ac5..1aeaacb0f91c6bee166ec888196971d3 nsString&& aOldValue) { MOZ_ASSERT(IsTop()); diff --git a/docshell/base/BrowsingContext.h b/docshell/base/BrowsingContext.h -index f9129bb2db492c7446a092c744b14f42449dc74c..a2abdfee35289be118b29baa6a5f3385a63f7085 100644 +index 84532563e1db1941abca5afa74a7d68473d391ef..84d6f605d5f70d11b355ba76b0f5af868864ac18 100644 --- a/docshell/base/BrowsingContext.h +++ b/docshell/base/BrowsingContext.h @@ -200,10 +200,10 @@ struct EmbedderColorSchemes { @@ -260,7 +260,7 @@ index f9129bb2db492c7446a092c744b14f42449dc74c..a2abdfee35289be118b29baa6a5f3385 /* The number of entries added to the session history because of this \ * browsing context. */ \ FIELD(HistoryEntryCount, uint32_t) \ -@@ -919,6 +923,14 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { +@@ -923,6 +927,14 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { return GetPrefersColorSchemeOverride(); } @@ -275,7 +275,7 @@ index f9129bb2db492c7446a092c744b14f42449dc74c..a2abdfee35289be118b29baa6a5f3385 bool IsInBFCache() const; bool AllowJavascript() const { return GetAllowJavascript(); } -@@ -1083,6 +1095,23 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { +@@ -1087,6 +1099,23 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { void WalkPresContexts(Callback&&); void PresContextAffectingFieldChanged(); @@ -300,10 +300,10 @@ index f9129bb2db492c7446a092c744b14f42449dc74c..a2abdfee35289be118b29baa6a5f3385 bool CanSet(FieldIndex, bool, ContentParent*) { diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp -index a6bbc3c7c9a0eaf1b0dcf4a9a68c1d579aa79f70..6de37c24076abcb136e0c2014d1e94e60ea62720 100644 +index 044df3a801ed55e08347464397821261bb6761c0..8aa8e4844e4ba5364cbb0547c5397ce695798861 100644 --- a/docshell/base/CanonicalBrowsingContext.cpp +++ b/docshell/base/CanonicalBrowsingContext.cpp -@@ -1465,6 +1465,12 @@ void CanonicalBrowsingContext::LoadURI(nsIURI* aURI, +@@ -1466,6 +1466,12 @@ void CanonicalBrowsingContext::LoadURI(nsIURI* aURI, return; } @@ -317,7 +317,7 @@ index a6bbc3c7c9a0eaf1b0dcf4a9a68c1d579aa79f70..6de37c24076abcb136e0c2014d1e94e6 } diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp -index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955ba4437afd 100644 +index f4d8843e2df614b0037d2bfa47f02e328c7dff6c..596208d570d6625fa6b99fd75e7a037e8aa888bf 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -15,6 +15,12 @@ @@ -333,7 +333,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b #include "mozilla/ArrayUtils.h" #include "mozilla/Attributes.h" #include "mozilla/AutoRestore.h" -@@ -65,6 +71,7 @@ +@@ -64,6 +70,7 @@ #include "mozilla/dom/ContentFrameMessageManager.h" #include "mozilla/dom/DocGroup.h" #include "mozilla/dom/Element.h" @@ -341,7 +341,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b #include "mozilla/dom/HTMLAnchorElement.h" #include "mozilla/dom/HTMLIFrameElement.h" #include "mozilla/dom/PerformanceNavigation.h" -@@ -90,6 +97,7 @@ +@@ -88,6 +95,7 @@ #include "mozilla/dom/JSWindowActorChild.h" #include "mozilla/dom/DocumentBinding.h" #include "mozilla/ipc/ProtocolUtils.h" @@ -349,7 +349,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b #include "mozilla/net/DocumentChannel.h" #include "mozilla/net/DocumentChannelChild.h" #include "mozilla/net/ParentChannelWrapper.h" -@@ -113,6 +121,7 @@ +@@ -111,6 +119,7 @@ #include "nsIDocShellTreeOwner.h" #include "mozilla/dom/Document.h" #include "nsHTMLDocument.h" @@ -357,7 +357,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b #include "nsIDocumentLoaderFactory.h" #include "nsIDOMWindow.h" #include "nsIEditingSession.h" -@@ -208,6 +217,7 @@ +@@ -206,6 +215,7 @@ #include "nsGlobalWindowInner.h" #include "nsGlobalWindowOuter.h" #include "nsJSEnvironment.h" @@ -365,7 +365,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b #include "nsNetCID.h" #include "nsNetUtil.h" #include "nsObjectLoadingContent.h" -@@ -350,6 +360,14 @@ nsDocShell::nsDocShell(BrowsingContext* aBrowsingContext, +@@ -346,6 +356,13 @@ nsDocShell::nsDocShell(BrowsingContext* aBrowsingContext, mAllowDNSPrefetch(true), mAllowWindowControl(true), mCSSErrorReportingEnabled(false), @@ -374,13 +374,12 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b + mBypassCSPEnabled(false), + mForceActiveState(false), + mDisallowBFCache(false), -+ mOnlineOverride(nsIDocShell::ONLINE_OVERRIDE_NONE), + mReducedMotionOverride(REDUCED_MOTION_OVERRIDE_NONE), + mForcedColorsOverride(FORCED_COLORS_OVERRIDE_NO_OVERRIDE), mAllowAuth(mItemType == typeContent), mAllowKeywordFixup(false), mDisableMetaRefreshWhenInactive(false), -@@ -3204,6 +3222,234 @@ nsDocShell::GetMessageManager(ContentFrameMessageManager** aMessageManager) { +@@ -3147,6 +3164,214 @@ nsDocShell::GetMessageManager(ContentFrameMessageManager** aMessageManager) { return NS_OK; } @@ -555,26 +554,6 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b +} + +NS_IMETHODIMP -+nsDocShell::GetOnlineOverride(OnlineOverride* aOnlineOverride) { -+ *aOnlineOverride = GetRootDocShell()->mOnlineOverride; -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsDocShell::SetOnlineOverride(OnlineOverride aOnlineOverride) { -+ // We don't have a way to verify this coming from Javascript, so this check is -+ // still needed. -+ if (!(aOnlineOverride == ONLINE_OVERRIDE_NONE || -+ aOnlineOverride == ONLINE_OVERRIDE_ONLINE || -+ aOnlineOverride == ONLINE_OVERRIDE_OFFLINE)) { -+ return NS_ERROR_INVALID_ARG; -+ } -+ -+ mOnlineOverride = aOnlineOverride; -+ return NS_OK; -+} -+ -+NS_IMETHODIMP +nsDocShell::GetReducedMotionOverride(ReducedMotionOverride* aReducedMotionOverride) { + *aReducedMotionOverride = GetRootDocShell()->mReducedMotionOverride; + return NS_OK; @@ -615,7 +594,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b NS_IMETHODIMP nsDocShell::GetIsNavigating(bool* aOut) { *aOut = mIsNavigating; -@@ -4895,7 +5141,7 @@ nsDocShell::GetVisibility(bool* aVisibility) { +@@ -4835,7 +5060,7 @@ nsDocShell::GetVisibility(bool* aVisibility) { } void nsDocShell::ActivenessMaybeChanged() { @@ -624,7 +603,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b if (RefPtr presShell = GetPresShell()) { presShell->ActivenessMaybeChanged(); } -@@ -6811,6 +7057,10 @@ bool nsDocShell::CanSavePresentation(uint32_t aLoadType, +@@ -6753,6 +6978,10 @@ bool nsDocShell::CanSavePresentation(uint32_t aLoadType, return false; // no entry to save into } @@ -635,7 +614,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b MOZ_ASSERT(!mozilla::SessionHistoryInParent(), "mOSHE cannot be non-null with SHIP"); nsCOMPtr viewer = mOSHE->GetContentViewer(); -@@ -8595,6 +8845,12 @@ nsresult nsDocShell::PerformRetargeting(nsDocShellLoadState* aLoadState) { +@@ -8536,6 +8765,12 @@ nsresult nsDocShell::PerformRetargeting(nsDocShellLoadState* aLoadState) { true, // aForceNoOpener getter_AddRefs(newBC)); MOZ_ASSERT(!newBC); @@ -648,7 +627,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b return rv; } -@@ -9670,6 +9926,16 @@ nsresult nsDocShell::InternalLoad(nsDocShellLoadState* aLoadState, +@@ -9611,6 +9846,16 @@ nsresult nsDocShell::InternalLoad(nsDocShellLoadState* aLoadState, nsINetworkPredictor::PREDICT_LOAD, attrs, nullptr); nsCOMPtr req; @@ -665,7 +644,7 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b rv = DoURILoad(aLoadState, aCacheKey, getter_AddRefs(req)); if (NS_SUCCEEDED(rv)) { -@@ -12827,6 +13093,9 @@ class OnLinkClickEvent : public Runnable { +@@ -12768,6 +13013,9 @@ class OnLinkClickEvent : public Runnable { mHandler->OnLinkClickSync(mContent, mLoadState, mNoOpenerImplied, mTriggeringPrincipal); } @@ -675,20 +654,20 @@ index 7669fbacd09a65cda1b06c74aa75f0ef7b625da2..8fd21c46640003c3f6d3cbc79697955b return NS_OK; } -@@ -12911,6 +13180,8 @@ nsresult nsDocShell::OnLinkClick( +@@ -12852,6 +13100,8 @@ nsresult nsDocShell::OnLinkClick( nsCOMPtr ev = new OnLinkClickEvent(this, aContent, loadState, noOpenerImplied, aIsTrusted, aTriggeringPrincipal); + nsCOMPtr observerService = mozilla::services::GetObserverService(); + observerService->NotifyObservers(ToSupports(aContent), "juggler-link-click", nullptr); - return Dispatch(TaskCategory::UI, ev.forget()); + return Dispatch(ev.forget()); } diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h -index 21cd7c944b391bf0333c7bdc815200db33ef0afe..aa8d79b0d3bd34419c5d625678f3cd1231e2b46f 100644 +index 237cf8dc1a54ed8d0523272aaaebfd6f10f9213f..73c096a2850850921aff97037457cde598ffef2a 100644 --- a/docshell/base/nsDocShell.h +++ b/docshell/base/nsDocShell.h -@@ -16,6 +16,7 @@ +@@ -15,6 +15,7 @@ #include "mozilla/UniquePtr.h" #include "mozilla/WeakPtr.h" #include "mozilla/dom/BrowsingContext.h" @@ -696,7 +675,7 @@ index 21cd7c944b391bf0333c7bdc815200db33ef0afe..aa8d79b0d3bd34419c5d625678f3cd12 #include "mozilla/dom/WindowProxyHolder.h" #include "nsCOMPtr.h" #include "nsCharsetSource.h" -@@ -77,6 +78,7 @@ class nsCommandManager; +@@ -76,6 +77,7 @@ class nsCommandManager; class nsDocShellEditorData; class nsDOMNavigationTiming; class nsDSURIContentListener; @@ -704,7 +683,7 @@ index 21cd7c944b391bf0333c7bdc815200db33ef0afe..aa8d79b0d3bd34419c5d625678f3cd12 class nsGlobalWindowOuter; class FramingChecker; -@@ -409,6 +411,15 @@ class nsDocShell final : public nsDocLoader, +@@ -408,6 +410,15 @@ class nsDocShell final : public nsDocLoader, void SetWillChangeProcess() { mWillChangeProcess = true; } bool WillChangeProcess() { return mWillChangeProcess; } @@ -720,7 +699,7 @@ index 21cd7c944b391bf0333c7bdc815200db33ef0afe..aa8d79b0d3bd34419c5d625678f3cd12 // Create a content viewer within this nsDocShell for the given // `WindowGlobalChild` actor. nsresult CreateContentViewerForActor( -@@ -1030,6 +1041,8 @@ class nsDocShell final : public nsDocLoader, +@@ -1010,6 +1021,8 @@ class nsDocShell final : public nsDocLoader, bool CSSErrorReportingEnabled() const { return mCSSErrorReportingEnabled; } @@ -729,7 +708,7 @@ index 21cd7c944b391bf0333c7bdc815200db33ef0afe..aa8d79b0d3bd34419c5d625678f3cd12 // 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 -@@ -1327,6 +1340,17 @@ class nsDocShell final : public nsDocLoader, +@@ -1300,6 +1313,16 @@ class nsDocShell final : public nsDocLoader, bool mAllowDNSPrefetch : 1; bool mAllowWindowControl : 1; bool mCSSErrorReportingEnabled : 1; @@ -740,7 +719,6 @@ index 21cd7c944b391bf0333c7bdc815200db33ef0afe..aa8d79b0d3bd34419c5d625678f3cd12 + bool mDisallowBFCache : 1; + nsString mLanguageOverride; + RefPtr mGeolocationServiceOverride; -+ OnlineOverride mOnlineOverride; + ReducedMotionOverride mReducedMotionOverride; + ForcedColorsOverride mForcedColorsOverride; + @@ -748,7 +726,7 @@ index 21cd7c944b391bf0333c7bdc815200db33ef0afe..aa8d79b0d3bd34419c5d625678f3cd12 bool mAllowKeywordFixup : 1; bool mDisableMetaRefreshWhenInactive : 1; diff --git a/docshell/base/nsIDocShell.idl b/docshell/base/nsIDocShell.idl -index 68f32e968c7e1bc1d0b2b2894320a177a9ae44d2..9e61465ffad927d7b3e972f753940196fc986156 100644 +index a3ee2c3944018c64c93c02c5658c527ec5f9d2cb..272e5147568b95bf313ac7a940619382a0c42763 100644 --- a/docshell/base/nsIDocShell.idl +++ b/docshell/base/nsIDocShell.idl @@ -44,6 +44,7 @@ interface nsIURI; @@ -759,7 +737,7 @@ index 68f32e968c7e1bc1d0b2b2894320a177a9ae44d2..9e61465ffad927d7b3e972f753940196 interface nsIEditor; interface nsIEditingSession; interface nsIInputStream; -@@ -784,6 +785,43 @@ interface nsIDocShell : nsIDocShellTreeItem +@@ -760,6 +761,36 @@ interface nsIDocShell : nsIDocShellTreeItem */ void synchronizeLayoutHistoryState(); @@ -777,13 +755,6 @@ index 68f32e968c7e1bc1d0b2b2894320a177a9ae44d2..9e61465ffad927d7b3e972f753940196 + + boolean overrideTimezone(in AString timezoneId); + -+ cenum OnlineOverride: 8 { -+ ONLINE_OVERRIDE_NONE = 0, -+ ONLINE_OVERRIDE_ONLINE = 1, -+ ONLINE_OVERRIDE_OFFLINE = 2, -+ }; -+ [infallible] attribute nsIDocShell_OnlineOverride onlineOverride; -+ + cenum ReducedMotionOverride : 8 { + REDUCED_MOTION_OVERRIDE_REDUCE, + REDUCED_MOTION_OVERRIDE_NO_PREFERENCE, @@ -804,10 +775,10 @@ index 68f32e968c7e1bc1d0b2b2894320a177a9ae44d2..9e61465ffad927d7b3e972f753940196 * 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 dbb0e7d060dacf26154b30f67c5980bdebb533c1..eba7dfb80333d3473a2167d8105544d1de46d939 100644 +index ff78b31699fe28e60915703b7642a72d540f6f99..dd8f4dd0283e3d0ce1b5ae8745312fcb64126c75 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp -@@ -3671,6 +3671,9 @@ void Document::SendToConsole(nsCOMArray& aMessages) { +@@ -3682,6 +3682,9 @@ void Document::SendToConsole(nsCOMArray& aMessages) { } void Document::ApplySettingsFromCSP(bool aSpeculative) { @@ -817,7 +788,7 @@ index dbb0e7d060dacf26154b30f67c5980bdebb533c1..eba7dfb80333d3473a2167d8105544d1 nsresult rv = NS_OK; if (!aSpeculative) { // 1) apply settings from regular CSP -@@ -3728,6 +3731,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) { +@@ -3739,6 +3742,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) { MOZ_ASSERT(!mScriptGlobalObject, "CSP must be initialized before mScriptGlobalObject is set!"); @@ -829,7 +800,7 @@ index dbb0e7d060dacf26154b30f67c5980bdebb533c1..eba7dfb80333d3473a2167d8105544d1 // If this is a data document - no need to set CSP. if (mLoadedAsData) { return NS_OK; -@@ -4544,6 +4552,10 @@ bool Document::HasFocus(ErrorResult& rv) const { +@@ -4534,6 +4542,10 @@ bool Document::HasFocus(ErrorResult& rv) const { return false; } @@ -840,8 +811,8 @@ index dbb0e7d060dacf26154b30f67c5980bdebb533c1..eba7dfb80333d3473a2167d8105544d1 if (!fm->IsInActiveWindow(bc)) { return false; } -@@ -18535,6 +18547,68 @@ ColorScheme Document::PreferredColorScheme(IgnoreRFP aIgnoreRFP) const { - return LookAndFeel::PreferredColorSchemeForContent(); +@@ -18736,6 +18748,68 @@ ColorScheme Document::PreferredColorScheme(IgnoreRFP aIgnoreRFP) const { + return PreferenceSheet::PrefsFor(*this).mColorScheme; } +bool Document::PrefersReducedMotion() const { @@ -910,10 +881,10 @@ index dbb0e7d060dacf26154b30f67c5980bdebb533c1..eba7dfb80333d3473a2167d8105544d1 if (!sLoadingForegroundTopLevelContentDocument) { return false; diff --git a/dom/base/Document.h b/dom/base/Document.h -index ed73acda064d3c899858b4c4bd6c8df4a5b2a964..5d49feda0146088128d1901d4168ca75d7062aa3 100644 +index 55e4f71d5b33cca55454ac0d4e16d4a96137a616..8ad7117047ee6d0b5de2538cd086d60ae9837594 100644 --- a/dom/base/Document.h +++ b/dom/base/Document.h -@@ -4066,6 +4066,9 @@ class Document : public nsINode, +@@ -4030,6 +4030,9 @@ class Document : public nsINode, // color-scheme meta tag. ColorScheme DefaultColorScheme() const; @@ -924,10 +895,10 @@ index ed73acda064d3c899858b4c4bd6c8df4a5b2a964..5d49feda0146088128d1901d4168ca75 static bool AutomaticStorageAccessPermissionCanBeGranted( diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp -index 9a5f6913b0682ad39824a2504734e58af9ae845e..baf24386e37daac95700d0715bf00cca1ebcd84f 100644 +index 7e54ac18ad9a646e981e7bc356e75de273c75845..1e673db0fd8adc9a4096a826184425e939d5e926 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp -@@ -327,14 +327,18 @@ void Navigator::GetAppName(nsAString& aAppName) const { +@@ -331,14 +331,18 @@ void Navigator::GetAppName(nsAString& aAppName) const { * for more detail. */ /* static */ @@ -948,7 +919,7 @@ index 9a5f6913b0682ad39824a2504734e58af9ae845e..baf24386e37daac95700d0715bf00cca // Split values on commas. for (nsDependentSubstring lang : -@@ -386,7 +390,13 @@ void Navigator::GetLanguage(nsAString& aLanguage) { +@@ -390,7 +394,13 @@ void Navigator::GetLanguage(nsAString& aLanguage) { } void Navigator::GetLanguages(nsTArray& aLanguages) { @@ -963,26 +934,11 @@ index 9a5f6913b0682ad39824a2504734e58af9ae845e..baf24386e37daac95700d0715bf00cca // 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 -@@ -561,7 +571,13 @@ bool Navigator::CookieEnabled() { - return granted; - } - --bool Navigator::OnLine() { return !NS_IsOffline(); } -+bool Navigator::OnLine() { -+ nsDocShell* docShell = static_cast(GetDocShell()); -+ nsIDocShell::OnlineOverride onlineOverride; -+ if (!docShell || docShell->GetOnlineOverride(&onlineOverride) != NS_OK || onlineOverride == nsIDocShell::ONLINE_OVERRIDE_NONE) -+ return !NS_IsOffline(); -+ return onlineOverride == nsIDocShell::ONLINE_OVERRIDE_ONLINE; -+} - - void Navigator::GetBuildID(nsAString& aBuildID, CallerType aCallerType, - ErrorResult& aRv) const { diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h -index f878c11dff3d448dfa2520c7fe7e4e9cb63f7ea7..c1a30391eb31e28e1c22dff82bb9526bc7e058dd 100644 +index 851b681570e35ba86341f56912684bc8ec7001f3..2fd4d6fd9deafaa42604428dc17798142ce77e19 100644 --- a/dom/base/Navigator.h +++ b/dom/base/Navigator.h -@@ -213,7 +213,7 @@ class Navigator final : public nsISupports, public nsWrapperCache { +@@ -214,7 +214,7 @@ class Navigator final : public nsISupports, public nsWrapperCache { StorageManager* Storage(); @@ -992,10 +948,10 @@ index f878c11dff3d448dfa2520c7fe7e4e9cb63f7ea7..c1a30391eb31e28e1c22dff82bb9526b dom::MediaCapabilities* MediaCapabilities(); dom::MediaSession* MediaSession(); diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp -index 1f9863a8bc538eece4dbf04b2e4bffbad50d5d00..b5cd6be99c8457030db1b23ac307fc2ff40e6e49 100644 +index a5fee753ce551826e5b974ca01aff1f541754f6b..f1a80d1bb25175c12345acbc27b82d96793e061d 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp -@@ -8554,7 +8554,8 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8598,7 +8598,8 @@ nsresult nsContentUtils::SendMouseEvent( bool aIgnoreRootScrollFrame, float aPressure, unsigned short aInputSourceArg, uint32_t aIdentifier, bool aToWindow, PreventDefaultResult* aPreventDefault, bool aIsDOMEventSynthesized, @@ -1005,7 +961,7 @@ index 1f9863a8bc538eece4dbf04b2e4bffbad50d5d00..b5cd6be99c8457030db1b23ac307fc2f nsPoint offset; nsCOMPtr widget = GetWidget(aPresShell, &offset); if (!widget) return NS_ERROR_FAILURE; -@@ -8562,6 +8563,7 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8606,6 +8607,7 @@ nsresult nsContentUtils::SendMouseEvent( EventMessage msg; Maybe exitFrom; bool contextMenuKey = false; @@ -1013,7 +969,7 @@ index 1f9863a8bc538eece4dbf04b2e4bffbad50d5d00..b5cd6be99c8457030db1b23ac307fc2f if (aType.EqualsLiteral("mousedown")) { msg = eMouseDown; } else if (aType.EqualsLiteral("mouseup")) { -@@ -8586,6 +8588,12 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8630,6 +8632,12 @@ nsresult nsContentUtils::SendMouseEvent( msg = eMouseHitTest; } else if (aType.EqualsLiteral("MozMouseExploreByTouch")) { msg = eMouseExploreByTouch; @@ -1026,7 +982,7 @@ index 1f9863a8bc538eece4dbf04b2e4bffbad50d5d00..b5cd6be99c8457030db1b23ac307fc2f } else { return NS_ERROR_FAILURE; } -@@ -8594,12 +8602,21 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8638,12 +8646,21 @@ nsresult nsContentUtils::SendMouseEvent( aInputSourceArg = MouseEvent_Binding::MOZ_SOURCE_MOUSE; } @@ -1050,7 +1006,7 @@ index 1f9863a8bc538eece4dbf04b2e4bffbad50d5d00..b5cd6be99c8457030db1b23ac307fc2f event.pointerId = aIdentifier; event.mModifiers = GetWidgetModifiers(aModifiers); event.mButton = aButton; -@@ -8610,8 +8627,10 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8654,8 +8671,10 @@ nsresult nsContentUtils::SendMouseEvent( event.mPressure = aPressure; event.mInputSource = aInputSourceArg; event.mClickCount = aClickCount; @@ -1062,10 +1018,10 @@ index 1f9863a8bc538eece4dbf04b2e4bffbad50d5d00..b5cd6be99c8457030db1b23ac307fc2f nsPresContext* presContext = aPresShell->GetPresContext(); if (!presContext) return NS_ERROR_FAILURE; diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h -index 180c7fe15d6acbd68c477a5677a397ef2acc3c6b..b66187e2063b6b7660ae0ef5a0a34b5655b23a97 100644 +index 36c1a4f4eeba0fa75d79715f79de0d705719e5c5..6ad5426612ef37d7326bafd771a4c2d6d9142cb5 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h -@@ -2947,7 +2947,8 @@ class nsContentUtils { +@@ -2963,7 +2963,8 @@ class nsContentUtils { int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, unsigned short aInputSourceArg, uint32_t aIdentifier, bool aToWindow, mozilla::PreventDefaultResult* aPreventDefault, @@ -1154,10 +1110,10 @@ index 63968c9b7a4e418e4c0de6e7a75fa215a36a9105..decf3ea3833ccdffd49a7aded2d600f9 MOZ_CAN_RUN_SCRIPT nsresult SendTouchEventCommon( diff --git a/dom/base/nsFocusManager.cpp b/dom/base/nsFocusManager.cpp -index 1be0c80cd30f8696a9451af1f9d381591f1ba0c0..9f9af9649c2cd55188e085e011819cc5db0fb6dc 100644 +index 0d9e4df42f7efcbb0068bc162dfbb17003cd3802..55c0e9e8cfa434c5b8c7dbd27651bf94d5b9a2d1 100644 --- a/dom/base/nsFocusManager.cpp +++ b/dom/base/nsFocusManager.cpp -@@ -1672,6 +1672,10 @@ Maybe nsFocusManager::SetFocusInner(Element* aNewContent, +@@ -1673,6 +1673,10 @@ Maybe nsFocusManager::SetFocusInner(Element* aNewContent, (GetActiveBrowsingContext() == newRootBrowsingContext); } @@ -1168,7 +1124,7 @@ index 1be0c80cd30f8696a9451af1f9d381591f1ba0c0..9f9af9649c2cd55188e085e011819cc5 // Exit fullscreen if a website focuses another window if (StaticPrefs::full_screen_api_exit_on_windowRaise() && !isElementInActiveWindow && (aFlags & FLAG_RAISE)) { -@@ -2945,7 +2949,9 @@ void nsFocusManager::RaiseWindow(nsPIDOMWindowOuter* aWindow, +@@ -2946,7 +2950,9 @@ void nsFocusManager::RaiseWindow(nsPIDOMWindowOuter* aWindow, } } @@ -1180,18 +1136,9 @@ index 1be0c80cd30f8696a9451af1f9d381591f1ba0c0..9f9af9649c2cd55188e085e011819cc5 // 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 a784fe3c4bf9fe6a74bebca23fdce04524e0f473..100bae14efb8f4cc49238ce808e3f4e7fe1cd61c 100644 +index 97d967175822e4f62079c21152f96e5540dbb98f..c5bf0d155649e6715aa3af6ca29c237b1dab6ead 100644 --- a/dom/base/nsGlobalWindowOuter.cpp +++ b/dom/base/nsGlobalWindowOuter.cpp -@@ -2490,7 +2490,7 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument, - &nsGlobalWindowInner::FireOnNewGlobalObject)); - } - -- if (newInnerWindow && !newInnerWindow->mHasNotifiedGlobalCreated && mDoc) { -+ if (newInnerWindow && mDoc) { - // We should probably notify. However if this is the, arguably bad, - // situation when we're creating a temporary non-chrome-about-blank - // document in a chrome docshell, don't notify just yet. Instead wait @@ -2509,10 +2509,16 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument, }(); @@ -1234,10 +1181,10 @@ index a784fe3c4bf9fe6a74bebca23fdce04524e0f473..100bae14efb8f4cc49238ce808e3f4e7 void nsGlobalWindowOuter::SetDocShell(nsDocShell* aDocShell) { diff --git a/dom/base/nsGlobalWindowOuter.h b/dom/base/nsGlobalWindowOuter.h -index 8a891ca19a56ff0cdecab26e1d6bb78f32b91abd..c05023ca6a88e0caef5b709a4f8c2846894d5c3c 100644 +index 8337a7353fb8e97372f0b57bd0fd867506a9129f..e7dedd6d26125e481e1145337a0be6ab864c1e1b 100644 --- a/dom/base/nsGlobalWindowOuter.h +++ b/dom/base/nsGlobalWindowOuter.h -@@ -314,6 +314,7 @@ class nsGlobalWindowOuter final : public mozilla::dom::EventTarget, +@@ -315,6 +315,7 @@ class nsGlobalWindowOuter final : public mozilla::dom::EventTarget, // Outer windows only. void DispatchDOMWindowCreated(); @@ -1246,10 +1193,10 @@ index 8a891ca19a56ff0cdecab26e1d6bb78f32b91abd..c05023ca6a88e0caef5b709a4f8c2846 // Outer windows only. virtual void EnsureSizeAndPositionUpToDate() override; diff --git a/dom/base/nsINode.cpp b/dom/base/nsINode.cpp -index 77016f314939bf6ac11b48db1f71d1d3a82d4e83..67440e2643eb3f098e8e790179634216da7f851f 100644 +index 369bb41fe459c8ef4c10c61c1530f52d51b3f6de..15ef3c6824cc70e756777612f0fd148e5678c795 100644 --- a/dom/base/nsINode.cpp +++ b/dom/base/nsINode.cpp -@@ -1358,6 +1358,61 @@ void nsINode::GetBoxQuadsFromWindowOrigin(const BoxQuadOptions& aOptions, +@@ -1359,6 +1359,61 @@ void nsINode::GetBoxQuadsFromWindowOrigin(const BoxQuadOptions& aOptions, mozilla::GetBoxQuadsFromWindowOrigin(this, aOptions, aResult, aRv); } @@ -1312,10 +1259,10 @@ index 77016f314939bf6ac11b48db1f71d1d3a82d4e83..67440e2643eb3f098e8e790179634216 DOMQuad& aQuad, const GeometryNode& aFrom, const ConvertCoordinateOptions& aOptions, CallerType aCallerType, diff --git a/dom/base/nsINode.h b/dom/base/nsINode.h -index 73cfa7eb511e1c453b2634fe5a2aa7a042ba0221..759909ce15a5aff520d0d8429ee399a8b4787f11 100644 +index 807deebaad78f531c59d18aac2c2833e38d13946..3754b573ef119854e2c41b51b0dd0a43d7c53315 100644 --- a/dom/base/nsINode.h +++ b/dom/base/nsINode.h -@@ -2212,6 +2212,10 @@ class nsINode : public mozilla::dom::EventTarget { +@@ -2229,6 +2229,10 @@ class nsINode : public mozilla::dom::EventTarget { nsTArray>& aResult, ErrorResult& aRv); @@ -1327,7 +1274,7 @@ index 73cfa7eb511e1c453b2634fe5a2aa7a042ba0221..759909ce15a5aff520d0d8429ee399a8 DOMQuad& aQuad, const TextOrElementOrDocument& aFrom, const ConvertCoordinateOptions& aOptions, CallerType aCallerType, diff --git a/dom/base/nsJSUtils.cpp b/dom/base/nsJSUtils.cpp -index 66b0a09dda9e57f41643da11abb079896b9634d9..eb1dacdce7c8426de3f3cd34d2c22d1d13f49b5a 100644 +index bb280d9a15aed8b7d82a93214e82222e9b5a14ae..d64cd52877c1643148ce5912eec26bd1569acdac 100644 --- a/dom/base/nsJSUtils.cpp +++ b/dom/base/nsJSUtils.cpp @@ -177,6 +177,11 @@ bool nsJSUtils::GetScopeChainForElement( @@ -1355,7 +1302,7 @@ index 36e906061588aab50dee129cc46dd2e4d3e153f8..c3591f98d4df19b166fc5c99332e559b static bool DumpEnabled(); diff --git a/dom/chrome-webidl/BrowsingContext.webidl b/dom/chrome-webidl/BrowsingContext.webidl -index db60c475931caa32110d12ba63bb56980a2b36cc..5d1d8fdceec7a73541799cbac367b173454ae6e8 100644 +index 2e8abd50793dd1392a876e53e99ad806a256f755..695b9e8ffff846d663b645e3ca6fc83a39f6f126 100644 --- a/dom/chrome-webidl/BrowsingContext.webidl +++ b/dom/chrome-webidl/BrowsingContext.webidl @@ -53,6 +53,24 @@ enum PrefersColorSchemeOverride { @@ -1383,7 +1330,7 @@ index db60c475931caa32110d12ba63bb56980a2b36cc..5d1d8fdceec7a73541799cbac367b173 /** * Allowed overrides of platform/pref default behaviour for touch events. */ -@@ -199,6 +217,12 @@ interface BrowsingContext { +@@ -205,6 +223,12 @@ interface BrowsingContext { // Color-scheme simulation, for DevTools. [SetterThrows] attribute PrefersColorSchemeOverride prefersColorSchemeOverride; @@ -1397,7 +1344,7 @@ index db60c475931caa32110d12ba63bb56980a2b36cc..5d1d8fdceec7a73541799cbac367b173 * A unique identifier for the browser element that is hosting this * BrowsingContext tree. Every BrowsingContext in the element's tree will diff --git a/dom/geolocation/Geolocation.cpp b/dom/geolocation/Geolocation.cpp -index 197146d71e9772af04e577663dbc0213c26a62cb..0e357893cdcf0d6b627bca803aa6041107079184 100644 +index cb9107deb1acfc6f9f3efe87144fcd9bbccd9231..5034c066db8e13dbd01b9bbe79ac2447135f3360 100644 --- a/dom/geolocation/Geolocation.cpp +++ b/dom/geolocation/Geolocation.cpp @@ -23,6 +23,7 @@ @@ -1408,7 +1355,7 @@ index 197146d71e9772af04e577663dbc0213c26a62cb..0e357893cdcf0d6b627bca803aa60411 #include "nsGlobalWindowInner.h" #include "mozilla/dom/Document.h" #include "nsINamed.h" -@@ -259,10 +260,8 @@ nsGeolocationRequest::Allow(JS::Handle aChoices) { +@@ -256,10 +257,8 @@ nsGeolocationRequest::Allow(JS::Handle aChoices) { return NS_OK; } @@ -1421,7 +1368,7 @@ index 197146d71e9772af04e577663dbc0213c26a62cb..0e357893cdcf0d6b627bca803aa60411 CachedPositionAndAccuracy lastPosition = gs->GetCachedPosition(); if (lastPosition.position) { EpochTimeStamp cachedPositionTime_ms; -@@ -440,8 +439,7 @@ void nsGeolocationRequest::Shutdown() { +@@ -437,8 +436,7 @@ void nsGeolocationRequest::Shutdown() { // If there are no other high accuracy requests, the geolocation service will // notify the provider to switch to the default accuracy. if (mOptions && mOptions->mEnableHighAccuracy) { @@ -1431,7 +1378,7 @@ index 197146d71e9772af04e577663dbc0213c26a62cb..0e357893cdcf0d6b627bca803aa60411 if (gs) { gs->UpdateAccuracy(); } -@@ -730,8 +728,14 @@ void nsGeolocationService::StopDevice() { +@@ -727,8 +725,14 @@ void nsGeolocationService::StopDevice() { StaticRefPtr nsGeolocationService::sService; already_AddRefed @@ -1447,7 +1394,7 @@ index 197146d71e9772af04e577663dbc0213c26a62cb..0e357893cdcf0d6b627bca803aa60411 if (nsGeolocationService::sService) { result = nsGeolocationService::sService; -@@ -823,7 +827,9 @@ nsresult Geolocation::Init(nsPIDOMWindowInner* aContentDom) { +@@ -820,7 +824,9 @@ nsresult Geolocation::Init(nsPIDOMWindowInner* aContentDom) { // If no aContentDom was passed into us, we are being used // by chrome/c++ and have no mOwner, no mPrincipal, and no need // to prompt. @@ -1496,7 +1443,7 @@ index 7e1af00d05fbafa2d828e2c7e4dcc5c82d115f5b..e85af9718d064e4d2865bc944e9d4ba1 ~Geolocation(); diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp -index c419fb6936dac5cebde8dbaf548d8edd49ffc64a..f5a0cd548721c5d87be6dc719a0183b0a7eeccfe 100644 +index 09d57823aa37f596ac04261025862975f414bd7c..8cee0ae86ae1ed3aeda879cbf55f381a772dfa8b 100644 --- a/dom/html/HTMLInputElement.cpp +++ b/dom/html/HTMLInputElement.cpp @@ -58,6 +58,7 @@ @@ -1507,7 +1454,7 @@ index c419fb6936dac5cebde8dbaf548d8edd49ffc64a..f5a0cd548721c5d87be6dc719a0183b0 #include "nsIFormControlFrame.h" #include "nsITextControlFrame.h" #include "nsIFrame.h" -@@ -782,6 +783,12 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) { +@@ -783,6 +784,12 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) { return NS_ERROR_FAILURE; } @@ -1552,10 +1499,10 @@ index 4170a79023a2503831d080a6e65d5e143f34f241..3af08d6ea5f1cfbdc373774764a0c45f * touchstart, touchend, touchmove, and touchcancel * diff --git a/dom/ipc/BrowserChild.cpp b/dom/ipc/BrowserChild.cpp -index 996ee2edde76bab0ea409e072b89160a5158d452..7833fe75af2a85666e72627bfd0dd7467a1b8a80 100644 +index 2e69547612aa1ef91d726ee54475a5f8e638e214..2b7aae36d1b4b7a7a7a7a6117104d3455e1768e3 100644 --- a/dom/ipc/BrowserChild.cpp +++ b/dom/ipc/BrowserChild.cpp -@@ -1668,6 +1668,21 @@ void BrowserChild::HandleRealMouseButtonEvent(const WidgetMouseEvent& aEvent, +@@ -1647,6 +1647,21 @@ void BrowserChild::HandleRealMouseButtonEvent(const WidgetMouseEvent& aEvent, if (postLayerization) { postLayerization->Register(); } @@ -1592,7 +1539,7 @@ index 5aa445d2e0a6169e57c44569974d557b3baf7064..671f71979b407f0ca17c66f13805e851 } diff --git a/dom/media/systemservices/video_engine/desktop_capture_impl.cc b/dom/media/systemservices/video_engine/desktop_capture_impl.cc -index 3f03789fa3948bbf2528975ce112efb7eb987c24..2194e4144de537edb9a765857cc37b0af42dd8fd 100644 +index 532605b813d4e4a7693e6c82f6792075ef2565de..d225ffaf3439739d989b21f858c1763942beee9e 100644 --- a/dom/media/systemservices/video_engine/desktop_capture_impl.cc +++ b/dom/media/systemservices/video_engine/desktop_capture_impl.cc @@ -135,11 +135,12 @@ int32_t ScreenDeviceInfoImpl::GetOrientation(const char* aDeviceUniqueIdUTF8, @@ -1611,7 +1558,7 @@ index 3f03789fa3948bbf2528975ce112efb7eb987c24..2194e4144de537edb9a765857cc37b0a } int32_t WindowDeviceInfoImpl::Init() { -@@ -405,7 +406,7 @@ static bool UsePipewire() { +@@ -412,7 +413,7 @@ static bool UsePipewire() { static std::unique_ptr CreateDesktopCapturerAndThread( CaptureDeviceType aDeviceType, DesktopCapturer::SourceId aSourceId, @@ -1620,7 +1567,7 @@ index 3f03789fa3948bbf2528975ce112efb7eb987c24..2194e4144de537edb9a765857cc37b0a DesktopCaptureOptions options = CreateDesktopCaptureOptions(); std::unique_ptr capturer; -@@ -455,8 +456,10 @@ static std::unique_ptr CreateDesktopCapturerAndThread( +@@ -462,8 +463,10 @@ static std::unique_ptr CreateDesktopCapturerAndThread( capturer->SelectSource(aSourceId); @@ -1633,7 +1580,7 @@ index 3f03789fa3948bbf2528975ce112efb7eb987c24..2194e4144de537edb9a765857cc37b0a } else if (aDeviceType == CaptureDeviceType::Browser) { // XXX We don't capture cursors, so avoid the extra indirection layer. We // could also pass null for the pMouseCursorMonitor. -@@ -473,7 +476,8 @@ static std::unique_ptr CreateDesktopCapturerAndThread( +@@ -480,7 +483,8 @@ static std::unique_ptr CreateDesktopCapturerAndThread( } DesktopCaptureImpl::DesktopCaptureImpl(const int32_t aId, const char* aUniqueId, @@ -1643,7 +1590,7 @@ index 3f03789fa3948bbf2528975ce112efb7eb987c24..2194e4144de537edb9a765857cc37b0a : mModuleId(aId), mTrackingId(mozilla::TrackingId(CaptureEngineToTrackingSourceStr([&] { switch (aType) { -@@ -490,6 +494,7 @@ DesktopCaptureImpl::DesktopCaptureImpl(const int32_t aId, const char* aUniqueId, +@@ -497,6 +501,7 @@ DesktopCaptureImpl::DesktopCaptureImpl(const int32_t aId, const char* aUniqueId, aId)), mDeviceUniqueId(aUniqueId), mDeviceType(aType), @@ -1651,7 +1598,7 @@ index 3f03789fa3948bbf2528975ce112efb7eb987c24..2194e4144de537edb9a765857cc37b0a mControlThread(mozilla::GetCurrentSerialEventTarget()), mNextFrameMinimumTime(Timestamp::Zero()), mCallbacks("DesktopCaptureImpl::mCallbacks") {} -@@ -514,6 +519,19 @@ void DesktopCaptureImpl::DeRegisterCaptureDataCallback( +@@ -521,6 +526,19 @@ void DesktopCaptureImpl::DeRegisterCaptureDataCallback( } } @@ -1671,7 +1618,7 @@ index 3f03789fa3948bbf2528975ce112efb7eb987c24..2194e4144de537edb9a765857cc37b0a int32_t DesktopCaptureImpl::StopCaptureIfAllClientsClose() { { auto callbacks = mCallbacks.Lock(); -@@ -546,7 +564,7 @@ int32_t DesktopCaptureImpl::StartCapture( +@@ -553,7 +571,7 @@ int32_t DesktopCaptureImpl::StartCapture( DesktopCapturer::SourceId sourceId = std::stoi(mDeviceUniqueId); std::unique_ptr capturer = CreateDesktopCapturerAndThread( @@ -1680,7 +1627,7 @@ index 3f03789fa3948bbf2528975ce112efb7eb987c24..2194e4144de537edb9a765857cc37b0a MOZ_ASSERT(!capturer == !mCaptureThread); if (!capturer) { -@@ -647,6 +665,15 @@ void DesktopCaptureImpl::OnCaptureResult(DesktopCapturer::Result aResult, +@@ -654,6 +672,15 @@ void DesktopCaptureImpl::OnCaptureResult(DesktopCapturer::Result aResult, frameInfo.height = aFrame->size().height(); frameInfo.videoType = VideoType::kARGB; @@ -1786,7 +1733,7 @@ index 64eadb140131ea807db8b55431630523342a88ce..371e093fef6e225302da6aaf6e1ede05 const nsCOMPtr mControlThread; // Set in StartCapture. diff --git a/dom/script/ScriptSettings.cpp b/dom/script/ScriptSettings.cpp -index 1f2d92bcb5d989bf9ecc044f8c51006f991b0007..9cf5dd885e658e0fe5e7ab75e7fc1f97a8d214b8 100644 +index 3b39538e51840cd9b1685b2efd2ff2e9ec83608a..c7bf4f2d53b58bbacb22b3ebebf6f3fc9b5e445f 100644 --- a/dom/script/ScriptSettings.cpp +++ b/dom/script/ScriptSettings.cpp @@ -150,6 +150,30 @@ ScriptSettingsStackEntry::~ScriptSettingsStackEntry() { @@ -1877,10 +1824,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 9c49ad97054ec46cfc52082202d36bb2b53482fc..46d22e51cfeaded274e63b9673e0c3c83b517e7a 100644 +index 4fc3db17b202f768cadc7fa3921badc4374a9f7a..be58abf2b7906e7307dd8f106f5f8bd2206793bc 100644 --- a/dom/workers/RuntimeService.cpp +++ b/dom/workers/RuntimeService.cpp -@@ -986,7 +986,7 @@ void PrefLanguagesChanged(const char* /* aPrefName */, void* /* aClosure */) { +@@ -985,7 +985,7 @@ void PrefLanguagesChanged(const char* /* aPrefName */, void* /* aClosure */) { AssertIsOnMainThread(); nsTArray languages; @@ -1889,7 +1836,7 @@ index 9c49ad97054ec46cfc52082202d36bb2b53482fc..46d22e51cfeaded274e63b9673e0c3c8 RuntimeService* runtime = RuntimeService::GetService(); if (runtime) { -@@ -1173,8 +1173,7 @@ bool RuntimeService::RegisterWorker(WorkerPrivate& aWorkerPrivate) { +@@ -1172,8 +1172,7 @@ bool RuntimeService::RegisterWorker(WorkerPrivate& aWorkerPrivate) { } // The navigator overridden properties should have already been read. @@ -1899,7 +1846,7 @@ index 9c49ad97054ec46cfc52082202d36bb2b53482fc..46d22e51cfeaded274e63b9673e0c3c8 mNavigatorPropertiesLoaded = true; } -@@ -1778,6 +1777,13 @@ void RuntimeService::PropagateStorageAccessPermissionGranted( +@@ -1772,6 +1771,13 @@ void RuntimeService::PropagateStorageAccessPermissionGranted( } } @@ -1913,7 +1860,7 @@ index 9c49ad97054ec46cfc52082202d36bb2b53482fc..46d22e51cfeaded274e63b9673e0c3c8 template void RuntimeService::BroadcastAllWorkers(const Func& aFunc) { AssertIsOnMainThread(); -@@ -2295,6 +2301,14 @@ void PropagateStorageAccessPermissionGrantedToWorkers( +@@ -2287,6 +2293,14 @@ void PropagateStorageAccessPermissionGrantedToWorkers( } } @@ -1955,17 +1902,17 @@ index d10dabb5c5ff8e17851edf2bd2efc08e74584d8e..53c4070c5fde43b27fb8fbfdcf4c23d8 bool IsWorkerGlobal(JSObject* global); diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp -index f7a8cec1ef69778b4579b72c58adeaf91315299e..87c18442e643a980cb07d43b9b1005c90953770b 100644 +index ed8a07bcdc25f77a93079c8b9f113c59b9befaf9..2f09a961603f28a658f2d29321a389b7623482b9 100644 --- a/dom/workers/WorkerPrivate.cpp +++ b/dom/workers/WorkerPrivate.cpp -@@ -711,6 +711,18 @@ class UpdateContextOptionsRunnable final : public WorkerControlRunnable { +@@ -679,6 +679,18 @@ class UpdateContextOptionsRunnable final : public WorkerControlRunnable { } }; +class ResetDefaultLocaleRunnable final : public WorkerControlRunnable { + public: + explicit ResetDefaultLocaleRunnable(WorkerPrivate* aWorkerPrivate) -+ : WorkerControlRunnable(aWorkerPrivate, WorkerThreadUnchangedBusyCount) {} ++ : WorkerControlRunnable(aWorkerPrivate, WorkerThread) {} + + virtual bool WorkerRun(JSContext* aCx, + WorkerPrivate* aWorkerPrivate) override { @@ -1977,7 +1924,7 @@ index f7a8cec1ef69778b4579b72c58adeaf91315299e..87c18442e643a980cb07d43b9b1005c9 class UpdateLanguagesRunnable final : public WorkerRunnable { nsTArray mLanguages; -@@ -2006,6 +2018,16 @@ void WorkerPrivate::UpdateContextOptions( +@@ -1949,6 +1961,16 @@ void WorkerPrivate::UpdateContextOptions( } } @@ -1994,7 +1941,7 @@ index f7a8cec1ef69778b4579b72c58adeaf91315299e..87c18442e643a980cb07d43b9b1005c9 void WorkerPrivate::UpdateLanguages(const nsTArray& aLanguages) { AssertIsOnParentThread(); -@@ -5417,6 +5439,15 @@ void WorkerPrivate::UpdateContextOptionsInternal( +@@ -5450,6 +5472,15 @@ void WorkerPrivate::UpdateContextOptionsInternal( } } @@ -2011,10 +1958,10 @@ index f7a8cec1ef69778b4579b72c58adeaf91315299e..87c18442e643a980cb07d43b9b1005c9 const nsTArray& aLanguages) { WorkerGlobalScope* globalScope = GlobalScope(); diff --git a/dom/workers/WorkerPrivate.h b/dom/workers/WorkerPrivate.h -index 6eb840b8e64b5a4db3c621599780561ef2fdaef4..59e27e6949dfda389516d64a7b4ac0f0e5a60148 100644 +index a134d4846f9ad0f273f61fe2c2daa10af7b3c7a6..38bb391cb542a560f93a0c302a1d942aad8135a6 100644 --- a/dom/workers/WorkerPrivate.h +++ b/dom/workers/WorkerPrivate.h -@@ -413,6 +413,8 @@ class WorkerPrivate final +@@ -417,6 +417,8 @@ class WorkerPrivate final void UpdateContextOptionsInternal(JSContext* aCx, const JS::ContextOptions& aContextOptions); @@ -2023,7 +1970,7 @@ index 6eb840b8e64b5a4db3c621599780561ef2fdaef4..59e27e6949dfda389516d64a7b4ac0f0 void UpdateLanguagesInternal(const nsTArray& aLanguages); void UpdateJSWorkerMemoryParameterInternal(JSContext* aCx, JSGCParamKey key, -@@ -1032,6 +1034,8 @@ class WorkerPrivate final +@@ -1036,6 +1038,8 @@ class WorkerPrivate final void UpdateContextOptions(const JS::ContextOptions& aContextOptions); @@ -2072,10 +2019,10 @@ index 9d0423ef13958d5c443cc3531269603c4801c338..f0c4ba7c528d2be466e0f7669a1e37e8 * Set the default time zone. */ diff --git a/js/public/Date.h b/js/public/Date.h -index dd82415624e1f05eaad818d68b8588ffb1b64ab1..c48ab77757aff777658fd4e37db6bdea47bdff32 100644 +index 422ea0b2c0daafd4447d0d83500ea73545c99b76..7f03adc302112e0de3d842d7ce6bc0909b50f76a 100644 --- a/js/public/Date.h +++ b/js/public/Date.h -@@ -53,6 +53,8 @@ namespace JS { +@@ -54,6 +54,8 @@ namespace JS { */ extern JS_PUBLIC_API void ResetTimeZone(); @@ -2085,10 +2032,10 @@ index dd82415624e1f05eaad818d68b8588ffb1b64ab1..c48ab77757aff777658fd4e37db6bdea inline ClippedTime TimeClip(double time); diff --git a/js/src/debugger/Object.cpp b/js/src/debugger/Object.cpp -index 49525b426a9f8656a471192ccf62f47f555a90a4..f6c832af063326a5e9e7166662bb21bc4e41cdca 100644 +index 2cb72597fdf2a10fdc53bf03d6cc98d9bc16af58..b3ce8a99c37fc8c503206ea2b47b7e000fc4bf3b 100644 --- a/js/src/debugger/Object.cpp +++ b/js/src/debugger/Object.cpp -@@ -2413,7 +2413,11 @@ Maybe DebuggerObject::call(JSContext* cx, +@@ -2446,7 +2446,11 @@ Maybe DebuggerObject::call(JSContext* cx, invokeArgs[i].set(args2[i]); } @@ -2255,10 +2202,10 @@ index dac899f7558b26d6848da8b98ed8a93555c8751a..2a07d67fa1c2840b25085566e84dc3b2 // No boxes to return return; diff --git a/layout/base/PresShell.cpp b/layout/base/PresShell.cpp -index bb625a6dda2475164d3236ed03ee248bfc2f6d66..6e6d5aca3701c4eb2b69e74226cf6ed8b10b65cd 100644 +index 6e27e39f432d678376cec3bfd8491e5f20ebd893..a69211527a0a2411b6ef4a69de0183428114139d 100644 --- a/layout/base/PresShell.cpp +++ b/layout/base/PresShell.cpp -@@ -10925,7 +10925,9 @@ bool PresShell::ComputeActiveness() const { +@@ -10906,7 +10906,9 @@ bool PresShell::ComputeActiveness() const { if (!browserChild->IsVisible()) { MOZ_LOG(gLog, LogLevel::Debug, (" > BrowserChild %p is not visible", browserChild)); @@ -2270,10 +2217,10 @@ index bb625a6dda2475164d3236ed03ee248bfc2f6d66..6e6d5aca3701c4eb2b69e74226cf6ed8 // If the browser is visible but just due to be preserving layers diff --git a/layout/style/GeckoBindings.h b/layout/style/GeckoBindings.h -index 1d5d60bb4e7cc0d93ff7e6662c9102bde59509c1..ee1436d6e06f13a4386314e8bb8e4e3998ae5a0c 100644 +index 327b3d587844c0ad81f5b9c2c622bf52315380bf..d5eefde23dfa3d5666f04af90b7dda1ffa38f6bd 100644 --- a/layout/style/GeckoBindings.h +++ b/layout/style/GeckoBindings.h -@@ -630,6 +630,7 @@ float Gecko_MediaFeatures_GetResolution(const mozilla::dom::Document*); +@@ -632,6 +632,7 @@ float Gecko_MediaFeatures_GetResolution(const mozilla::dom::Document*); bool Gecko_MediaFeatures_PrefersReducedMotion(const mozilla::dom::Document*); bool Gecko_MediaFeatures_PrefersReducedTransparency( const mozilla::dom::Document*); @@ -2282,7 +2229,7 @@ index 1d5d60bb4e7cc0d93ff7e6662c9102bde59509c1..ee1436d6e06f13a4386314e8bb8e4e39 const mozilla::dom::Document*); mozilla::StylePrefersColorScheme Gecko_MediaFeatures_PrefersColorScheme( diff --git a/layout/style/nsMediaFeatures.cpp b/layout/style/nsMediaFeatures.cpp -index 5e4fe65abcc373e6c0fba40458677cebb085266b..9425984faca3579cb90e96ae46ed47e66c2dc664 100644 +index f10c779512c8d6a778ccd2fe98f069745a58adab..8534639ff3c256820846c6e014185783bb317efe 100644 --- a/layout/style/nsMediaFeatures.cpp +++ b/layout/style/nsMediaFeatures.cpp @@ -261,11 +261,11 @@ bool Gecko_MediaFeatures_MatchesPlatform(StylePlatform aPlatform) { @@ -2302,36 +2249,21 @@ index 5e4fe65abcc373e6c0fba40458677cebb085266b..9425984faca3579cb90e96ae46ed47e6 } bool Gecko_MediaFeatures_PrefersReducedTransparency(const Document* aDocument) { -diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js -index a38a760f9c5ce666ad8d51d46f7685c9ac45d7b3..ed4d6bf2512f2428781e83612643230a5974d80a 100644 ---- a/modules/libpref/init/all.js -+++ b/modules/libpref/init/all.js -@@ -3933,7 +3933,9 @@ pref("devtools.f12_enabled", true); - // doesn't provide a way to lock the pref - pref("dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled", false); - #else --pref("dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled", false, locked); -+// Playwright: DO NOT make preference locked so that we can overwrite it -+// later in our playwright.cfg file. -+pref("dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled", false); - #endif - - // Whether sites require the open-protocol-handler permission to open a diff --git a/netwerk/base/LoadInfo.cpp b/netwerk/base/LoadInfo.cpp -index 164a1c1457ef21a6e1019caf9d1e710649e9f754..07fd3ecbabc103599204606024d8e0403345f02e 100644 +index 7e8b75f0156b059c19c9a2322087c2d79d28f961..d8899ca4ec66a1d1cafba5cb09205fa3b7d41384 100644 --- a/netwerk/base/LoadInfo.cpp +++ b/netwerk/base/LoadInfo.cpp -@@ -641,7 +641,8 @@ LoadInfo::LoadInfo(const LoadInfo& rhs) - mUnstrippedURI(rhs.mUnstrippedURI), +@@ -647,7 +647,8 @@ LoadInfo::LoadInfo(const LoadInfo& rhs) mInterceptionInfo(rhs.mInterceptionInfo), mHasInjectedCookieForCookieBannerHandling( -- rhs.mHasInjectedCookieForCookieBannerHandling) {} -+ rhs.mHasInjectedCookieForCookieBannerHandling), -+ mJugglerLoadIdentifier(rhs.mJugglerLoadIdentifier) {} + rhs.mHasInjectedCookieForCookieBannerHandling), +- mWasSchemelessInput(rhs.mWasSchemelessInput) { ++ mWasSchemelessInput(rhs.mWasSchemelessInput), ++ mJugglerLoadIdentifier(rhs.mJugglerLoadIdentifier) { + } LoadInfo::LoadInfo( - nsIPrincipal* aLoadingPrincipal, nsIPrincipal* aTriggeringPrincipal, -@@ -2321,4 +2322,16 @@ LoadInfo::SetHasInjectedCookieForCookieBannerHandling( +@@ -2363,4 +2364,16 @@ LoadInfo::SetWasSchemelessInput(bool aWasSchemelessInput) { return NS_OK; } @@ -2349,23 +2281,23 @@ index 164a1c1457ef21a6e1019caf9d1e710649e9f754..07fd3ecbabc103599204606024d8e040 + } // namespace mozilla::net diff --git a/netwerk/base/LoadInfo.h b/netwerk/base/LoadInfo.h -index f97d2389297ea1c4771ae2c7e55a0b3eade0743a..89c47840301480ffce5dd385bb5b0a34bfdd7390 100644 +index a8631b09b26708ca10f683f1a9dd6b8467d3fe8e..a0bd72113e3539d815d32382946581ee62f39b6c 100644 --- a/netwerk/base/LoadInfo.h +++ b/netwerk/base/LoadInfo.h -@@ -387,6 +387,8 @@ class LoadInfo final : public nsILoadInfo { - nsCOMPtr mInterceptionInfo; +@@ -401,6 +401,8 @@ class LoadInfo final : public nsILoadInfo { bool mHasInjectedCookieForCookieBannerHandling = false; + bool mWasSchemelessInput = false; + + uint64_t mJugglerLoadIdentifier = 0; }; // This is exposed solely for testing purposes and should not be used outside of diff --git a/netwerk/base/TRRLoadInfo.cpp b/netwerk/base/TRRLoadInfo.cpp -index 37b0b7bfe516ca69441e4cdd58861de9d595c692..6d3bb900624b6ad9e9449ce6f462a87dacfd4cb9 100644 +index 920e7623a7f912296fc23361f66ab35a30c35f1e..dfea0d0f7a72da9699615d7ff778e429e7ae40fb 100644 --- a/netwerk/base/TRRLoadInfo.cpp +++ b/netwerk/base/TRRLoadInfo.cpp -@@ -845,5 +845,16 @@ TRRLoadInfo::SetHasInjectedCookieForCookieBannerHandling( +@@ -861,5 +861,15 @@ TRRLoadInfo::SetWasSchemelessInput(bool aWasSchemelessInput) { return NS_ERROR_NOT_IMPLEMENTED; } @@ -2378,18 +2310,17 @@ index 37b0b7bfe516ca69441e4cdd58861de9d595c692..6d3bb900624b6ad9e9449ce6f462a87d +TRRLoadInfo::SetJugglerLoadIdentifier(uint64_t aResult) { + return NS_ERROR_NOT_IMPLEMENTED; +} -+ + } // namespace net } // namespace mozilla diff --git a/netwerk/base/nsILoadInfo.idl b/netwerk/base/nsILoadInfo.idl -index 7f3422274f7c075fcd6486ae5b8f5cd073aa1ccc..b667ba1e7dcea7e5d31f27df211553929e069993 100644 +index ccceadc42ce12bec8e9878124904f0ba3914a030..56ec55af399e7b831558ca5d2a71513d9c919839 100644 --- a/netwerk/base/nsILoadInfo.idl +++ b/netwerk/base/nsILoadInfo.idl -@@ -1505,4 +1505,6 @@ interface nsILoadInfo : nsISupports - * handle a cookie banner. This is only done for top-level requests. +@@ -1531,4 +1531,6 @@ interface nsILoadInfo : nsISupports + * Whether the load has gone through the URL bar, where the fixup had to add * the protocol scheme. */ - [infallible] attribute boolean hasInjectedCookieForCookieBannerHandling; + [infallible] attribute boolean wasSchemelessInput; + + [infallible] attribute unsigned long long jugglerLoadIdentifier; }; @@ -2406,10 +2337,10 @@ index d72dc570dc82ff9d576942b9e7c23d8a74d68049..a5fcddc4b0e53a862e5a77120b4ccff8 /** * Set the status and reason for the forthcoming synthesized response. diff --git a/netwerk/ipc/DocumentLoadListener.cpp b/netwerk/ipc/DocumentLoadListener.cpp -index ec7f54c1cc7a177e6487f4bc317ef28bfa34f348..8e34230df1183b408a8f6439965c0b48826aa974 100644 +index 995560e4818c69f89959e36164fa9eba39925037..3d92280cfd73c5b09926151aac36857775f48e30 100644 --- a/netwerk/ipc/DocumentLoadListener.cpp +++ b/netwerk/ipc/DocumentLoadListener.cpp -@@ -165,6 +165,7 @@ static auto CreateDocumentLoadInfo(CanonicalBrowsingContext* aBrowsingContext, +@@ -167,6 +167,7 @@ static auto CreateDocumentLoadInfo(CanonicalBrowsingContext* aBrowsingContext, loadInfo->SetHasValidUserGestureActivation( aLoadState->HasValidUserGestureActivation()); loadInfo->SetIsMetaRefresh(aLoadState->IsMetaRefresh()); @@ -2418,10 +2349,10 @@ index ec7f54c1cc7a177e6487f4bc317ef28bfa34f348..8e34230df1183b408a8f6439965c0b48 return loadInfo.forget(); } diff --git a/netwerk/protocol/http/InterceptedHttpChannel.cpp b/netwerk/protocol/http/InterceptedHttpChannel.cpp -index 03a2605c5d5591f7656ba4c4ff9a46f2e390c404..717f87b632995cb955fce5995604153ae4084561 100644 +index 4bee70faf21db77daf381f40a562840470f788f4..93986ccb252bca67f2a0b291c915d523f5dad9eb 100644 --- a/netwerk/protocol/http/InterceptedHttpChannel.cpp +++ b/netwerk/protocol/http/InterceptedHttpChannel.cpp -@@ -729,6 +729,14 @@ NS_IMPL_ISUPPORTS(ResetInterceptionHeaderVisitor, nsIHttpHeaderVisitor) +@@ -727,6 +727,14 @@ NS_IMPL_ISUPPORTS(ResetInterceptionHeaderVisitor, nsIHttpHeaderVisitor) } // anonymous namespace @@ -2436,7 +2367,7 @@ index 03a2605c5d5591f7656ba4c4ff9a46f2e390c404..717f87b632995cb955fce5995604153a NS_IMETHODIMP InterceptedHttpChannel::ResetInterception(bool aBypass) { INTERCEPTED_LOG(("InterceptedHttpChannel::ResetInterception [%p] bypass: %s", -@@ -1072,11 +1080,18 @@ InterceptedHttpChannel::OnStartRequest(nsIRequest* aRequest) { +@@ -1070,11 +1078,18 @@ InterceptedHttpChannel::OnStartRequest(nsIRequest* aRequest) { GetCallback(mProgressSink); } @@ -2456,10 +2387,10 @@ index 03a2605c5d5591f7656ba4c4ff9a46f2e390c404..717f87b632995cb955fce5995604153a 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 b2423f754063dd42ad80a607dc7a39ddc2bf89b3..99ce1ebd141ff1d2f6982b2fa8ed485c658d3abe 100644 +index 125728fa73180bbe57bfc1f53379ec637f108eb7..5fd60bebebbfa0f2de99cb14762cf0d52dbdb0cb 100644 --- a/parser/html/nsHtml5TreeOpExecutor.cpp +++ b/parser/html/nsHtml5TreeOpExecutor.cpp -@@ -1375,6 +1375,10 @@ void nsHtml5TreeOpExecutor::UpdateReferrerInfoFromMeta( +@@ -1376,6 +1376,10 @@ void nsHtml5TreeOpExecutor::UpdateReferrerInfoFromMeta( void nsHtml5TreeOpExecutor::AddSpeculationCSP(const nsAString& aCSP) { NS_ASSERTION(NS_IsMainThread(), "Wrong thread!"); @@ -2544,7 +2475,7 @@ index 6dfd07d6b676a99993408921de8dea9d561f201d..e3c6794363cd6336effbeac83a179f37 readonly attribute boolean securityCheckDisabled; }; diff --git a/services/settings/Utils.sys.mjs b/services/settings/Utils.sys.mjs -index d9150337a18c0d41fab89c46a3792049df89bc84..0257ee0899355c315da7f632deec645738732663 100644 +index 73c83e526be1a3a252f995d0718e3975d50bffa7..4b05141c8ab8b084d977341127f36ea6d226aa9a 100644 --- a/services/settings/Utils.sys.mjs +++ b/services/settings/Utils.sys.mjs @@ -95,7 +95,7 @@ function _isUndefined(value) { @@ -2557,10 +2488,10 @@ index d9150337a18c0d41fab89c46a3792049df89bc84..0257ee0899355c315da7f632deec6457 : AppConstants.REMOTE_SETTINGS_SERVER_URL; }, diff --git a/servo/components/style/gecko/media_features.rs b/servo/components/style/gecko/media_features.rs -index 986c5fe7d8dc07ae71057cb1cd778566184cd137..bf83c7504b457383f02ec4d211c0659ad3ca415b 100644 +index 014248a26f7b070850edf1d7db0990fd8ef26a10..9846ae282d959c406f15052791aae3ec9351326f 100644 --- a/servo/components/style/gecko/media_features.rs +++ b/servo/components/style/gecko/media_features.rs -@@ -291,10 +291,15 @@ pub enum ForcedColors { +@@ -293,10 +293,15 @@ pub enum ForcedColors { /// https://drafts.csswg.org/mediaqueries-5/#forced-colors fn eval_forced_colors(context: &Context, query_value: Option) -> bool { @@ -2611,10 +2542,10 @@ index 61eda006f090e391b3c0f209e9400920f480c115..8fea8caf17913a2736884caca8f6087f if (provider.failed) { diff --git a/toolkit/components/startup/nsAppStartup.cpp b/toolkit/components/startup/nsAppStartup.cpp -index 26a414b5df26e43f2e3fa4ef539190021a167b04..e8d33f28f2696a4ecee3af2668747c7bfb803a2e 100644 +index 3314cb813f6ceb67096eeda0864ad3b16c0616cb..5aac63649e186d624a9905a5d16513f8353f5515 100644 --- a/toolkit/components/startup/nsAppStartup.cpp +++ b/toolkit/components/startup/nsAppStartup.cpp -@@ -370,7 +370,7 @@ nsAppStartup::Quit(uint32_t aMode, int aExitCode, bool* aUserAllowedQuit) { +@@ -371,7 +371,7 @@ nsAppStartup::Quit(uint32_t aMode, int aExitCode, bool* aUserAllowedQuit) { nsCOMPtr windowEnumerator; nsCOMPtr mediator( do_GetService(NS_WINDOWMEDIATOR_CONTRACTID)); @@ -2639,10 +2570,10 @@ index 654903fadb709be976b72f36f155e23bc0622152..815b3dc24c9fda6b1db6c4666ac68904 int32_t aMaxSelfProgress, int32_t aCurTotalProgress, diff --git a/toolkit/components/windowwatcher/nsWindowWatcher.cpp b/toolkit/components/windowwatcher/nsWindowWatcher.cpp -index 9c8e6a919263899f95bc41b1ca419d5048e50b2a..4b3ad73393c24268b6df62823e56bcf4367cac21 100644 +index 144924a7a6b3d11c0de3992d1e1f99a04f7611b4..b7646200f7843d42ef3fb1919e5a1d3057eaf14c 100644 --- a/toolkit/components/windowwatcher/nsWindowWatcher.cpp +++ b/toolkit/components/windowwatcher/nsWindowWatcher.cpp -@@ -1882,7 +1882,11 @@ uint32_t nsWindowWatcher::CalculateChromeFlagsForContent( +@@ -1880,7 +1880,11 @@ uint32_t nsWindowWatcher::CalculateChromeFlagsForContent( // Open a minimal popup. *aIsPopupRequested = true; @@ -2656,10 +2587,10 @@ index 9c8e6a919263899f95bc41b1ca419d5048e50b2a..4b3ad73393c24268b6df62823e56bcf4 /** diff --git a/toolkit/mozapps/update/UpdateService.sys.mjs b/toolkit/mozapps/update/UpdateService.sys.mjs -index e79ef9a551dd4fd0854bbfae56d4d7ee105a70c7..814c53dcc65faf3441a66d253dbcd59363ee32ac 100644 +index fcb142e5d74ab40515fd6e3b7848a661771d459c..592d4b759958283b1c53c52a648f35f97110705b 100644 --- a/toolkit/mozapps/update/UpdateService.sys.mjs +++ b/toolkit/mozapps/update/UpdateService.sys.mjs -@@ -3816,6 +3816,8 @@ UpdateService.prototype = { +@@ -3853,6 +3853,8 @@ UpdateService.prototype = { }, get disabledForTesting() { @@ -2669,10 +2600,10 @@ index e79ef9a551dd4fd0854bbfae56d4d7ee105a70c7..814c53dcc65faf3441a66d253dbcd593 (Cu.isInAutomation || lazy.Marionette.running || diff --git a/toolkit/toolkit.mozbuild b/toolkit/toolkit.mozbuild -index d2ccd8748228b04c84754f9a6dce2ca3bf991e47..d3a8ea1d9994f724cd52cecd4d2cd2851b81dee9 100644 +index 2e3721e8a5807936c02cce6c21240df3b4c92c97..ecd1ca11d96c14ba6db4b09d4d9c10ef757e690b 100644 --- a/toolkit/toolkit.mozbuild +++ b/toolkit/toolkit.mozbuild -@@ -154,6 +154,7 @@ if CONFIG['ENABLE_WEBDRIVER']: +@@ -155,6 +155,7 @@ if CONFIG['ENABLE_WEBDRIVER']: '/remote', '/testing/firefox-ui', '/testing/marionette', @@ -2716,7 +2647,7 @@ index 7eb9e1104682d4eb47060654f43a1efa8b2a6bb2..a8315d6decf654b5302bea5beeea3414 // Only run this code if LauncherProcessWin.h was included beforehand, thus // signalling that the hosting process should support launcher mode. diff --git a/uriloader/base/nsDocLoader.cpp b/uriloader/base/nsDocLoader.cpp -index f779f0028e87a0fd1d7f633c9c23872f9d840cf6..29a2ec96eb52fd3b09994c63a0d5280437be2854 100644 +index d54be4a4d7697851cc5279a39a49b06c745b7630..abb455116db3011dc7f84df86631da5eb7030700 100644 --- a/uriloader/base/nsDocLoader.cpp +++ b/uriloader/base/nsDocLoader.cpp @@ -828,6 +828,13 @@ void nsDocLoader::DocLoaderIsEmpty(bool aFlushLayout, @@ -2946,10 +2877,10 @@ index 1c25e9d9a101233f71e92288a0f93125b81ac1c5..22cf67b0f6e3ddd2b3ed725a314ba6a9 } #endif diff --git a/widget/MouseEvents.h b/widget/MouseEvents.h -index 5e20484e043e070dd8a6d7ee5ecab939435efc2c..f721212f147d01a8824e67c26216f249032254bf 100644 +index 7ad7d82cd68810d9557adaa31ad5c7cb80bfb079..7a3d0116ce924e1e26a1cc6976abe11ed6f4a62c 100644 --- a/widget/MouseEvents.h +++ b/widget/MouseEvents.h -@@ -204,6 +204,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, +@@ -258,6 +258,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, : mReason(eReal), mContextMenuTrigger(eNormal), mClickCount(0), @@ -2957,7 +2888,7 @@ index 5e20484e043e070dd8a6d7ee5ecab939435efc2c..f721212f147d01a8824e67c26216f249 mIgnoreRootScrollFrame(false), mClickEventPrevented(false) {} -@@ -215,6 +216,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, +@@ -269,6 +270,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, mReason(aReason), mContextMenuTrigger(eNormal), mClickCount(0), @@ -2965,7 +2896,7 @@ index 5e20484e043e070dd8a6d7ee5ecab939435efc2c..f721212f147d01a8824e67c26216f249 mIgnoreRootScrollFrame(false), mClickEventPrevented(false) {} -@@ -234,6 +236,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, +@@ -288,6 +290,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, mReason(aReason), mContextMenuTrigger(aContextMenuTrigger), mClickCount(0), @@ -2973,7 +2904,7 @@ index 5e20484e043e070dd8a6d7ee5ecab939435efc2c..f721212f147d01a8824e67c26216f249 mIgnoreRootScrollFrame(false), mClickEventPrevented(false) { if (aMessage == eContextMenu) { -@@ -282,6 +285,9 @@ class WidgetMouseEvent : public WidgetMouseEventBase, +@@ -336,6 +339,9 @@ class WidgetMouseEvent : public WidgetMouseEventBase, // Otherwise, this must be 0. uint32_t mClickCount; @@ -2983,7 +2914,7 @@ index 5e20484e043e070dd8a6d7ee5ecab939435efc2c..f721212f147d01a8824e67c26216f249 // Whether the event should ignore scroll frame bounds during dispatch. bool mIgnoreRootScrollFrame; -@@ -294,6 +300,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, +@@ -348,6 +354,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase, mExitFrom = aEvent.mExitFrom; mClickCount = aEvent.mClickCount; @@ -3054,6 +2985,31 @@ index e4bdf715e2fb899e97a5bfeb2e147127460d6047..3554f919480278b7353617481c7ce805 break; } if (aEvent.IsMeta()) { +diff --git a/widget/cocoa/nsCocoaUtils.mm b/widget/cocoa/nsCocoaUtils.mm +index f3a760476290953df2179fa44bd68dd171d291ab..6cd3f8178d260904905372c1afc7ecbcc568fbc8 100644 +--- a/widget/cocoa/nsCocoaUtils.mm ++++ b/widget/cocoa/nsCocoaUtils.mm +@@ -267,14 +267,17 @@ static float MenuBarScreenHeight() { + return nullptr; + } + +- nsCOMPtr hiddenWindowWidget; ++ nsCOMPtr mainWindowWidget; + if (NS_FAILED(baseHiddenWindow->GetMainWidget( +- getter_AddRefs(hiddenWindowWidget)))) { ++ getter_AddRefs(mainWindowWidget)))) { + NS_WARNING("Couldn't get nsIWidget from hidden window (nsIBaseWindow)"); + return nullptr; + } + +- return hiddenWindowWidget; ++ // In the case of headless mode, it's a HeadlessWidget while the callee expects a nsCocoaWindow ++ if (gfxPlatform::IsHeadless()) ++ return nullptr; ++ return mainWindowWidget; + } + + BOOL nsCocoaUtils::WasLaunchedAtLogin() { diff --git a/widget/headless/HeadlessCompositorWidget.cpp b/widget/headless/HeadlessCompositorWidget.cpp index bb4ee9175e66dc40de1871a7f91368fe309494a3..747625e3869882300bfbc18b184db5151dd90c1a 100644 --- a/widget/headless/HeadlessCompositorWidget.cpp @@ -3246,7 +3202,7 @@ index 9856991ef32f25f51942f8cd664a09bec2192c70..948947a421179e91c51005aeb83ed0d1 ~HeadlessWidget(); bool mEnabled; diff --git a/widget/nsGUIEventIPC.h b/widget/nsGUIEventIPC.h -index e8b831233338630c3106fd9debeba128228d3e0c..60422b1a1734e1bdeba7b6083727e29f0e5e9f35 100644 +index a3d7aaf1b6c651fedbab7875c1a38647103d08ed..ac3b09e50216524cce90d96b013007f7b07472da 100644 --- a/widget/nsGUIEventIPC.h +++ b/widget/nsGUIEventIPC.h @@ -234,6 +234,7 @@ struct ParamTraits { diff --git a/browser_patches/firefox/preferences/playwright.cfg b/browser_patches/firefox/preferences/playwright.cfg index 49976d7fd7..e5b7bdc953 100644 --- a/browser_patches/firefox/preferences/playwright.cfg +++ b/browser_patches/firefox/preferences/playwright.cfg @@ -6,6 +6,8 @@ pref("dom.input_events.security.minNumTicks", 0); pref("dom.input_events.security.minTimeElapsedInMS", 0); +pref("dom.iframe_lazy_loading.enabled", false); + pref("datareporting.policy.dataSubmissionEnabled", false); pref("datareporting.policy.dataSubmissionPolicyAccepted", false); pref("datareporting.policy.dataSubmissionPolicyBypassNotification", true); @@ -97,9 +99,6 @@ pref("security.enterprise_roots.enabled", true); // See AppShutdown.cpp for more details on shutdown phases. pref("toolkit.shutdown.fastShutdownStage", 3); -// @see https://github.com/microsoft/playwright/issues/8178 -pref("dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled", true); - // Use light theme by default. pref("ui.systemUsesDarkTheme", 0); diff --git a/browser_patches/webkit/UPSTREAM_CONFIG.sh b/browser_patches/webkit/UPSTREAM_CONFIG.sh index aa9e856e37..1260c15690 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="bc0bc692bc9e368bbd9d530322db73b374cd6268" +BASE_REVISION="3db3a794a844d2c7e4cda8fc6a7588f8e62ee85a" diff --git a/browser_patches/webkit/patches/bootstrap.diff b/browser_patches/webkit/patches/bootstrap.diff index e686675ca5..70ccfe70c5 100644 --- a/browser_patches/webkit/patches/bootstrap.diff +++ b/browser_patches/webkit/patches/bootstrap.diff @@ -239,10 +239,10 @@ index 80559d39722b74e325d513ea22054b0d399a4e8f..24977f9dfcfcdb29a20d178be608aca8 bool m_isPaused { false }; }; diff --git a/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp b/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp -index 1c40b312afeca605fc8a6aefd993749fce3f3676..b7fbac213249fd15233b60e11a38aae7b934cf7e 100644 +index 15d2592d36b402bf2210dc4970ff40957022e84a..99ac14dc75ff5296e1f6c42bdbf8c128f2d82254 100644 --- a/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp +++ b/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp -@@ -218,6 +218,14 @@ void JSGlobalObjectConsoleClient::screenshot(JSGlobalObject*, Ref&&) final; void recordEnd(JSC::JSGlobalObject*, Ref&&) final; void screenshot(JSC::JSGlobalObject*, Ref&&) final; @@ -270,10 +270,10 @@ index 6e573c4dfd1f356b76ef9b46dcee4254e9a28f27..8855604064f5130211baab6caa89318c void warnUnimplemented(const String& method); void internalAddMessage(MessageType, MessageLevel, JSC::JSGlobalObject*, Ref&&); diff --git a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp -index 4c0b84a3ce88997372b05e54761fbd1d16350c84..5a8da96c4772f998efb188043484c6ba26f73cf0 100644 +index 594584db96a3de67b92910f472f1403bc9b26ce2..8ba453f9ae8726ccfb26c55180371c20bed6962e 100644 --- a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp +++ b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp -@@ -191,9 +191,8 @@ void InspectorRuntimeAgent::callFunctionOn(const Protocol::Runtime::RemoteObject +@@ -194,9 +194,8 @@ void InspectorRuntimeAgent::callFunctionOn(const Protocol::Runtime::RemoteObject void InspectorRuntimeAgent::callFunctionOn(InjectedScript& injectedScript, const Protocol::Runtime::RemoteObjectId& objectId, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& /* emulateUserGesture */, std::optional&& awaitPromise, Ref&& callback) { ASSERT(!injectedScript.hasNoValue()); @@ -284,7 +284,7 @@ index 4c0b84a3ce88997372b05e54761fbd1d16350c84..5a8da96c4772f998efb188043484c6ba bool pauseAndMute = doNotPauseOnExceptionsAndMuteConsole.value_or(false); if (pauseAndMute) { temporarilyDisableExceptionBreakpoints.replace(); -@@ -212,6 +211,11 @@ void InspectorRuntimeAgent::callFunctionOn(InjectedScript& injectedScript, const +@@ -215,6 +214,11 @@ void InspectorRuntimeAgent::callFunctionOn(InjectedScript& injectedScript, const unmuteConsole(); } @@ -297,10 +297,10 @@ index 4c0b84a3ce88997372b05e54761fbd1d16350c84..5a8da96c4772f998efb188043484c6ba { Protocol::ErrorString errorString; diff --git a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h -index 5c3488200ab2df6dfc914ff780f05eba7ffd92a2..11e6a6a9b027f2e4ea904e796019ee2a698509cf 100644 +index 816633a6dfc75a1248f6edb44807e5d4f602568c..687fb7dadfad9357e15a27e0869fa145c46fb39a 100644 --- a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h +++ b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h -@@ -63,6 +63,7 @@ public: +@@ -64,6 +64,7 @@ public: Protocol::ErrorStringOr, std::optional /* wasThrown */, std::optional /* savedResultIndex */>> evaluate(const String& expression, const String& objectGroup, std::optional&& includeCommandLineAPI, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&&, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& saveResult, std::optional&& emulateUserGesture) override; void awaitPromise(const Protocol::Runtime::RemoteObjectId&, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& saveResult, Ref&&) final; void callFunctionOn(const Protocol::Runtime::RemoteObjectId&, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& emulateUserGesture, std::optional&& awaitPromise, Ref&&) override; @@ -309,10 +309,10 @@ index 5c3488200ab2df6dfc914ff780f05eba7ffd92a2..11e6a6a9b027f2e4ea904e796019ee2a Protocol::ErrorStringOr> getPreview(const Protocol::Runtime::RemoteObjectId&) final; Protocol::ErrorStringOr>, RefPtr>>> getProperties(const Protocol::Runtime::RemoteObjectId&, std::optional&& ownProperties, std::optional&& fetchStart, std::optional&& fetchCount, std::optional&& generatePreview) final; diff --git a/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.cpp -index 508eb02ec95c52408384a1e2b77648afd426dd9d..93d6757e170272cda8c346bf51578d2b5f8aafaa 100644 +index e47c6ca59f37fbf18ca8a393df72e0472363fabd..b393465540595220561ae00afb85408279710864 100644 --- a/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.cpp +++ b/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.cpp -@@ -87,6 +87,34 @@ Protocol::ErrorStringOr InspectorTargetAgent::sendMessageToTarget(const St +@@ -90,6 +90,34 @@ Protocol::ErrorStringOr InspectorTargetAgent::sendMessageToTarget(const St return { }; } @@ -347,7 +347,7 @@ index 508eb02ec95c52408384a1e2b77648afd426dd9d..93d6757e170272cda8c346bf51578d2b void InspectorTargetAgent::sendMessageFromTargetToFrontend(const String& targetId, const String& message) { ASSERT_WITH_MESSAGE(m_targets.get(targetId), "Sending a message from an untracked target to the frontend."); -@@ -144,7 +172,17 @@ void InspectorTargetAgent::targetDestroyed(InspectorTarget& target) +@@ -147,7 +175,17 @@ void InspectorTargetAgent::targetDestroyed(InspectorTarget& target) if (!m_isConnected) return; @@ -367,10 +367,10 @@ index 508eb02ec95c52408384a1e2b77648afd426dd9d..93d6757e170272cda8c346bf51578d2b void InspectorTargetAgent::didCommitProvisionalTarget(const String& oldTargetID, const String& committedTargetID) diff --git a/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.h b/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.h -index e81573fd0fffaaf6fd2af36635c78fcdf8608c69..c8cde6cfcde9612624f12e21bd9fa56b426bec7f 100644 +index 4edcbf5f4aee2eb8e5675a23b9db67e9d640ef7f..a32b0f3a5de49e58b8a35cec9202b7880e91a2f0 100644 --- a/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.h +++ b/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.h -@@ -50,15 +50,20 @@ public: +@@ -51,15 +51,20 @@ public: Protocol::ErrorStringOr setPauseOnStart(bool) final; Protocol::ErrorStringOr resume(const String& targetId) final; Protocol::ErrorStringOr sendMessageToTarget(const String& targetId, const String& message) final; @@ -1659,10 +1659,18 @@ index 72c81757450ad5ebacd5fd20d2a16095514802ec..b7d8ab1e04d3850180079870468b28ef private: enum ArgumentRequirement { ArgumentRequired, ArgumentNotRequired }; diff --git a/Source/ThirdParty/libwebrtc/CMakeLists.txt b/Source/ThirdParty/libwebrtc/CMakeLists.txt -index 0c300bedc697024ca511e43d480f3b7205df3ed6..e54875b46c558903a6b6157833b82ec8ce0ac1f1 100644 +index c205e2646ba6504bf2d865efe27f37ce4299c3cc..57ef4fa64b8b118fa4a3f7b77eb7d3df98d7ab83 100644 --- a/Source/ThirdParty/libwebrtc/CMakeLists.txt +++ b/Source/ThirdParty/libwebrtc/CMakeLists.txt -@@ -529,6 +529,11 @@ set(webrtc_SOURCES +@@ -452,6 +452,7 @@ set(webrtc_SOURCES + Source/third_party/boringssl/src/crypto/x509/x_val.c + Source/third_party/boringssl/src/crypto/x509/x_x509a.c + Source/third_party/boringssl/src/crypto/x509/x_x509.c ++ + Source/third_party/boringssl/src/decrepit/bio/base64_bio.c + Source/third_party/boringssl/src/decrepit/blowfish/blowfish.c + Source/third_party/boringssl/src/decrepit/cast/cast.c +@@ -565,6 +566,11 @@ set(webrtc_SOURCES Source/third_party/boringssl/src/tool/transport_common.cc Source/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc Source/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/modulewrapper.cc @@ -1674,7 +1682,7 @@ index 0c300bedc697024ca511e43d480f3b7205df3ed6..e54875b46c558903a6b6157833b82ec8 Source/third_party/libyuv/source/compare.cc Source/third_party/libyuv/source/compare_common.cc Source/third_party/libyuv/source/compare_gcc.cc -@@ -2126,6 +2131,10 @@ set(webrtc_INCLUDE_DIRECTORIES PRIVATE +@@ -2198,6 +2204,10 @@ set(webrtc_INCLUDE_DIRECTORIES PRIVATE Source/third_party/libsrtp/config Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include @@ -1699,13 +1707,13 @@ index 8f79bffda497f6144e9e82c23397a182a6745cf3..d22f4fd1b54d535288994c44a5bd6140 WARNING_CFLAGS = -Wno-deprecated-declarations $(inherited); diff --git a/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp b/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp -index eed4780db5dd82c4946ef9662f91ec259150b598..1cdfac1540b8dc06a5ad0dbc40b63087520c6f70 100644 +index bad4a4b2202135e367949695c5222e42739e003f..8f0ba977deb361225062445e6a950ee8bdf2345d 100644 --- a/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp +++ b/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp -@@ -386,3 +386,24 @@ __ZN3rtc7NetworkC1ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_RKNS_9I - __ZN6webrtc18callback_list_impl21CallbackListReceiversC1Ev - __ZNK6webrtc32webrtc_sequence_checker_internal19SequenceCheckerImpl19ExpectationToStringEv - __ZN3rtc16InterfaceAddressaSERKS0_ +@@ -394,3 +394,24 @@ __ZN6webrtc8RtpCodecD1Ev + __ZN7cricket16CreateVideoCodecERKN6webrtc14SdpVideoFormatE + __ZN7cricket5CodecD1Ev + __ZTVN3rtc17AsyncPacketSocketE +__ZN8mkvmuxer11SegmentInfo15set_writing_appEPKc +__ZN8mkvmuxer11SegmentInfo4InitEv +__ZN8mkvmuxer7Segment10OutputCuesEb @@ -1728,31 +1736,34 @@ index eed4780db5dd82c4946ef9662f91ec259150b598..1cdfac1540b8dc06a5ad0dbc40b63087 +_vpx_codec_version_str +_vpx_codec_vp8_cx diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc b/Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc -index bcd9e02bc019e17799fe812d7d9a4c7c316b3456..909bbac68574129ea60af831f30de59edf3c28b8 100644 +index 625cb7fefc6a699d9e2f28c6acc1bc7681ea3984..cd6677a7ffd3321978427a9fc6fbed5179aebb60 100644 --- a/Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc +++ b/Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc -@@ -15,6 +15,7 @@ - +@@ -16,6 +16,7 @@ #include "absl/algorithm/container.h" #include "absl/memory/memory.h" -+#include "absl/types/optional.h" - #include "api/call/transport.h" + #include "absl/types/optional.h" ++#include "api/call/transport.h" #include "api/video/video_bitrate_allocation.h" #include "modules/rtp_rtcp/include/receive_statistics.h" -@@ -358,7 +359,7 @@ void RtcpTransceiverImpl::HandleReportBlocks( - Timestamp::Millis(now_ntp.ToMs() - rtc::kNtpJan1970Millisecs); + #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" +diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h264.h b/Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h264.h +index 80709f1f43aa74428bb05b2a3ca4bb9d0631cd3d..1dde8c58f853cce5a6a2787c4bbcf381f0674582 100644 +--- a/Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h264.h ++++ b/Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h264.h +@@ -16,6 +16,7 @@ - for (const rtcp::ReportBlock& block : rtcp_report_blocks) { -- std::optional rtt; -+ absl::optional rtt; - if (block.last_sr() != 0) { - rtt = CompactNtpRttToTimeDelta( - receive_time_ntp - block.delay_since_last_sr() - block.last_sr()); + #include + #include ++#include + #include + + #include "api/array_view.h" diff --git a/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj b/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj -index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b08fafe98 100644 +index c9fa28d80575ccee5c9ffbe7e1c72f438a2031dd..9d1ea54dfb66a92f1b1295e457666b14fe99ee0e 100644 --- a/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj +++ b/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj -@@ -28,6 +28,20 @@ +@@ -32,6 +32,20 @@ }; /* End PBXAggregateTarget section */ @@ -1773,7 +1784,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b /* Begin PBXBuildFile section */ 2D6BFF60280A93DF00A1A74F /* video_coding.h in Headers */ = {isa = PBXBuildFile; fileRef = 4131C45B234C81710028A615 /* video_coding.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2D6BFF61280A93EC00A1A74F /* video_codec_initializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4131C45E234C81720028A615 /* video_codec_initializer.h */; settings = {ATTRIBUTES = (Public, ); }; }; -@@ -5028,6 +5042,9 @@ +@@ -5104,6 +5118,9 @@ DDF30D9127C5C725006A526F /* receive_side_congestion_controller.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF30D9027C5C725006A526F /* receive_side_congestion_controller.h */; }; DDF30D9527C5C756006A526F /* bwe_defines.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF30D9327C5C756006A526F /* bwe_defines.h */; }; DDF30D9627C5C756006A526F /* remote_bitrate_estimator.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF30D9427C5C756006A526F /* remote_bitrate_estimator.h */; }; @@ -1783,7 +1794,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b /* End PBXBuildFile section */ /* Begin PBXBuildRule section */ -@@ -5418,6 +5435,13 @@ +@@ -5550,6 +5567,13 @@ remoteGlobalIDString = DDF30D0527C5C003006A526F; remoteInfo = absl; }; @@ -1797,7 +1808,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ -@@ -10837,6 +10861,9 @@ +@@ -11084,6 +11108,9 @@ DDF30D9027C5C725006A526F /* receive_side_congestion_controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = receive_side_congestion_controller.h; sourceTree = ""; }; DDF30D9327C5C756006A526F /* bwe_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bwe_defines.h; sourceTree = ""; }; DDF30D9427C5C756006A526F /* remote_bitrate_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remote_bitrate_estimator.h; sourceTree = ""; }; @@ -1807,7 +1818,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b FB39D0D11200F0E300088E69 /* libwebrtc.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libwebrtc.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ -@@ -19415,6 +19442,7 @@ +@@ -19876,6 +19903,7 @@ isa = PBXGroup; children = ( CDFD2F9224C4B2F90048DAC3 /* common */, @@ -1815,7 +1826,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b CDEBB19224C0191800ADBD44 /* webm_parser */, ); path = libwebm; -@@ -19849,6 +19877,16 @@ +@@ -20302,6 +20330,16 @@ path = include; sourceTree = ""; }; @@ -1832,7 +1843,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b FB39D06E1200ED9200088E69 = { isa = PBXGroup; children = ( -@@ -22941,6 +22979,7 @@ +@@ -23504,6 +23542,7 @@ ); dependencies = ( 410B3827292B73E90003E515 /* PBXTargetDependency */, @@ -1840,15 +1851,15 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b DD2E76E827C6B69A00F2A74C /* PBXTargetDependency */, CDEBB4CC24C01AB400ADBD44 /* PBXTargetDependency */, 411ED040212E0811004320BA /* PBXTargetDependency */, -@@ -23016,6 +23055,7 @@ - 446359B62AEA108C00551EEE /* vp8_replay_fuzzer */, - 44C20E892AB39FA80046C6A8 /* vp9_dec_fuzzer */, +@@ -23583,6 +23622,7 @@ + 4460B89B2B155B2E00392062 /* vp9_depacketizer_fuzzer */, + 4460B8B92B155B6A00392062 /* vp9_qp_parser_fuzzer */, 444A6EF02AEADFC9005FE121 /* vp9_replay_fuzzer */, + F31720AC27FE215900EEE407 /* Copy libvpx headers */, ); }; /* End PBXProject section */ -@@ -23098,6 +23138,23 @@ +@@ -23666,6 +23706,23 @@ shellPath = /bin/sh; shellScript = "\"${SRCROOT}/Scripts/create-symlink-to-altroot.sh\"\n"; }; @@ -1872,7 +1883,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ -@@ -24956,6 +25013,9 @@ +@@ -25612,6 +25669,9 @@ 5CDD865E1E43B8B500621E92 /* min_max_operations.c in Sources */, 4189395B242A71F5007FDC41 /* min_video_bitrate_experiment.cc in Sources */, 41B8D8FB28CB85CB00E5FA37 /* missing_mandatory_parameter_cause.cc in Sources */, @@ -1882,7 +1893,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b 4131C387234B957D0028A615 /* moving_average.cc in Sources */, 41FCBB1521B1F7AA00A5DF27 /* moving_average.cc in Sources */, 5CD286101E6A64C90094FDC8 /* moving_max.cc in Sources */, -@@ -25755,6 +25815,11 @@ +@@ -26454,6 +26514,11 @@ target = DDF30D0527C5C003006A526F /* absl */; targetProxy = DD2E76E727C6B69A00F2A74C /* PBXContainerItemProxy */; }; @@ -1894,7 +1905,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ -@@ -26204,6 +26269,27 @@ +@@ -26999,6 +27064,27 @@ }; name = Production; }; @@ -1922,7 +1933,7 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b FB39D0711200ED9200088E69 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */; -@@ -26436,6 +26522,16 @@ +@@ -27271,6 +27357,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Production; }; @@ -1940,10 +1951,10 @@ index e05e49446506e8e7adff5854798471b6c9a72a76..b61126bd44324aecd9295affe1d02b9b isa = XCConfigurationList; buildConfigurations = ( diff --git a/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml b/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml -index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c69224c99c 100644 +index e746383fdf0382c1a0527e25a7f9b6714d32fe9e..40811a978dc1a4a788bb957e411ace74bf69c640 100644 --- a/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml +++ b/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml -@@ -553,6 +553,7 @@ AriaTextRoleEnabled: +@@ -567,6 +567,7 @@ AriaTextRoleEnabled: default: false # FIXME: This is on by default in WebKit2 PLATFORM(COCOA). Perhaps we should consider turning it on for WebKitLegacy as well. @@ -1951,7 +1962,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 AsyncClipboardAPIEnabled: type: bool status: mature -@@ -563,7 +564,7 @@ AsyncClipboardAPIEnabled: +@@ -577,7 +578,7 @@ AsyncClipboardAPIEnabled: default: false WebKit: "PLATFORM(COCOA) || PLATFORM(GTK)" : true @@ -1960,7 +1971,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 WebCore: default: false -@@ -1887,9 +1888,10 @@ CrossOriginEmbedderPolicyEnabled: +@@ -1899,9 +1900,10 @@ CrossOriginEmbedderPolicyEnabled: WebCore: default: false @@ -1972,7 +1983,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 category: security humanReadableName: "Cross-Origin-Opener-Policy (COOP) header" humanReadableDescription: "Support for Cross-Origin-Opener-Policy (COOP) header" -@@ -1897,7 +1899,7 @@ CrossOriginOpenerPolicyEnabled: +@@ -1909,7 +1911,7 @@ CrossOriginOpenerPolicyEnabled: WebKitLegacy: default: false WebKit: @@ -1981,7 +1992,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 WebCore: default: false -@@ -1927,7 +1929,7 @@ CustomPasteboardDataEnabled: +@@ -1939,7 +1941,7 @@ CustomPasteboardDataEnabled: WebKitLegacy: default: false WebKit: @@ -1989,8 +2000,8 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 + "PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE) || PLATFORM(WIN)": true default: false - DNSPrefetchingEnabled: -@@ -1972,6 +1974,7 @@ DOMAudioSessionFullEnabled: + CustomStateSetEnabled: +@@ -1998,6 +2000,7 @@ DOMAudioSessionFullEnabled: WebCore: default: false @@ -1998,7 +2009,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 DOMPasteAccessRequestsEnabled: type: bool status: internal -@@ -1983,7 +1986,7 @@ DOMPasteAccessRequestsEnabled: +@@ -2009,7 +2012,7 @@ DOMPasteAccessRequestsEnabled: default: false WebKit: "PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(VISION)": true @@ -2007,7 +2018,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 WebCore: default: false -@@ -3339,6 +3342,7 @@ InspectorAttachmentSide: +@@ -3421,6 +3424,7 @@ InspectorAttachmentSide: WebKit: default: 0 @@ -2015,7 +2026,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 InspectorStartsAttached: type: bool status: embedder -@@ -3346,7 +3350,7 @@ InspectorStartsAttached: +@@ -3428,7 +3432,7 @@ InspectorStartsAttached: exposed: [ WebKit ] defaultValue: WebKit: @@ -2024,7 +2035,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 InspectorWindowFrame: type: String -@@ -3701,9 +3705,10 @@ LayoutViewportHeightExpansionFactor: +@@ -3783,9 +3787,10 @@ LayoutViewportHeightExpansionFactor: WebCore: default: 0 @@ -2036,7 +2047,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 category: html humanReadableName: "Lazy iframe loading" humanReadableDescription: "Enable lazy iframe loading support" -@@ -3711,9 +3716,9 @@ LazyIframeLoadingEnabled: +@@ -3793,9 +3798,9 @@ LazyIframeLoadingEnabled: WebKitLegacy: default: true WebKit: @@ -2048,7 +2059,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 LazyImageLoadingEnabled: type: bool -@@ -5049,6 +5054,19 @@ PluginsEnabled: +@@ -5116,6 +5121,19 @@ PluginsEnabled: WebCore: default: false @@ -2068,7 +2079,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 PopoverAttributeEnabled: type: bool status: stable -@@ -6715,6 +6733,7 @@ UseCGDisplayListsForDOMRendering: +@@ -6784,6 +6802,7 @@ UseCGDisplayListsForDOMRendering: WebKit: default: true @@ -2076,7 +2087,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 UseGPUProcessForCanvasRenderingEnabled: type: bool status: stable -@@ -6727,7 +6746,7 @@ UseGPUProcessForCanvasRenderingEnabled: +@@ -6796,7 +6815,7 @@ UseGPUProcessForCanvasRenderingEnabled: defaultValue: WebKit: "ENABLE(GPU_PROCESS_BY_DEFAULT)": true @@ -2085,7 +2096,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 default: false UseGPUProcessForDOMRenderingEnabled: -@@ -6769,6 +6788,7 @@ UseGPUProcessForMediaEnabled: +@@ -6838,6 +6857,7 @@ UseGPUProcessForMediaEnabled: "ENABLE(GPU_PROCESS_BY_DEFAULT)": true default: false @@ -2093,7 +2104,7 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 UseGPUProcessForWebGLEnabled: type: bool status: internal -@@ -6780,7 +6800,7 @@ UseGPUProcessForWebGLEnabled: +@@ -6849,7 +6869,7 @@ UseGPUProcessForWebGLEnabled: default: false WebKit: "ENABLE(GPU_PROCESS_BY_DEFAULT) && ENABLE(GPU_PROCESS_WEBGL_BY_DEFAULT)": true @@ -2103,10 +2114,10 @@ index bd465484eab340e7b8ef01030fdc245cae2f48b6..950a84ad3a0ad06bb4206f9e9a73f7c6 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 672f34c1d4a9b6af9453a91427c6a5fd311e3c8a..4861aeb7e723dbd2cfcbb2c55625fe61762d8dd9 100644 +index e6256854c1a5ae7d2654ae661f7b19536caad8f1..fecc53b2bae8eaba474700fa07700ffdb79f8e6e 100644 --- a/Source/WTF/wtf/PlatformEnable.h +++ b/Source/WTF/wtf/PlatformEnable.h -@@ -459,7 +459,7 @@ +@@ -421,7 +421,7 @@ // ORIENTATION_EVENTS should never get enabled on Desktop, only Mobile. #if !defined(ENABLE_ORIENTATION_EVENTS) @@ -2115,7 +2126,7 @@ index 672f34c1d4a9b6af9453a91427c6a5fd311e3c8a..4861aeb7e723dbd2cfcbb2c55625fe61 #endif #if !defined(ENABLE_OVERFLOW_SCROLLING_TOUCH) -@@ -576,7 +576,7 @@ +@@ -526,7 +526,7 @@ #endif #if !defined(ENABLE_TOUCH_EVENTS) @@ -2125,7 +2136,7 @@ index 672f34c1d4a9b6af9453a91427c6a5fd311e3c8a..4861aeb7e723dbd2cfcbb2c55625fe61 #if !defined(ENABLE_TOUCH_ACTION_REGIONS) diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h -index e30d25bd8505fcf6ba86dbb3e87761286a068e51..ccd89e82ccd96f386fd03140e441731a18c8dbc8 100644 +index 0dddcaf546c5f468620a77d8627e8f34195f39f8..871364ba5d0315054b62712614fa6a0a94cc1021 100644 --- a/Source/WTF/wtf/PlatformHave.h +++ b/Source/WTF/wtf/PlatformHave.h @@ -415,7 +415,7 @@ @@ -2137,7 +2148,7 @@ index e30d25bd8505fcf6ba86dbb3e87761286a068e51..ccd89e82ccd96f386fd03140e441731a #define HAVE_OS_DARK_MODE_SUPPORT 1 #endif -@@ -1257,7 +1257,8 @@ +@@ -1262,7 +1262,8 @@ #endif #if PLATFORM(MAC) @@ -2147,11 +2158,26 @@ index e30d25bd8505fcf6ba86dbb3e87761286a068e51..ccd89e82ccd96f386fd03140e441731a #endif #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 +--- a/Source/WTF/wtf/unicode/UTF8Conversion.h ++++ b/Source/WTF/wtf/unicode/UTF8Conversion.h +@@ -28,6 +28,10 @@ + #include + #include + ++#ifdef Success ++#undef Success ++#endif ++ + namespace WTF { + namespace Unicode { + diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make -index 043742495941e4cc10c811bbaa225357a9aaa9ea..7b30d5e2539c05408873ae700aa2df4fb59c196e 100644 +index a41e9c88262033a0a32fc2a93987edaa6d72ac0f..1ae3176d9f3b77846c8cda20b88fae0f06a4df17 100644 --- a/Source/WebCore/DerivedSources.make +++ b/Source/WebCore/DerivedSources.make -@@ -1130,6 +1130,10 @@ JS_BINDING_IDLS := \ +@@ -1134,6 +1134,10 @@ JS_BINDING_IDLS := \ $(WebCore)/dom/Slotable.idl \ $(WebCore)/dom/StaticRange.idl \ $(WebCore)/dom/StringCallback.idl \ @@ -2162,10 +2188,10 @@ index 043742495941e4cc10c811bbaa225357a9aaa9ea..7b30d5e2539c05408873ae700aa2df4f $(WebCore)/dom/Text.idl \ $(WebCore)/dom/TextDecoder.idl \ $(WebCore)/dom/TextDecoderStream.idl \ -@@ -1710,9 +1714,6 @@ ADDITIONAL_BINDING_IDLS = \ +@@ -1715,9 +1719,6 @@ JS_BINDING_IDLS := \ + ADDITIONAL_BINDING_IDLS = \ + DocumentTouch.idl \ GestureEvent.idl \ - Internals+Additions.idl \ - InternalsAdditions.idl \ - Touch.idl \ - TouchEvent.idl \ - TouchList.idl \ @@ -2224,22 +2250,22 @@ index 506ebb25fa290f27a75674a6fe5506fc311910d6..07d34c567b42aca08b188243c3f036f6 [self sendSpeechEndIfNeeded]; diff --git a/Source/WebCore/PlatformWPE.cmake b/Source/WebCore/PlatformWPE.cmake -index 99db9b2a0693bddab0b783b47746460cd0b7ffd9..74cbf2811a6f8dbcf631c8a218ad4a1330b8e98c 100644 +index 4021e603067e735cea485519838d1d3808ce3da2..b78dd7638f3a7e2b7946d5949f33be5dae2d4a2c 100644 --- a/Source/WebCore/PlatformWPE.cmake +++ b/Source/WebCore/PlatformWPE.cmake -@@ -48,6 +48,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS +@@ -51,6 +51,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS + platform/graphics/libwpe/PlatformDisplayLibWPE.h platform/graphics/wayland/PlatformDisplayWayland.h - platform/graphics/wayland/WlUniquePtr.h + platform/wpe/SelectionData.h ) set(CSS_VALUE_PLATFORM_DEFINES "HAVE_OS_DARK_MODE_SUPPORT=1") diff --git a/Source/WebCore/SourcesCocoa.txt b/Source/WebCore/SourcesCocoa.txt -index 2b1def2b2a7bc1083fd2611eb6fc180f39dcca0a..1724fc2550d0ce4690ceb7674f92999f1d9ff007 100644 +index c74ee2284ea358191e6236134dfca6da5faa5a8e..b826f423ce53840f1d649736ff1101995162c432 100644 --- a/Source/WebCore/SourcesCocoa.txt +++ b/Source/WebCore/SourcesCocoa.txt -@@ -700,3 +700,9 @@ platform/graphics/angle/GraphicsContextGLANGLE.cpp @no-unify +@@ -703,3 +703,9 @@ platform/graphics/angle/GraphicsContextGLANGLE.cpp @no-unify platform/graphics/cocoa/ANGLEUtilitiesCocoa.cpp @no-unify platform/graphics/cocoa/GraphicsContextGLCocoa.mm @no-unify platform/graphics/cv/GraphicsContextGLCVCocoa.cpp @no-unify @@ -2250,10 +2276,10 @@ index 2b1def2b2a7bc1083fd2611eb6fc180f39dcca0a..1724fc2550d0ce4690ceb7674f92999f +JSTouchList.cpp +// Playwright end diff --git a/Source/WebCore/SourcesGTK.txt b/Source/WebCore/SourcesGTK.txt -index 4f3db3c7900ed6873487be379cb9cde693d536e1..9cb0f67b8bd5b5d98bbb595dcf60b950fe140be9 100644 +index 267ffb27af6aced590e26be86f785021b3a1aca2..9772551c07d84d6bc5c6c1476280ccc5c6a86da5 100644 --- a/Source/WebCore/SourcesGTK.txt +++ b/Source/WebCore/SourcesGTK.txt -@@ -122,3 +122,10 @@ platform/text/hyphen/HyphenationLibHyphen.cpp +@@ -115,3 +115,10 @@ platform/text/hyphen/HyphenationLibHyphen.cpp platform/unix/LoggingUnix.cpp platform/xdg/MIMETypeRegistryXdg.cpp @@ -2265,7 +2291,7 @@ index 4f3db3c7900ed6873487be379cb9cde693d536e1..9cb0f67b8bd5b5d98bbb595dcf60b950 +JSSpeechSynthesisEventInit.cpp +// Playwright: end. diff --git a/Source/WebCore/SourcesWPE.txt b/Source/WebCore/SourcesWPE.txt -index 06c923a3227befac7680faf2cdb44abd657d6e5f..adcf594fc399b93772c1c962b283bef16d253186 100644 +index 827b1cf84cd3b2f27b54042e485ed39e30d54b4a..a06041fdc1899f044caef4a2af6967f62b7e2fb6 100644 --- a/Source/WebCore/SourcesWPE.txt +++ b/Source/WebCore/SourcesWPE.txt @@ -45,6 +45,8 @@ editing/libwpe/EditorLibWPE.cpp @@ -2277,7 +2303,7 @@ index 06c923a3227befac7680faf2cdb44abd657d6e5f..adcf594fc399b93772c1c962b283bef1 page/linux/ResourceUsageOverlayLinux.cpp page/linux/ResourceUsageThreadLinux.cpp -@@ -91,6 +93,17 @@ platform/text/LocaleICU.cpp +@@ -93,6 +95,17 @@ platform/text/LocaleICU.cpp platform/unix/LoggingUnix.cpp @@ -2296,10 +2322,10 @@ index 06c923a3227befac7680faf2cdb44abd657d6e5f..adcf594fc399b93772c1c962b283bef1 +JSSpeechSynthesisEventInit.cpp +// Playwright: end. diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43c9d03747 100644 +index bf607a957252ff51788fa16f01a207f2192287fe..a696415687156f947de3728f9b232f288e0e8d6f 100644 --- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -@@ -6144,6 +6144,13 @@ +@@ -6166,6 +6166,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, ); }; }; @@ -2313,7 +2339,7 @@ index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43 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, ); }; }; -@@ -19848,6 +19855,14 @@ +@@ -19882,6 +19889,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 = ""; }; @@ -2340,7 +2366,7 @@ index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43 F48570A42644C76D00C05F71 /* TranslationContextMenuInfo.h */, F4E1965F21F26E4E00285078 /* UndoItem.cpp */, 2ECDBAD521D8906300F00ECD /* UndoItem.h */, -@@ -33646,6 +33666,8 @@ +@@ -33656,6 +33676,8 @@ 29E4D8DF16B0940F00C84704 /* PlatformSpeechSynthesizer.h */, 1AD8F81A11CAB9E900E93E54 /* PlatformStrategies.cpp */, 1AD8F81911CAB9E900E93E54 /* PlatformStrategies.h */, @@ -2349,7 +2375,7 @@ index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43 0FD7C21D23CE41E30096D102 /* PlatformWheelEvent.cpp */, 935C476A09AC4D4F00A6AAB4 /* PlatformWheelEvent.h */, F491A66A2A9FEFA300F96146 /* PlatformWheelEvent.serialization.in */, -@@ -36243,6 +36265,7 @@ +@@ -36260,6 +36282,7 @@ AD6E71AB1668899D00320C13 /* DocumentSharedObjectPool.h */, 6BDB5DC1227BD3B800919770 /* DocumentStorageAccess.cpp */, 6BDB5DC0227BD3B800919770 /* DocumentStorageAccess.h */, @@ -2357,7 +2383,7 @@ index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43 7CE7FA5B1EF882300060C9D6 /* DocumentTouch.cpp */, 7CE7FA591EF882300060C9D6 /* DocumentTouch.h */, A8185F3209765765005826D9 /* DocumentType.cpp */, -@@ -40909,6 +40932,8 @@ +@@ -40943,6 +40966,8 @@ 1AD8F81B11CAB9E900E93E54 /* PlatformStrategies.h in Headers */, 0F7D07331884C56C00B4AF86 /* PlatformTextTrack.h in Headers */, 074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */, @@ -2366,7 +2392,7 @@ index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43 CDD08ABD277E542600EA3755 /* PlatformTrackConfiguration.h in Headers */, CD1F9B022700323D00617EB6 /* PlatformVideoColorPrimaries.h in Headers */, CD1F9B01270020B700617EB6 /* PlatformVideoColorSpace.h in Headers */, -@@ -42160,6 +42185,7 @@ +@@ -42203,6 +42228,7 @@ 0F54DD081881D5F5003EEDBB /* Touch.h in Headers */, 71B7EE0D21B5C6870031C1EF /* TouchAction.h in Headers */, 0F54DD091881D5F5003EEDBB /* TouchEvent.h in Headers */, @@ -2374,7 +2400,7 @@ index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43 0F54DD0A1881D5F5003EEDBB /* TouchList.h in Headers */, 070334D71459FFD5008D8D45 /* TrackBase.h in Headers */, BE88E0C21715CE2600658D98 /* TrackListBase.h in Headers */, -@@ -43275,6 +43301,8 @@ +@@ -43320,6 +43346,8 @@ 2D22830323A8470700364B7E /* CursorMac.mm in Sources */, 5CBD59592280E926002B22AA /* CustomHeaderFields.cpp in Sources */, 07E4BDBF2A3A5FAB000D5509 /* DictationCaretAnimator.cpp in Sources */, @@ -2383,7 +2409,7 @@ index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43 7CE6CBFD187F394900D46BF5 /* FormatConverter.cpp in Sources */, 4667EA3E2968D9DA00BAB1E2 /* GameControllerHapticEffect.mm in Sources */, 46FE73D32968E52000B8064C /* GameControllerHapticEngines.mm in Sources */, -@@ -43358,6 +43386,9 @@ +@@ -43404,6 +43432,9 @@ CE88EE262414467B007F29C2 /* TextAlternativeWithRange.mm in Sources */, BE39137129B267F500FA5D4F /* TextTransformCocoa.cpp in Sources */, 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, @@ -2394,7 +2420,7 @@ index 4fcc73780444062e38182cbeb43b8d41bb423b94..4034be971d8c0dd868521d38dd33ac43 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 92f1fc9f5f2fb42795b3e07c325711685d9587c8..bf0fb33e0002aae3c86af4228f1d386c75222384 100644 +index 29a931c5aa14d2df37abd6b68d294da493eb4bca..663039e443837032d531a9a2c462e76c31b3e989 100644 --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityObject.cpp @@ -65,6 +65,7 @@ @@ -2405,7 +2431,7 @@ index 92f1fc9f5f2fb42795b3e07c325711685d9587c8..bf0fb33e0002aae3c86af4228f1d386c #include "LocalFrame.h" #include "LocalizedStrings.h" #include "MathMLNames.h" -@@ -3989,9 +3990,14 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const +@@ -4002,9 +4003,14 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const if (roleValue() == AccessibilityRole::ApplicationDialog) return AccessibilityObjectInclusion::IncludeObject; @@ -2423,10 +2449,10 @@ index 92f1fc9f5f2fb42795b3e07c325711685d9587c8..bf0fb33e0002aae3c86af4228f1d386c { AXComputedObjectAttributeCache* attributeCache = nullptr; diff --git a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h -index 5c48a13f02c1489923abf2c57e495ff22a0d56fe..4c6fbfc670c65d4aca7f7f3bf688e8dbbb1f6fd5 100644 +index b8699c50be81e0c206fcb2ab38d2d1262fa403eb..93ff11832ba8061d5fbc9b611a2f0ac196da6666 100644 --- a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h +++ b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h -@@ -177,6 +177,8 @@ namespace WebCore { +@@ -178,6 +178,8 @@ namespace WebCore { macro(DecompressionStreamTransform) \ macro(DelayNode) \ macro(DeprecationReportBody) \ @@ -2436,10 +2462,10 @@ index 5c48a13f02c1489923abf2c57e495ff22a0d56fe..4c6fbfc670c65d4aca7f7f3bf688e8db macro(DynamicsCompressorNode) \ macro(ElementInternals) \ diff --git a/Source/WebCore/css/query/MediaQueryFeatures.cpp b/Source/WebCore/css/query/MediaQueryFeatures.cpp -index 98d40553e12efe44330ddc755636e535dc2e2cf7..103d80febe931e688f8c020e8a58d8aec467a66b 100644 +index 235897de42b9c10f1d1c174071297b02d1a23430..1c96136d997763166d2115e7eaddd38a7045d600 100644 --- a/Source/WebCore/css/query/MediaQueryFeatures.cpp +++ b/Source/WebCore/css/query/MediaQueryFeatures.cpp -@@ -370,7 +370,11 @@ const FeatureSchema& forcedColors() +@@ -366,7 +366,11 @@ const FeatureSchema& forcedColors() static MainThreadNeverDestroyed schema { "forced-colors"_s, FixedVector { CSSValueNone, CSSValueActive }, @@ -2452,7 +2478,7 @@ index 98d40553e12efe44330ddc755636e535dc2e2cf7..103d80febe931e688f8c020e8a58d8ae return MatchingIdentifiers { CSSValueNone }; } }; -@@ -549,6 +553,9 @@ const FeatureSchema& prefersReducedMotion() +@@ -545,6 +549,9 @@ const FeatureSchema& prefersReducedMotion() [](auto& context) { bool userPrefersReducedMotion = [&] { auto& frame = *context.document.frame(); @@ -2463,7 +2489,7 @@ index 98d40553e12efe44330ddc755636e535dc2e2cf7..103d80febe931e688f8c020e8a58d8ae case ForcedAccessibilityValue::On: return true; diff --git a/Source/WebCore/dom/DataTransfer.cpp b/Source/WebCore/dom/DataTransfer.cpp -index f002bd12fd70e17ebc9a2136096b274ff0cf893d..11f39bacb91643c489663bf003aff52177f00020 100644 +index 50986ff17761cd7276922cbad63cd75702796117..8ce0b3027264d029e557556ab3b877d0335e1f1f 100644 --- a/Source/WebCore/dom/DataTransfer.cpp +++ b/Source/WebCore/dom/DataTransfer.cpp @@ -510,6 +510,14 @@ Ref DataTransfer::createForDrag(const Document& document) @@ -2482,7 +2508,7 @@ index f002bd12fd70e17ebc9a2136096b274ff0cf893d..11f39bacb91643c489663bf003aff521 { auto dataTransfer = adoptRef(*new DataTransfer(StoreMode::ReadWrite, makeUnique(), Type::DragAndDropData)); diff --git a/Source/WebCore/dom/DataTransfer.h b/Source/WebCore/dom/DataTransfer.h -index a6d2e7f3152e48028fff00c8090527ba68a9802c..2b99ebd3b1d5fd26f72edd8602e29953c2227a8d 100644 +index 6a7e5d6ac767c376f821633ea61f8da1add36610..fdfe082f84f4ec9a74bbe97000cb5e621edbb303 100644 --- a/Source/WebCore/dom/DataTransfer.h +++ b/Source/WebCore/dom/DataTransfer.h @@ -91,6 +91,9 @@ public: @@ -2624,10 +2650,10 @@ index 69b66eae141ec206b8c51382e709230034d3bfb7..4a2ce3dd0b527e391de06635b083b4f6 + } // namespace WebCore diff --git a/Source/WebCore/dom/PointerEvent.h b/Source/WebCore/dom/PointerEvent.h -index e56223a885097ff60f8db1eef5cca4aa4ad0511d..60c5ad6b8795b2985249833a8d1143ebab64b700 100644 +index c67cf54a953a4792395132e15ab978bdc39eef9b..20640dbb12fd4b4118c5313bbd732adcdfe1fb3e 100644 --- a/Source/WebCore/dom/PointerEvent.h +++ b/Source/WebCore/dom/PointerEvent.h -@@ -33,6 +33,8 @@ +@@ -34,6 +34,8 @@ #if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS_FAMILY) #include "PlatformTouchEventIOS.h" @@ -2636,7 +2662,7 @@ index e56223a885097ff60f8db1eef5cca4aa4ad0511d..60c5ad6b8795b2985249833a8d1143eb #endif #if ENABLE(TOUCH_EVENTS) && PLATFORM(WPE) -@@ -85,7 +87,7 @@ public: +@@ -86,7 +88,7 @@ public: static Ref create(const AtomString& type, MouseButton, const MouseEvent&, PointerID, const String& pointerType); static Ref create(const AtomString& type, PointerID, const String& pointerType, IsPrimary = IsPrimary::No); @@ -2645,7 +2671,7 @@ index e56223a885097ff60f8db1eef5cca4aa4ad0511d..60c5ad6b8795b2985249833a8d1143eb static Ref create(const PlatformTouchEvent&, unsigned touchIndex, bool isPrimary, Ref&&, const IntPoint& touchDelta = { }); static Ref create(const AtomString& type, const PlatformTouchEvent&, unsigned touchIndex, bool isPrimary, Ref&&, const IntPoint& touchDelta = { }); #endif -@@ -140,7 +142,7 @@ private: +@@ -141,7 +143,7 @@ private: PointerEvent(const AtomString&, Init&&); PointerEvent(const AtomString& type, MouseButton, const MouseEvent&, PointerID, const String& pointerType); PointerEvent(const AtomString& type, PointerID, const String& pointerType, IsPrimary); @@ -2682,7 +2708,7 @@ index 7813532cc52d582c42aebc979a1ecd1137765f08..c01cbd53ad2430a6ffab9a80fc73e74a #endif // USE(LIBWPE) diff --git a/Source/WebCore/html/FileInputType.cpp b/Source/WebCore/html/FileInputType.cpp -index 823c70952937214681611e01421d0f1791aaa79f..84873071ca3226d9372de4e7c5363110fb393ec1 100644 +index e8a73ca778ecf932b85a0431e60a404b6067979d..9c29e0e8c20ddbe9e41c0c4167fddb48a0ead404 100644 --- a/Source/WebCore/html/FileInputType.cpp +++ b/Source/WebCore/html/FileInputType.cpp @@ -37,6 +37,7 @@ @@ -2693,7 +2719,7 @@ index 823c70952937214681611e01421d0f1791aaa79f..84873071ca3226d9372de4e7c5363110 #include "LocalFrame.h" #include "LocalizedStrings.h" #include "MIMETypeRegistry.h" -@@ -209,6 +210,11 @@ void FileInputType::handleDOMActivateEvent(Event& event) +@@ -157,6 +158,11 @@ void FileInputType::handleDOMActivateEvent(Event& event) if (input.isDisabledFormControl()) return; @@ -2705,7 +2731,7 @@ index 823c70952937214681611e01421d0f1791aaa79f..84873071ca3226d9372de4e7c5363110 if (!UserGestureIndicator::processingUserGesture()) return; -@@ -387,7 +393,9 @@ void FileInputType::setFiles(RefPtr&& files, RequestIcon shouldRequest +@@ -344,7 +350,9 @@ void FileInputType::setFiles(RefPtr&& files, RequestIcon shouldRequest pathsChanged = true; else { for (unsigned i = 0; i < length; ++i) { @@ -2798,7 +2824,7 @@ index 3a981b5bf5ca0bbf4d1c9f0b125564742cd8cad9..f8fc2ca6700461627933f149c5837075 } // namespace WebCore diff --git a/Source/WebCore/inspector/InspectorInstrumentation.cpp b/Source/WebCore/inspector/InspectorInstrumentation.cpp -index 51cc7097811a72232a9415e64efda2b103e392cf..c622d7e4baf7c0c30b667fdef6a3c05445e6e8ad 100644 +index f6ce48a7a9bfc05f91c1d2988e40da968028c10f..c7b559a9d42146fa72db983faff8b09ffcccb1b8 100644 --- a/Source/WebCore/inspector/InspectorInstrumentation.cpp +++ b/Source/WebCore/inspector/InspectorInstrumentation.cpp @@ -599,6 +599,12 @@ void InspectorInstrumentation::applyUserAgentOverrideImpl(InstrumentingAgents& i @@ -2955,7 +2981,7 @@ index 51cc7097811a72232a9415e64efda2b103e392cf..c622d7e4baf7c0c30b667fdef6a3c054 { if (is(context)) diff --git a/Source/WebCore/inspector/InspectorInstrumentation.h b/Source/WebCore/inspector/InspectorInstrumentation.h -index f032b90453a44b40c03786f660f105d94ccfab65..51aebd842948754785c25e99980594d45658df48 100644 +index b779f1e8a0c35f5b89307161a4fe44e4ab1ce223..0354d0e64a78121fb2bf080f7b3b1e50c7738aaf 100644 --- a/Source/WebCore/inspector/InspectorInstrumentation.h +++ b/Source/WebCore/inspector/InspectorInstrumentation.h @@ -31,6 +31,7 @@ @@ -3223,7 +3249,7 @@ index f032b90453a44b40c03786f660f105d94ccfab65..51aebd842948754785c25e99980594d4 { return context ? instrumentingAgents(*context) : nullptr; diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp -index b4056c49e3b3362c5117213fc660e49cb2517431..29eef538962e724361bd1467f5ff8ad3fc3113b3 100644 +index c492e24ae4443e4f97ba18ca5cc57dcccff07752..75101ecd551022d6bb3111eec1f7c576962c84ce 100644 --- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp @@ -61,10 +61,14 @@ @@ -3317,7 +3343,7 @@ index b4056c49e3b3362c5117213fc660e49cb2517431..29eef538962e724361bd1467f5ff8ad3 Document* InspectorDOMAgent::assertDocument(Protocol::ErrorString& errorString, Protocol::DOM::NodeId nodeId) { Node* node = assertNode(errorString, nodeId); -@@ -1532,16 +1567,7 @@ Protocol::ErrorStringOr InspectorDOMAgent::highlightNode(std::optional InspectorDOMAgent::highlightNode(std::optional InspectorDOMAgent::highlightNode(std::optional&& nodeId, const Protocol::Runtime::RemoteObjectId& objectId, Ref&& highlightInspectorObject, RefPtr&& gridOverlayInspectorObject, RefPtr&& flexOverlayInspectorObject, std::optional&& showRulers) { Protocol::ErrorString errorString; @@ -3335,7 +3361,7 @@ index b4056c49e3b3362c5117213fc660e49cb2517431..29eef538962e724361bd1467f5ff8ad3 if (!node) return makeUnexpected(errorString); -@@ -1796,15 +1822,155 @@ Protocol::ErrorStringOr InspectorDOMAgent::setInspectedNode(Protocol::DOM: +@@ -1795,15 +1821,155 @@ Protocol::ErrorStringOr InspectorDOMAgent::setInspectedNode(Protocol::DOM: return { }; } @@ -3494,7 +3520,7 @@ index b4056c49e3b3362c5117213fc660e49cb2517431..29eef538962e724361bd1467f5ff8ad3 if (!object) return makeUnexpected("Missing injected script for given nodeId"_s); -@@ -3058,7 +3224,7 @@ Protocol::ErrorStringOr InspectorDOMAgent::pushNodeByPath +@@ -3057,7 +3223,7 @@ Protocol::ErrorStringOr InspectorDOMAgent::pushNodeByPath return makeUnexpected("Missing node for given path"_s); } @@ -3503,7 +3529,7 @@ index b4056c49e3b3362c5117213fc660e49cb2517431..29eef538962e724361bd1467f5ff8ad3 { Document* document = &node->document(); if (auto* templateHost = document->templateDocumentHost()) -@@ -3067,12 +3233,18 @@ RefPtr InspectorDOMAgent::resolveNode(Node* nod +@@ -3066,12 +3232,18 @@ RefPtr InspectorDOMAgent::resolveNode(Node* nod if (!frame) return nullptr; @@ -3525,7 +3551,7 @@ index b4056c49e3b3362c5117213fc660e49cb2517431..29eef538962e724361bd1467f5ff8ad3 } Node* InspectorDOMAgent::scriptValueAsNode(JSC::JSValue value) -@@ -3095,4 +3267,57 @@ Protocol::ErrorStringOr InspectorDOMAgent::setAllowEditingUserAgentShadowT +@@ -3094,4 +3266,57 @@ Protocol::ErrorStringOr InspectorDOMAgent::setAllowEditingUserAgentShadowT return { }; } @@ -3584,7 +3610,7 @@ index b4056c49e3b3362c5117213fc660e49cb2517431..29eef538962e724361bd1467f5ff8ad3 + } // namespace WebCore diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.h b/Source/WebCore/inspector/agents/InspectorDOMAgent.h -index 1a37f64d732d700f38a5d5b51c2ca2645ad30eeb..ab544156dc0d711074b86f51e3c7e63abc5ee4a1 100644 +index 71c164d90be9ba0b0bfb390c05f5494a5a6e358c..f35b2714ed059f09ec696323dd75a587ccef350a 100644 --- a/Source/WebCore/inspector/agents/InspectorDOMAgent.h +++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.h @@ -57,6 +57,7 @@ namespace WebCore { @@ -3657,7 +3683,7 @@ index 1a37f64d732d700f38a5d5b51c2ca2645ad30eeb..ab544156dc0d711074b86f51e3c7e63a void discardBindings(); diff --git a/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp b/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp -index 30e72aa5670d45e97332f647ebddc1677ffc6b9e..18986563d46d1261c2684ffac320f70276cc9d6b 100644 +index 3415bf8f049b110cafe3817ea430d4e3ae0fed05..40ec78ae53136ca06b6f2f014d3596be3b8a8e8f 100644 --- a/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp @@ -59,6 +59,7 @@ @@ -3696,7 +3722,7 @@ index 30e72aa5670d45e97332f647ebddc1677ffc6b9e..18986563d46d1261c2684ffac320f702 for (auto& entry : headers.get()) { auto stringValue = entry.value->asString(); if (!!stringValue) -@@ -1238,6 +1242,9 @@ Protocol::ErrorStringOr InspectorNetworkAgent::interceptWithRequest(const +@@ -1236,6 +1240,9 @@ Protocol::ErrorStringOr InspectorNetworkAgent::interceptWithRequest(const return makeUnexpected("Missing pending intercept request for given requestId"_s); auto& loader = *pendingRequest->m_loader; @@ -3706,7 +3732,7 @@ index 30e72aa5670d45e97332f647ebddc1677ffc6b9e..18986563d46d1261c2684ffac320f702 ResourceRequest request = loader.request(); if (!!url) request.setURL(URL({ }, url)); -@@ -1337,14 +1344,23 @@ Protocol::ErrorStringOr InspectorNetworkAgent::interceptRequestWithRespons +@@ -1335,14 +1342,23 @@ Protocol::ErrorStringOr InspectorNetworkAgent::interceptRequestWithRespons response.setHTTPStatusCode(status); response.setHTTPStatusText(AtomString { statusText }); HTTPHeaderMap explicitHeaders; @@ -3732,7 +3758,7 @@ index 30e72aa5670d45e97332f647ebddc1677ffc6b9e..18986563d46d1261c2684ffac320f702 if (loader->reachedTerminalState()) return; -@@ -1407,6 +1423,12 @@ Protocol::ErrorStringOr InspectorNetworkAgent::setEmulatedConditions(std:: +@@ -1405,6 +1421,12 @@ Protocol::ErrorStringOr InspectorNetworkAgent::setEmulatedConditions(std:: #endif // ENABLE(INSPECTOR_NETWORK_THROTTLING) @@ -3767,7 +3793,7 @@ index dc7e574ee6e9256a1f75ea838d20ca7f5e9190de..5dd4464256e0f5d652fa51fd611286dd // InspectorInstrumentation void willRecalculateStyle(); diff --git a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp -index 1cb48a48ae6ab976e8938d7e03ddc7e3cf58be4c..dbf78f734691588907f047011c164993cda588d5 100644 +index 8a5e8a91b57984dd8e10bf06c960be0cfba313fe..95cf7ec1a11c0c14fbe3baa4f3f4a387938bae58 100644 --- a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp @@ -32,19 +32,26 @@ @@ -4103,7 +4129,7 @@ index 1cb48a48ae6ab976e8938d7e03ddc7e3cf58be4c..dbf78f734691588907f047011c164993 return; frame.script().evaluateIgnoringException(ScriptSourceCode(m_bootstrapScript, JSC::SourceTaintedOrigin::Untainted, URL { "web-inspector://bootstrap.js"_str })); -@@ -1078,6 +1189,51 @@ void InspectorPageAgent::didRecalculateStyle() +@@ -1075,6 +1186,51 @@ void InspectorPageAgent::didRecalculateStyle() m_overlay->update(); } @@ -4155,7 +4181,7 @@ index 1cb48a48ae6ab976e8938d7e03ddc7e3cf58be4c..dbf78f734691588907f047011c164993 Ref InspectorPageAgent::buildObjectForFrame(LocalFrame* frame) { ASSERT_ARG(frame, frame); -@@ -1175,6 +1331,12 @@ void InspectorPageAgent::applyUserAgentOverride(String& userAgent) +@@ -1172,6 +1328,12 @@ void InspectorPageAgent::applyUserAgentOverride(String& userAgent) userAgent = m_userAgentOverride; } @@ -4168,7 +4194,7 @@ index 1cb48a48ae6ab976e8938d7e03ddc7e3cf58be4c..dbf78f734691588907f047011c164993 void InspectorPageAgent::applyEmulatedMedia(AtomString& media) { if (!m_emulatedMedia.isEmpty()) -@@ -1202,11 +1364,13 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotNode(Protocol::DOM:: +@@ -1199,11 +1361,13 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotNode(Protocol::DOM:: return snapshot->toDataURL("image/png"_s, std::nullopt, PreserveResolution::Yes); } @@ -4183,7 +4209,7 @@ index 1cb48a48ae6ab976e8938d7e03ddc7e3cf58be4c..dbf78f734691588907f047011c164993 IntRect rectangle(x, y, width, height); auto* localMainFrame = dynamicDowncast(m_inspectedPage.mainFrame()); -@@ -1220,6 +1384,43 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotRect(int x, int y, i +@@ -1217,6 +1381,43 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotRect(int x, int y, i return snapshot->toDataURL("image/png"_s, std::nullopt, PreserveResolution::Yes); } @@ -4227,7 +4253,7 @@ index 1cb48a48ae6ab976e8938d7e03ddc7e3cf58be4c..dbf78f734691588907f047011c164993 #if ENABLE(WEB_ARCHIVE) && USE(CF) Protocol::ErrorStringOr InspectorPageAgent::archive() { -@@ -1236,7 +1437,6 @@ Protocol::ErrorStringOr InspectorPageAgent::archive() +@@ -1233,7 +1434,6 @@ Protocol::ErrorStringOr InspectorPageAgent::archive() } #endif @@ -4235,7 +4261,7 @@ index 1cb48a48ae6ab976e8938d7e03ddc7e3cf58be4c..dbf78f734691588907f047011c164993 Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::optional&& width, std::optional&& height) { if (width.has_value() != height.has_value()) -@@ -1254,6 +1454,511 @@ Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::opt +@@ -1251,6 +1451,513 @@ Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::opt localMainFrame->setOverrideScreenSize(FloatSize(width.value_or(0), height.value_or(0))); return { }; } @@ -4389,6 +4415,8 @@ index 1cb48a48ae6ab976e8938d7e03ddc7e3cf58be4c..dbf78f734691588907f047011c164993 + return "LandmarkSearch"_s; + case AccessibilityRole::Legend: + return "Legend"_s; ++ case AccessibilityRole::LineBreak: ++ return "LineBreak"_s; + case AccessibilityRole::Link: + return "Link"_s; + case AccessibilityRole::List: @@ -5085,10 +5113,10 @@ index 7efc7c39d4ea689063c3371c9d9f5d25e433b3ae..c18f0b38ef9a22b594b60287d6c205b1 protected: static SameSiteInfo sameSiteInfo(const Document&, IsForDOMCookieAccess = IsForDOMCookieAccess::No); diff --git a/Source/WebCore/loader/DocumentLoader.cpp b/Source/WebCore/loader/DocumentLoader.cpp -index 4e0baece02ae7ec1c6860d94678b840824d8409f..e6cfe18c89c3efbcec174e64a594d9cc38534cef 100644 +index d58fd2b665ba04bed39c5c8e81f2c9bd5482ca32..811b4d7f4a6154c9f4a012a99eb167dab01b7239 100644 --- a/Source/WebCore/loader/DocumentLoader.cpp +++ b/Source/WebCore/loader/DocumentLoader.cpp -@@ -764,8 +764,10 @@ void DocumentLoader::willSendRequest(ResourceRequest&& newRequest, const Resourc +@@ -756,8 +756,10 @@ void DocumentLoader::willSendRequest(ResourceRequest&& newRequest, const Resourc if (!didReceiveRedirectResponse) return completionHandler(WTFMove(newRequest)); @@ -5099,7 +5127,7 @@ index 4e0baece02ae7ec1c6860d94678b840824d8409f..e6cfe18c89c3efbcec174e64a594d9cc switch (navigationPolicyDecision) { case NavigationPolicyDecision::IgnoreLoad: case NavigationPolicyDecision::LoadWillContinueInAnotherProcess: -@@ -1546,8 +1548,6 @@ void DocumentLoader::detachFromFrame(LoadWillContinueInAnotherProcess) +@@ -1530,8 +1532,6 @@ void DocumentLoader::detachFromFrame(LoadWillContinueInAnotherProcess) if (!m_frame) return; @@ -5109,10 +5137,10 @@ index 4e0baece02ae7ec1c6860d94678b840824d8409f..e6cfe18c89c3efbcec174e64a594d9cc } diff --git a/Source/WebCore/loader/DocumentLoader.h b/Source/WebCore/loader/DocumentLoader.h -index 68970ca45127aa96a96a1bb224a6a8b2f34e5724..6c3187aab3ec6cf6cdf21d8f3562783f2ae7ffdd 100644 +index 9675aea9a362d3d73056fec92de666355ed25095..25f53db7df6b2ea11ffa4e414f6b9b37102900cf 100644 --- a/Source/WebCore/loader/DocumentLoader.h +++ b/Source/WebCore/loader/DocumentLoader.h -@@ -188,9 +188,13 @@ public: +@@ -191,9 +191,13 @@ public: WEBCORE_EXPORT virtual void detachFromFrame(LoadWillContinueInAnotherProcess); @@ -5127,10 +5155,10 @@ index 68970ca45127aa96a96a1bb224a6a8b2f34e5724..6c3187aab3ec6cf6cdf21d8f3562783f DocumentWriter& writer() const { return m_writer; } diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp -index 7bfcb7b610c7b61250bb342ad654e634976c0cda..cc2d93e2e3cea8964eb4e4572b926d58f9f7a10c 100644 +index 22a871bbfe4c86208273e97d9c6d323af10ec7b3..dba8f95a8369a23ab373c2e05b1e06360b34c203 100644 --- a/Source/WebCore/loader/FrameLoader.cpp +++ b/Source/WebCore/loader/FrameLoader.cpp -@@ -1238,6 +1238,7 @@ void FrameLoader::loadInSameDocument(URL url, RefPtr stat +@@ -1272,6 +1272,7 @@ void FrameLoader::loadInSameDocument(URL url, RefPtr stat } m_client->dispatchDidNavigateWithinPage(); @@ -5138,16 +5166,16 @@ index 7bfcb7b610c7b61250bb342ad654e634976c0cda..cc2d93e2e3cea8964eb4e4572b926d58 document->statePopped(stateObject ? stateObject.releaseNonNull() : SerializedScriptValue::nullValue()); m_client->dispatchDidPopStateWithinPage(); -@@ -1689,6 +1690,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1733,6 +1734,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t const String& httpMethod = loader->request().httpMethod(); if (shouldPerformFragmentNavigation(isFormSubmission, httpMethod, policyChecker().loadType(), newURL)) { + loader->replacedByFragmentNavigation(m_frame); + RefPtr oldDocumentLoader = m_documentLoader; - NavigationAction action { frame->protectedDocument().releaseNonNull(), loader->request(), InitiatedByMainFrame::Unknown, policyChecker().loadType(), isFormSubmission }; - action.setIsRequestFromClientOrUserInput(loader->isRequestFromClientOrUserInput()); -@@ -1721,7 +1724,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t + NavigationAction action { frame->protectedDocument().releaseNonNull(), loader->request(), InitiatedByMainFrame::Unknown, loader->isRequestFromClientOrUserInput(), policyChecker().loadType(), isFormSubmission }; + oldDocumentLoader->setTriggeringAction(WTFMove(action)); +@@ -1766,7 +1769,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t } RELEASE_ASSERT(!isBackForwardLoadType(policyChecker().loadType()) || history().provisionalItem()); @@ -5157,7 +5185,7 @@ index 7bfcb7b610c7b61250bb342ad654e634976c0cda..cc2d93e2e3cea8964eb4e4572b926d58 continueLoadAfterNavigationPolicy(request, formState.get(), navigationPolicyDecision, allowNavigationToInvalidURL); completionHandler(); }, PolicyDecisionMode::Asynchronous); -@@ -2960,14 +2965,19 @@ String FrameLoader::userAgent(const URL& url) const +@@ -3015,14 +3020,19 @@ String FrameLoader::userAgent(const URL& url) const String FrameLoader::navigatorPlatform() const { @@ -5179,7 +5207,7 @@ index 7bfcb7b610c7b61250bb342ad654e634976c0cda..cc2d93e2e3cea8964eb4e4572b926d58 } void FrameLoader::dispatchOnloadEvents() -@@ -3397,6 +3407,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) +@@ -3456,6 +3466,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) checkCompleted(); if (frame->page()) checkLoadComplete(); @@ -5188,7 +5216,7 @@ index 7bfcb7b610c7b61250bb342ad654e634976c0cda..cc2d93e2e3cea8964eb4e4572b926d58 } void FrameLoader::continueFragmentScrollAfterNavigationPolicy(const ResourceRequest& request, const SecurityOrigin* requesterOrigin, bool shouldContinue) -@@ -4233,9 +4245,6 @@ String FrameLoader::referrer() const +@@ -4303,9 +4315,6 @@ String FrameLoader::referrer() const void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() { @@ -5198,7 +5226,7 @@ index 7bfcb7b610c7b61250bb342ad654e634976c0cda..cc2d93e2e3cea8964eb4e4572b926d58 Vector> worlds; ScriptController::getAllWorlds(worlds); for (auto& world : worlds) -@@ -4245,13 +4254,12 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() +@@ -4315,13 +4324,12 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() void FrameLoader::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld& world) { Ref frame = m_frame.get(); @@ -5207,12 +5235,12 @@ index 7bfcb7b610c7b61250bb342ad654e634976c0cda..cc2d93e2e3cea8964eb4e4572b926d58 - - m_client->dispatchDidClearWindowObjectInWorld(world); - -- if (CheckedPtr page = frame->page()) +- if (RefPtr page = frame->page()) - page->inspectorController().didClearWindowObjectInWorld(frame, world); + if (frame->windowProxy().existingJSWindowProxy(world)) { -+ if (frame->script().canExecuteScripts(ReasonForCallingCanExecuteScripts::NotAboutToExecuteScript)) ++ if (frame->checkedScript()->canExecuteScripts(ReasonForCallingCanExecuteScripts::NotAboutToExecuteScript)) + m_client->dispatchDidClearWindowObjectInWorld(world); -+ if (Page* page = frame->page()) ++ if (RefPtr page = frame->page()) + page->inspectorController().didClearWindowObjectInWorld(m_frame, world); + } @@ -5244,7 +5272,7 @@ index f356dd377950801b95ec0b9a6b4c93624fc0dcda..95e86435868b4e2937aa0dd799f9c234 } diff --git a/Source/WebCore/loader/PolicyChecker.cpp b/Source/WebCore/loader/PolicyChecker.cpp -index a0898687ef06dc03fd085e1913c0eeb6f9825a99..9c8d10a43a87b5b8d1d18ca8c0a01d1fd883a719 100644 +index a015590e612a3983c13b8a9426522d3567552d95..1d17db10c7e8d6d9d88f8f782479e557d5fe1059 100644 --- a/Source/WebCore/loader/PolicyChecker.cpp +++ b/Source/WebCore/loader/PolicyChecker.cpp @@ -44,6 +44,7 @@ @@ -5278,10 +5306,10 @@ index 273f7815c6fd1553b78a117c78eaa460085d1272..ccf6e96daebad01d5bfabe5062d29c3a 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 572b79810788c792af10b5e51cce7a5ff88bf401..2fc289c5af45e5d8ec55c93c7f1938a31fecb703 100644 +index 4e33cf542c68e9041869de1f918769b23a838a3c..406390d0b1eb231dcda7b07ba4356d9bee49ea95 100644 --- a/Source/WebCore/loader/cache/CachedResourceLoader.cpp +++ b/Source/WebCore/loader/cache/CachedResourceLoader.cpp -@@ -1021,8 +1021,11 @@ ResourceErrorOr> CachedResourceLoader::requ +@@ -1024,8 +1024,11 @@ ResourceErrorOr> CachedResourceLoader::requ request.updateReferrerPolicy(document() ? document()->referrerPolicy() : ReferrerPolicy::Default); @@ -5295,7 +5323,7 @@ index 572b79810788c792af10b5e51cce7a5ff88bf401..2fc289c5af45e5d8ec55c93c7f1938a3 auto& page = *frame.page(); -@@ -1629,8 +1632,9 @@ Vector> CachedResourceLoader::allCachedSVGImages() const +@@ -1628,8 +1631,9 @@ Vector> CachedResourceLoader::allCachedSVGImages() const ResourceErrorOr> CachedResourceLoader::preload(CachedResource::Type type, CachedResourceRequest&& request) { @@ -5308,10 +5336,10 @@ index 572b79810788c792af10b5e51cce7a5ff88bf401..2fc289c5af45e5d8ec55c93c7f1938a3 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 4b2ec877f96a384b80709ee24d204cc12f59b178..33b94b530772de73d269a40055744d773a4b2087 100644 +index 62cb148ba012a5b20e819c8cf76728704c8e9ac7..8775e46006476095307cc5c29b9a5606a311a10a 100644 --- a/Source/WebCore/page/ChromeClient.h +++ b/Source/WebCore/page/ChromeClient.h -@@ -328,7 +328,7 @@ public: +@@ -334,7 +334,7 @@ public: #endif #if ENABLE(ORIENTATION_EVENTS) @@ -5321,10 +5349,10 @@ index 4b2ec877f96a384b80709ee24d204cc12f59b178..33b94b530772de73d269a40055744d77 #if ENABLE(INPUT_TYPE_COLOR) diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp -index 9a5b33498e58e12cd2702c6baa44276e5cb2cc52..f60bfa86739a58d87243f882ee7dbba280832542 100644 +index ac83388ad87a0fe6a433275945118dde08860b49..d571ac86e12849476177f3d170cf5ae1dba936b9 100644 --- a/Source/WebCore/page/EventHandler.cpp +++ b/Source/WebCore/page/EventHandler.cpp -@@ -4313,6 +4313,12 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event, CheckDr +@@ -4325,6 +4325,12 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event, CheckDr if (!document) return false; @@ -5337,7 +5365,7 @@ index 9a5b33498e58e12cd2702c6baa44276e5cb2cc52..f60bfa86739a58d87243f882ee7dbba2 dragState().dataTransfer = DataTransfer::createForDrag(*document); auto hasNonDefaultPasteboardData = HasNonDefaultPasteboardData::No; -@@ -4914,7 +4920,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve +@@ -4926,7 +4932,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; @@ -5346,7 +5374,7 @@ index 9a5b33498e58e12cd2702c6baa44276e5cb2cc52..f60bfa86739a58d87243f882ee7dbba2 bool pointerCancelled = false; #endif RefPtr touchTarget; -@@ -4961,7 +4967,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve +@@ -4973,7 +4979,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve // we also remove it from the map. touchTarget = m_originatingTouchPointTargets.take(touchPointTargetKey); @@ -5355,7 +5383,7 @@ index 9a5b33498e58e12cd2702c6baa44276e5cb2cc52..f60bfa86739a58d87243f882ee7dbba2 HitTestResult result = hitTestResultAtPoint(pagePoint, hitType | HitTestRequest::Type::AllowChildFrameContent); pointerTarget = result.targetElement(); pointerCancelled = (pointerTarget != touchTarget); -@@ -4983,7 +4989,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve +@@ -4995,7 +5001,7 @@ HandleUserInputEventResult EventHandler::handleTouchEvent(const PlatformTouchEve if (!targetFrame) continue; @@ -5445,7 +5473,7 @@ index 9be81a19a86aa3ae53aa975cbad81d928f97fa34..56b513e3e0cba167c6e52559f95f7ba4 if (stateObjectType == StateObjectType::Push) { frame->loader().history().pushState(WTFMove(data), title, fullURL.string()); diff --git a/Source/WebCore/page/LocalFrame.cpp b/Source/WebCore/page/LocalFrame.cpp -index d5e55947c84cce0f08b9b2973ad164cd0d04792b..bc4886923eb9a978b7059764647585ef61162aeb 100644 +index d3d8acff2b128e91d26ab0835b58ced9241ed076..50741661f800f60d911114b8742d0e775f4a6781 100644 --- a/Source/WebCore/page/LocalFrame.cpp +++ b/Source/WebCore/page/LocalFrame.cpp @@ -40,6 +40,7 @@ @@ -5464,7 +5492,7 @@ index d5e55947c84cce0f08b9b2973ad164cd0d04792b..bc4886923eb9a978b7059764647585ef #include "HTMLAttachmentElement.h" #include "HTMLFormControlElement.h" #include "HTMLFormElement.h" -@@ -75,6 +77,7 @@ +@@ -76,6 +78,7 @@ #include "Logging.h" #include "Navigator.h" #include "NodeList.h" @@ -5472,7 +5500,7 @@ index d5e55947c84cce0f08b9b2973ad164cd0d04792b..bc4886923eb9a978b7059764647585ef #include "NodeTraversal.h" #include "Page.h" #include "ProcessWarming.h" -@@ -178,6 +181,7 @@ LocalFrame::LocalFrame(Page& page, UniqueRef&& frameLoad +@@ -184,6 +187,7 @@ LocalFrame::LocalFrame(Page& page, UniqueRef&& frameLoad void LocalFrame::init() { @@ -5480,18 +5508,18 @@ index d5e55947c84cce0f08b9b2973ad164cd0d04792b..bc4886923eb9a978b7059764647585ef checkedLoader()->init(); } -@@ -406,7 +410,7 @@ void LocalFrame::orientationChanged() +@@ -418,7 +422,7 @@ void LocalFrame::orientationChanged() IntDegrees LocalFrame::orientation() const { - if (CheckedPtr page = this->page()) + if (RefPtr page = this->page()) - return page->chrome().client().deviceOrientation(); + return page->orientation(); return 0; } #endif // ENABLE(ORIENTATION_EVENTS) -@@ -1281,6 +1285,362 @@ void LocalFrame::frameWasDisconnectedFromOwner() const - protectedDocument()->detachFromFrame(); - } +@@ -1295,6 +1299,362 @@ void LocalFrame::didAccessWindowProxyPropertyViaOpener(WindowProxyProperty prope + + #endif +#if !PLATFORM(IOS_FAMILY) + @@ -5853,7 +5881,7 @@ index d5e55947c84cce0f08b9b2973ad164cd0d04792b..bc4886923eb9a978b7059764647585ef #undef FRAME_RELEASE_LOG_ERROR diff --git a/Source/WebCore/page/LocalFrame.h b/Source/WebCore/page/LocalFrame.h -index f69e87d269b6451a5767d9c8edb09488aec61569..c71dacc6ba37e45dac568d714b4dfc70c713d637 100644 +index 0bceafb01da63cfab2ce258915d4f28b98772495..02bdc83e85bc18e8747fa038263eb1837cdd2648 100644 --- a/Source/WebCore/page/LocalFrame.h +++ b/Source/WebCore/page/LocalFrame.h @@ -28,8 +28,10 @@ @@ -5875,7 +5903,7 @@ index f69e87d269b6451a5767d9c8edb09488aec61569..c71dacc6ba37e45dac568d714b4dfc70 class Editor; class Element; class EventHandler; -@@ -109,8 +110,8 @@ enum { +@@ -111,8 +112,8 @@ enum { }; enum OverflowScrollAction { DoNotPerformOverflowScroll, PerformOverflowScroll }; @@ -5885,7 +5913,7 @@ index f69e87d269b6451a5767d9c8edb09488aec61569..c71dacc6ba37e45dac568d714b4dfc70 class LocalFrame final : public Frame { public: -@@ -217,10 +218,6 @@ public: +@@ -218,10 +219,6 @@ public: WEBCORE_EXPORT DataDetectionResultsStorage& dataDetectionResults(); #endif @@ -5896,7 +5924,7 @@ index f69e87d269b6451a5767d9c8edb09488aec61569..c71dacc6ba37e45dac568d714b4dfc70 WEBCORE_EXPORT Node* deepestNodeAtLocation(const FloatPoint& viewportLocation); WEBCORE_EXPORT Node* nodeRespondingToClickEvents(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation, SecurityOrigin* = nullptr); WEBCORE_EXPORT Node* nodeRespondingToDoubleClickEvent(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation); -@@ -228,6 +225,10 @@ public: +@@ -229,6 +226,10 @@ public: WEBCORE_EXPORT Node* nodeRespondingToScrollWheelEvents(const FloatPoint& viewportLocation); WEBCORE_EXPORT Node* approximateNodeAtViewportLocationLegacy(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation); @@ -5907,7 +5935,7 @@ index f69e87d269b6451a5767d9c8edb09488aec61569..c71dacc6ba37e45dac568d714b4dfc70 WEBCORE_EXPORT NSArray *wordsInCurrentParagraph() const; WEBCORE_EXPORT CGRect renderRectForPoint(CGPoint, bool* isReplaced, float* fontSize) const; -@@ -295,6 +296,7 @@ public: +@@ -296,6 +297,7 @@ public: WEBCORE_EXPORT FloatSize screenSize() const; void setOverrideScreenSize(FloatSize&&); @@ -5915,7 +5943,7 @@ index f69e87d269b6451a5767d9c8edb09488aec61569..c71dacc6ba37e45dac568d714b4dfc70 void selfOnlyRef(); void selfOnlyDeref(); -@@ -340,7 +342,6 @@ private: +@@ -343,7 +345,6 @@ private: #if ENABLE(DATA_DETECTION) std::unique_ptr m_dataDetectionResults; #endif @@ -5923,7 +5951,7 @@ index f69e87d269b6451a5767d9c8edb09488aec61569..c71dacc6ba37e45dac568d714b4dfc70 void betterApproximateNode(const IntPoint& testPoint, const NodeQualifier&, Node*& best, Node* failedNode, IntPoint& bestPoint, IntRect& bestRect, const IntRect& testRect); bool hitTestResultAtViewportLocation(const FloatPoint& viewportLocation, HitTestResult&, IntPoint& center); -@@ -348,6 +349,7 @@ private: +@@ -351,6 +352,7 @@ private: enum class ShouldFindRootEditableElement : bool { No, Yes }; Node* qualifyingNodeAtViewportLocation(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation, const NodeQualifier&, ShouldApproximate, ShouldFindRootEditableElement = ShouldFindRootEditableElement::Yes); @@ -5932,10 +5960,10 @@ index f69e87d269b6451a5767d9c8edb09488aec61569..c71dacc6ba37e45dac568d714b4dfc70 ViewportArguments m_viewportArguments; diff --git a/Source/WebCore/page/Page.cpp b/Source/WebCore/page/Page.cpp -index 3dcdd8d49ae63683286b1277775edc8819bcc4ca..3a1315ab496cb6370223ce0cae8dc3e6d063c847 100644 +index 5148f36b0bf6c7d41f58200ec0110716b3f1d72a..5e7c21ce8073d689f058e97d8293e1f28e08dc39 100644 --- a/Source/WebCore/page/Page.cpp +++ b/Source/WebCore/page/Page.cpp -@@ -542,6 +542,45 @@ void Page::setOverrideViewportArguments(const std::optional& +@@ -541,6 +541,45 @@ void Page::setOverrideViewportArguments(const std::optional& document->updateViewportArguments(); } @@ -5981,7 +6009,7 @@ index 3dcdd8d49ae63683286b1277775edc8819bcc4ca..3a1315ab496cb6370223ce0cae8dc3e6 ScrollingCoordinator* Page::scrollingCoordinator() { if (!m_scrollingCoordinator && m_settings->scrollingCoordinatorEnabled()) { -@@ -3795,6 +3834,26 @@ void Page::setUseDarkAppearanceOverride(std::optional valueOverride) +@@ -3747,6 +3786,26 @@ void Page::setUseDarkAppearanceOverride(std::optional valueOverride) #endif } @@ -6009,10 +6037,10 @@ index 3dcdd8d49ae63683286b1277775edc8819bcc4ca..3a1315ab496cb6370223ce0cae8dc3e6 { if (insets == m_fullscreenInsets) diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h -index 4b71175319210a81fefba2112be1c068a923aade..0eb7a3d575c0d77a4e9ef95e9f8b05b10d33fe77 100644 +index 7deb38767a7b4d7aa8f5add9c32fe6e5b72a7f8e..de25ac2c7ff01ab2530e881335e7f5f238708f30 100644 --- a/Source/WebCore/page/Page.h +++ b/Source/WebCore/page/Page.h -@@ -309,6 +309,9 @@ public: +@@ -311,6 +311,9 @@ public: const std::optional& overrideViewportArguments() const { return m_overrideViewportArguments; } WEBCORE_EXPORT void setOverrideViewportArguments(const std::optional&); @@ -6022,7 +6050,7 @@ index 4b71175319210a81fefba2112be1c068a923aade..0eb7a3d575c0d77a4e9ef95e9f8b05b1 static void refreshPlugins(bool reload); WEBCORE_EXPORT PluginData& pluginData(); void clearPluginData(); -@@ -372,6 +375,10 @@ public: +@@ -369,6 +372,10 @@ public: #if ENABLE(DRAG_SUPPORT) DragController& dragController() { return m_dragController.get(); } const DragController& dragController() const { return m_dragController.get(); } @@ -6033,7 +6061,7 @@ index 4b71175319210a81fefba2112be1c068a923aade..0eb7a3d575c0d77a4e9ef95e9f8b05b1 #endif FocusController& focusController() const { return *m_focusController; } #if ENABLE(CONTEXT_MENUS) -@@ -547,6 +554,10 @@ public: +@@ -544,6 +551,10 @@ public: WEBCORE_EXPORT void effectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel); bool defaultUseDarkAppearance() const { return m_useDarkAppearance; } void setUseDarkAppearanceOverride(std::optional); @@ -6044,7 +6072,7 @@ index 4b71175319210a81fefba2112be1c068a923aade..0eb7a3d575c0d77a4e9ef95e9f8b05b1 #if ENABLE(TEXT_AUTOSIZING) float textAutosizingWidth() const { return m_textAutosizingWidth; } -@@ -990,6 +1001,11 @@ public: +@@ -985,6 +996,11 @@ public: WEBCORE_EXPORT void setInteractionRegionsEnabled(bool); #endif @@ -6056,7 +6084,7 @@ index 4b71175319210a81fefba2112be1c068a923aade..0eb7a3d575c0d77a4e9ef95e9f8b05b1 #if ENABLE(DEVICE_ORIENTATION) && PLATFORM(IOS_FAMILY) DeviceOrientationUpdateProvider* deviceOrientationUpdateProvider() const { return m_deviceOrientationUpdateProvider.get(); } #endif -@@ -1140,6 +1156,9 @@ private: +@@ -1137,6 +1153,9 @@ private: #if ENABLE(DRAG_SUPPORT) UniqueRef m_dragController; @@ -6066,7 +6094,7 @@ index 4b71175319210a81fefba2112be1c068a923aade..0eb7a3d575c0d77a4e9ef95e9f8b05b1 #endif std::unique_ptr m_focusController; #if ENABLE(CONTEXT_MENUS) -@@ -1217,6 +1236,8 @@ private: +@@ -1211,6 +1230,8 @@ private: bool m_useElevatedUserInterfaceLevel { false }; bool m_useDarkAppearance { false }; std::optional m_useDarkAppearanceOverride; @@ -6075,7 +6103,7 @@ index 4b71175319210a81fefba2112be1c068a923aade..0eb7a3d575c0d77a4e9ef95e9f8b05b1 #if ENABLE(TEXT_AUTOSIZING) float m_textAutosizingWidth { 0 }; -@@ -1393,6 +1414,11 @@ private: +@@ -1385,6 +1406,11 @@ private: #endif std::optional m_overrideViewportArguments; @@ -6326,10 +6354,10 @@ index 0000000000000000000000000000000000000000..803239911006cfb3b03ea911c003f2d2 + +} diff --git a/Source/WebCore/platform/Cairo.cmake b/Source/WebCore/platform/Cairo.cmake -index e5f739288d77ed77c32fc538371637aea8370b7f..bc4c3cb723f733b8fd9683e15c91e13c89c3c426 100644 +index 29492dd39b08db28aad2bf2439eb3e2bbcf25ad7..2b603cb8440b1b5057c87fcbd6909c61bae4ceb8 100644 --- a/Source/WebCore/platform/Cairo.cmake +++ b/Source/WebCore/platform/Cairo.cmake -@@ -17,6 +17,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS +@@ -14,6 +14,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS platform/graphics/cairo/ImageBufferCairoBackend.h platform/graphics/cairo/ImageBufferCairoImageSurfaceBackend.h platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h @@ -6384,10 +6412,10 @@ index 9b613ca69af779a1e52b6a66216b0905809262dc..cd48a3551ae8da7702154798fcc6ab4d IntSize dragImageSize(DragImageRef) { diff --git a/Source/WebCore/platform/Pasteboard.h b/Source/WebCore/platform/Pasteboard.h -index ac1b5e50c8f22dfb41862cfc4e94130f5238de39..589bec3a70f3fedd42ffca6428b17e186e0e38a9 100644 +index 2203effb3a0a745170680a23d0ff07f3a1a1cd1b..11c0fe944d603349087c942caff9081d819c40da 100644 --- a/Source/WebCore/platform/Pasteboard.h +++ b/Source/WebCore/platform/Pasteboard.h -@@ -44,7 +44,7 @@ OBJC_CLASS NSString; +@@ -45,7 +45,7 @@ OBJC_CLASS NSString; OBJC_CLASS NSArray; #endif @@ -6430,7 +6458,7 @@ index ac1b5e50c8f22dfb41862cfc4e94130f5238de39..589bec3a70f3fedd42ffca6428b17e18 #if PLATFORM(IOS_FAMILY) explicit Pasteboard(std::unique_ptr&&, int64_t changeCount); explicit Pasteboard(std::unique_ptr&&, const String& pasteboardName); -@@ -300,6 +311,7 @@ public: +@@ -306,6 +317,7 @@ public: COMPtr dataObject() const { return m_dataObject; } WEBCORE_EXPORT void setExternalDataObject(IDataObject*); const DragDataMap& dragDataMap() const { return m_dragDataMap; } @@ -6438,7 +6466,7 @@ index ac1b5e50c8f22dfb41862cfc4e94130f5238de39..589bec3a70f3fedd42ffca6428b17e18 void writeURLToWritableDataObject(const URL&, const String&); COMPtr writableDataObject() const { return m_writableDataObject; } void writeImageToDataObject(Element&, const URL&); // FIXME: Layering violation. -@@ -352,6 +364,10 @@ private: +@@ -358,6 +370,10 @@ private: int64_t m_changeCount { 0 }; #endif @@ -6449,7 +6477,7 @@ index ac1b5e50c8f22dfb41862cfc4e94130f5238de39..589bec3a70f3fedd42ffca6428b17e18 #if PLATFORM(COCOA) String m_pasteboardName; int64_t m_changeCount; -@@ -367,6 +383,7 @@ private: +@@ -373,6 +389,7 @@ private: COMPtr m_dataObject; COMPtr m_writableDataObject; DragDataMap m_dragDataMap; @@ -7238,7 +7266,7 @@ index ae439e30f1fb239d18e1164e8896dfb272c75673..eddcb9bda783fcdcbf9f924d4eaa6cc7 #endif // USE(LIBWPE) diff --git a/Source/WebCore/platform/libwpe/PlatformKeyboardEventLibWPE.cpp b/Source/WebCore/platform/libwpe/PlatformKeyboardEventLibWPE.cpp -index b7ddcc524def62c6be6bdf9cd5c8db3ed7368c99..0206c6adf63952ff843b46cc81203065f5f41e94 100644 +index e187936cbef017c080d1dfa14de439b3f5bc2cf8..270c237c8db2f6809719ecfd54a95306728676bc 100644 --- a/Source/WebCore/platform/libwpe/PlatformKeyboardEventLibWPE.cpp +++ b/Source/WebCore/platform/libwpe/PlatformKeyboardEventLibWPE.cpp @@ -30,8 +30,10 @@ @@ -7252,7 +7280,7 @@ index b7ddcc524def62c6be6bdf9cd5c8db3ed7368c99..0206c6adf63952ff843b46cc81203065 namespace WebCore { -@@ -1305,6 +1307,246 @@ int PlatformKeyboardEvent::windowsKeyCodeForWPEKeyCode(unsigned keycode) +@@ -1302,6 +1304,246 @@ int PlatformKeyboardEvent::windowsKeyCodeForWPEKeyCode(unsigned keycode) return 0; } @@ -7634,10 +7662,10 @@ 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 b4d2ca129612ba14c6afc92572fe58c2e0e033b4..a31433c497d14d565f1f4fe92e2c88df3d971347 100644 +index 3e9c9005a9b40eea1e1be5078a1fb11dc77c5dae..867b3403a652f0db75dc94ef34620cc92838da4b 100644 --- a/Source/WebCore/platform/network/NetworkStorageSession.h +++ b/Source/WebCore/platform/network/NetworkStorageSession.h -@@ -159,6 +159,8 @@ public: +@@ -160,6 +160,8 @@ public: NetworkingContext* context() const; #endif @@ -8461,7 +8489,7 @@ index 0000000000000000000000000000000000000000..cf2b51f6f02837a1106f4d999f2f130e + +} // namespace WebCore diff --git a/Source/WebCore/rendering/RenderTextControl.cpp b/Source/WebCore/rendering/RenderTextControl.cpp -index 06932aaafe53227c12c680f479f18de2ef943dc2..2817b2915640cf0ffc4f79e90729805082caefb2 100644 +index 4d46548757a4537e1cf55dde8c777b5817b706ff..bbc7771d987c74581f73ca47dae617cc28717a78 100644 --- a/Source/WebCore/rendering/RenderTextControl.cpp +++ b/Source/WebCore/rendering/RenderTextControl.cpp @@ -210,13 +210,13 @@ void RenderTextControl::layoutExcludedChildren(bool relayoutChildren) @@ -8518,7 +8546,7 @@ index 1d8488e0d36288e09cd5662bd7f770ade95dfee3..dee07f87b47d62d4ef8ede45824bdb2f WorkerOrWorkletGlobalScope& m_globalScope; }; diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp -index 4b1ad56a8545bf97a0dd4e8d3cdec60525df0fc8..3c50334f1033183de466956d4e6e305f031195fb 100644 +index 48e8fe16cab093a72bf5c9aa966c38072ce9d8af..c0ad132eb60e3c057d83d81b52f0b23ba03f3ce5 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp @@ -97,6 +97,8 @@ @@ -8530,7 +8558,7 @@ index 4b1ad56a8545bf97a0dd4e8d3cdec60525df0fc8..3c50334f1033183de466956d4e6e305f #endif #if ENABLE(APPLE_PAY_REMOTE_UI) -@@ -1067,6 +1069,14 @@ void NetworkConnectionToWebProcess::clearPageSpecificData(PageIdentifier pageID) +@@ -1045,6 +1047,14 @@ void NetworkConnectionToWebProcess::clearPageSpecificData(PageIdentifier pageID) storageSession->clearPageSpecificDataForResourceLoadStatistics(pageID); } @@ -8546,10 +8574,10 @@ index 4b1ad56a8545bf97a0dd4e8d3cdec60525df0fc8..3c50334f1033183de466956d4e6e305f { if (auto* storageSession = networkProcess().storageSession(m_sessionID)) diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -index b4bc09699705059954d2c6f9e867d10ea390d519..9949d08f3233615641af9b8b8ed0836082d2df35 100644 +index 465fb60c248beae91fb70f9e66826da4a9613136..def77f359298ec7c70426b7f9bdbd5b05661e114 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -@@ -339,6 +339,8 @@ private: +@@ -332,6 +332,8 @@ private: void clearPageSpecificData(WebCore::PageIdentifier); @@ -8559,7 +8587,7 @@ index b4bc09699705059954d2c6f9e867d10ea390d519..9949d08f3233615641af9b8b8ed08360 void logUserInteraction(RegistrableDomain&&); diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in -index 869d0f0f0bbe73364efe9022508fab74053a5afd..52c963bfc2f810d2cfca1a1a01c466a0cb479fbc 100644 +index ddf34779b28f8b8dfe7e10e2a9acff502b1b5f88..c85d2b4875c7f581648fd610033e6dfc745ecb17 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in @@ -71,6 +71,8 @@ messages -> NetworkConnectionToWebProcess LegacyReceiver { @@ -8572,10 +8600,10 @@ index 869d0f0f0bbe73364efe9022508fab74053a5afd..52c963bfc2f810d2cfca1a1a01c466a0 LogUserInteraction(WebCore::RegistrableDomain domain) ResourceLoadStatisticsUpdated(Vector statistics) -> () diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.cpp b/Source/WebKit/NetworkProcess/NetworkProcess.cpp -index 646d36119c6bf082f2cf7cedba71d2bc8961cf5a..b23b3db6f6b0954e8be1f8ffedcce54a8e69ec08 100644 +index fe61606cc777befb0b0f6ffc83372103643cb661..af37e6fca0f70c2315468696f2281fc39596b751 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkProcess.cpp -@@ -622,6 +622,12 @@ void NetworkProcess::registrableDomainsExemptFromWebsiteDataDeletion(PAL::Sessio +@@ -629,6 +629,12 @@ void NetworkProcess::registrableDomainsExemptFromWebsiteDataDeletion(PAL::Sessio completionHandler({ }); } @@ -8589,7 +8617,7 @@ index 646d36119c6bf082f2cf7cedba71d2bc8961cf5a..b23b3db6f6b0954e8be1f8ffedcce54a { if (auto* session = networkSession(sessionID)) { diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.h b/Source/WebKit/NetworkProcess/NetworkProcess.h -index 93288ab85429a458b4a7158531265a639f46cdcf..4a8517c9102803d9004b7558146289b8befeba6f 100644 +index ddf94ef00e89b0b0e9895845b336706e88bd7322..5f20b670ba01ce91a3071d5905e385a962bde581 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkProcess.h @@ -33,6 +33,7 @@ @@ -8600,7 +8628,7 @@ index 93288ab85429a458b4a7158531265a639f46cdcf..4a8517c9102803d9004b7558146289b8 #include "WebPageProxyIdentifier.h" #include "WebResourceLoadStatisticsStore.h" #include "WebsiteData.h" -@@ -81,6 +82,7 @@ class SessionID; +@@ -85,6 +86,7 @@ class SessionID; namespace WebCore { class CertificateInfo; @@ -8608,7 +8636,7 @@ index 93288ab85429a458b4a7158531265a639f46cdcf..4a8517c9102803d9004b7558146289b8 class CurlProxySettings; class ProtectionSpace; class NetworkStorageSession; -@@ -217,6 +219,9 @@ public: +@@ -212,6 +214,9 @@ public: void registrableDomainsWithLastAccessedTime(PAL::SessionID, CompletionHandler>)>&&); void registrableDomainsExemptFromWebsiteDataDeletion(PAL::SessionID, CompletionHandler)>&&); @@ -8619,12 +8647,12 @@ index 93288ab85429a458b4a7158531265a639f46cdcf..4a8517c9102803d9004b7558146289b8 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 f25091cbaa770577d91587dade186ed48b6cdd85..b041386dd2ad05a1bb015b6ac2c92490aafbcc15 100644 +index 383d6584d89215481fbe62aea5ec91017c82273e..f1021d7d16854e2a05ee7109b1794e9de0172722 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkProcess.messages.in -@@ -83,6 +83,8 @@ messages -> NetworkProcess LegacyReceiver { +@@ -79,6 +79,8 @@ messages -> NetworkProcess LegacyReceiver { + SetInspectionForServiceWorkersAllowed(PAL::SessionID sessionID, bool inspectable) - #endif + SetIgnoreCertificateErrors(PAL::SessionID sessionID, bool ignoreTLSErrors) + @@ -8632,20 +8660,20 @@ index f25091cbaa770577d91587dade186ed48b6cdd85..b041386dd2ad05a1bb015b6ac2c92490 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 9d3bea122c7ccd7279efd5a8929105c172728f55..ee2ffae0df4b4f667e67fae42939c265a3425781 100644 +index a0c2cc8fa79a788191899e95a87a81ad1875db44..17b25d9e2bd3befa75f4e7f044cb924d6c2fd552 100644 --- a/Source/WebKit/NetworkProcess/NetworkSession.h +++ b/Source/WebKit/NetworkProcess/NetworkSession.h -@@ -204,6 +204,9 @@ public: +@@ -200,6 +200,9 @@ public: void lowMemoryHandler(WTF::Critical); + void setIgnoreCertificateErrors(bool ignore) { m_ignoreCertificateErrors = ignore; } + bool ignoreCertificateErrors() { return m_ignoreCertificateErrors; } + - #if ENABLE(SERVICE_WORKER) void removeSoftUpdateLoader(ServiceWorkerSoftUpdateLoader* loader) { m_softUpdateLoaders.remove(loader); } void addNavigationPreloaderTask(ServiceWorkerFetchTask&); -@@ -317,6 +320,7 @@ protected: + ServiceWorkerFetchTask* navigationPreloaderTaskFromFetchIdentifier(WebCore::FetchIdentifier); +@@ -307,6 +310,7 @@ protected: bool m_privateClickMeasurementDebugModeEnabled { false }; std::optional m_ephemeralMeasurement; bool m_isRunningEphemeralMeasurementTest { false }; @@ -8654,7 +8682,7 @@ index 9d3bea122c7ccd7279efd5a8929105c172728f55..ee2ffae0df4b4f667e67fae42939c265 HashSet> m_keptAliveLoads; diff --git a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm -index b503a62c1763d89def8e3d223ebae8e06d2691c2..222c0efa62a4b5f3fcad8a9915a1d7a6b3ae5c49 100644 +index 22ca12f45d138184823b09da60a22e615a89792f..eb655b51432a3ad71b7e7635beaa7c632627eff0 100644 --- a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm +++ b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm @@ -752,6 +752,8 @@ - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didRece @@ -8965,10 +8993,10 @@ index 3fa6072886e6d34d53c63fffb131d51a197540fd..72d919c0043fb524109aed043897195a } diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index a66d97107bcd82080d0abdd1388812bc78e92b8a..b95453016bee222330e91c9dc6c35f001b602e00 100644 +index 496706f5c2b7c28903ea00dcd7294c6151b9b02f..f8c5e9b5f3c64af8a4ab9ba21a59e5fe4923f067 100644 --- a/Source/WebKit/PlatformGTK.cmake +++ b/Source/WebKit/PlatformGTK.cmake -@@ -316,6 +316,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -317,6 +317,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GSTREAMER_PBUTILS_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -8978,7 +9006,7 @@ index a66d97107bcd82080d0abdd1388812bc78e92b8a..b95453016bee222330e91c9dc6c35f00 ) list(APPEND WebKit_INTERFACE_INCLUDE_DIRECTORIES -@@ -371,6 +374,9 @@ if (USE_LIBWEBRTC) +@@ -356,6 +359,9 @@ if (USE_LIBWEBRTC) list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/libwebrtc/Source/" "${THIRDPARTY_DIR}/libwebrtc/Source/webrtc" @@ -8988,7 +9016,7 @@ index a66d97107bcd82080d0abdd1388812bc78e92b8a..b95453016bee222330e91c9dc6c35f00 ) endif () -@@ -414,6 +420,12 @@ else () +@@ -399,6 +405,12 @@ else () set(WebKitGTK_ENUM_HEADER_TEMPLATE ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitEnumTypesGtk3.h.in) endif () @@ -9002,10 +9030,10 @@ index a66d97107bcd82080d0abdd1388812bc78e92b8a..b95453016bee222330e91c9dc6c35f00 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 960995e2b58396ad9aab82576a01600453c13241..1376224cadb398b84c305a319b4b71919cc152f5 100644 +index 9e4e02b99e5080712f6fc290d0c70109ec571b58..23eb76a28bd23ebfd5277b1622c5300db66ccaaf 100644 --- a/Source/WebKit/PlatformWPE.cmake +++ b/Source/WebKit/PlatformWPE.cmake -@@ -198,6 +198,7 @@ set(WPE_API_HEADER_TEMPLATES +@@ -210,6 +210,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 @@ -9013,7 +9041,7 @@ index 960995e2b58396ad9aab82576a01600453c13241..1376224cadb398b84c305a319b4b7191 ) if (ENABLE_2022_GLIB_API) -@@ -399,8 +400,17 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -414,8 +415,17 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GIO_UNIX_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -9032,10 +9060,10 @@ index 960995e2b58396ad9aab82576a01600453c13241..1376224cadb398b84c305a319b4b7191 Cairo::Cairo Freetype::Freetype diff --git a/Source/WebKit/PlatformWin.cmake b/Source/WebKit/PlatformWin.cmake -index c530389b879f03806702007d0f142ee94f149e6b..97244d8abda433481f882fc3cd32aa69006466f4 100644 +index 903aca234b3b5b2cc537cb4a4dca0992c9b306f6..851c76d09e5e2e47060721b748c60def118f8167 100644 --- a/Source/WebKit/PlatformWin.cmake +++ b/Source/WebKit/PlatformWin.cmake -@@ -92,8 +92,12 @@ list(APPEND WebKit_SOURCES +@@ -89,8 +89,12 @@ list(APPEND WebKit_SOURCES UIProcess/wc/DrawingAreaProxyWC.cpp @@ -9048,7 +9076,7 @@ index c530389b879f03806702007d0f142ee94f149e6b..97244d8abda433481f882fc3cd32aa69 UIProcess/win/WebPageProxyWin.cpp UIProcess/win/WebPopupMenuProxyWin.cpp UIProcess/win/WebProcessPoolWin.cpp -@@ -114,6 +118,7 @@ list(APPEND WebKit_SOURCES +@@ -111,6 +115,7 @@ list(APPEND WebKit_SOURCES WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.cpp WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp @@ -9056,7 +9084,7 @@ index c530389b879f03806702007d0f142ee94f149e6b..97244d8abda433481f882fc3cd32aa69 WebProcess/WebPage/AcceleratedSurface.cpp -@@ -180,8 +185,84 @@ list(APPEND WebKit_SERIALIZATION_IN_FILES +@@ -177,8 +182,81 @@ list(APPEND WebKit_SERIALIZATION_IN_FILES list(APPEND WebKit_PRIVATE_LIBRARIES comctl32 @@ -9080,7 +9108,6 @@ index c530389b879f03806702007d0f142ee94f149e6b..97244d8abda433481f882fc3cd32aa69 + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/compare.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/compare_common.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/compare_gcc.cc" -+ "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/compare_mmi.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/compare_msa.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/compare_neon64.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/compare_neon.cc" @@ -9101,7 +9128,6 @@ index c530389b879f03806702007d0f142ee94f149e6b..97244d8abda433481f882fc3cd32aa69 + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/rotate.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/rotate_common.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/rotate_gcc.cc" -+ "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/rotate_mmi.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/rotate_msa.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/rotate_neon64.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/rotate_neon.cc" @@ -9109,7 +9135,6 @@ index c530389b879f03806702007d0f142ee94f149e6b..97244d8abda433481f882fc3cd32aa69 + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/row_any.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/row_common.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/row_gcc.cc" -+ "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/row_mmi.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/row_msa.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/row_neon64.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/row_neon.cc" @@ -9119,10 +9144,10 @@ index c530389b879f03806702007d0f142ee94f149e6b..97244d8abda433481f882fc3cd32aa69 + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_common.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_gcc.cc" -+ "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_mmi.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_msa.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_neon64.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_neon.cc" ++ "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_rvv.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_uv.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/scale_win.cc" + "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/libyuv/source/video_common.cc" @@ -9154,7 +9179,7 @@ index caf67e1dece5b727e43eba780e70814f8fdb0f63..740150d2589d6e16a516daa3bf6ef899 #include #include diff --git a/Source/WebKit/Shared/NativeWebKeyboardEvent.h b/Source/WebKit/Shared/NativeWebKeyboardEvent.h -index 7164af8d347828ba80bcb52fd6ca814401157f2b..9ba0e32717d9b4cb01f3f43898aa402ad0bd6913 100644 +index 17cb42104f3fe7e78388cdb1acd78efb34022f8d..c824a8c7ab5c4717773bff23c03156e744d192c0 100644 --- a/Source/WebKit/Shared/NativeWebKeyboardEvent.h +++ b/Source/WebKit/Shared/NativeWebKeyboardEvent.h @@ -33,6 +33,7 @@ @@ -9165,7 +9190,7 @@ index 7164af8d347828ba80bcb52fd6ca814401157f2b..9ba0e32717d9b4cb01f3f43898aa402a #endif #if PLATFORM(GTK) -@@ -66,19 +67,35 @@ public: +@@ -70,22 +71,38 @@ public: #if USE(APPKIT) // FIXME: Share iOS's HandledByInputMethod enum here instead of passing a boolean. NativeWebKeyboardEvent(NSEvent *, bool handledByInputMethod, bool replacesSoftSpace, const Vector&); @@ -9192,6 +9217,9 @@ index 7164af8d347828ba80bcb52fd6ca814401157f2b..9ba0e32717d9b4cb01f3f43898aa402a + : WebKeyboardEvent(type, text, unmodifiedText, key, code, keyIdentifier, windowsVirtualKeyCode, nativeVirtualKeyCode, isAutoRepeat, isKeypad, isSystemKey, modifiers, timestamp) + { + } + #if PLATFORM(WPE) && ENABLE(WPE_PLATFORM) + NativeWebKeyboardEvent(WPEEvent*, const String&, bool isAutoRepeat); + #endif #elif PLATFORM(WIN) NativeWebKeyboardEvent(HWND, UINT message, WPARAM, LPARAM, Vector&& pendingCharEvents); + NativeWebKeyboardEvent(WebEventType type, const String& text, const String& unmodifiedText, const String& key, const String& code, const String& keyIdentifier, int windowsVirtualKeyCode, int nativeVirtualKeyCode, bool isAutoRepeat, bool isKeypad, bool isSystemKey, OptionSet modifiers, WallTime timestamp) @@ -9202,7 +9230,7 @@ index 7164af8d347828ba80bcb52fd6ca814401157f2b..9ba0e32717d9b4cb01f3f43898aa402a #if USE(APPKIT) diff --git a/Source/WebKit/Shared/NativeWebMouseEvent.h b/Source/WebKit/Shared/NativeWebMouseEvent.h -index c586d2775021a9e164dc36b1732e1a2dadc986a0..189a9bec7af066fee5d84fa3ce1ed145de01080f 100644 +index d51a12fba25ccd4b8bdd2e4a37bf9f1268034617..e36921913825f18522551c7847efae89d0679cc6 100644 --- a/Source/WebKit/Shared/NativeWebMouseEvent.h +++ b/Source/WebKit/Shared/NativeWebMouseEvent.h @@ -31,6 +31,7 @@ @@ -9213,7 +9241,7 @@ index c586d2775021a9e164dc36b1732e1a2dadc986a0..189a9bec7af066fee5d84fa3ce1ed145 #endif #if PLATFORM(GTK) -@@ -79,6 +80,11 @@ public: +@@ -86,6 +87,11 @@ public: NativeWebMouseEvent(HWND, UINT message, WPARAM, LPARAM, bool); #endif @@ -9226,10 +9254,10 @@ index c586d2775021a9e164dc36b1732e1a2dadc986a0..189a9bec7af066fee5d84fa3ce1ed145 NSEvent* nativeEvent() const { return m_nativeEvent.get(); } #elif PLATFORM(GTK) diff --git a/Source/WebKit/Shared/NativeWebWheelEvent.h b/Source/WebKit/Shared/NativeWebWheelEvent.h -index 072a1f359bd50060da6a347fa06b72d89086825d..ca1b11ccc6241dfc3948910115df966b742d1af8 100644 +index bd941fd1cc5ddbae5d9fbe59976defd8fac3550b..b707e8e1739d95573270848d4e7f7719f4663c41 100644 --- a/Source/WebKit/Shared/NativeWebWheelEvent.h +++ b/Source/WebKit/Shared/NativeWebWheelEvent.h -@@ -65,7 +65,8 @@ public: +@@ -73,7 +73,8 @@ public: #elif PLATFORM(WIN) NativeWebWheelEvent(HWND, UINT message, WPARAM, LPARAM); #endif @@ -9253,7 +9281,7 @@ index 72ad2880160a374e8fa663e561d59becf9d2f36d..372ae6953199245fe4fc55a49813c7ca #endif }; diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp -index 08ff2201710e5544ebbd02f4d9cb9d25208ebe11..e15d79e4c87f4956f7276d03edfeffbac43da0f8 100644 +index 11b208fe5a0ae0ae83d32bb7b7322517199436e5..745410a5e44445b7ab2362f91556bed8fb470240 100644 --- a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp +++ b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp @@ -192,6 +192,10 @@ @@ -9268,10 +9296,10 @@ index 08ff2201710e5544ebbd02f4d9cb9d25208ebe11..e15d79e4c87f4956f7276d03edfeffba namespace IPC { diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in -index e9e076535ccc3ab4b4c1a6ed491d167fa66b0f87..7beddce3b119cd7c4e4520afd6fc5bf8e4112485 100644 +index 82192403c221da47285a47ef1346581eb24a47d3..b09791570afe961e840bbcac04e9a87e5b113061 100644 --- a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in +++ b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in -@@ -2484,6 +2484,9 @@ class WebCore::AuthenticationChallenge { +@@ -2480,6 +2480,9 @@ class WebCore::AuthenticationChallenge { class WebCore::DragData { #if PLATFORM(COCOA) String pasteboardName(); @@ -9281,7 +9309,7 @@ index e9e076535ccc3ab4b4c1a6ed491d167fa66b0f87..7beddce3b119cd7c4e4520afd6fc5bf8 #endif WebCore::IntPoint clientPosition(); WebCore::IntPoint globalPosition(); -@@ -3040,6 +3043,7 @@ header: +@@ -3044,6 +3047,7 @@ header: String httpStatusText; String httpVersion; WebCore::HTTPHeaderMap httpHeaderFields; @@ -9372,7 +9400,7 @@ index b80bcb39473ecec86be5671f38698130bd9acbf3..d886cbac5f4c073e14e12f257fa92041 { } diff --git a/Source/WebKit/Shared/WebKeyboardEvent.h b/Source/WebKit/Shared/WebKeyboardEvent.h -index 976edc95bef9fde10d1e875fce2e00d3732c0456..f2f49d9badd67317c5c1f9aa248e8a1cb6a2f66d 100644 +index 2734461c33f7f9a57933afbc1098029d905522ec..1eb7f2cff4f5fe70aa576be4d4f9b0ea6ea5ddf4 100644 --- a/Source/WebKit/Shared/WebKeyboardEvent.h +++ b/Source/WebKit/Shared/WebKeyboardEvent.h @@ -42,14 +42,18 @@ public: @@ -9407,7 +9435,7 @@ 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 b71d3c999fb3e7875e5b1e287b5b87f1b97e85f0..aedde190cc609a48a9f1051cd7cf2b570b22a4b3 100644 +index 60a4b766939b2531e0a5188144367cb669385ab2..8fef454523ce464e909b0246c17df55c96d8a428 100644 --- a/Source/WebKit/Shared/WebPageCreationParameters.h +++ b/Source/WebKit/Shared/WebPageCreationParameters.h @@ -280,6 +280,8 @@ struct WebPageCreationParameters { @@ -9420,7 +9448,7 @@ index b71d3c999fb3e7875e5b1e287b5b87f1b97e85f0..aedde190cc609a48a9f1051cd7cf2b57 bool allowsDeprecatedSynchronousXMLHttpRequestDuringUnload { false }; #endif diff --git a/Source/WebKit/Shared/WebPageCreationParameters.serialization.in b/Source/WebKit/Shared/WebPageCreationParameters.serialization.in -index 4e87205e89a1fba4e8b2fefb254c4fc77552644a..de7076e0970f6c24ab388c59635ff70f5b6b2ac8 100644 +index bafcdb2a6592c8796dce837c615d4fe82a22e904..e9c76f7ddf81a5e9367848a141e0463710d12d5e 100644 --- a/Source/WebKit/Shared/WebPageCreationParameters.serialization.in +++ b/Source/WebKit/Shared/WebPageCreationParameters.serialization.in @@ -218,6 +218,8 @@ headers: "ArgumentCoders.h" @@ -9702,10 +9730,10 @@ index 665b9d6a9de903ee9ad6dc53e15ab421b6cb769f..2b129963074d2ceec1c05f3a637c5e1c #endif // ENABLE(TOUCH_EVENTS) diff --git a/Source/WebKit/Sources.txt b/Source/WebKit/Sources.txt -index 1790ef11dd6466bcdae4bf577fcc2403e2d5e8f6..b67201a17f528823345db0d8b0a835218e80daef 100644 +index 25f789a4315b2fc9fbb05f718d5c489643d0047b..29ae191c6887a2be9fdc8b3773908b3f9546935c 100644 --- a/Source/WebKit/Sources.txt +++ b/Source/WebKit/Sources.txt -@@ -376,6 +376,7 @@ Shared/XR/XRDeviceProxy.cpp +@@ -377,6 +377,7 @@ Shared/XR/XRDeviceProxy.cpp UIProcess/AuxiliaryProcessProxy.cpp UIProcess/BackgroundProcessResponsivenessTimer.cpp UIProcess/BrowsingContextGroup.cpp @@ -9713,7 +9741,7 @@ index 1790ef11dd6466bcdae4bf577fcc2403e2d5e8f6..b67201a17f528823345db0d8b0a83521 UIProcess/DeviceIdHashSaltStorage.cpp UIProcess/DisplayLink.cpp UIProcess/DisplayLinkProcessProxyClient.cpp -@@ -383,16 +384,20 @@ UIProcess/DrawingAreaProxy.cpp +@@ -384,16 +385,20 @@ UIProcess/DrawingAreaProxy.cpp UIProcess/FrameLoadState.cpp UIProcess/GeolocationPermissionRequestManagerProxy.cpp UIProcess/GeolocationPermissionRequestProxy.cpp @@ -9734,7 +9762,7 @@ index 1790ef11dd6466bcdae4bf577fcc2403e2d5e8f6..b67201a17f528823345db0d8b0a83521 UIProcess/RemotePageDrawingAreaProxy.cpp UIProcess/RemotePageProxy.cpp UIProcess/ResponsivenessTimer.cpp -@@ -436,6 +441,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp +@@ -437,6 +442,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp UIProcess/WebPageDiagnosticLoggingClient.cpp UIProcess/WebPageGroup.cpp UIProcess/WebPageInjectedBundleClient.cpp @@ -9743,7 +9771,7 @@ index 1790ef11dd6466bcdae4bf577fcc2403e2d5e8f6..b67201a17f528823345db0d8b0a83521 UIProcess/WebPageProxy.cpp UIProcess/WebPageProxyMessageReceiverRegistration.cpp UIProcess/WebPasteboardProxy.cpp -@@ -567,7 +574,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp +@@ -568,7 +575,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp UIProcess/Inspector/WebPageDebuggable.cpp UIProcess/Inspector/WebPageInspectorController.cpp @@ -9756,10 +9784,10 @@ index 1790ef11dd6466bcdae4bf577fcc2403e2d5e8f6..b67201a17f528823345db0d8b0a83521 UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp UIProcess/Media/MediaUsageManager.cpp diff --git a/Source/WebKit/SourcesCocoa.txt b/Source/WebKit/SourcesCocoa.txt -index 65a44447eae5a192a74ae4a05be7da2d68d99d28..ac0eb6d33feb5e601a4c58cc36243b1b9f8b56ca 100644 +index 0cbd2b853fc4ce6725cc2e8e6044cf669117e82e..cb7356b9fe365699d571b63d110febb479bf4d36 100644 --- a/Source/WebKit/SourcesCocoa.txt +++ b/Source/WebKit/SourcesCocoa.txt -@@ -261,6 +261,7 @@ UIProcess/API/Cocoa/_WKArchiveExclusionRule.mm +@@ -260,6 +260,7 @@ UIProcess/API/Cocoa/_WKArchiveExclusionRule.mm UIProcess/API/Cocoa/_WKAttachment.mm UIProcess/API/Cocoa/_WKAutomationSession.mm UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm @@ -9767,7 +9795,7 @@ index 65a44447eae5a192a74ae4a05be7da2d68d99d28..ac0eb6d33feb5e601a4c58cc36243b1b UIProcess/API/Cocoa/_WKContentRuleListAction.mm UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm UIProcess/API/Cocoa/_WKCustomHeaderFields.mm @no-unify -@@ -437,6 +438,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm +@@ -436,6 +437,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm UIProcess/Inspector/ios/WKInspectorNodeSearchGestureRecognizer.mm UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm @@ -9776,10 +9804,10 @@ index 65a44447eae5a192a74ae4a05be7da2d68d99d28..ac0eb6d33feb5e601a4c58cc36243b1b UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm UIProcess/Inspector/mac/WKInspectorViewController.mm diff --git a/Source/WebKit/SourcesGTK.txt b/Source/WebKit/SourcesGTK.txt -index 37f7f79dfbdb9913fe96b0393f6a2547501f5c6e..f34cf6031976d89f73f872ba4029b79349e119de 100644 +index 027c12f9721800dc7b01ec4283e7df5e29071cf5..79330b09ad3a78fa5328e771b0e9d6bbe38da943 100644 --- a/Source/WebKit/SourcesGTK.txt +++ b/Source/WebKit/SourcesGTK.txt -@@ -136,6 +136,7 @@ UIProcess/API/glib/WebKitAutomationSession.cpp @no-unify +@@ -135,6 +135,7 @@ UIProcess/API/glib/WebKitAutomationSession.cpp @no-unify UIProcess/API/glib/WebKitBackForwardList.cpp @no-unify UIProcess/API/glib/WebKitBackForwardListItem.cpp @no-unify UIProcess/API/glib/WebKitClipboardPermissionRequest.cpp @no-unify @@ -9787,7 +9815,7 @@ index 37f7f79dfbdb9913fe96b0393f6a2547501f5c6e..f34cf6031976d89f73f872ba4029b793 UIProcess/API/glib/WebKitContextMenuClient.cpp @no-unify UIProcess/API/glib/WebKitCookieManager.cpp @no-unify UIProcess/API/glib/WebKitCredential.cpp @no-unify -@@ -264,6 +265,7 @@ UIProcess/glib/DisplayLinkGLib.cpp +@@ -263,6 +264,7 @@ UIProcess/glib/DisplayLinkGLib.cpp UIProcess/glib/DisplayVBlankMonitor.cpp UIProcess/glib/DisplayVBlankMonitorDRM.cpp UIProcess/glib/DisplayVBlankMonitorTimer.cpp @@ -9795,7 +9823,7 @@ index 37f7f79dfbdb9913fe96b0393f6a2547501f5c6e..f34cf6031976d89f73f872ba4029b793 UIProcess/glib/WebPageProxyGLib.cpp UIProcess/glib/WebProcessPoolGLib.cpp UIProcess/glib/WebProcessProxyGLib.cpp -@@ -280,6 +282,7 @@ UIProcess/gtk/ClipboardGtk4.cpp @no-unify +@@ -277,6 +279,7 @@ UIProcess/gtk/ClipboardGtk4.cpp @no-unify UIProcess/gtk/WebDateTimePickerGtk.cpp UIProcess/gtk/GtkSettingsManager.cpp UIProcess/gtk/HardwareAccelerationManager.cpp @@ -9803,7 +9831,7 @@ index 37f7f79dfbdb9913fe96b0393f6a2547501f5c6e..f34cf6031976d89f73f872ba4029b793 UIProcess/gtk/KeyBindingTranslator.cpp UIProcess/gtk/PointerLockManager.cpp @no-unify UIProcess/gtk/PointerLockManagerWayland.cpp @no-unify -@@ -292,6 +295,8 @@ UIProcess/gtk/ViewGestureControllerGtk.cpp +@@ -289,6 +292,8 @@ UIProcess/gtk/ViewGestureControllerGtk.cpp UIProcess/gtk/WebColorPickerGtk.cpp UIProcess/gtk/WebContextMenuProxyGtk.cpp UIProcess/gtk/WebDataListSuggestionsDropdownGtk.cpp @@ -9813,7 +9841,7 @@ index 37f7f79dfbdb9913fe96b0393f6a2547501f5c6e..f34cf6031976d89f73f872ba4029b793 UIProcess/gtk/WebPasteboardProxyGtk.cpp UIProcess/gtk/WebPopupMenuProxyGtk.cpp diff --git a/Source/WebKit/SourcesWPE.txt b/Source/WebKit/SourcesWPE.txt -index 92cad8cba5e36ffac473217f9120319bd7c839e7..fb42fe7eafe2c49891e31e1d456fef186b247064 100644 +index 3adaea12d66c3c266b2199495273ff0180f97fb7..ec853296463255f0755e86a52a59a2f6c9f2b28d 100644 --- a/Source/WebKit/SourcesWPE.txt +++ b/Source/WebKit/SourcesWPE.txt @@ -91,6 +91,7 @@ Shared/glib/ProcessExecutablePathGLib.cpp @@ -9824,7 +9852,7 @@ index 92cad8cba5e36ffac473217f9120319bd7c839e7..fb42fe7eafe2c49891e31e1d456fef18 Shared/libwpe/NativeWebKeyboardEventLibWPE.cpp Shared/libwpe/NativeWebMouseEventLibWPE.cpp Shared/libwpe/NativeWebTouchEventLibWPE.cpp -@@ -130,6 +131,7 @@ UIProcess/API/glib/WebKitAuthenticationRequest.cpp @no-unify +@@ -138,6 +139,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 @@ -9832,7 +9860,7 @@ index 92cad8cba5e36ffac473217f9120319bd7c839e7..fb42fe7eafe2c49891e31e1d456fef18 UIProcess/API/glib/WebKitContextMenuClient.cpp @no-unify UIProcess/API/glib/WebKitCookieManager.cpp @no-unify UIProcess/API/glib/WebKitCredential.cpp @no-unify -@@ -163,6 +165,7 @@ UIProcess/API/glib/WebKitOptionMenu.cpp @no-unify +@@ -171,6 +173,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 @@ -9840,7 +9868,7 @@ index 92cad8cba5e36ffac473217f9120319bd7c839e7..fb42fe7eafe2c49891e31e1d456fef18 UIProcess/API/glib/WebKitPolicyDecision.cpp @no-unify UIProcess/API/glib/WebKitPrivate.cpp @no-unify UIProcess/API/glib/WebKitProtocolHandler.cpp @no-unify -@@ -199,6 +202,7 @@ UIProcess/API/soup/HTTPCookieStoreSoup.cpp +@@ -207,6 +210,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 @@ -9848,7 +9876,7 @@ index 92cad8cba5e36ffac473217f9120319bd7c839e7..fb42fe7eafe2c49891e31e1d456fef18 UIProcess/API/wpe/WebKitInputMethodContextWPE.cpp @no-unify UIProcess/API/wpe/WebKitPopupMenu.cpp @no-unify UIProcess/API/wpe/WebKitRectangle.cpp @no-unify -@@ -223,6 +227,7 @@ UIProcess/glib/DisplayLinkGLib.cpp +@@ -231,6 +235,7 @@ UIProcess/glib/DisplayLinkGLib.cpp UIProcess/glib/DisplayVBlankMonitor.cpp UIProcess/glib/DisplayVBlankMonitorDRM.cpp UIProcess/glib/DisplayVBlankMonitorTimer.cpp @@ -9856,10 +9884,10 @@ index 92cad8cba5e36ffac473217f9120319bd7c839e7..fb42fe7eafe2c49891e31e1d456fef18 UIProcess/glib/WebPageProxyGLib.cpp UIProcess/glib/WebProcessPoolGLib.cpp UIProcess/glib/WebProcessProxyGLib.cpp -@@ -251,6 +256,11 @@ UIProcess/linux/MemoryPressureMonitor.cpp - +@@ -260,6 +265,11 @@ UIProcess/linux/MemoryPressureMonitor.cpp UIProcess/soup/WebProcessPoolSoup.cpp + UIProcess/wpe/AcceleratedBackingStoreDMABuf.cpp +UIProcess/wpe/InspectorTargetProxyWPE.cpp +UIProcess/wpe/WebColorPickerWPE.cpp +UIProcess/wpe/WebDateTimePickerWPE.cpp @@ -9868,7 +9896,7 @@ index 92cad8cba5e36ffac473217f9120319bd7c839e7..fb42fe7eafe2c49891e31e1d456fef18 UIProcess/wpe/WebPageProxyWPE.cpp WebProcess/GPU/graphics/gbm/RemoteGraphicsContextGLProxyGBM.cpp -@@ -273,6 +283,8 @@ WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp +@@ -282,6 +292,8 @@ WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp @@ -9925,10 +9953,10 @@ index dbbfea6be4b6f1ae3bd2070dc9b8e79fdbf28ff3..b7dd65cb00d64f67805597ba7a66f1a6 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 92813cde60765506eb09eb76831c8f194720cf03..eb2076c9cbbd2c113691598af5e548dcd96c1502 100644 +index 2705d0c8de8abefe9ee5b144b7bc7337d8c97bc0..79e0c1e16d3d839a3c38ebf79cbc931f0227c6b5 100644 --- a/Source/WebKit/UIProcess/API/APIUIClient.h +++ b/Source/WebKit/UIProcess/API/APIUIClient.h -@@ -112,6 +112,7 @@ public: +@@ -113,6 +113,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()); } @@ -9980,10 +10008,10 @@ index 026121d114c5fcad84c1396be8d692625beaa3bd..edd6e5cae033124c589959a42522fde0 } #endif diff --git a/Source/WebKit/UIProcess/API/C/WKPage.cpp b/Source/WebKit/UIProcess/API/C/WKPage.cpp -index 8a6927f9f665f2d9fa7b9d0a813dd945a329d724..5c5610e1157bb654b9226dc7013ca1cc806d3005 100644 +index 7cdd74be483252b47bd681dbab7c6810e2861f08..f89fc5a069b1ab132d5a45a744ca6802302fb2af 100644 --- a/Source/WebKit/UIProcess/API/C/WKPage.cpp +++ b/Source/WebKit/UIProcess/API/C/WKPage.cpp -@@ -1784,6 +1784,13 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient +@@ -1785,6 +1785,13 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient completionHandler(String()); } @@ -9997,7 +10025,7 @@ index 8a6927f9f665f2d9fa7b9d0a813dd945a329d724..5c5610e1157bb654b9226dc7013ca1cc void setStatusText(WebPageProxy* page, const String& text) final { if (!m_client.setStatusText) -@@ -1813,6 +1820,8 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient +@@ -1814,6 +1821,8 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient { if (!m_client.didNotHandleKeyEvent) return; @@ -10007,7 +10035,7 @@ index 8a6927f9f665f2d9fa7b9d0a813dd945a329d724..5c5610e1157bb654b9226dc7013ca1cc } diff --git a/Source/WebKit/UIProcess/API/C/WKPageUIClient.h b/Source/WebKit/UIProcess/API/C/WKPageUIClient.h -index 65d8ab73430840b02682ce879d1db18b9597d6b0..ea89752f4b90018ea1f008e0d89f9a2a80d1a8e1 100644 +index 1484f064ec89ee8c25c35df9f0a4462896699415..0622f4d5fc9144b9059395d9d0730a4ae00b7497 100644 --- a/Source/WebKit/UIProcess/API/C/WKPageUIClient.h +++ b/Source/WebKit/UIProcess/API/C/WKPageUIClient.h @@ -98,6 +98,7 @@ typedef void (*WKPageRunBeforeUnloadConfirmPanelCallback)(WKPageRef page, WKStri @@ -10018,7 +10046,7 @@ index 65d8ab73430840b02682ce879d1db18b9597d6b0..ea89752f4b90018ea1f008e0d89f9a2a typedef void (*WKPageRequestStorageAccessConfirmCallback)(WKPageRef page, WKFrameRef frame, WKStringRef requestingDomain, WKStringRef currentDomain, WKPageRequestStorageAccessConfirmResultListenerRef listener, const void *clientInfo); typedef void (*WKPageTakeFocusCallback)(WKPageRef page, WKFocusDirection direction, const void *clientInfo); typedef void (*WKPageFocusCallback)(WKPageRef page, const void *clientInfo); -@@ -1365,6 +1366,7 @@ typedef struct WKPageUIClientV14 { +@@ -1364,6 +1365,7 @@ typedef struct WKPageUIClientV14 { // Version 14. WKPageRunWebAuthenticationPanelCallback runWebAuthenticationPanel; @@ -10026,7 +10054,7 @@ index 65d8ab73430840b02682ce879d1db18b9597d6b0..ea89752f4b90018ea1f008e0d89f9a2a } WKPageUIClientV14; typedef struct WKPageUIClientV15 { -@@ -1472,6 +1474,7 @@ typedef struct WKPageUIClientV15 { +@@ -1471,6 +1473,7 @@ typedef struct WKPageUIClientV15 { // Version 14. WKPageRunWebAuthenticationPanelCallback runWebAuthenticationPanel; @@ -10034,7 +10062,7 @@ index 65d8ab73430840b02682ce879d1db18b9597d6b0..ea89752f4b90018ea1f008e0d89f9a2a // Version 15. WKPageDecidePolicyForSpeechRecognitionPermissionRequestCallback decidePolicyForSpeechRecognitionPermissionRequest; -@@ -1583,6 +1586,7 @@ typedef struct WKPageUIClientV16 { +@@ -1582,6 +1585,7 @@ typedef struct WKPageUIClientV16 { // Version 14. WKPageRunWebAuthenticationPanelCallback runWebAuthenticationPanel; @@ -10042,7 +10070,7 @@ index 65d8ab73430840b02682ce879d1db18b9597d6b0..ea89752f4b90018ea1f008e0d89f9a2a // Version 15. WKPageDecidePolicyForSpeechRecognitionPermissionRequestCallback decidePolicyForSpeechRecognitionPermissionRequest; -@@ -1697,6 +1701,7 @@ typedef struct WKPageUIClientV17 { +@@ -1696,6 +1700,7 @@ typedef struct WKPageUIClientV17 { // Version 14. WKPageRunWebAuthenticationPanelCallback runWebAuthenticationPanel; @@ -10050,7 +10078,7 @@ index 65d8ab73430840b02682ce879d1db18b9597d6b0..ea89752f4b90018ea1f008e0d89f9a2a // Version 15. WKPageDecidePolicyForSpeechRecognitionPermissionRequestCallback decidePolicyForSpeechRecognitionPermissionRequest; -@@ -1813,6 +1818,7 @@ typedef struct WKPageUIClientV18 { +@@ -1810,6 +1815,7 @@ typedef struct WKPageUIClientV18 { // Version 14. WKPageRunWebAuthenticationPanelCallback runWebAuthenticationPanel; @@ -10058,7 +10086,7 @@ index 65d8ab73430840b02682ce879d1db18b9597d6b0..ea89752f4b90018ea1f008e0d89f9a2a // Version 15. WKPageDecidePolicyForSpeechRecognitionPermissionRequestCallback decidePolicyForSpeechRecognitionPermissionRequest; -@@ -1932,6 +1938,7 @@ typedef struct WKPageUIClientV19 { +@@ -1926,6 +1932,7 @@ typedef struct WKPageUIClientV19 { // Version 14. WKPageRunWebAuthenticationPanelCallback runWebAuthenticationPanel; @@ -10067,7 +10095,7 @@ index 65d8ab73430840b02682ce879d1db18b9597d6b0..ea89752f4b90018ea1f008e0d89f9a2a // Version 15. WKPageDecidePolicyForSpeechRecognitionPermissionRequestCallback decidePolicyForSpeechRecognitionPermissionRequest; diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm b/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm -index 039731566b16ebdf9ae4db1b2f64d809075adda8..bf09734942cea6caa5faa6ddf3d8036d2df55ccd 100644 +index 06f4f8c01e1cb79cadc97b2b027e863598d4c80b..b0c7b5a2e955be3c017c07282b43ad916013bb60 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm @@ -706,6 +706,16 @@ - (void)_setMediaCaptureRequiresSecureConnection:(BOOL)requiresSecureConnection @@ -10088,7 +10116,7 @@ index 039731566b16ebdf9ae4db1b2f64d809075adda8..bf09734942cea6caa5faa6ddf3d8036d { return _preferences->inactiveMediaCaptureSteamRepromptIntervalInMinutes(); diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h b/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h -index 00dae895eda9db80aac60bd927bac1f68756e9d5..11131d66ff21266ac52bc873d497a8625082be35 100644 +index bfbccd96e33ba6be40a5e48e193a89642d654ecd..c3882525c854709a5d9e753cebbd2d6d225f1f66 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h +++ b/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h @@ -121,6 +121,7 @@ typedef NS_ENUM(NSInteger, _WKPitchCorrectionAlgorithm) { @@ -10138,7 +10166,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 2e52c12e36fde4dc6eb16dea399c4a201ba522e3..52a262a9da3fd7c9ea67f2ee8830e469f487a11d 100644 +index fbf31f22087d243e4cf5a5c262eb068ae9f02b29..8f1379d479a2556879d17f090618225ce08872a7 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm @@ -50,6 +50,7 @@ @@ -10147,9 +10175,9 @@ index 2e52c12e36fde4dc6eb16dea399c4a201ba522e3..52a262a9da3fd7c9ea67f2ee8830e469 #import "_WKWebsiteDataStoreDelegate.h" +#import #import + #import #import - #import -@@ -382,6 +383,11 @@ - (void)removeDataOfTypes:(NSSet *)dataTypes modifiedSince:(NSDate *)date comple +@@ -405,6 +406,11 @@ - (void)removeDataOfTypes:(NSSet *)dataTypes modifiedSince:(NSDate *)date comple }); } @@ -10560,10 +10588,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 d75c5ee48b2cedc8df984841fd52478b0620078c..d9cd7bf5749ff192eb938b12b4c2d82bb73e6026 100644 +index d0c42fa8f30c14c0ff3f37341fc163f387585b85..fb0ba2db94d9f193e1ad217bfdfd8059286cc21c 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp -@@ -93,6 +93,10 @@ private: +@@ -94,6 +94,10 @@ private: page.makeViewBlankIfUnpaintedSinceLastLoadCommit(); webkitWebViewRunJavaScriptPrompt(m_webView, message.utf8(), defaultValue.utf8(), WTFMove(completionHandler)); } @@ -10644,7 +10672,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 e88f6bcb93750dc47e616758d91eb8c5ae7de85a..ffbe6424d8433ee617ed63f37f8f6f09f9ad9eef 100644 +index 28f1f70a5caf1b2736d0995c6fefe31ef0029a5b..abc294f091d8315bb9bbdc8f51efd8e47498300b 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp @@ -34,6 +34,7 @@ @@ -10679,7 +10707,7 @@ index e88f6bcb93750dc47e616758d91eb8c5ae7de85a..ffbe6424d8433ee617ed63f37f8f6f09 DECIDE_POLICY, PERMISSION_REQUEST, -@@ -489,6 +491,9 @@ GRefPtr WebKitWebViewClient::showOptionMenu(WebKitPopupMenu& p +@@ -495,6 +497,9 @@ GRefPtr WebKitWebViewClient::showOptionMenu(WebKitPopupMenu& p void WebKitWebViewClient::frameDisplayed(WKWPE::View&) { @@ -10689,7 +10717,7 @@ index e88f6bcb93750dc47e616758d91eb8c5ae7de85a..ffbe6424d8433ee617ed63f37f8f6f09 { SetForScope inFrameDisplayedGuard(m_webView->priv->inFrameDisplayed, true); for (const auto& callback : m_webView->priv->frameDisplayedCallbacks) { -@@ -505,6 +510,11 @@ void WebKitWebViewClient::frameDisplayed(WKWPE::View&) +@@ -511,6 +516,11 @@ void WebKitWebViewClient::frameDisplayed(WKWPE::View&) } } @@ -10701,7 +10729,7 @@ index e88f6bcb93750dc47e616758d91eb8c5ae7de85a..ffbe6424d8433ee617ed63f37f8f6f09 void WebKitWebViewClient::willStartLoad(WKWPE::View&) { webkitWebViewWillStartLoad(m_webView); -@@ -591,7 +601,7 @@ static gboolean webkitWebViewDecidePolicy(WebKitWebView*, WebKitPolicyDecision* +@@ -597,7 +607,7 @@ static gboolean webkitWebViewDecidePolicy(WebKitWebView*, WebKitPolicyDecision* static gboolean webkitWebViewPermissionRequest(WebKitWebView*, WebKitPermissionRequest* request) { @@ -10710,7 +10738,7 @@ index e88f6bcb93750dc47e616758d91eb8c5ae7de85a..ffbe6424d8433ee617ed63f37f8f6f09 if (WEBKIT_IS_POINTER_LOCK_PERMISSION_REQUEST(request)) { webkit_permission_request_allow(request); return TRUE; -@@ -1851,6 +1861,15 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) +@@ -1904,6 +1914,15 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) G_TYPE_BOOLEAN, 1, WEBKIT_TYPE_SCRIPT_DIALOG); @@ -10726,7 +10754,7 @@ index e88f6bcb93750dc47e616758d91eb8c5ae7de85a..ffbe6424d8433ee617ed63f37f8f6f09 /** * WebKitWebView::decide-policy: * @web_view: the #WebKitWebView on which the signal is emitted -@@ -2649,6 +2668,23 @@ void webkitWebViewRunJavaScriptBeforeUnloadConfirm(WebKitWebView* webView, const +@@ -2706,6 +2725,23 @@ void webkitWebViewRunJavaScriptBeforeUnloadConfirm(WebKitWebView* webView, const webkit_script_dialog_unref(webView->priv->currentScriptDialog); } @@ -10775,7 +10803,7 @@ 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 0c0dda4c205cf57f6468226d26f10b7524d7637c..319c2ffe8bdd94fb9a618e05f5619147589e3a84 100644 +index f3fd0687050371f28230a348765d9e45b42127fe..c75d6ffe185378159305ab5caf44284b4ba38ed3 100644 --- a/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp +++ b/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp @@ -257,6 +257,8 @@ void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool @@ -10800,7 +10828,7 @@ index 0c0dda4c205cf57f6468226d26f10b7524d7637c..319c2ffe8bdd94fb9a618e05f5619147 void PageClientImpl::didChangeContentSize(const IntSize& size) diff --git a/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h b/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h -index 588447de7e900946c4ab47664bf9fc86809cb641..45858ff872378b288b1173a300cd11a5858ddd77 100644 +index f4478ecd25baf61176a6325d563e44985c4a4418..171f922bb867dff5fe02b5116e895d8f0fb3e2a0 100644 --- a/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h +++ b/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h @@ -105,7 +105,7 @@ private: @@ -10913,7 +10941,7 @@ 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 86d4fd3a8ce403cdd71b286f82debe7d134f0763..8e2b155018d12a3be84b00585e4607dc71af56af 100644 +index 0ac555f8a18a55c0aab84b59753057616c477998..3938e923c698d8a407ee494b30437e14c965b6fd 100644 --- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp +++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp @@ -2853,6 +2853,11 @@ void webkitWebViewBaseResetClickCounter(WebKitWebViewBase* webkitWebViewBase) @@ -10944,7 +10972,7 @@ index 86d4fd3a8ce403cdd71b286f82debe7d134f0763..8e2b155018d12a3be84b00585e4607dc #if !USE(GTK4) diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h -index fec76e55f1680da5b248552db6c96134742bdcba..dfb0b07c2e2447b9b4ee3841b90726b245cfbdd3 100644 +index 19ec058363303ae2cd82189e072a04f70a49d061..f364b0c8a51f228235c3af83384067903e628d06 100644 --- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h +++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h @@ -27,6 +27,7 @@ @@ -10964,14 +10992,14 @@ index fec76e55f1680da5b248552db6c96134742bdcba..dfb0b07c2e2447b9b4ee3841b90726b2 void webkitWebViewBaseSetEnableBackForwardNavigationGesture(WebKitWebViewBase*, bool enabled); WebKit::ViewGestureController* webkitWebViewBaseViewGestureController(WebKitWebViewBase*); -@@ -141,3 +142,5 @@ void webkitWebViewBaseToplevelWindowStateChanged(WebKitWebViewBase*, uint32_t, u +@@ -137,3 +138,5 @@ void webkitWebViewBaseToplevelWindowStateChanged(WebKitWebViewBase*, uint32_t, u void webkitWebViewBaseToplevelWindowMonitorChanged(WebKitWebViewBase*, GdkMonitor*); void webkitWebViewBaseCallAfterNextPresentationUpdate(WebKitWebViewBase*, CompletionHandler&&); + +WebKit::AcceleratedBackingStore* webkitWebViewBaseGetAcceleratedBackingStore(WebKitWebViewBase*); diff --git a/Source/WebKit/UIProcess/API/wpe/APIViewClient.h b/Source/WebKit/UIProcess/API/wpe/APIViewClient.h -index 5506eb798d7df211e975b88f293428d7a00e8f65..41b4a0169a4479a0f2131227aadc7350e976d6a1 100644 +index 26d1790017e528f26ae04dac635678d5494bfd04..48dbe50eb05628307264a350350ac19f0acb3ae3 100644 --- a/Source/WebKit/UIProcess/API/wpe/APIViewClient.h +++ b/Source/WebKit/UIProcess/API/wpe/APIViewClient.h @@ -26,6 +26,7 @@ @@ -10993,10 +11021,10 @@ index 5506eb798d7df211e975b88f293428d7a00e8f65..41b4a0169a4479a0f2131227aadc7350 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 f927aeea12d50643000bcce90ce2d31ab5c17072..9fd3b35bb6d6831c0e9e7ec8e12d99ace3c40062 100644 +index d56de4b5b13b2d522532cfef6691083aabe3361c..6eb9204cecaad4f832478bbf8f01d0f94e940f3d 100644 --- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp +++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp -@@ -33,8 +33,11 @@ +@@ -33,9 +33,13 @@ #include "NativeWebWheelEvent.h" #include "TouchGestureController.h" #include "WPEWebView.h" @@ -11006,9 +11034,11 @@ index f927aeea12d50643000bcce90ce2d31ab5c17072..9fd3b35bb6d6831c0e9e7ec8e12d99ac #include "WebContextMenuProxyWPE.h" +#include "WebKitDataListSuggestionsDropdown.h" #include "WebKitPopupMenu.h" ++#include "WebColorPicker.h" #include + #include #include -@@ -190,7 +193,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) { @@ -11017,7 +11047,7 @@ index f927aeea12d50643000bcce90ce2d31ab5c17072..9fd3b35bb6d6831c0e9e7ec8e12d99ac } void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent&, bool) -@@ -427,9 +430,55 @@ void PageClientImpl::selectionDidChange() +@@ -465,9 +469,55 @@ void PageClientImpl::selectionDidChange() m_view.selectionDidChange(); } @@ -11074,10 +11104,10 @@ index f927aeea12d50643000bcce90ce2d31ab5c17072..9fd3b35bb6d6831c0e9e7ec8e12d99ac + } // namespace WebKit diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h -index d14abff9ca046b2c3a1423c4a47341210b7198d1..f717239df9de9097bfa31193b817e26b3495f162 100644 +index a9d4dce37f48a796beebfd6fe830a5f487464eac..9c0b4bda1834a74b49744a3c28032815dadffbe8 100644 --- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h +++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h -@@ -161,9 +161,21 @@ private: +@@ -165,9 +165,21 @@ private: void didChangeWebPageID() const override; void selectionDidChange() override; @@ -11100,10 +11130,10 @@ index d14abff9ca046b2c3a1423c4a47341210b7198d1..f717239df9de9097bfa31193b817e26b }; diff --git a/Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp b/Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp -index 762e771e09ca5f40afbd32bd35930c6217272ddc..97698110ac1652e902135427552eaf6cfb03cb3e 100644 +index b451b164d5b4db602227eccf847a1d970ff18b53..d39b0e69d71370f3faf391b25bc993fcfcee8649 100644 --- a/Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp +++ b/Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp -@@ -76,7 +76,9 @@ View::View(struct wpe_view_backend* backend, const API::PageConfiguration& baseC +@@ -92,7 +92,9 @@ View::View(struct wpe_view_backend* backend, WPEDisplay* display, const API::Pag if (preferences) { preferences->setAcceleratedCompositingEnabled(true); preferences->setForceCompositingMode(true); @@ -11394,7 +11424,7 @@ index e4b92ace1531090ae38a7aec3d3d4febf19aee84..43690f9ef4969a39084501613bfc00a7 + +cairo_surface_t* webkitWebViewBackendTakeScreenshot(WebKitWebViewBackend*); diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitWebViewClient.h b/Source/WebKit/UIProcess/API/wpe/WebKitWebViewClient.h -index 8a8356b94e0632118a24bb9adf5a1fe72f10fb8d..f332ffe5e633dce8e8a7f0f2a411ca2905cd21a7 100644 +index 720c88818bdb4cde3cb58e95785454754f6c1396..7f702c0b922e13128522d2bb1ace6a233812a7d4 100644 --- a/Source/WebKit/UIProcess/API/wpe/WebKitWebViewClient.h +++ b/Source/WebKit/UIProcess/API/wpe/WebKitWebViewClient.h @@ -50,6 +50,9 @@ private: @@ -11408,10 +11438,10 @@ index 8a8356b94e0632118a24bb9adf5a1fe72f10fb8d..f332ffe5e633dce8e8a7f0f2a411ca29 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 de794bd3c1e9a598ae76b326d6171cebf4289fa9..5db786bccc7db3be4ce82fac3e3d2f5ccd5a07a6 100644 +index 366d7094ee559f5d802fd8ae3fc8a7ebb1cd4e3d..bae518ccad18ef63895d27de30238ada41397a63 100644 --- a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp +++ b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp -@@ -144,7 +144,11 @@ void AuxiliaryProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& lau +@@ -154,7 +154,11 @@ void AuxiliaryProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& lau launchOptions.processCmdPrefix = String::fromUTF8(processCmdPrefix); #endif // ENABLE(DEVELOPER_MODE) && (PLATFORM(GTK) || PLATFORM(WPE)) @@ -11424,10 +11454,10 @@ index de794bd3c1e9a598ae76b326d6171cebf4289fa9..5db786bccc7db3be4ce82fac3e3d2f5c platformGetLaunchOptions(launchOptions); } diff --git a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h -index c951a2baaf6819908b2d18e276b048f2aa69c86c..12ac9e139ee9aad1e4e6502e01b03e5d16888113 100644 +index da9e76273c950d14cb6a4fdded0b8602869ff138..6bee432a0eeb10a0779ee1c6d11a8f1a8e1b17d0 100644 --- a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h +++ b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h -@@ -221,13 +221,16 @@ protected: +@@ -230,13 +230,16 @@ protected: static RefPtr fetchAudioComponentServerRegistrations(); #endif @@ -11445,18 +11475,6 @@ index c951a2baaf6819908b2d18e276b048f2aa69c86c..12ac9e139ee9aad1e4e6502e01b03e5d void platformStartConnectionTerminationWatchdog(); ResponsivenessTimer m_responsivenessTimer; -diff --git a/Source/WebKit/UIProcess/BackingStore.h b/Source/WebKit/UIProcess/BackingStore.h -index 3bbb4b30ca3d78007ac700a033b7e4b695c557dd..22b94307bdb0adcf8c8f1f6440328804933ca21e 100644 ---- a/Source/WebKit/UIProcess/BackingStore.h -+++ b/Source/WebKit/UIProcess/BackingStore.h -@@ -51,6 +51,7 @@ public: - - #if USE(CAIRO) - typedef cairo_t* PlatformGraphicsContext; -+ cairo_surface_t* surface() const; - #endif - - void paint(PlatformGraphicsContext, const WebCore::IntRect&); diff --git a/Source/WebKit/UIProcess/BrowserInspectorPipe.cpp b/Source/WebKit/UIProcess/BrowserInspectorPipe.cpp new file mode 100644 index 0000000000000000000000000000000000000000..cfb57a48ce387b79613b757e2eb4de2c378aac30 @@ -11590,18 +11608,18 @@ 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 ca367804b622de941ab3792edcf79d17f3a19193..6249e19713f3b13cca3e1081a3469ef5eef2f698 100644 +index f0247c0950af133e8f98b1eee872e55b53f83735..cd6c138502861228dfb19d9177396266a89cea6e 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h -@@ -95,6 +95,7 @@ private: +@@ -96,6 +96,7 @@ private: void runJavaScriptAlert(WebPageProxy&, const WTF::String&, WebFrameProxy*, FrameInfoData&&, Function&& completionHandler) final; void runJavaScriptConfirm(WebPageProxy&, const WTF::String&, WebFrameProxy*, FrameInfoData&&, Function&& completionHandler) final; void runJavaScriptPrompt(WebPageProxy&, const WTF::String&, const WTF::String&, WebFrameProxy*, FrameInfoData&&, Function&&) final; + void handleJavaScriptDialog(WebKit::WebPageProxy&, bool accept, const WTF::String&) final; void presentStorageAccessConfirmDialog(const WTF::String& requestingDomain, const WTF::String& currentDomain, CompletionHandler&&); - void requestStorageAccessConfirm(WebPageProxy&, WebFrameProxy*, const WebCore::RegistrableDomain& requestingDomain, const WebCore::RegistrableDomain& currentDomain, CompletionHandler&&) final; + 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: +@@ -206,6 +207,7 @@ private: bool webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRunJavaScriptTextInputPanelWithPromptDefaultTextInitiatedByFrameCompletionHandler : 1; @@ -11610,7 +11628,7 @@ index ca367804b622de941ab3792edcf79d17f3a19193..6249e19713f3b13cca3e1081a3469ef5 bool webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRequestGeolocationPermissionForFrameDecisionHandler : 1; diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm -index be7f2e3a3dcdf9f22ff1a950b07f03488cbc1c3f..8148730b798729df7be190673f84a3c6e98c08bd 100644 +index c7e0d4dc60a0788898550f365db73e56bbf29b71..fd146a6bc8e8699745cdf42114dd0e672d870a5a 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm @@ -117,6 +117,7 @@ void UIDelegate::setDelegate(id delegate) @@ -11621,7 +11639,7 @@ index be7f2e3a3dcdf9f22ff1a950b07f03488cbc1c3f..8148730b798729df7be190673f84a3c6 m_delegateMethods.webViewRequestStorageAccessPanelUnderFirstPartyCompletionHandler = [delegate respondsToSelector:@selector(_webView:requestStorageAccessPanelForDomain:underCurrentDomain:completionHandler:)]; m_delegateMethods.webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:)]; m_delegateMethods.webViewRequestGeolocationPermissionForOriginDecisionHandler = [delegate respondsToSelector:@selector(_webView:requestGeolocationPermissionForOrigin:initiatedByFrame:decisionHandler:)]; -@@ -437,6 +438,15 @@ void UIDelegate::UIClient::runJavaScriptPrompt(WebPageProxy& page, const WTF::St +@@ -436,6 +437,15 @@ void UIDelegate::UIClient::runJavaScriptPrompt(WebPageProxy& page, const WTF::St }).get()]; } @@ -11634,11 +11652,11 @@ index be7f2e3a3dcdf9f22ff1a950b07f03488cbc1c3f..8148730b798729df7be190673f84a3c6 + [delegate webView:m_uiDelegate->m_webView.get().get() handleJavaScriptDialog:accept value:value]; +} + - void UIDelegate::UIClient::requestStorageAccessConfirm(WebPageProxy& webPageProxy, WebFrameProxy*, const WebCore::RegistrableDomain& requestingDomain, const WebCore::RegistrableDomain& currentDomain, CompletionHandler&& completionHandler) + void UIDelegate::UIClient::requestStorageAccessConfirm(WebPageProxy& webPageProxy, WebFrameProxy*, const WebCore::RegistrableDomain& requestingDomain, const WebCore::RegistrableDomain& currentDomain, std::optional&& organizationStorageAccessPromptQuirk, CompletionHandler&& completionHandler) { if (!m_uiDelegate) diff --git a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm -index 3c58aeaad9a258806eb6979bd40eb59f298ac190..05c638cdbad087fe8bbdd0ed9fe84b13e27feea1 100644 +index 6e1f94997e239818ab598513619ebca04a7d9939..729d8d078d18240aabca71aabab54ca325d93ca9 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm @@ -38,6 +38,7 @@ @@ -11739,10 +11757,10 @@ index 3c58aeaad9a258806eb6979bd40eb59f298ac190..05c638cdbad087fe8bbdd0ed9fe84b13 #if ENABLE(ATTACHMENT_ELEMENT) diff --git a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -index fa8a3ce8b0585f9e81308dcea0a9f6721b82e31d..2fc423491020f88ff19f4934699568f33150f141 100644 +index d28a3b778536b32488d5b0a2ba7fa3675459fd3d..a39b7c0f4f678f745c634a3cea801bf3f3178b4f 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -@@ -404,7 +404,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END +@@ -402,7 +402,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END auto screenProperties = WebCore::collectScreenProperties(); parameters.screenProperties = WTFMove(screenProperties); #if PLATFORM(MAC) @@ -11751,7 +11769,7 @@ index fa8a3ce8b0585f9e81308dcea0a9f6721b82e31d..2fc423491020f88ff19f4934699568f3 #endif #if (PLATFORM(IOS) || PLATFORM(VISION)) && HAVE(AGX_COMPILER_SERVICE) -@@ -741,8 +741,8 @@ void WebProcessPool::registerNotificationObservers() +@@ -753,8 +753,8 @@ void WebProcessPool::registerNotificationObservers() }]; m_scrollerStyleNotificationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSPreferredScrollerStyleDidChangeNotification object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) { @@ -11763,7 +11781,7 @@ index fa8a3ce8b0585f9e81308dcea0a9f6721b82e31d..2fc423491020f88ff19f4934699568f3 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 ff5329fb9b917a9bc53e8b017516099a10b6925e..8f57d208a81c81d255a68ca7130059e956d5b3db 100644 +index 567d62f16b9be2e1dff1110031ee7e2b213af790..c3ff92f3e256e62050d38dad05565429585d7ea0 100644 --- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp +++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp @@ -33,14 +33,17 @@ @@ -11784,8 +11802,8 @@ index ff5329fb9b917a9bc53e8b017516099a10b6925e..8f57d208a81c81d255a68ca7130059e9 #include #endif -@@ -48,6 +51,13 @@ - #include +@@ -52,6 +55,13 @@ + #include "BackingStore.h" #endif +#if PLATFORM(WIN) @@ -11798,8 +11816,8 @@ index ff5329fb9b917a9bc53e8b017516099a10b6925e..8f57d208a81c81d255a68ca7130059e9 namespace WebKit { using namespace WebCore; -@@ -161,6 +171,11 @@ void DrawingAreaProxyCoordinatedGraphics::deviceScaleFactorDidChange() - protectedWebPageProxy()->send(Messages::DrawingArea::SetDeviceScaleFactor(m_webPageProxy->deviceScaleFactor()), m_identifier); +@@ -164,6 +174,11 @@ void DrawingAreaProxyCoordinatedGraphics::deviceScaleFactorDidChange() + send(Messages::DrawingArea::SetDeviceScaleFactor(m_webPageProxy->deviceScaleFactor())); } +void DrawingAreaProxyCoordinatedGraphics::waitForSizeUpdate(Function&& callback) @@ -11810,7 +11828,7 @@ index ff5329fb9b917a9bc53e8b017516099a10b6925e..8f57d208a81c81d255a68ca7130059e9 void DrawingAreaProxyCoordinatedGraphics::setBackingStoreIsDiscardable(bool isBackingStoreDiscardable) { #if !PLATFORM(WPE) -@@ -222,6 +237,45 @@ void DrawingAreaProxyCoordinatedGraphics::updateAcceleratedCompositingMode(uint6 +@@ -225,6 +240,45 @@ void DrawingAreaProxyCoordinatedGraphics::updateAcceleratedCompositingMode(uint6 updateAcceleratedCompositingMode(layerTreeContext); } @@ -11856,7 +11874,7 @@ index ff5329fb9b917a9bc53e8b017516099a10b6925e..8f57d208a81c81d255a68ca7130059e9 bool DrawingAreaProxyCoordinatedGraphics::alwaysUseCompositing() const { return m_webPageProxy->preferences().acceleratedCompositingEnabled() && m_webPageProxy->preferences().forceCompositingMode(); -@@ -276,6 +330,11 @@ void DrawingAreaProxyCoordinatedGraphics::didUpdateGeometry() +@@ -279,6 +333,11 @@ void DrawingAreaProxyCoordinatedGraphics::didUpdateGeometry() // we need to resend the new size here. if (m_lastSentSize != m_size) sendUpdateGeometry(); @@ -11869,18 +11887,18 @@ index ff5329fb9b917a9bc53e8b017516099a10b6925e..8f57d208a81c81d255a68ca7130059e9 #if !PLATFORM(WPE) diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h -index 16ce79d7f60b4f8df74ed74ad11502d269462a44..301e74438fd199c2021dd3108d17c56b5cb18d09 100644 +index 34d2107f37fbd76fbf7b995145b2ee2b0dd18b4c..7908b85755d6ac48d02dd7a1860ff8c350f24f8d 100644 --- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h +++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h -@@ -30,6 +30,7 @@ - #include "BackingStore.h" +@@ -29,6 +29,7 @@ + #include "DrawingAreaProxy.h" #include "LayerTreeContext.h" +#include #include - namespace WebCore { -@@ -49,6 +50,10 @@ public: + #if !PLATFORM(WPE) +@@ -54,6 +55,10 @@ public: bool isInAcceleratedCompositingMode() const { return !m_layerTreeContext.isEmpty(); } const LayerTreeContext& layerTreeContext() const { return m_layerTreeContext; } @@ -11891,7 +11909,7 @@ index 16ce79d7f60b4f8df74ed74ad11502d269462a44..301e74438fd199c2021dd3108d17c56b void dispatchAfterEnsuringDrawing(CompletionHandler&&); -@@ -72,6 +77,9 @@ private: +@@ -77,6 +82,9 @@ private: void enterAcceleratedCompositingMode(uint64_t backingStoreStateID, const LayerTreeContext&) override; void exitAcceleratedCompositingMode(uint64_t backingStoreStateID, UpdateInfo&&) override; void updateAcceleratedCompositingMode(uint64_t backingStoreStateID, const LayerTreeContext&) override; @@ -11901,7 +11919,7 @@ index 16ce79d7f60b4f8df74ed74ad11502d269462a44..301e74438fd199c2021dd3108d17c56b bool shouldSendWheelEventsToEventDispatcher() const override { return true; } -@@ -114,6 +122,7 @@ private: +@@ -119,6 +127,7 @@ private: // The last size we sent to the web process. WebCore::IntSize m_lastSentSize; @@ -11909,7 +11927,7 @@ index 16ce79d7f60b4f8df74ed74ad11502d269462a44..301e74438fd199c2021dd3108d17c56b #if !PLATFORM(WPE) bool m_isBackingStoreDiscardable { true }; -@@ -122,6 +131,10 @@ private: +@@ -127,6 +136,10 @@ private: RunLoop::Timer m_discardBackingStoreTimer; #endif std::unique_ptr m_drawingMonitor; @@ -11921,7 +11939,7 @@ index 16ce79d7f60b4f8df74ed74ad11502d269462a44..301e74438fd199c2021dd3108d17c56b } // namespace WebKit diff --git a/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp b/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp -index c6eeb8dca2ad5eb2b8a385cea8bf33795b15fd3a..14c9ef83023b1303d1c05fa73aaa67618e0502f8 100644 +index aefa745dee839ab9a86c72d398f69fe3e43e156d..8cc96adac7a6f789fbb716f87165b0776c74f603 100644 --- a/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp +++ b/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp @@ -41,8 +41,10 @@ @@ -11960,7 +11978,7 @@ index c6eeb8dca2ad5eb2b8a385cea8bf33795b15fd3a..14c9ef83023b1303d1c05fa73aaa6761 m_downloadProxyMap.downloadFinished(*this); }); } else -@@ -166,6 +174,21 @@ void DownloadProxy::decideDestinationWithSuggestedFilename(const WebCore::Resour +@@ -163,6 +171,21 @@ void DownloadProxy::decideDestinationWithSuggestedFilename(const WebCore::Resour suggestedFilename = m_suggestedFilename; suggestedFilename = MIMETypeRegistry::appendFileExtensionIfNecessary(suggestedFilename, response.mimeType()); @@ -11982,7 +12000,7 @@ index c6eeb8dca2ad5eb2b8a385cea8bf33795b15fd3a..14c9ef83023b1303d1c05fa73aaa6761 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()) { -@@ -214,6 +237,8 @@ void DownloadProxy::didFinish() +@@ -211,6 +234,8 @@ void DownloadProxy::didFinish() updateQuarantinePropertiesIfPossible(); #endif m_client->didFinish(*this); @@ -11991,7 +12009,7 @@ index c6eeb8dca2ad5eb2b8a385cea8bf33795b15fd3a..14c9ef83023b1303d1c05fa73aaa6761 // This can cause the DownloadProxy object to be deleted. m_downloadProxyMap.downloadFinished(*this); -@@ -224,6 +249,8 @@ void DownloadProxy::didFail(const ResourceError& error, const IPC::DataReference +@@ -221,6 +246,8 @@ void DownloadProxy::didFail(const ResourceError& error, const IPC::DataReference m_legacyResumeData = createData(resumeData); m_client->didFail(*this, error, m_legacyResumeData.get()); @@ -12001,7 +12019,7 @@ index c6eeb8dca2ad5eb2b8a385cea8bf33795b15fd3a..14c9ef83023b1303d1c05fa73aaa6761 // This can cause the DownloadProxy object to be deleted. m_downloadProxyMap.downloadFinished(*this); diff --git a/Source/WebKit/UIProcess/Downloads/DownloadProxy.h b/Source/WebKit/UIProcess/Downloads/DownloadProxy.h -index 9b69cad753b5b2e3844caac57b44c067507e68e7..1e898d7311a2cb8cb6d9a4042f91f41c552dcea3 100644 +index 6ec99825d6c232c391986aed9099d0595857ce75..818341cf6549ffb68209c1472cc648395873dd6c 100644 --- a/Source/WebKit/UIProcess/Downloads/DownloadProxy.h +++ b/Source/WebKit/UIProcess/Downloads/DownloadProxy.h @@ -144,6 +144,7 @@ private: @@ -12013,10 +12031,10 @@ index 9b69cad753b5b2e3844caac57b44c067507e68e7..1e898d7311a2cb8cb6d9a4042f91f41c } // namespace WebKit diff --git a/Source/WebKit/UIProcess/DrawingAreaProxy.h b/Source/WebKit/UIProcess/DrawingAreaProxy.h -index f740edbcc1e243089bb9ad48b03d58cf1587bd8d..24c271c24298bcd6145ddd5efba9fbb792753bd4 100644 +index ea2e74070b5708a271a2327ca3c21c4273b2e126..feeb9af65099fa7cf1c4b28a22c9efc305afa0e8 100644 --- a/Source/WebKit/UIProcess/DrawingAreaProxy.h +++ b/Source/WebKit/UIProcess/DrawingAreaProxy.h -@@ -87,6 +87,7 @@ public: +@@ -88,6 +88,7 @@ public: const WebCore::IntSize& size() const { return m_size; } bool setSize(const WebCore::IntSize&, const WebCore::IntSize& scrollOffset = { }); @@ -12024,7 +12042,7 @@ index f740edbcc1e243089bb9ad48b03d58cf1587bd8d..24c271c24298bcd6145ddd5efba9fbb7 virtual void minimumSizeForAutoLayoutDidChange() { } virtual void sizeToContentAutoSizeMaximumSizeDidChange() { } -@@ -162,6 +163,10 @@ private: +@@ -170,6 +171,10 @@ private: virtual void update(uint64_t /* backingStoreStateID */, UpdateInfo&&) { } virtual void exitAcceleratedCompositingMode(uint64_t /* backingStoreStateID */, UpdateInfo&&) { } #endif @@ -13481,7 +13499,7 @@ index a2239cec8e18850f35f7f88a9c4ebadc62bf4023..79f3ff84327dc075ec96983e04db4b10 } // namespace WebKit diff --git a/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp b/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp -index 6d229b943fe69cd258b32b1e38c5716715a4cd4b..77a7bacae6c09488b2c44dd1fd758679532c1a24 100644 +index 6d229b943fe69cd258b32b1e38c5716715a4cd4b..7294731b4ff75a0cec1dd010cc7facaf140b6a8a 100644 --- a/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp +++ b/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp @@ -26,13 +26,21 @@ @@ -13532,7 +13550,7 @@ index 6d229b943fe69cd258b32b1e38c5716715a4cd4b..77a7bacae6c09488b2c44dd1fd758679 } -Ref WebPageInspectorController::protectedInspectedPage() -+CheckedRef WebPageInspectorController::protectedInspectedPage() ++WeakRef WebPageInspectorController::protectedInspectedPage() { - return m_inspectedPage.get(); + return m_inspectedPage; @@ -13808,7 +13826,7 @@ index 6d229b943fe69cd258b32b1e38c5716715a4cd4b..77a7bacae6c09488b2c44dd1fd758679 + } // namespace WebKit diff --git a/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.h b/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.h -index 0a44e45c3d208942ba1bbf0624ae241ca7bbd973..7e891a1fe3e2588e0aa286c4cbb2064967379fcb 100644 +index c6aafe0e9339c8ac02dc133754ddc23e1cb522ff..91473e6a0b4a37a15959f966fc75134c15e1112d 100644 --- a/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.h +++ b/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.h @@ -26,6 +26,7 @@ @@ -13925,7 +13943,7 @@ index 0a44e45c3d208942ba1bbf0624ae241ca7bbd973..7e891a1fe3e2588e0aa286c4cbb20649 private: - Ref protectedInspectedPage(); -+ CheckedRef protectedInspectedPage(); ++ WeakRef protectedInspectedPage(); WebPageAgentContext webPageAgentContext(); void createLazyAgents(); @@ -13935,7 +13953,7 @@ index 0a44e45c3d208942ba1bbf0624ae241ca7bbd973..7e891a1fe3e2588e0aa286c4cbb20649 Ref m_frontendRouter; Ref m_backendDispatcher; @@ -97,11 +161,17 @@ private: - CheckedRef m_inspectedPage; + WeakRef m_inspectedPage; Inspector::InspectorTargetAgent* m_targetAgent { nullptr }; + WebPageInspectorEmulationAgent* m_emulationAgent { nullptr }; @@ -15453,10 +15471,10 @@ index 3fe0abcfe36bef7ca45bed5661a737ed2bfe56d0..510656948af01ec65d4543c805e9667a #include "RemoteMediaSessionCoordinatorProxyMessages.h" #include "WebPageProxy.h" diff --git a/Source/WebKit/UIProcess/PageClient.h b/Source/WebKit/UIProcess/PageClient.h -index f906572268a24f05062d0a844b783a3ed00e1679..4467af8a12f62b8f69e50c90570935be01d003b8 100644 +index 6350a51ecd961ef328e22eb2decc1ac84c331f77..7371bed49a39310ec37cb63424f73b01a28a04b1 100644 --- a/Source/WebKit/UIProcess/PageClient.h +++ b/Source/WebKit/UIProcess/PageClient.h -@@ -84,6 +84,10 @@ OBJC_CLASS WKView; +@@ -85,6 +85,10 @@ OBJC_CLASS WKView; #endif #endif @@ -15467,7 +15485,7 @@ index f906572268a24f05062d0a844b783a3ed00e1679..4467af8a12f62b8f69e50c90570935be namespace API { class Attachment; class HitTestResult; -@@ -332,7 +336,16 @@ public: +@@ -333,7 +337,16 @@ public: virtual void selectionDidChange() = 0; #endif @@ -15925,7 +15943,7 @@ index 0000000000000000000000000000000000000000..6d04f9290135069359ce6bf872654648 + +#endif // ENABLE(REMOTE_INSPECTOR) diff --git a/Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h b/Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h -index f8c06bc779b6be310018840147a044b7c34fed3c..0c35907c6d0e0d2c3bba1f40b2ef59fb52f9761f 100644 +index 0b2f336b881a6d79904f709845f99bc4a32a0d6e..544093eeca0794981f05630ee2b0a43644ba57f0 100644 --- a/Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h +++ b/Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h @@ -39,6 +39,11 @@ @@ -15941,7 +15959,7 @@ index f8c06bc779b6be310018840147a044b7c34fed3c..0c35907c6d0e0d2c3bba1f40b2ef59fb namespace WebCore { class PlatformWheelEvent; diff --git a/Source/WebKit/UIProcess/RemotePageProxy.cpp b/Source/WebKit/UIProcess/RemotePageProxy.cpp -index 58e3200ece686308bb282f913aa074ed2d18df92..4e29489d67e3c5486b669f291d36e82138fe970b 100644 +index ff400b793ac18f3e427ef37c366e28560083836b..c8844c536950fdf58d0fb6733896766b053cdbd2 100644 --- a/Source/WebKit/UIProcess/RemotePageProxy.cpp +++ b/Source/WebKit/UIProcess/RemotePageProxy.cpp @@ -41,6 +41,7 @@ @@ -15977,7 +15995,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 582a8a4e432af9b896b4c1b8885de8dcb717252a..930b5ff816a60ba3db82ad3dc0d0c3f0e17a8b5c 100644 +index dbe7167fd280aed7abb66335f9174f5555106752..a78d14744a751247140b92a6b58ae82aefa3c0dd 100644 --- a/Source/WebKit/UIProcess/WebFrameProxy.cpp +++ b/Source/WebKit/UIProcess/WebFrameProxy.cpp @@ -30,6 +30,7 @@ @@ -16683,10 +16701,10 @@ index 0000000000000000000000000000000000000000..3e87bf40ced2301f4fb145c6cb31f2cf + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp -index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f5254d5537a 100644 +index 77e64447dd28a4221729d81576fc1340010c6a95..f26696fb69532cd6fa081a7721e9aa34bf933435 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit/UIProcess/WebPageProxy.cpp -@@ -175,12 +175,14 @@ +@@ -176,12 +176,14 @@ #include #include #include @@ -16701,16 +16719,17 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 #include #include #include -@@ -199,17 +201,20 @@ - #include +@@ -201,6 +203,7 @@ #include #include + #include +#include #include #include #include - #include +@@ -208,11 +211,13 @@ #include + #include #include +#include #include @@ -16722,7 +16741,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 #include #include #include -@@ -281,6 +286,9 @@ +@@ -285,6 +290,9 @@ #include "AcceleratedBackingStoreDMABuf.h" #endif #include "GtkSettingsManager.h" @@ -16732,7 +16751,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 #include #endif -@@ -390,6 +398,8 @@ static constexpr Seconds tryCloseTimeoutDelay = 50_ms; +@@ -394,6 +402,8 @@ static constexpr Seconds tryCloseTimeoutDelay = 50_ms; static constexpr Seconds audibleActivityClearDelay = 10_s; #endif @@ -16741,7 +16760,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, webPageProxyCounter, ("WebPageProxy")); #if PLATFORM(COCOA) -@@ -761,6 +771,10 @@ WebPageProxy::~WebPageProxy() +@@ -815,6 +825,10 @@ WebPageProxy::~WebPageProxy() if (preferences->mediaSessionCoordinatorEnabled()) GroupActivitiesSessionNotifier::sharedNotifier().removeWebPage(*this); #endif @@ -16752,7 +16771,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } void WebPageProxy::addAllMessageReceivers() -@@ -1247,6 +1261,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) +@@ -1313,6 +1327,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) pageClient().didRelaunchProcess(); internals().pageLoadState.didSwapWebProcesses(); @@ -16760,7 +16779,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } void WebPageProxy::didAttachToRunningProcess() -@@ -1255,7 +1270,7 @@ void WebPageProxy::didAttachToRunningProcess() +@@ -1321,7 +1336,7 @@ void WebPageProxy::didAttachToRunningProcess() #if ENABLE(FULLSCREEN_API) ASSERT(!m_fullScreenManager); @@ -16769,7 +16788,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 #endif #if ENABLE(VIDEO_PRESENTATION_MODE) ASSERT(!m_playbackSessionManager); -@@ -1656,6 +1671,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() +@@ -1721,6 +1736,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() return m_process; } @@ -16791,7 +16810,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 RefPtr WebPageProxy::loadRequest(ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData) { if (m_isClosed) -@@ -2218,6 +2248,42 @@ void WebPageProxy::setControlledByAutomation(bool controlled) +@@ -2294,6 +2324,42 @@ void WebPageProxy::setControlledByAutomation(bool controlled) websiteDataStore().protectedNetworkProcess()->send(Messages::NetworkProcess::SetSessionIsControlledByAutomation(m_websiteDataStore->sessionID(), m_controlledByAutomation), 0); } @@ -16834,7 +16853,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 void WebPageProxy::createInspectorTarget(const String& targetId, Inspector::InspectorTargetType type) { MESSAGE_CHECK(m_process, !targetId.isEmpty()); -@@ -2460,6 +2526,25 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpdate) +@@ -2534,6 +2600,25 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpdate) { bool wasVisible = isViewVisible(); internals().activityState.remove(flagsToUpdate); @@ -16860,7 +16879,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 if (flagsToUpdate & ActivityState::IsFocused && pageClient().isViewFocused()) internals().activityState.add(ActivityState::IsFocused); if (flagsToUpdate & ActivityState::WindowIsActive && pageClient().isViewWindowActive()) -@@ -3146,7 +3231,7 @@ void WebPageProxy::performDragOperation(DragData& dragData, const String& dragSt +@@ -3233,7 +3318,7 @@ void WebPageProxy::performDragOperation(DragData& dragData, const String& dragSt grantAccessToCurrentPasteboardData(dragStorageName); #endif @@ -16869,7 +16888,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 performDragControllerAction(DragControllerAction::PerformDragOperation, dragData); #else if (!hasRunningProcess()) -@@ -3163,6 +3248,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -3250,6 +3335,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag if (!hasRunningProcess()) return; @@ -16878,7 +16897,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 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); -@@ -3179,6 +3266,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -3266,6 +3353,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag protectedProcess()->assumeReadAccessToBaseURL(*this, url); ASSERT(dragData.platformData()); @@ -16887,7 +16906,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 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)); -@@ -3194,14 +3283,36 @@ void WebPageProxy::didPerformDragControllerAction(std::optional dragOperationMask, const std::optional& frameID) + { + if (!hasRunningProcess()) +@@ -3309,6 +3420,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo setDragCaretRect({ }); } @@ -16952,7 +16975,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 void WebPageProxy::didStartDrag() { if (!hasRunningProcess()) -@@ -3229,6 +3358,16 @@ void WebPageProxy::didStartDrag() +@@ -3316,6 +3445,16 @@ void WebPageProxy::didStartDrag() discardQueuedMouseEvents(); send(Messages::WebPage::DidStartDrag()); @@ -16969,7 +16992,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } void WebPageProxy::dragCancelled() -@@ -3373,17 +3512,38 @@ void WebPageProxy::processNextQueuedMouseEvent() +@@ -3461,16 +3600,37 @@ void WebPageProxy::processNextQueuedMouseEvent() process->startResponsivenessTimer(); } @@ -16988,10 +17011,8 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 #endif - LOG_WITH_STREAM(MouseHandling, stream << "UIProcess: sent mouse event " << eventType << " (queue size " << internals().mouseEventQueue.size() << ")"); -- process->recordUserGestureAuthorizationToken(event.authorizationToken()); - sendMouseEvent(m_mainFrame->frameID(), event, WTFMove(sandboxExtensions)); + LOG_WITH_STREAM(MouseHandling, stream << "UIProcess: sent mouse event " << eventType << " (queue size " << internals().mouseEventQueue.size() << ")"); -+ process->recordUserGestureAuthorizationToken(event.authorizationToken()); + sendMouseEvent(m_mainFrame->frameID(), event, WTFMove(sandboxExtensions)); + } else { +#if PLATFORM(WIN) || PLATFORM(COCOA) @@ -17015,7 +17036,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } void WebPageProxy::doAfterProcessingAllPendingMouseEvents(WTF::Function&& action) -@@ -3543,6 +3703,8 @@ void WebPageProxy::wheelEventHandlingCompleted(bool wasHandled) +@@ -3636,6 +3796,8 @@ void WebPageProxy::wheelEventHandlingCompleted(bool wasHandled) if (RefPtr automationSession = process().processPool().automationSession()) automationSession->wheelEventsFlushedForPage(*this); @@ -17024,7 +17045,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } void WebPageProxy::cacheWheelEventScrollingAccelerationCurve(const NativeWebWheelEvent& nativeWheelEvent) -@@ -3690,7 +3852,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) +@@ -3782,7 +3944,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent) { @@ -17033,7 +17054,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 for (auto& touchPoint : touchStartEvent.touchPoints()) { auto location = touchPoint.location(); auto update = [this, location](TrackingType& trackingType, EventTrackingRegions::EventType eventType) { -@@ -4161,6 +4323,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(WebProcessProxy& processNavi +@@ -4253,6 +4415,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(WebProcessProxy& processNavi if (policyAction != PolicyAction::Use || (!preferences().siteIsolationEnabled() && !frame.isMainFrame()) || !navigation) { @@ -17042,7 +17063,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 auto previousPendingNavigationID = internals().pageLoadState.pendingAPIRequest().navigationID; receivedPolicyDecision(policyAction, navigation, navigation->protectedWebsitePolicies().get(), WTFMove(navigationAction), WTFMove(sender), WillContinueLoadInNewProcess::No, std::nullopt); #if HAVE(APP_SSO) -@@ -4268,6 +4432,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(WebProcessProxy& processNavi +@@ -4360,6 +4524,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(WebProcessProxy& processNavi void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation* navigation, RefPtr&& websitePolicies, std::variant, Ref>&& navigationActionOrResponse, Ref&& sender, WillContinueLoadInNewProcess willContinueLoadInNewProcess, std::optional sandboxExtensionHandle) { @@ -17050,7 +17071,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 if (!hasRunningProcess()) { sender->send(PolicyDecision { isNavigatingToAppBoundDomain() }); return; -@@ -5131,6 +5296,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) +@@ -5230,6 +5395,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) m_pageScaleFactor = scaleFactor; } @@ -17062,7 +17083,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 void WebPageProxy::pluginScaleFactorDidChange(double pluginScaleFactor) { MESSAGE_CHECK(m_process, scaleFactorIsValid(pluginScaleFactor)); -@@ -5644,6 +5814,7 @@ void WebPageProxy::didDestroyNavigationShared(Ref&& process, ui +@@ -5768,6 +5938,7 @@ void WebPageProxy::didDestroyNavigationShared(Ref&& process, ui PageClientProtector protector(pageClient()); m_navigationState->didDestroyNavigation(process->coreProcessIdentifier(), navigationID); @@ -17070,7 +17091,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } void WebPageProxy::didStartProvisionalLoadForFrame(FrameIdentifier frameID, FrameInfoData&& frameInfo, ResourceRequest&& request, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) -@@ -5898,6 +6069,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p +@@ -6022,6 +6193,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p m_failingProvisionalLoadURL = { }; @@ -17079,7 +17100,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 // 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; -@@ -6517,7 +6690,15 @@ void WebPageProxy::beginSafeBrowsingCheck(const URL&, bool, WebFramePolicyListen +@@ -6635,7 +6808,15 @@ void WebPageProxy::beginSafeBrowsingCheck(const URL&, bool, WebFramePolicyListen void WebPageProxy::decidePolicyForNavigationActionAsync(FrameInfoData&& frameInfo, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& originatingFrameInfo, std::optional originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, CompletionHandler&& completionHandler) { @@ -17096,7 +17117,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } void WebPageProxy::decidePolicyForNavigationActionAsyncShared(Ref&& process, PageIdentifier webPageID, FrameInfoData&& frameInfo, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& originatingFrameInfo, std::optional originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, CompletionHandler&& completionHandler) -@@ -7102,6 +7283,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -7220,6 +7401,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa if (RefPtr page = originatingFrameInfo->page()) openerAppInitiatedState = page->lastNavigationWasAppInitiated(); @@ -17104,7 +17125,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 auto completionHandler = [this, protectedThis = Ref { *this }, mainFrameURL, request, reply = WTFMove(reply), privateClickMeasurement = navigationActionData.privateClickMeasurement, openerAppInitiatedState = WTFMove(openerAppInitiatedState), openerFrameID = originatingFrameInfoData.frameID] (RefPtr newPage) mutable { if (!newPage) { reply(std::nullopt, std::nullopt); -@@ -7150,6 +7332,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -7268,6 +7450,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa void WebPageProxy::showPage() { m_uiClient->showPage(this); @@ -17112,7 +17133,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } bool WebPageProxy::hasOpenedPage() const -@@ -7229,6 +7412,10 @@ void WebPageProxy::closePage() +@@ -7347,6 +7530,10 @@ void WebPageProxy::closePage() if (isClosed()) return; @@ -17123,7 +17144,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 WEBPAGEPROXY_RELEASE_LOG(Process, "closePage:"); pageClient().clearAllEditCommands(); m_uiClient->close(this); -@@ -7265,6 +7452,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f +@@ -7383,6 +7570,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 { @@ -17132,7 +17153,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 page.m_uiClient->runJavaScriptAlert(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)]() mutable { reply(); completion(); -@@ -7286,6 +7475,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& +@@ -7404,6 +7593,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& if (RefPtr automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17141,7 +17162,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 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 { -@@ -7309,6 +7500,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& +@@ -7427,6 +7618,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& if (RefPtr automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17150,7 +17171,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 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 { -@@ -7425,6 +7618,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf +@@ -7543,6 +7736,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf return; } } @@ -17159,7 +17180,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 // Since runBeforeUnloadConfirmPanel() can spin a nested run loop we need to turn off the responsiveness timer and the tryClose timer. protectedProcess()->stopResponsivenessTimer(); -@@ -7883,6 +8078,11 @@ void WebPageProxy::resourceLoadDidCompleteWithError(ResourceLoadInfo&& loadInfo, +@@ -8001,6 +8196,11 @@ void WebPageProxy::resourceLoadDidCompleteWithError(ResourceLoadInfo&& loadInfo, } #if ENABLE(FULLSCREEN_API) @@ -17171,7 +17192,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 WebFullScreenManagerProxy* WebPageProxy::fullScreenManager() { return m_fullScreenManager.get(); -@@ -7959,6 +8159,17 @@ void WebPageProxy::requestDOMPasteAccess(WebCore::DOMPasteAccessCategory pasteAc +@@ -8077,6 +8277,17 @@ void WebPageProxy::requestDOMPasteAccess(WebCore::DOMPasteAccessCategory pasteAc { MESSAGE_CHECK_COMPLETION(m_process, !originIdentifier.isEmpty(), completionHandler(DOMPasteAccessResponse::DeniedForGesture)); @@ -17189,7 +17210,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 m_pageClient->requestDOMPasteAccess(pasteAccessCategory, elementRect, originIdentifier, WTFMove(completionHandler)); } -@@ -8762,6 +8973,8 @@ void WebPageProxy::mouseEventHandlingCompleted(std::optional event +@@ -8880,6 +9091,8 @@ void WebPageProxy::mouseEventHandlingCompleted(std::optional event if (RefPtr automationSession = process().processPool().automationSession()) automationSession->mouseEventsFlushedForPage(*this); didFinishProcessingAllPendingMouseEvents(); @@ -17198,7 +17219,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } } -@@ -8796,6 +9009,7 @@ void WebPageProxy::keyEventHandlingCompleted(std::optional eventTy +@@ -8914,6 +9127,7 @@ void WebPageProxy::keyEventHandlingCompleted(std::optional eventTy if (!canProcessMoreKeyEvents) { if (RefPtr automationSession = process().processPool().automationSession()) automationSession->keyboardEventsFlushedForPage(*this); @@ -17206,7 +17227,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 } } -@@ -9201,7 +9415,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) +@@ -9319,7 +9533,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) { WEBPAGEPROXY_RELEASE_LOG_ERROR(Loading, "dispatchProcessDidTerminate: reason=%" PUBLIC_LOG_STRING, processTerminationReasonToString(reason)); @@ -17218,7 +17239,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 if (m_loaderClient) handledByClient = reason != ProcessTerminationReason::RequestedByClient && m_loaderClient->processDidCrash(*this); else -@@ -9564,6 +9781,7 @@ bool WebPageProxy::useGPUProcessForDOMRenderingEnabled() const +@@ -9684,6 +9901,7 @@ bool WebPageProxy::useGPUProcessForDOMRenderingEnabled() const WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea, RefPtr&& websitePolicies) { @@ -17226,7 +17247,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 WebPageCreationParameters parameters; parameters.processDisplayName = configuration().processDisplayName(); -@@ -9770,6 +9988,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc +@@ -9890,6 +10108,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc parameters.httpsUpgradeEnabled = preferences().upgradeKnownHostsToHTTPSEnabled() ? m_configuration->httpsUpgradeEnabled() : false; @@ -17235,7 +17256,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 #if PLATFORM(IOS) || PLATFORM(VISION) // FIXME: This is also being passed over the to WebProcess via the PreferencesStore. parameters.allowsDeprecatedSynchronousXMLHttpRequestDuringUnload = allowsDeprecatedSynchronousXMLHttpRequestDuringUnload(); -@@ -9858,8 +10078,42 @@ void WebPageProxy::gamepadActivity(const Vector>& gam +@@ -9983,8 +10203,42 @@ void WebPageProxy::gamepadActivity(const Vector>& gam #endif @@ -17278,7 +17299,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 if (negotiatedLegacyTLS == NegotiatedLegacyTLS::Yes) { m_navigationClient->shouldAllowLegacyTLS(*this, authenticationChallenge.get(), [this, protectedThis = Ref { *this }, authenticationChallenge] (bool shouldAllowLegacyTLS) { if (shouldAllowLegacyTLS) -@@ -9963,6 +10217,12 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge +@@ -10088,6 +10342,12 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge request->deny(); }; @@ -17291,7 +17312,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 // 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 -@@ -10017,6 +10277,12 @@ void WebPageProxy::queryPermission(const ClientOrigin& clientOrigin, const Permi +@@ -10142,6 +10402,12 @@ void WebPageProxy::queryPermission(const ClientOrigin& clientOrigin, const Permi shouldChangeDeniedToPrompt = false; if (sessionID().isEphemeral()) { @@ -17304,7 +17325,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 completionHandler(shouldChangeDeniedToPrompt ? PermissionState::Prompt : PermissionState::Denied); return; } -@@ -10031,6 +10297,12 @@ void WebPageProxy::queryPermission(const ClientOrigin& clientOrigin, const Permi +@@ -10156,6 +10422,12 @@ void WebPageProxy::queryPermission(const ClientOrigin& clientOrigin, const Permi return; } @@ -17318,7 +17339,7 @@ index 8455defdbbcf688a5da2ba2b06ce04288c6e9849..553e7b446c1c332d5e9703db0e286f52 completionHandler(shouldChangeDeniedToPrompt ? PermissionState::Prompt : PermissionState::Denied); return; diff --git a/Source/WebKit/UIProcess/WebPageProxy.h b/Source/WebKit/UIProcess/WebPageProxy.h -index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd41bbdc880 100644 +index 30e008435b6ad7c724c0b5d5dfb1e30050b86946..94b1cb92c93883f3713f11525352d91992fee00a 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.h +++ b/Source/WebKit/UIProcess/WebPageProxy.h @@ -26,6 +26,7 @@ @@ -17354,7 +17375,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 namespace API { class Attachment; -@@ -95,6 +114,7 @@ class DestinationColorSpace; +@@ -96,6 +115,7 @@ class DestinationColorSpace; class DragData; class FloatPoint; class FloatQuad; @@ -17362,7 +17383,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 class FloatRect; class FloatSize; class FontAttributeChanges; -@@ -385,6 +405,7 @@ class WebExtensionController; +@@ -395,6 +415,7 @@ class WebExtensionController; class WebFramePolicyListenerProxy; class WebFrameProxy; class WebFullScreenManagerProxy; @@ -17370,7 +17391,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 class WebInspectorUIProxy; class WebKeyboardEvent; class WebMouseEvent; -@@ -595,6 +616,8 @@ public: +@@ -608,6 +629,8 @@ public: void setControlledByAutomation(bool); WebPageInspectorController& inspectorController() { return *m_inspectorController; } @@ -17379,7 +17400,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 #if PLATFORM(IOS_FAMILY) void showInspectorIndication(); -@@ -628,6 +651,7 @@ public: +@@ -641,6 +664,7 @@ public: bool hasSleepDisabler() const; #if ENABLE(FULLSCREEN_API) @@ -17387,7 +17408,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 WebFullScreenManagerProxy* fullScreenManager(); API::FullscreenClient& fullscreenClient() const { return *m_fullscreenClient; } -@@ -716,6 +740,11 @@ public: +@@ -729,6 +753,11 @@ public: void setPageLoadStateObserver(std::unique_ptr&&); @@ -17399,7 +17420,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 void initializeWebPage(); void setDrawingArea(std::unique_ptr&&); -@@ -739,6 +768,7 @@ public: +@@ -752,6 +781,7 @@ public: void addPlatformLoadParameters(WebProcessProxy&, LoadParameters&); RefPtr loadRequest(WebCore::ResourceRequest&&); RefPtr loadRequest(WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData = nullptr); @@ -17407,7 +17428,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 RefPtr loadFile(const String& fileURL, const String& resourceDirectoryURL, bool isAppInitiated = true, API::Object* userData = nullptr); RefPtr loadData(const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData = nullptr); RefPtr loadData(const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, WebCore::ShouldOpenExternalURLsPolicy); -@@ -802,6 +832,7 @@ public: +@@ -815,6 +845,7 @@ public: void restoreSelectionInFocusedEditableElement(); PageClient& pageClient() const; @@ -17415,7 +17436,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 void setViewNeedsDisplay(const WebCore::Region&); void requestScroll(const WebCore::FloatPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin, WebCore::ScrollIsAnimated); -@@ -1309,6 +1340,7 @@ public: +@@ -1326,6 +1357,7 @@ public: #endif void pageScaleFactorDidChange(double); @@ -17423,7 +17444,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 void pluginScaleFactorDidChange(double); void pluginZoomFactorDidChange(double); -@@ -1398,14 +1430,20 @@ public: +@@ -1415,14 +1447,20 @@ public: void didStartDrag(); void dragCancelled(); void setDragCaretRect(const WebCore::IntRect&); @@ -17445,7 +17466,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 #endif void processDidBecomeUnresponsive(); -@@ -1625,6 +1663,7 @@ public: +@@ -1642,6 +1680,7 @@ public: void setViewportSizeForCSSViewportUnits(const WebCore::FloatSize&); WebCore::FloatSize viewportSizeForCSSViewportUnits() const; @@ -17453,7 +17474,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 void didReceiveAuthenticationChallengeProxy(Ref&&, NegotiatedLegacyTLS); void negotiatedLegacyTLS(); void didNegotiateModernTLS(const URL&); -@@ -1659,6 +1698,8 @@ public: +@@ -1676,6 +1715,8 @@ public: #if PLATFORM(COCOA) || PLATFORM(GTK) RefPtr takeViewSnapshot(std::optional&&); @@ -17461,8 +17482,8 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 + RefPtr takeViewSnapshot(std::optional&&) { return nullptr; } #endif - #if ENABLE(WEB_CRYPTO) -@@ -2484,6 +2525,7 @@ private: + void wrapCryptoKey(const Vector&, CompletionHandler&&)>&&); +@@ -2502,6 +2543,7 @@ private: RefPtr launchProcessForReload(); void requestNotificationPermission(const String& originString, CompletionHandler&&); @@ -17470,7 +17491,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 void didChangeContentSize(const WebCore::IntSize&); void didChangeIntrinsicContentSize(const WebCore::IntSize&); -@@ -2953,8 +2995,10 @@ private: +@@ -2994,8 +3036,10 @@ private: String m_overrideContentSecurityPolicy; RefPtr m_inspector; @@ -17481,7 +17502,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 std::unique_ptr m_fullScreenManager; std::unique_ptr m_fullscreenClient; #endif -@@ -3138,6 +3182,22 @@ private: +@@ -3179,6 +3223,22 @@ private: std::optional m_currentDragOperation; bool m_currentDragIsOverFileInput { false }; unsigned m_currentDragNumberOfFilesToBeAccepted { 0 }; @@ -17504,7 +17525,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 #endif bool m_mainFrameHasHorizontalScrollbar { false }; -@@ -3307,6 +3367,10 @@ private: +@@ -3346,6 +3406,10 @@ private: RefPtr messageBody; }; Vector m_pendingInjectedBundleMessages; @@ -17516,7 +17537,7 @@ index 81e3d314c82e29d9c6f157ed1764e6b26b34f1e9..303b0c6a886e56f70d7e155a1758ebd4 #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 e6184097085ccafc1aa7d012314c84eee090300a..7be7efca7dd8cf4092d5be39c9ee59856275b998 100644 +index 7ca0ece202c6da22a9e2464ba51cab87b4a999fe..727963ffceab44db19ae18bf2ed3a07b4f5e9588 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.messages.in +++ b/Source/WebKit/UIProcess/WebPageProxy.messages.in @@ -29,6 +29,7 @@ messages -> WebPageProxy { @@ -17535,7 +17556,7 @@ index e6184097085ccafc1aa7d012314c84eee090300a..7be7efca7dd8cf4092d5be39c9ee5985 PluginScaleFactorDidChange(double zoomFactor) PluginZoomFactorDidChange(double zoomFactor) -@@ -307,10 +309,14 @@ messages -> WebPageProxy { +@@ -305,10 +307,14 @@ messages -> WebPageProxy { StartDrag(struct WebCore::DragItem dragItem, WebKit::ShareableBitmap::Handle dragImage) SetPromisedDataForImage(String pasteboardName, WebKit::SharedMemory::Handle imageHandle, String filename, String extension, String title, String url, String visibleURL, WebKit::SharedMemory::Handle archiveHandle, String originIdentifier) #endif @@ -17567,10 +17588,10 @@ index 1329e19aa1f93077c7d2f5fe98838731b79692a5..8e697f27ef47f0b66f1de6197ab1ce25 } diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp -index 9fa1ce31e9dfd76e51588fa287989a43bfb1075a..50dcd16e303bebeb0f6f1a31e2c4df544827b2c4 100644 +index 0a88c7b396a570915dd6cb6be8f7651d295efeb7..833c66a9a24c729b92b6ca08718fe69066838c03 100644 --- a/Source/WebKit/UIProcess/WebProcessPool.cpp +++ b/Source/WebKit/UIProcess/WebProcessPool.cpp -@@ -376,10 +376,10 @@ void WebProcessPool::setAutomationClient(std::unique_ptr& +@@ -405,10 +405,10 @@ void WebProcessPool::setAutomationClient(std::unique_ptr& void WebProcessPool::setOverrideLanguages(Vector&& languages) { @@ -17583,7 +17604,7 @@ index 9fa1ce31e9dfd76e51588fa287989a43bfb1075a..50dcd16e303bebeb0f6f1a31e2c4df54 #if ENABLE(GPU_PROCESS) if (RefPtr gpuProcess = GPUProcessProxy::singletonIfCreated()) -@@ -387,9 +387,10 @@ void WebProcessPool::setOverrideLanguages(Vector&& languages) +@@ -416,9 +416,10 @@ void WebProcessPool::setOverrideLanguages(Vector&& languages) #endif #if USE(SOUP) for (Ref networkProcess : NetworkProcessProxy::allNetworkProcesses()) @@ -17595,7 +17616,7 @@ index 9fa1ce31e9dfd76e51588fa287989a43bfb1075a..50dcd16e303bebeb0f6f1a31e2c4df54 void WebProcessPool::fullKeyboardAccessModeChanged(bool fullKeyboardAccessEnabled) { -@@ -829,7 +830,7 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa +@@ -870,7 +871,7 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa #endif parameters.cacheModel = LegacyGlobalSettings::singleton().cacheModel(); @@ -17605,7 +17626,7 @@ index 9fa1ce31e9dfd76e51588fa287989a43bfb1075a..50dcd16e303bebeb0f6f1a31e2c4df54 parameters.urlSchemesRegisteredAsEmptyDocument = copyToVector(m_schemesToRegisterAsEmptyDocument); diff --git a/Source/WebKit/UIProcess/WebProcessProxy.cpp b/Source/WebKit/UIProcess/WebProcessProxy.cpp -index 8e19e14a7dec67b23ed4570523f4e8f53e2cf57a..ca634c57e08ffc346abd22852d9923c4165f0e9f 100644 +index 24825bc329091147eb6baf50440451ae4c2f3901..5e8bc90a6167d6c932932a93f4a46831d0c036d5 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.cpp +++ b/Source/WebKit/UIProcess/WebProcessProxy.cpp @@ -173,6 +173,11 @@ Vector> WebProcessProxy::allProcesses() @@ -17620,7 +17641,7 @@ index 8e19e14a7dec67b23ed4570523f4e8f53e2cf57a..ca634c57e08ffc346abd22852d9923c4 RefPtr WebProcessProxy::processForIdentifier(ProcessIdentifier identifier) { return allProcessMap().get(identifier); -@@ -513,6 +518,26 @@ void WebProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOpt +@@ -510,6 +515,26 @@ void WebProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOpt if (WebKit::isInspectorProcessPool(processPool())) launchOptions.extraInitializationData.add("inspector-process"_s, "1"_s); @@ -17648,10 +17669,10 @@ index 8e19e14a7dec67b23ed4570523f4e8f53e2cf57a..ca634c57e08ffc346abd22852d9923c4 if (isPrewarmed()) diff --git a/Source/WebKit/UIProcess/WebProcessProxy.h b/Source/WebKit/UIProcess/WebProcessProxy.h -index 17944648b6baf0adec20f6756e65f192fa82cd1d..66aee2da889d85cba8462c9a7a6f36ff32346713 100644 +index 1fced6aa6c273d14c30ee69266b2c2266126d9ac..67e7dedac10f09d4ec1b894ee3c1f21935e9622b 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.h +++ b/Source/WebKit/UIProcess/WebProcessProxy.h -@@ -161,6 +161,7 @@ public: +@@ -160,6 +160,7 @@ public: static void forWebPagesWithOrigin(PAL::SessionID, const WebCore::SecurityOriginData&, const Function&); static Vector> allowedFirstPartiesForCookies(); @@ -17660,10 +17681,10 @@ index 17944648b6baf0adec20f6756e65f192fa82cd1d..66aee2da889d85cba8462c9a7a6f36ff 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 6bed35d7964b9ccb1d510cab1203fa6b99db45ea..fde4f063f52bcae25b0788f33c64d02e951b407b 100644 +index b1af14650f6b30e84fc03dbd6e7af88050a414d2..90d08ccccff6447c84a6f8cd5745b58aeef122b5 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp -@@ -298,7 +298,8 @@ SOAuthorizationCoordinator& WebsiteDataStore::soAuthorizationCoordinator(const W +@@ -299,7 +299,8 @@ SOAuthorizationCoordinator& WebsiteDataStore::soAuthorizationCoordinator(const W static Ref networkProcessForSession(PAL::SessionID sessionID) { @@ -17673,7 +17694,7 @@ index 6bed35d7964b9ccb1d510cab1203fa6b99db45ea..fde4f063f52bcae25b0788f33c64d02e if (sessionID.isEphemeral()) { // Reuse a previous persistent session network process for ephemeral sessions. for (auto& dataStore : allDataStores().values()) { -@@ -2147,6 +2148,12 @@ void WebsiteDataStore::originDirectoryForTesting(WebCore::ClientOrigin&& origin, +@@ -2189,6 +2190,12 @@ void WebsiteDataStore::originDirectoryForTesting(WebCore::ClientOrigin&& origin, protectedNetworkProcess()->websiteDataOriginDirectoryForTesting(m_sessionID, WTFMove(origin), type, WTFMove(completionHandler)); } @@ -17687,7 +17708,7 @@ index 6bed35d7964b9ccb1d510cab1203fa6b99db45ea..fde4f063f52bcae25b0788f33c64d02e void WebsiteDataStore::hasAppBoundSession(CompletionHandler&& completionHandler) const { diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h -index 5f316ed41917644063eb06e1ee1dcf7985580723..8305c0187811d936390d30d6481bc901e51794fc 100644 +index efcd46c1f5ef6f0f841d9d2f1fda65dc42aaae2f..77bec62446c84fb98d3c17e615ed9bc75b174739 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h @@ -97,6 +97,7 @@ class DeviceIdHashSaltStorage; @@ -17717,10 +17738,10 @@ index 5f316ed41917644063eb06e1ee1dcf7985580723..8305c0187811d936390d30d6481bc901 + virtual ~DownloadInstrumentation() = default; +}; + - class WebsiteDataStore : public API::ObjectImpl, public Identified, public CanMakeWeakPtr, public CanMakeCheckedPtr { + class WebsiteDataStore : public API::ObjectImpl, public Identified, public CanMakeWeakPtr { public: static Ref defaultDataStore(); -@@ -314,11 +324,13 @@ public: +@@ -318,11 +328,13 @@ public: const WebCore::CurlProxySettings& networkProxySettings() const { return m_proxySettings; } #endif @@ -17735,7 +17756,7 @@ index 5f316ed41917644063eb06e1ee1dcf7985580723..8305c0187811d936390d30d6481bc901 void setNetworkProxySettings(WebCore::SoupNetworkProxySettings&&); const WebCore::SoupNetworkProxySettings& networkProxySettings() const { return m_networkProxySettings; } void setCookiePersistentStorage(const String&, SoupCookiePersistentStorageType); -@@ -403,6 +415,12 @@ public: +@@ -407,6 +419,12 @@ public: static const String& defaultBaseDataDirectory(); #endif @@ -17772,36 +17793,18 @@ index 5f316ed41917644063eb06e1ee1dcf7985580723..8305c0187811d936390d30d6481bc901 #if HAVE(APP_SSO) std::unique_ptr m_soAuthorizationCoordinator; #endif -diff --git a/Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp b/Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp -index cd172b3766d51a070a3eb87532b496f63b2474e1..e6a268bd1c433a2976c7337253c408217993ae77 100644 ---- a/Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp -+++ b/Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp -@@ -27,9 +27,11 @@ - #include "config.h" - #include "BackingStore.h" +diff --git a/Source/WebKit/UIProcess/cairo/BackingStore.h b/Source/WebKit/UIProcess/cairo/BackingStore.h +index 419a9a80b9c8456e05fe7b9b72ef6e3188eb38e7..9980d442dc52ce86b48839a223afc0fe6ca31f6a 100644 +--- a/Source/WebKit/UIProcess/cairo/BackingStore.h ++++ b/Source/WebKit/UIProcess/cairo/BackingStore.h +@@ -51,6 +51,7 @@ public: + float deviceScaleFactor() const { return m_deviceScaleFactor; } -+#include "DrawingAreaProxyCoordinatedGraphics.h" - #include "ShareableBitmap.h" - #include "UpdateInfo.h" - #include "WebPageProxy.h" -+#include "WebPageInspectorController.h" - #include - #include - #include -@@ -61,6 +63,13 @@ std::unique_ptr BackingStore::createBackend() - return makeUnique(m_size, m_deviceScaleFactor); - } + void paint(cairo_t*, const WebCore::IntRect&); ++ RefPtr surface() const { return m_surface; } + void incorporateUpdate(UpdateInfo&&); -+cairo_surface_t* BackingStore::surface() const { -+ if (!m_backend) -+ return nullptr; -+ -+ return m_backend->surface(); -+} -+ - void BackingStore::paint(cairo_t* context, const IntRect& rect) - { - ASSERT(m_backend); + private: diff --git a/Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.cpp b/Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.cpp index 692a45a48fa027f9221338d74f5351bef4baf00f..db8c761c71cc7009be66255c2668de4eff36dee0 100644 --- a/Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.cpp @@ -18130,10 +18133,10 @@ 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 1d19978e9d898171ba74bdb526f7db67840e25d1..c2c4118782744c01c67153d46284fcae70dd0291 100644 +index c5f4a50a780e0394b13362da3d1ce61446f34261..21f3e759077697edc134e729cc096126ce281e05 100644 --- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp +++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp -@@ -413,6 +413,25 @@ void AcceleratedBackingStoreDMABuf::RendererCairo::paint(GtkWidget* widget, cair +@@ -417,6 +417,25 @@ void AcceleratedBackingStoreDMABuf::RendererCairo::paint(GtkWidget* widget, cair } #endif @@ -18159,7 +18162,7 @@ index 1d19978e9d898171ba74bdb526f7db67840e25d1..c2c4118782744c01c67153d46284fcae void AcceleratedBackingStoreDMABuf::didCreateBuffer(uint64_t id, const WebCore::IntSize& size, uint32_t format, Vector&& fds, Vector&& offsets, Vector&& strides, uint64_t modifier) { #if USE(GBM) -@@ -576,6 +595,15 @@ bool AcceleratedBackingStoreDMABuf::paint(cairo_t* cr, const WebCore::IntRect& c +@@ -580,6 +599,15 @@ bool AcceleratedBackingStoreDMABuf::paint(cairo_t* cr, const WebCore::IntRect& c } #endif @@ -18214,18 +18217,6 @@ index b73a9be34afe38a37e06eca0c8bfd78dfab88e99..b3bf1185fddaa7f61da0845a05869301 }; GRefPtr m_gdkGLContext; -diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreX11.h b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreX11.h -index 054e80bd900cf16d69801e8102ca989ff0563e1d..8245d7ed58008dbb6152e55e619e4331d30ae674 100644 ---- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreX11.h -+++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreX11.h -@@ -52,6 +52,7 @@ private: - #else - bool paint(cairo_t*, const WebCore::IntRect&) override; - #endif -+ cairo_surface_t* surface() override { return m_surface.get(); } - - RefPtr m_surface; - WebCore::XUniqueDamage m_damage; diff --git a/Source/WebKit/UIProcess/gtk/InspectorTargetProxyGtk.cpp b/Source/WebKit/UIProcess/gtk/InspectorTargetProxyGtk.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f5f811ced4eafef530d101c4e397fe2780ac3071 @@ -18493,7 +18484,7 @@ index d18b3e777203ef5d0f33884f909bc598d3526831..aef80b47359d7a2e4805a006dc59cd60 m_primarySelectionOwner = frame; } diff --git a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -index 347b40907e576ab0ba78d65bb91f12de70437a95..58307d07baca9d00c2318074e2a8610d0f09e1c6 100644 +index 3660229a275bc80c03756d40c90418e07ce03ab9..d058147cf255f6e4f6c61338c844db335aa3ea06 100644 --- a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm +++ b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm @@ -472,6 +472,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) @@ -18715,7 +18706,7 @@ index 0000000000000000000000000000000000000000..721826c8c98fc85b68a4f45deaee69c1 + +#endif diff --git a/Source/WebKit/UIProcess/mac/PageClientImplMac.h b/Source/WebKit/UIProcess/mac/PageClientImplMac.h -index fc5dd0e2a5f27081287e7e438f3a2104c693ac6b..00748ae080a91519c24804b7857fcdf33961a346 100644 +index b28e9e2b71156126cd21923d5999f7850c3bbdbb..5446d10a32530f9bdf8ed6c92484d262e5b25e46 100644 --- a/Source/WebKit/UIProcess/mac/PageClientImplMac.h +++ b/Source/WebKit/UIProcess/mac/PageClientImplMac.h @@ -54,6 +54,8 @@ class PageClientImpl final : public PageClientImplCocoa @@ -18749,7 +18740,7 @@ index fc5dd0e2a5f27081287e7e438f3a2104c693ac6b..00748ae080a91519c24804b7857fcdf3 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 8ec513d0904d5c3a34971254f3da4e6773cda603..ccac6f3f492ea5ea0d96cffde215264691d2aade 100644 +index 7819beb81efd82c8f244e2bc235308d6f29f0740..6030d7c46409ed22689c694376a8d2d6e92aadde 100644 --- a/Source/WebKit/UIProcess/mac/PageClientImplMac.mm +++ b/Source/WebKit/UIProcess/mac/PageClientImplMac.mm @@ -81,6 +81,7 @@ @@ -18882,10 +18873,10 @@ index 6ab7aacaebfda818e3010bb06db72c8552ac598a..3e19cba50d73084392f62f176ad4c315 bool showAfterPostProcessingContextData(); diff --git a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm -index 57b1c6f4ecdbae5d8ffdcccfd60e1c083387c00d..f4961b46b3c348a62f31ca13c40be04aae76e02d 100644 +index 87b6a065e9fef93a55a555358186f8721a62ab34..1543521395c60c5742852c00389973cbb64c57e4 100644 --- a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm +++ b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm -@@ -476,6 +476,12 @@ void WebContextMenuProxyMac::getShareMenuItem(CompletionHandler + #include + + #if ENABLE(WPE_PLATFORM) diff --git a/Source/WebKit/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj -index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011e4093169 100644 +index 89aabe949607d30c4a3679a66ca6dfbcf80252b0..55c3413a7dbca4de2f18fef8d9b0b5a18899c68a 100644 --- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj +++ b/Source/WebKit/WebKit.xcodeproj/project.pbxproj -@@ -1439,6 +1439,7 @@ +@@ -1476,6 +1476,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 */; }; @@ -19904,7 +19907,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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 */; }; -@@ -2217,6 +2218,18 @@ +@@ -2270,6 +2271,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 */; }; @@ -19923,7 +19926,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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, ); }; }; -@@ -2293,6 +2306,8 @@ +@@ -2352,6 +2365,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 */; }; @@ -19932,7 +19935,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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 */; }; -@@ -2311,6 +2326,9 @@ +@@ -2371,6 +2386,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, ); }; }; @@ -19942,7 +19945,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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 */; }; -@@ -5769,6 +5787,7 @@ +@@ -5907,6 +5925,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 = ""; }; @@ -19950,7 +19953,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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 = ""; }; -@@ -7397,6 +7416,19 @@ +@@ -7565,6 +7584,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 = ""; }; @@ -19970,7 +19973,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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 = ""; }; -@@ -7536,6 +7568,8 @@ +@@ -7706,6 +7738,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 = ""; }; @@ -19979,7 +19982,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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 = ""; }; -@@ -7558,6 +7592,14 @@ +@@ -7729,6 +7763,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 = ""; }; @@ -19994,7 +19997,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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 = ""; }; -@@ -7806,6 +7848,7 @@ +@@ -7995,6 +8037,7 @@ 3766F9EE189A1241003CF19B /* JavaScriptCore.framework in Frameworks */, 3766F9F1189A1254003CF19B /* libicucore.dylib in Frameworks */, 7B9FC5BB28A5233B007570E7 /* libWebKitPlatform.a in Frameworks */, @@ -20002,7 +20005,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 3766F9EF189A1244003CF19B /* QuartzCore.framework in Frameworks */, 37694525184FC6B600CDE21F /* Security.framework in Frameworks */, 37BEC4DD1948FC6A008B4286 /* WebCore.framework in Frameworks */, -@@ -10442,6 +10485,7 @@ +@@ -10674,6 +10717,7 @@ 99788ACA1F421DCA00C08000 /* _WKAutomationSessionConfiguration.mm */, 990D28A81C6404B000986977 /* _WKAutomationSessionDelegate.h */, 990D28AF1C65203900986977 /* _WKAutomationSessionInternal.h */, @@ -20010,7 +20013,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 5C4609E222430E4C009943C2 /* _WKContentRuleListAction.h */, 5C4609E322430E4D009943C2 /* _WKContentRuleListAction.mm */, 5C4609E422430E4D009943C2 /* _WKContentRuleListActionInternal.h */, -@@ -11663,6 +11707,7 @@ +@@ -11927,6 +11971,7 @@ E34B110C27C46BC6006D2F2E /* libWebCoreTestShim.dylib */, E34B110F27C46D09006D2F2E /* libWebCoreTestSupport.dylib */, DDE992F4278D06D900F60D26 /* libWebKitAdditions.a */, @@ -20018,7 +20021,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 57A9FF15252C6AEF006A2040 /* libWTF.a */, 5750F32A2032D4E500389347 /* LocalAuthentication.framework */, 570DAAB0230273D200E8FC04 /* NearField.framework */, -@@ -12230,6 +12275,12 @@ +@@ -12497,6 +12542,12 @@ children = ( 9197940423DBC4BB00257892 /* InspectorBrowserAgent.cpp */, 9197940323DBC4BB00257892 /* InspectorBrowserAgent.h */, @@ -20031,7 +20034,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 ); path = Agents; sourceTree = ""; -@@ -12238,6 +12289,7 @@ +@@ -12505,6 +12556,7 @@ isa = PBXGroup; children = ( A5D3504D1D78F0D2005124A9 /* RemoteWebInspectorUIProxyMac.mm */, @@ -20039,7 +20042,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 1CA8B935127C774E00576C2B /* WebInspectorUIProxyMac.mm */, 99A7ACE326012919006D57FD /* WKInspectorResourceURLSchemeHandler.h */, 99A7ACE42601291A006D57FD /* WKInspectorResourceURLSchemeHandler.mm */, -@@ -12867,6 +12919,7 @@ +@@ -13154,6 +13206,7 @@ E1513C65166EABB200149FCB /* AuxiliaryProcessProxy.h */, 46A2B6061E5675A200C3DEDA /* BackgroundProcessResponsivenessTimer.cpp */, 46A2B6071E5675A200C3DEDA /* BackgroundProcessResponsivenessTimer.h */, @@ -20047,7 +20050,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 5C6D69352AC3935D0099BDAF /* BrowsingContextGroup.cpp */, 5C6D69362AC3935D0099BDAF /* BrowsingContextGroup.h */, 07297F9C1C1711EA003F0735 /* DeviceIdHashSaltStorage.cpp */, -@@ -12886,6 +12939,8 @@ +@@ -13173,6 +13226,8 @@ BC06F43912DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp */, BC06F43812DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h */, 2DD5A72A1EBF09A7009BA597 /* HiddenPageThrottlingAutoIncreasesCounter.h */, @@ -20056,7 +20059,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 5CEABA2B2333251400797797 /* LegacyGlobalSettings.cpp */, 5CEABA2A2333247700797797 /* LegacyGlobalSettings.h */, 31607F3819627002009B87DA /* LegacySessionStateCoding.h */, -@@ -12920,6 +12975,7 @@ +@@ -13207,6 +13262,7 @@ 1A0C227D2451130A00ED614D /* QuickLookThumbnailingSoftLink.mm */, 1AEE57232409F142002005D6 /* QuickLookThumbnailLoader.h */, 1AEE57242409F142002005D6 /* QuickLookThumbnailLoader.mm */, @@ -20064,7 +20067,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 5CCB54DC2A4FEA6A0005FAA8 /* RemotePageDrawingAreaProxy.cpp */, 5CCB54DB2A4FEA6A0005FAA8 /* RemotePageDrawingAreaProxy.h */, 5C907E9A294D507100B3402D /* RemotePageProxy.cpp */, -@@ -13025,6 +13081,8 @@ +@@ -13313,6 +13369,8 @@ BC7B6204129A0A6700D174A4 /* WebPageGroup.h */, 2D9EA3101A96D9EB002D2807 /* WebPageInjectedBundleClient.cpp */, 2D9EA30E1A96CBFF002D2807 /* WebPageInjectedBundleClient.h */, @@ -20073,7 +20076,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 BC111B0B112F5E4F00337BAB /* WebPageProxy.cpp */, BC032DCB10F4389F0058C15A /* WebPageProxy.h */, BCBD38FA125BAB9A00D2C29F /* WebPageProxy.messages.in */, -@@ -13187,6 +13245,7 @@ +@@ -13475,6 +13533,7 @@ BC646C1911DD399F006455B0 /* WKBackForwardListItemRef.h */, BC646C1611DD399F006455B0 /* WKBackForwardListRef.cpp */, BC646C1711DD399F006455B0 /* WKBackForwardListRef.h */, @@ -20081,7 +20084,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 BCB9E24A1120E15C00A137E0 /* WKContext.cpp */, BCB9E2491120E15C00A137E0 /* WKContext.h */, 1AE52F9319201F6B00A1FA37 /* WKContextConfigurationRef.cpp */, -@@ -13763,6 +13822,9 @@ +@@ -14051,6 +14110,9 @@ 7AFA6F682A9F57C50055322A /* DisplayLinkMac.cpp */, 31ABA79C215AF9E000C90E31 /* HighPerformanceGPUManager.h */, 31ABA79D215AF9E000C90E31 /* HighPerformanceGPUManager.mm */, @@ -20091,7 +20094,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 1AFDE65B1954E8D500C48FFA /* LegacySessionStateCoding.cpp */, 0FCB4E5818BBE3D9000FCFC9 /* PageClientImplMac.h */, 0FCB4E5918BBE3D9000FCFC9 /* PageClientImplMac.mm */, -@@ -13786,6 +13848,8 @@ +@@ -14074,6 +14136,8 @@ E568B92120A3AC6A00E3C856 /* WebDataListSuggestionsDropdownMac.mm */, E55CD20124D09F1F0042DB9C /* WebDateTimePickerMac.h */, E55CD20224D09F1F0042DB9C /* WebDateTimePickerMac.mm */, @@ -20100,7 +20103,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 BC857E8512B71EBB00EDEB2E /* WebPageProxyMac.mm */, BC5750951268F3C6006F0F12 /* WebPopupMenuProxyMac.h */, BC5750961268F3C6006F0F12 /* WebPopupMenuProxyMac.mm */, -@@ -14741,6 +14805,7 @@ +@@ -15047,6 +15111,7 @@ 99788ACB1F421DDA00C08000 /* _WKAutomationSessionConfiguration.h in Headers */, 990D28AC1C6420CF00986977 /* _WKAutomationSessionDelegate.h in Headers */, 990D28B11C65208D00986977 /* _WKAutomationSessionInternal.h in Headers */, @@ -20108,15 +20111,15 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 5C4609E7224317B4009943C2 /* _WKContentRuleListAction.h in Headers */, 5C4609E8224317BB009943C2 /* _WKContentRuleListActionInternal.h in Headers */, 1A5704F81BE01FF400874AF1 /* _WKContextMenuElementInfo.h in Headers */, -@@ -15027,6 +15092,7 @@ +@@ -15344,6 +15409,7 @@ E170876C16D6CA6900F99226 /* BlobRegistryProxy.h in Headers */, 4F601432155C5AA2001FBDE0 /* BlockingResponseMap.h in Headers */, 1A5705111BE410E600874AF1 /* BlockSPI.h in Headers */, + D71A944C237239FB002C4D9E /* BrowserInspectorPipe.h in Headers */, - 463A074B2AFD8C7200CA8DBE /* BufferAndBackendInfo.h in Headers */, + A7E69BCC2B2117A100D43D3F /* BufferAndBackendInfo.h in Headers */, BC3065FA1259344E00E71278 /* CacheModel.h in Headers */, 935BF7FC2936BF1A00B41326 /* CacheStorageCache.h in Headers */, -@@ -15182,7 +15248,11 @@ +@@ -15510,7 +15576,11 @@ BC14DF77120B5B7900826C0C /* InjectedBundleScriptWorld.h in Headers */, CE550E152283752200D28791 /* InsertTextOptions.h in Headers */, 9197940523DBC4BB00257892 /* InspectorBrowserAgent.h in Headers */, @@ -20128,15 +20131,15 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 A5E391FD2183C1F800C8FB31 /* InspectorTargetProxy.h in Headers */, C5BCE5DF1C50766A00CDE3FA /* InteractionInformationAtPosition.h in Headers */, 2D4D2C811DF60BF3002EB10C /* InteractionInformationRequest.h in Headers */, -@@ -15420,6 +15490,7 @@ - CDAC20CA23FC2F750021DEE3 /* RemoteCDMInstanceSession.h in Headers */, +@@ -15754,6 +15824,7 @@ CDAC20C923FC2F750021DEE3 /* RemoteCDMInstanceSessionIdentifier.h in Headers */, F451C0FE2703B263002BA03B /* RemoteDisplayListRecorderProxy.h in Headers */, + A78A5FE42B0EB39E005036D3 /* RemoteImageBufferSetIdentifier.h in Headers */, + D71A943A2370F061002C4D9E /* RemoteInspectorPipe.h in Headers */, 2D47B56D1810714E003A3AEE /* RemoteLayerBackingStore.h in Headers */, 2DDF731518E95060004F5A66 /* RemoteLayerBackingStoreCollection.h in Headers */, 1AB16AEA164B3A8800290D62 /* RemoteLayerTreeContext.h in Headers */, -@@ -15472,6 +15543,7 @@ +@@ -15808,6 +15879,7 @@ E1E552C516AE065F004ED653 /* SandboxInitializationParameters.h in Headers */, E36FF00327F36FBD004BE21A /* SandboxStateVariables.h in Headers */, 7BAB111025DD02B3008FC479 /* ScopedActiveMessageReceiveQueue.h in Headers */, @@ -20144,7 +20147,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 E4D54D0421F1D72D007E3C36 /* ScrollingTreeFrameScrollingNodeRemoteIOS.h in Headers */, 0F931C1C18C5711900DBA7C3 /* ScrollingTreeOverflowScrollingNodeIOS.h in Headers */, 0F931C1C18C5711900DBB8D4 /* ScrollingTreeScrollingNodeDelegateIOS.h in Headers */, -@@ -15793,6 +15865,8 @@ +@@ -16139,6 +16211,8 @@ 939EF87029D112EE00F23AEE /* WebPageInlines.h in Headers */, 9197940823DBC4CB00257892 /* WebPageInspectorAgentBase.h in Headers */, A513F5402154A5D700662841 /* WebPageInspectorController.h in Headers */, @@ -20153,7 +20156,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 A543E30C215C8A8D00279CD9 /* WebPageInspectorTarget.h in Headers */, A543E30D215C8A9000279CD9 /* WebPageInspectorTargetController.h in Headers */, A543E307215AD13700279CD9 /* WebPageInspectorTargetFrontendChannel.h in Headers */, -@@ -17975,6 +18049,8 @@ +@@ -18338,6 +18412,8 @@ 522F792928D50EBB0069B45B /* HidService.mm in Sources */, 2749F6442146561B008380BF /* InjectedBundleNodeHandle.cpp in Sources */, 2749F6452146561E008380BF /* InjectedBundleRangeHandle.cpp in Sources */, @@ -20162,7 +20165,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 1CC94E532AC92F190045F269 /* JSWebExtensionAPIAction.mm in Sources */, 1C2B4D4B2A819D0D00C528A1 /* JSWebExtensionAPIAlarms.mm in Sources */, 1C8ECFEA2AFC7DCB007BAA62 /* JSWebExtensionAPICommands.mm in Sources */, -@@ -18378,6 +18454,8 @@ +@@ -18752,6 +18828,8 @@ E3816B3D27E2463A005EAFC0 /* WebMockContentFilterManager.cpp in Sources */, 31BA924D148831260062EDB5 /* WebNotificationManagerMessageReceiver.cpp in Sources */, 2DF6FE52212E110900469030 /* WebPage.cpp in Sources */, @@ -20172,7 +20175,7 @@ index 98b6f9373612c42f72a78bf9e116b784ee75040e..51774e0340fa3453a29fd28d09b02011 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 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59ebde3103 100644 +index 8525d9e78cf2ba54d27f469cc028f10d61215ab2..c15a29c5e543e43059a461eebbd1c21309d32fee 100644 --- a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp +++ b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp @@ -237,6 +237,11 @@ void WebLoaderStrategy::scheduleLoad(ResourceLoader& resourceLoader, CachedResou @@ -20187,7 +20190,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 #if ENABLE(PDFJS) if (tryLoadingUsingPDFJSHandler(resourceLoader, trackingParameters)) return; -@@ -366,7 +371,8 @@ static void addParametersShared(const LocalFrame* frame, NetworkResourceLoadPara +@@ -363,7 +368,8 @@ static void addParametersShared(const LocalFrame* frame, NetworkResourceLoadPara parameters.linkPreconnectEarlyHintsEnabled = mainFrame->settings().linkPreconnectEarlyHintsEnabled(); } @@ -20197,7 +20200,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 { auto identifier = resourceLoader.identifier(); ASSERT(identifier); -@@ -382,7 +388,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -379,7 +385,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL RunLoop::main().dispatch([resourceLoader = Ref { resourceLoader }, error = blockedError(request)] { resourceLoader->didFail(error); }); @@ -20206,7 +20209,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 } } -@@ -392,7 +398,6 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -389,7 +395,6 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be scheduled with the NetworkProcess with priority %d, storedCredentialsPolicy %i", resourceLoader.url().string().latin1().data(), static_cast(resourceLoader.request().priority()), (int)storedCredentialsPolicy); @@ -20214,7 +20217,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 loadParameters.identifier = identifier; loadParameters.webPageProxyID = trackingParameters.webPageProxyID; loadParameters.webPageID = trackingParameters.pageID; -@@ -484,14 +489,11 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -479,14 +484,11 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL if (loadParameters.options.mode != FetchOptions::Mode::Navigate) { ASSERT(loadParameters.sourceOrigin); @@ -20232,7 +20235,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 loadParameters.isMainFrameNavigation = isMainFrameNavigation; if (loadParameters.isMainFrameNavigation && document) -@@ -527,12 +529,24 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -522,12 +524,24 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL } ASSERT((loadParameters.webPageID && loadParameters.webFrameID) || loadParameters.clientCredentialPolicy == ClientCredentialPolicy::CannotAskClientForCredentials); @@ -20257,7 +20260,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 if (frame && !frame->settings().siteIsolationEnabled() && !WebProcess::singleton().allowsFirstPartyForCookies(loadParameters.request.firstPartyForCookies())) RELEASE_LOG_FAULT(IPC, "scheduleLoad: Process will terminate due to failed allowsFirstPartyForCookies check"); -@@ -545,7 +559,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -540,7 +554,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL } auto loader = WebResourceLoader::create(resourceLoader, trackingParameters); @@ -20266,7 +20269,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 } void WebLoaderStrategy::scheduleInternallyFailedLoad(WebCore::ResourceLoader& resourceLoader) -@@ -954,7 +968,7 @@ void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier +@@ -949,7 +963,7 @@ void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier bool WebLoaderStrategy::isOnLine() const { @@ -20275,7 +20278,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 } void WebLoaderStrategy::addOnlineStateChangeListener(Function&& listener) -@@ -981,6 +995,11 @@ void WebLoaderStrategy::isResourceLoadFinished(CachedResource& resource, Complet +@@ -976,6 +990,11 @@ void WebLoaderStrategy::isResourceLoadFinished(CachedResource& resource, Complet void WebLoaderStrategy::setOnLineState(bool isOnLine) { @@ -20287,7 +20290,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 if (m_isOnLine == isOnLine) return; -@@ -989,6 +1008,12 @@ void WebLoaderStrategy::setOnLineState(bool isOnLine) +@@ -984,6 +1003,12 @@ void WebLoaderStrategy::setOnLineState(bool isOnLine) listener(isOnLine); } @@ -20301,7 +20304,7 @@ index 8d0b53b4b42552d750d3e094f58709b868ac39e4..70be1bb2fade88c7b622ef7057ddac59 { WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::SetCaptureExtraNetworkLoadMetricsEnabled(enabled), 0); diff --git a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h -index c934b96510c03ed6301d3695edbb30710331d7f6..ee2e7ba36e50c14aee91e9f09d70b80026aeb8d5 100644 +index 3ef86cc236b8acee2fbe5d0b9c3fd755fcc9f06f..75951fc0fc5e4ef566582c0a494827933ac8bfd1 100644 --- a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h +++ b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h @@ -42,6 +42,7 @@ struct FetchOptions; @@ -20331,10 +20334,10 @@ index c934b96510c03ed6301d3695edbb30710331d7f6..ee2e7ba36e50c14aee91e9f09d70b800 } // namespace WebKit diff --git a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp -index 3d4a9612fd50f92fa1922f3918926c1f89c8aed7..ba5f0baafe3035386cd6f9bb0b044bb40000e752 100644 +index 59c04024b944527cb4d5aa9ad3359db4d684e102..0ed0cdfcc8f5bab168df8e022e7c3cc80aab086b 100644 --- a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp +++ b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp -@@ -198,9 +198,6 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR +@@ -200,9 +200,6 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR } m_coreLoader->didReceiveResponse(inspectorResponse, [this, protectedThis = WTFMove(protectedThis), interceptedRequestIdentifier, policyDecisionCompletionHandler = WTFMove(policyDecisionCompletionHandler), overrideData = WTFMove(overrideData)]() mutable { @@ -20344,7 +20347,7 @@ index 3d4a9612fd50f92fa1922f3918926c1f89c8aed7..ba5f0baafe3035386cd6f9bb0b044bb4 if (!m_coreLoader || !m_coreLoader->identifier()) { m_interceptController.continueResponse(interceptedRequestIdentifier); return; -@@ -218,6 +215,8 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR +@@ -220,6 +217,8 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR } }); }); @@ -20367,10 +20370,10 @@ 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 f7e7166c5905b7de9225d54447ff392c70996c35..37f543662f58af9ff4b5846c0d6b9ed60f0ed83a 100644 +index 6819d51a57c701ccdb625c1b549c5e1e87cce744..24e825dfdddae160de407225f9fa0c5d02cd973b 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp +++ b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp -@@ -455,6 +455,8 @@ void WebChromeClient::addMessageToConsole(MessageSource source, MessageLevel lev +@@ -463,6 +463,8 @@ void WebChromeClient::addMessageToConsole(MessageSource source, MessageLevel lev { // Notify the bundle client. auto page = protectedPage(); @@ -20407,10 +20410,10 @@ index 2eb0886f13ed035a53b8eaa60605de4dfe53fbe3..c46393209cb4f80704bbc9268fad4371 { } diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp -index 11640a4a126ac8f2b04f427687f1d3a4ec521bfc..e03eac20cabd7f0eb2c2e841b40844de24d8c2e1 100644 +index f12b986ff225dba84be246f5ec471c7cf2d27def..954ba6f0f9380c341fa58ae8fdaf2535187d091a 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp +++ b/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp -@@ -1533,14 +1533,6 @@ void WebLocalFrameLoaderClient::transitionToCommittedForNewPage() +@@ -1566,14 +1566,6 @@ void WebLocalFrameLoaderClient::transitionToCommittedForNewPage() if (webPage->scrollPinningBehavior() != ScrollPinningBehavior::DoNotPin) view->setScrollPinningBehavior(webPage->scrollPinningBehavior()); @@ -20568,7 +20571,7 @@ index 0000000000000000000000000000000000000000..af21b0d1dd4e9b1f74387a8f8a928244 + +#endif // ENABLE(DRAG_SUPPORT) diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp -index 488473aad91d0f79265bcb56e3ce9b411d079122..58802769990c6d0a134e831e5454281de46f9c1a 100644 +index 1505262429a0737183ac24b74f6186225a177893..be2122ec1735b10979dd453cb60de3bb02b54bcf 100644 --- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp +++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp @@ -40,6 +40,7 @@ @@ -20579,7 +20582,7 @@ index 488473aad91d0f79265bcb56e3ce9b411d079122..58802769990c6d0a134e831e5454281d #include #include #include -@@ -105,6 +106,16 @@ void DrawingAreaCoordinatedGraphics::scroll(const IntRect& scrollRect, const Int +@@ -103,6 +104,16 @@ void DrawingAreaCoordinatedGraphics::scroll(const IntRect& scrollRect, const Int ASSERT(m_scrollRect.isEmpty()); ASSERT(m_scrollOffset.isEmpty()); ASSERT(m_dirtyRegion.isEmpty()); @@ -20596,15 +20599,7 @@ index 488473aad91d0f79265bcb56e3ce9b411d079122..58802769990c6d0a134e831e5454281d m_layerTreeHost->scrollNonCompositedContents(scrollRect); return; } -@@ -218,6 +229,7 @@ void DrawingAreaCoordinatedGraphics::updatePreferences(const WebPreferencesStore - settings.setAcceleratedCompositingEnabled(false); - } - #endif -+ - settings.setForceCompositingMode(store.getBoolValueForKey(WebPreferencesKey::forceCompositingModeKey())); - // Fixed position elements need to be composited and create stacking contexts - // in order to be scrolled by the ScrollingCoordinator. -@@ -573,6 +585,11 @@ void DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode(GraphicsLay +@@ -556,6 +567,11 @@ void DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode(GraphicsLay m_scrollOffset = IntSize(); m_displayTimer.stop(); m_isWaitingForDidUpdate = false; @@ -20616,7 +20611,7 @@ index 488473aad91d0f79265bcb56e3ce9b411d079122..58802769990c6d0a134e831e5454281d } void DrawingAreaCoordinatedGraphics::sendEnterAcceleratedCompositingModeIfNeeded() -@@ -630,6 +647,11 @@ void DrawingAreaCoordinatedGraphics::exitAcceleratedCompositingMode() +@@ -613,6 +629,11 @@ void DrawingAreaCoordinatedGraphics::exitAcceleratedCompositingMode() // UI process, we still need to let it know about the new contents, so send an Update message. send(Messages::DrawingAreaProxy::Update(0, WTFMove(updateInfo))); } @@ -20629,10 +20624,10 @@ index 488473aad91d0f79265bcb56e3ce9b411d079122..58802769990c6d0a134e831e5454281d void DrawingAreaCoordinatedGraphics::scheduleDisplay() diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp -index 0bd870f9c0f2ff5cbb638701dab0dca3595bbc4a..fd09e59c2a94324a2ebb4266196e910d53b54686 100644 +index 88878cde07fc3667371437a12d2bb660b019970a..98cc9d47b99b7d99ce8d257f6d2d423927d247a7 100644 --- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp +++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp -@@ -198,8 +198,16 @@ void LayerTreeHost::setViewOverlayRootLayer(GraphicsLayer* viewOverlayRootLayer) +@@ -197,8 +197,16 @@ void LayerTreeHost::setViewOverlayRootLayer(GraphicsLayer* viewOverlayRootLayer) void LayerTreeHost::scrollNonCompositedContents(const IntRect& rect) { auto* frameView = m_webPage.localMainFrameView(); @@ -20649,7 +20644,7 @@ index 0bd870f9c0f2ff5cbb638701dab0dca3595bbc4a..fd09e59c2a94324a2ebb4266196e910d m_viewportController.didScroll(rect.location()); didChangeViewport(); -@@ -324,6 +332,10 @@ void LayerTreeHost::didChangeViewport() +@@ -317,6 +325,10 @@ void LayerTreeHost::didChangeViewport() if (!view->useFixedLayout()) view->notifyScrollPositionChanged(m_lastScrollPosition); @@ -20661,12 +20656,12 @@ index 0bd870f9c0f2ff5cbb638701dab0dca3595bbc4a..fd09e59c2a94324a2ebb4266196e910d if (m_lastPageScaleFactor != pageScale) { diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h -index d8f40210a6e2dfbaeec672e0871a6cb5aaab24af..9053ecf0d9736c02581c14a5af140f39d01b191e 100644 +index cb3d2cc477cc1244d6d2ccedb3d484cdf4a0d82c..077019e38cd782a62e9328948b6d0a9fb6920380 100644 --- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h +++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h -@@ -112,6 +112,13 @@ public: - void adjustTransientZoom(double, WebCore::FloatPoint); - void commitTransientZoom(double, WebCore::FloatPoint); +@@ -114,6 +114,13 @@ public: + #if PLATFORM(WPE) && USE(GBM) && ENABLE(WPE_PLATFORM) + void preferredBufferFormatsDidChange(); #endif + +// Playwright begin @@ -20705,7 +20700,7 @@ index 30c1f55828df6bf4e48543cc3347dde1ee41e10f..e71997ca8292530c5c01ce141443ad42 { if (m_hasRemovedMessageReceiver) diff --git a/Source/WebKit/WebProcess/WebPage/DrawingArea.h b/Source/WebKit/WebProcess/WebPage/DrawingArea.h -index 6ba3b77dc8eaa403ab2ca1a4f25f85eed228af5f..190d9c223c1a99aaa7f5de43b094087875f3fe4e 100644 +index 891e7d4dba97ec6a2b2ac27ae052636ec4de6057..ff1932c7c6d8233b1c92360f1b9fe47d5786e461 100644 --- a/Source/WebKit/WebProcess/WebPage/DrawingArea.h +++ b/Source/WebKit/WebProcess/WebPage/DrawingArea.h @@ -163,6 +163,9 @@ public: @@ -20716,8 +20711,8 @@ index 6ba3b77dc8eaa403ab2ca1a4f25f85eed228af5f..190d9c223c1a99aaa7f5de43b0940878 + void didChangeAcceleratedCompositingMode(bool enabled); +#endif - virtual void adoptLayersFromDrawingArea(DrawingArea&) { } - virtual void adoptDisplayRefreshMonitorsFromDrawingArea(DrawingArea&) { } + #if PLATFORM(WPE) && USE(GBM) && ENABLE(WPE_PLATFORM) + virtual void preferredBufferFormatsDidChange() { } diff --git a/Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp b/Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp index 35586a9dfccfe82ec7e6d38c4aa2c624b6d05597..58912fc3e33887e5ccfe8ac05c706f473c709566 100644 --- a/Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp @@ -20797,10 +20792,10 @@ index 22a2194e393c7bfcc6a6635b6fdb7e95994db3e9..a060b7aff37549c79c63cde23fa66938 uint64_t m_navigationID { 0 }; }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c20dffef20 100644 +index 01073ba7befdad88b8f29a063d81b19dcca2e4af..52cb736a9475f4288ef4fe1bf60fd49d5490e8d3 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp +++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -@@ -1041,6 +1041,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) +@@ -1009,6 +1009,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) #endif #endif // HAVE(SANDBOX_STATE_FLAGS) @@ -20810,7 +20805,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 updateThrottleState(); #if ENABLE(ACCESSIBILITY_ANIMATION_CONTROL) updateImageAnimationEnabled(); -@@ -1915,6 +1918,22 @@ void WebPage::transitionFrameToLocal(LocalFrameCreationParameters&& creationPara +@@ -1918,6 +1921,22 @@ void WebPage::transitionFrameToLocal(LocalFrameCreationParameters&& creationPara frame->transitionToLocal(creationParameters.layerHostingContextIdentifier); } @@ -20833,7 +20828,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 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()); -@@ -2200,17 +2219,14 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) +@@ -2194,17 +2213,14 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) view->resize(viewSize); m_drawingArea->setNeedsDisplay(); @@ -20851,7 +20846,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArguments) { RefPtr localMainFrame = dynamicDowncast(m_page->mainFrame()); -@@ -2235,20 +2251,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -2229,20 +2245,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg ViewportAttributes attr = computeViewportAttributes(viewportArguments, minimumLayoutFallbackWidth, deviceWidth, deviceHeight, 1, m_viewSize); @@ -20879,7 +20874,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 #if USE(COORDINATED_GRAPHICS) m_drawingArea->didChangeViewportAttributes(WTFMove(attr)); -@@ -2256,7 +2270,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -2250,7 +2264,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg send(Messages::WebPageProxy::DidChangeViewportProperties(attr)); #endif } @@ -20887,7 +20882,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 void WebPage::scrollMainFrameIfNotAtMaxScrollPosition(const IntSize& scrollOffset) { -@@ -2552,6 +2565,7 @@ void WebPage::scaleView(double scale) +@@ -2543,6 +2556,7 @@ void WebPage::scaleView(double scale) } m_page->setViewScaleFactor(scale); @@ -20895,7 +20890,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 scalePage(pageScale, scrollPositionAtNewScale); } -@@ -2731,18 +2745,14 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum +@@ -2722,18 +2736,14 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum viewportConfigurationChanged(); #endif @@ -20915,7 +20910,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 } #if !PLATFORM(IOS_FAMILY) -@@ -3714,6 +3724,97 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent, CompletionHandlersendMessageToTargetBackend(targetId, message); } @@ -21025,7 +21020,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 void WebPage::insertNewlineInQuotedContent() { Ref frame = CheckedRef(m_page->focusController())->focusedOrMainFrame(); -@@ -4002,6 +4108,7 @@ void WebPage::didCompletePageTransition() +@@ -3991,6 +4097,7 @@ void WebPage::didCompletePageTransition() void WebPage::show() { send(Messages::WebPageProxy::ShowPage()); @@ -21033,7 +21028,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 } void WebPage::setIsTakingSnapshotsForApplicationSuspension(bool isTakingSnapshotsForApplicationSuspension) -@@ -5031,7 +5138,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana +@@ -5044,7 +5151,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana #if ENABLE(DRAG_SUPPORT) @@ -21042,7 +21037,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 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) -@@ -7297,6 +7404,10 @@ void WebPage::didCommitLoad(WebFrame* frame) +@@ -7308,6 +7415,10 @@ void WebPage::didCommitLoad(WebFrame* frame) #endif flushDeferredDidReceiveMouseEvent(); @@ -21053,7 +21048,7 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 } void WebPage::didFinishDocumentLoad(WebFrame& frame) -@@ -7526,6 +7637,9 @@ Ref WebPage::createDocumentLoader(LocalFrame& frame, const Resou +@@ -7537,6 +7648,9 @@ Ref WebPage::createDocumentLoader(LocalFrame& frame, const Resou WebsitePoliciesData::applyToDocumentLoader(WTFMove(*m_pendingWebsitePolicies), documentLoader); m_pendingWebsitePolicies = std::nullopt; } @@ -21064,10 +21059,10 @@ index 5dc0f3459c55b5ac6d13ae939dd7221b4649da65..c4387bf9fe6e0f1959e5757f39bc92c2 return documentLoader; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h -index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b545250dd8 100644 +index 3bf27b0025d6467a2d52577d627da87f21bdffb6..ab4bde77c7079d78709f9fb66b03aae98446e1d5 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.h +++ b/Source/WebKit/WebProcess/WebPage/WebPage.h -@@ -69,6 +69,7 @@ +@@ -70,6 +70,7 @@ #include #include #include @@ -21075,7 +21070,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 #include #include #include -@@ -109,6 +110,10 @@ +@@ -110,6 +111,10 @@ #include "WebPrintOperationGtk.h" #endif @@ -21086,7 +21081,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 #if PLATFORM(GTK) || PLATFORM(WPE) #include "InputMethodState.h" #endif -@@ -1099,11 +1104,11 @@ public: +@@ -1105,11 +1110,11 @@ public: void clearSelection(); void restoreSelectionInFocusedEditableElement(); @@ -21100,7 +21095,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 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 -@@ -1118,6 +1123,9 @@ public: +@@ -1124,6 +1129,9 @@ public: void didStartDrag(); void dragCancelled(); OptionSet allowedDragSourceActions() const { return m_allowedDragSourceActions; } @@ -21110,7 +21105,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 #endif void beginPrinting(WebCore::FrameIdentifier, const PrintInfo&); -@@ -1345,6 +1353,7 @@ public: +@@ -1351,6 +1359,7 @@ public: void connectInspector(const String& targetId, Inspector::FrontendChannel::ConnectionType); void disconnectInspector(const String& targetId); void sendMessageToTargetBackend(const String& targetId, const String& message); @@ -21118,7 +21113,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 void insertNewlineInQuotedContent(); -@@ -1778,6 +1787,7 @@ private: +@@ -1791,6 +1800,7 @@ private: void tryClose(CompletionHandler&&); void platformDidReceiveLoadParameters(const LoadParameters&); void transitionFrameToLocal(LocalFrameCreationParameters&&, WebCore::FrameIdentifier); @@ -21126,7 +21121,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 void loadRequest(LoadParameters&&); [[noreturn]] void loadRequestWaitingForProcessLaunch(LoadParameters&&, URL&&, WebPageProxyIdentifier, bool); void loadData(LoadParameters&&); -@@ -1816,6 +1826,7 @@ private: +@@ -1829,6 +1839,7 @@ private: void updatePotentialTapSecurityOrigin(const WebTouchEvent&, bool wasHandled); #elif ENABLE(TOUCH_EVENTS) void touchEvent(const WebTouchEvent&, CompletionHandler, bool)>&&); @@ -21134,7 +21129,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 #endif void cancelPointer(WebCore::PointerID, const WebCore::IntPoint&); -@@ -1960,9 +1971,7 @@ private: +@@ -1973,9 +1984,7 @@ private: void addLayerForFindOverlay(CompletionHandler&&); void removeLayerForFindOverlay(CompletionHandler&&); @@ -21144,7 +21139,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 void didChangeSelectedIndexForActivePopupMenu(int32_t newIndex); void setTextForActivePopupMenu(int32_t index); -@@ -2514,6 +2523,7 @@ private: +@@ -2538,6 +2547,7 @@ private: UserActivity m_userActivity; uint64_t m_pendingNavigationID { 0 }; @@ -21153,7 +21148,7 @@ index fa5a03b9faeced1c3f428507ee458f34fc0f5553..760d3f6cdcfc2a72eb1f25b411c359b5 bool m_mainFrameProgressCompleted { false }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in -index 0a070bebea8468979e5a8b9d4d57a768930aab70..1c092d5d6860ab0fb9ef37c38d4c01140e87eef6 100644 +index ba8ee4491a50a2eb04143c158f14ebb0338174e4..c3dcdb000cd49b2d7631ad80e6d6eda8759ada15 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 @@ -21205,10 +21200,10 @@ index 0a070bebea8468979e5a8b9d4d57a768930aab70..1c092d5d6860ab0fb9ef37c38d4c0114 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 e2a6c27fabb4304c344f467c877aff40ee3226e3..29e7cfcc6c7e1066dbb9e35ec4477bd49aa045bb 100644 +index 174768320a3d2d5a974b8423f3552cf9130abb72..2303e81ce777a28cf07fc24fb01a386fe39a5abe 100644 --- a/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm +++ b/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm -@@ -813,21 +813,37 @@ String WebPage::platformUserAgent(const URL&) const +@@ -812,21 +812,37 @@ String WebPage::platformUserAgent(const URL&) const bool WebPage::hoverSupportedByPrimaryPointingDevice() const { @@ -21297,7 +21292,7 @@ index f17f5d719d892309ed9c7093384945866b5117b9..1dba47bbf0dbd0362548423a74b38034 } diff --git a/Source/WebKit/WebProcess/WebProcess.cpp b/Source/WebKit/WebProcess/WebProcess.cpp -index e4d40bb685e7784d7952002227cc61b0151b0dfd..ddfb3c382d38a2a58e042d5be233d63dfcf8108f 100644 +index 570975d8cd2d1e71bacb660dc2c50f3cd4832239..376263ec6f5f1430975a00e1b2a47b03493fe860 100644 --- a/Source/WebKit/WebProcess/WebProcess.cpp +++ b/Source/WebKit/WebProcess/WebProcess.cpp @@ -87,6 +87,7 @@ @@ -21308,7 +21303,7 @@ index e4d40bb685e7784d7952002227cc61b0151b0dfd..ddfb3c382d38a2a58e042d5be233d63d #include #include #include -@@ -360,6 +361,8 @@ void WebProcess::initializeProcess(const AuxiliaryProcessInitializationParameter +@@ -361,6 +362,8 @@ void WebProcess::initializeProcess(const AuxiliaryProcessInitializationParameter platformInitializeProcess(parameters); updateCPULimit(); @@ -21317,19 +21312,6 @@ index e4d40bb685e7784d7952002227cc61b0151b0dfd..ddfb3c382d38a2a58e042d5be233d63d } void WebProcess::initializeConnection(IPC::Connection* connection) -diff --git a/Source/WebKit/WebProcess/WebProcess.h b/Source/WebKit/WebProcess/WebProcess.h -index 6c0e1aa6282c404614ef7a76ec8df7556f146906..5e54a06e574845cf2bd5acd3ca8adc8bd94403a8 100644 ---- a/Source/WebKit/WebProcess/WebProcess.h -+++ b/Source/WebKit/WebProcess/WebProcess.h -@@ -775,7 +775,7 @@ private: - - WeakHashMap m_userGestureTokens; - --#if PLATFORM(GTK) -+#if PLATFORM(WAYLAND) || PLATFORM(GTK) - std::unique_ptr m_displayForCompositing; - OptionSet m_dmaBufRendererBufferMode; - #endif diff --git a/Source/WebKit/WebProcess/win/WebProcessMainWin.cpp b/Source/WebKit/WebProcess/win/WebProcessMainWin.cpp index 8987c3964a9308f2454759de7f8972215a3ae416..bcac0afeb94ed8123d1f9fb0b932c8497d157b49 100644 --- a/Source/WebKit/WebProcess/win/WebProcessMainWin.cpp @@ -21346,7 +21328,7 @@ index 8987c3964a9308f2454759de7f8972215a3ae416..bcac0afeb94ed8123d1f9fb0b932c849 SetProcessDPIAware(); return true; diff --git a/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm b/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm -index 08ab3227d2bb9ec7375cce834522ecfa59df226b..0dc27f05f5bf07169ca80706dc2b755e6200a610 100644 +index 50eaf5a4da5c6d9a986f821094666698936f66af..9693a99c8558e478c70044b42cbb4c35855550ec 100644 --- a/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm +++ b/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm @@ -4210,7 +4210,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END @@ -21359,10 +21341,10 @@ index 08ab3227d2bb9ec7375cce834522ecfa59df226b..0dc27f05f5bf07169ca80706dc2b755e - (void)touch:(WebEvent *)event { diff --git a/Source/WebKitLegacy/mac/WebView/WebView.mm b/Source/WebKitLegacy/mac/WebView/WebView.mm -index 76c630c56615e95bee5767099ad3af417e56c9d3..10769addcd4eeef5dc497daacbbb0bfad122d0ba 100644 +index f15835107bc07430ff2544feb2caf925315102c9..c3ff4cd3018e3263b2b1490142f48885566ced49 100644 --- a/Source/WebKitLegacy/mac/WebView/WebView.mm +++ b/Source/WebKitLegacy/mac/WebView/WebView.mm -@@ -3976,7 +3976,7 @@ + (void)_doNotStartObservingNetworkReachability +@@ -3942,7 +3942,7 @@ + (void)_doNotStartObservingNetworkReachability } #endif // PLATFORM(IOS_FAMILY) @@ -21371,7 +21353,7 @@ index 76c630c56615e95bee5767099ad3af417e56c9d3..10769addcd4eeef5dc497daacbbb0bfa - (NSArray *)_touchEventRegions { -@@ -4018,7 +4018,7 @@ - (NSArray *)_touchEventRegions +@@ -3984,7 +3984,7 @@ - (NSArray *)_touchEventRegions }).autorelease(); } @@ -21412,7 +21394,7 @@ index 0000000000000000000000000000000000000000..dd6a53e2d57318489b7e49dd7373706d + LIBVPX_LIBRARIES +) diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a14c4f3ae 100644 +index 958481ce651a3788b7f6694c336620194d97f68f..13fd67b1e50f5f341e382b4b85fb89233de9650c 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 @@ -21429,7 +21411,7 @@ index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a find_package(Cairo 1.16.0 REQUIRED) find_package(Fontconfig 2.13.0 REQUIRED) find_package(Freetype 2.9.0 REQUIRED) -@@ -30,6 +35,10 @@ find_package(ZLIB REQUIRED) +@@ -31,6 +36,10 @@ find_package(ZLIB REQUIRED) find_package(WebP REQUIRED COMPONENTS demux) find_package(ATSPI 2.5.3) @@ -21440,7 +21422,7 @@ index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a include(GStreamerDefinitions) SET_AND_EXPOSE_TO_BUILD(USE_CAIRO TRUE) -@@ -98,15 +107,15 @@ endif () +@@ -93,14 +102,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) @@ -21451,7 +21433,6 @@ index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PDFJS PUBLIC OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PUBLIC ON) - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CRYPTO PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBDRIVER PUBLIC ON) -WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_AVIF PUBLIC ON) @@ -21459,7 +21440,7 @@ index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_JPEGXL PUBLIC ON) # Private options shared with other WebKit ports. Add options here when -@@ -132,7 +141,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_MONTH PRIVATE ON) +@@ -124,7 +133,7 @@ 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) @@ -21468,7 +21449,7 @@ index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION_PLAYLIST PRIVATE OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ON) -@@ -145,7 +154,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION P +@@ -136,7 +145,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}) @@ -21476,15 +21457,14 @@ index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_THUNDER PRIVATE OFF) 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_SERVICE_WORKER PRIVATE ON) -@@ -156,6 +165,15 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON) +@@ -146,6 +155,14 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CODECS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) +# Playwright +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_APPLICATION_MANIFEST PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CURSOR_VISIBILITY PRIVATE ON) -+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PRIVATE ON) @@ -21493,7 +21473,7 @@ index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a include(GStreamerDependencies) # Finalize the value for all options. Do not attempt to use an option before -@@ -271,6 +289,7 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") +@@ -261,6 +278,7 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") endif () SET_AND_EXPOSE_TO_BUILD(USE_ATSPI ${ENABLE_ACCESSIBILITY}) @@ -21502,7 +21482,7 @@ index 26e4e4d9a16897e3685fd9cf5aacb7fce24390b6..ae01866884bc6cbde28425f66847521a SET_AND_EXPOSE_TO_BUILD(HAVE_OS_DARK_MODE_SUPPORT 1) diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake -index cf6f8972fa4e26cb4a31331da27ac22c77804cbe..55b822bfb9167d81fe855cd2cc3e9951a2fe98f9 100644 +index a1dd7fe27cdf20f3d526732d2aeb1b4cf2687124..ddd4008cc0dc7517b6e6be313d74c1721bced6b7 100644 --- a/Source/cmake/OptionsWPE.cmake +++ b/Source/cmake/OptionsWPE.cmake @@ -9,8 +9,13 @@ if (${CMAKE_VERSION} VERSION_LESS "3.20" AND NOT ${CMAKE_GENERATOR} STREQUAL "Ni @@ -21519,14 +21499,13 @@ index cf6f8972fa4e26cb4a31331da27ac22c77804cbe..55b822bfb9167d81fe855cd2cc3e9951 find_package(Cairo 1.16.0 REQUIRED) find_package(Fontconfig 2.13.0 REQUIRED) find_package(Freetype 2.9.0 REQUIRED) -@@ -39,12 +44,12 @@ include(GStreamerDefinitions) +@@ -41,11 +46,11 @@ include(GStreamerDefinitions) # changing the value of the option. WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCESSIBILITY PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ENCRYPTED_MEDIA PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES}) -WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PDFJS PUBLIC ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PDFJS PUBLIC OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBDRIVER PUBLIC ON) - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CRYPTO PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_XSLT PUBLIC ON) -WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_AVIF PUBLIC ON) @@ -21543,8 +21522,8 @@ index cf6f8972fa4e26cb4a31331da27ac22c77804cbe..55b822bfb9167d81fe855cd2cc3e9951 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION_PLAYLIST PRIVATE OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ON) -@@ -76,7 +81,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PERIODIC_MEMORY_MONITOR PRIVATE ON) - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SERVICE_WORKER PRIVATE ON) +@@ -75,7 +80,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}) -WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_THUNDER PRIVATE ${ENABLE_DEVELOPER_MODE}) @@ -21552,7 +21531,7 @@ index cf6f8972fa4e26cb4a31331da27ac22c77804cbe..55b822bfb9167d81fe855cd2cc3e9951 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 ${ENABLE_EXPERIMENTAL_FEATURES}) -@@ -87,13 +92,30 @@ if (WPE_VERSION VERSION_GREATER_EQUAL 1.13.90) +@@ -86,6 +91,23 @@ if (WPE_VERSION VERSION_GREATER_EQUAL 1.13.90) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD PUBLIC ON) endif () @@ -21561,7 +21540,6 @@ index cf6f8972fa4e26cb4a31331da27ac22c77804cbe..55b822bfb9167d81fe855cd2cc3e9951 +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CURSOR_VISIBILITY PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DARK_MODE_CSS PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT PRIVATE ON) -+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR PRIVATE ON) @@ -21570,22 +21548,32 @@ index cf6f8972fa4e26cb4a31331da27ac22c77804cbe..55b822bfb9167d81fe855cd2cc3e9951 +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_DATE_AND_TIME_INPUT_TYPES PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON) + # 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. - WEBKIT_OPTION_DEFINE(ENABLE_DOCUMENTATION "Whether to generate documentation." PUBLIC ON) - WEBKIT_OPTION_DEFINE(ENABLE_INTROSPECTION "Whether to enable GObject introspection." PUBLIC ON) - WEBKIT_OPTION_DEFINE(ENABLE_JOURNALD_LOG "Whether to enable journald logging" PUBLIC ON) +@@ -95,7 +117,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_GBM "Whether to enable usage of GBM." PUBLIC ON) WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support for image color management using libcms2." PUBLIC ON) +@@ -214,6 +236,7 @@ endif () + + set(CMAKE_C_VISIBILITY_PRESET hidden) + set(CMAKE_CXX_VISIBILITY_PRESET hidden) ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lrt") + set(CMAKE_VISIBILITY_INLINES_HIDDEN ON) + set(bmalloc_LIBRARY_TYPE OBJECT) + set(WTF_LIBRARY_TYPE OBJECT) diff --git a/Source/cmake/OptionsWin.cmake b/Source/cmake/OptionsWin.cmake -index afe74b5ddfbae35ccb449cd83e25d55f1c1ed568..3df741316d7603d52c20aa36bc887937820d7016 100644 +index 8cc9e7a924fd2ca419e950b30e75aeafacd4bc44..0101e67b4b917e4742d615394938d75ea00794d6 100644 --- a/Source/cmake/OptionsWin.cmake +++ b/Source/cmake/OptionsWin.cmake @@ -97,16 +97,37 @@ if (OpenJPEG_FOUND) @@ -21630,23 +21618,21 @@ index afe74b5ddfbae35ccb449cd83e25d55f1c1ed568..3df741316d7603d52c20aa36bc887937 WEBKIT_OPTION_BEGIN() # FIXME: Most of these options should not be public. -@@ -184,6 +205,16 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CRYPTO PRIVATE ${ENABLE_EXPERIMENTAL +@@ -178,6 +199,14 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBDRIVER PRIVATE ${ENABLE_EXPERIMENTAL_ # No support planned WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTPDIR PRIVATE OFF) +# Plawright begin -+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_CONIC_GRADIENTS PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DARK_MODE_CSS PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION PRIVATE ON) -+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PRIVATE ON) +# Playwright end + - # FIXME: Implement plugin process on Modern WebKit. https://bugs.webkit.org/show_bug.cgi?id=185313 - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API PRIVATE OFF) + WEBKIT_OPTION_END() + set(USE_ANGLE_EGL ON) diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake index df8464ed9d2227db3e801e01e63fafab581e625e..a2fa79209908a6d072faace91e0c5b102843aae7 100644 --- a/Source/cmake/WebKitCompilerFlags.cmake @@ -21976,7 +21962,7 @@ index 451e0333dd4e8f5d6313fa80c5027ef2661a61ac..7398af4772ed9a479b1632e38af2d4ee return exitAfterLoad && webProcessCrashed ? 1 : 0; diff --git a/Tools/MiniBrowser/wpe/main.cpp b/Tools/MiniBrowser/wpe/main.cpp -index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850860f3268 100644 +index 6e618c32288f30d1f24ecbe929a3d37670981154..de6b4b8ede31518309eee78899f27f9b897c7f87 100644 --- a/Tools/MiniBrowser/wpe/main.cpp +++ b/Tools/MiniBrowser/wpe/main.cpp @@ -45,6 +45,9 @@ static gboolean headlessMode; @@ -21989,9 +21975,9 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 static const char* contentFilter; static const char* cookiesFile; static const char* cookiesPolicy; -@@ -72,6 +75,9 @@ static const GOptionEntry commandLineOptions[] = - { "time-zone", 't', 0, G_OPTION_ARG_STRING, &timeZone, "Set time zone", "TIMEZONE" }, - { "features", 'F', 0, G_OPTION_ARG_STRING, &featureList, "Enable or disable WebKit features (hint: pass 'help' for a list)", "FEATURE-LIST" }, +@@ -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 }, + { "inspector-pipe", 'v', 0, G_OPTION_ARG_NONE, &inspectorPipe, "Expose remote debugging protocol over pipe", nullptr }, + { "user-data-dir", 0, 0, G_OPTION_ARG_STRING, &userDataDir, "Default profile persistence folder location", "FILE" }, @@ -21999,7 +21985,7 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 { G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &uriArguments, nullptr, "[URL]" }, { nullptr, 0, 0, G_OPTION_ARG_NONE, nullptr, nullptr, nullptr } }; -@@ -156,15 +162,38 @@ static void filterSavedCallback(WebKitUserContentFilterStore *store, GAsyncResul +@@ -205,15 +211,38 @@ static void filterSavedCallback(WebKitUserContentFilterStore *store, GAsyncResul g_main_loop_quit(data->mainLoop); } @@ -22038,11 +22024,11 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 + +static WebKitWebView* createWebViewImpl(WebKitWebView* webView, WebKitWebContext *webContext, gpointer user_data) { + auto backend = createViewBackend(1280, 720); - struct wpe_view_backend* wpeBackend = backend->backend(); -@@ -176,18 +205,37 @@ static WebKitWebView* createWebView(WebKitWebView* webView, WebKitNavigationActi - delete static_cast(data); - }, backend.release()); +@@ -229,18 +258,37 @@ static WebKitWebView* createWebView(WebKitWebView* webView, WebKitNavigationActi + }, backend.release()); + } - auto* newWebView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, - "backend", viewBackend, @@ -22084,7 +22070,7 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 return newWebView; } -@@ -201,13 +249,89 @@ static WebKitFeature* findFeature(WebKitFeatureList* featureList, const char* id +@@ -254,13 +302,89 @@ static WebKitFeature* findFeature(WebKitFeatureList* featureList, const char* id return nullptr; } @@ -22175,7 +22161,7 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 webkit_network_session_set_itp_enabled(networkSession, enableITP); if (proxy) { -@@ -234,10 +358,18 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -287,10 +411,18 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* webkit_cookie_manager_set_persistent_storage(cookieManager, cookiesFile, storageType); } } @@ -22196,7 +22182,7 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 webkit_website_data_manager_set_itp_enabled(manager, enableITP); if (proxy) { -@@ -268,6 +400,7 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -321,6 +453,7 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* } #endif @@ -22204,9 +22190,9 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 WebKitUserContentManager* userContentManager = nullptr; if (contentFilter) { GFile* contentFilterFile = g_file_new_for_commandline_arg(contentFilter); -@@ -335,6 +468,15 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -388,6 +521,15 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* delete static_cast(data); - }, backend); + }, backend) : nullptr; +// Playwright begin + if (headlessMode) { @@ -22220,8 +22206,8 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 auto* webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, "backend", viewBackend, "web-context", webContext, -@@ -354,8 +496,6 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* - backend->setAccessibleChild(ATK_OBJECT(accessible)); +@@ -414,8 +556,6 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* + g_signal_connect(wpeView, "event", G_CALLBACK(wpeViewEventCallback), webView); #endif - openViews = g_hash_table_new_full(nullptr, nullptr, g_object_unref, nullptr); @@ -22229,7 +22215,7 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 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); -@@ -368,16 +508,9 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* +@@ -428,16 +568,9 @@ static void activate(GApplication* application, WPEToolingBackends::ViewBackend* webkit_web_view_set_background_color(webView, &color); if (uriArguments) { @@ -22249,8 +22235,8 @@ index 1d3cb1aeb14068a69cee73a60ce82cfb059322ba..62d47a408869ec476a3c46b5af9fd850 webkit_web_view_load_uri(webView, "about:blank"); else webkit_web_view_load_uri(webView, "https://wpewebkit.org"); -@@ -449,8 +582,14 @@ int main(int argc, char *argv[]) - return 1; +@@ -511,8 +644,14 @@ int main(int argc, char *argv[]) + } } + openViews = g_hash_table_new_full(nullptr, nullptr, g_object_unref, nullptr); @@ -22277,10 +22263,10 @@ index 1067b31bc989748dfcc5502209d36d001b9b239e..7629263fb8bc93dca6dfc01c75eed8d2 + add_subdirectory(Playwright/win) +endif () diff --git a/Tools/Scripts/build-webkit b/Tools/Scripts/build-webkit -index e4cc9fe0cb259211f8fd297885b76539425f7193..8d962dc3c07494a98606aaf07eaacf199cf00fc5 100755 +index 6d42f5c814da1aeac83fc336f20a6e585322cec2..d8423597af92e63422dca0bae1129e7e59e14b77 100755 --- a/Tools/Scripts/build-webkit +++ b/Tools/Scripts/build-webkit -@@ -272,7 +272,7 @@ if (isAppleCocoaWebKit()) { +@@ -273,7 +273,7 @@ if (isAppleCocoaWebKit()) { push @projects, ("Source/WebKit"); if (!isEmbeddedWebKit()) { @@ -22305,22 +22291,22 @@ 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 6b905b186bba5d23a6e968404a4d26d475b087af..a712c4631bc185754862f58dd6941b338144bf01 100644 +index 058d5d3029e2facd15d7cc7a60f499d3139d6e8d..7ac58fe41cee5577e6ce25e437f0db41246da214 100644 --- a/Tools/WebKitTestRunner/TestController.cpp +++ b/Tools/WebKitTestRunner/TestController.cpp -@@ -959,6 +959,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) +@@ -962,6 +962,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) 0, // requestStorageAccessConfirm shouldAllowDeviceOrientationAndMotionAccess, runWebAuthenticationPanel, + 0, // handleJavaScriptDialog 0, decidePolicyForMediaKeySystemPermissionRequest, - nullptr, // requestWebAuthenticationNoGesture + queryPermission, diff --git a/Tools/WebKitTestRunner/mac/EventSenderProxy.mm b/Tools/WebKitTestRunner/mac/EventSenderProxy.mm -index 397cacf02ea61a9463050870216251f5a2ef7b06..6d1b612e25ecf4bf4a80878d265844f668aa2ca3 100644 +index c7c925b66ea04d8f7a44fb7410ad45acb74f022f..b4738697e5ecb5c947d2bc1864a0f3907d9a3795 100644 --- a/Tools/WebKitTestRunner/mac/EventSenderProxy.mm +++ b/Tools/WebKitTestRunner/mac/EventSenderProxy.mm -@@ -907,4 +907,51 @@ void EventSenderProxy::scaleGestureEnd(double scale) +@@ -950,4 +950,51 @@ void EventSenderProxy::scaleGestureEnd(double scale) #endif // ENABLE(MAC_GESTURE_EVENTS) @@ -22373,7 +22359,7 @@ index 397cacf02ea61a9463050870216251f5a2ef7b06..6d1b612e25ecf4bf4a80878d265844f6 + } // namespace WTR diff --git a/Tools/glib/dependencies/apt b/Tools/glib/dependencies/apt -index 9f05f879dbd29d93dd189ee05925d1686c6fcaa4..b4c013d0267b77b2bdbcf4d70eb6522168a2969e 100644 +index 7ae5cb94f966df2b730fc54489abf1d8174ed390..c1baaeb0a411ad80d9f6771bd8a3811c4d71d337 100644 --- a/Tools/glib/dependencies/apt +++ b/Tools/glib/dependencies/apt @@ -1,11 +1,11 @@ @@ -22404,11 +22390,11 @@ index 9f05f879dbd29d93dd189ee05925d1686c6fcaa4..b4c013d0267b77b2bdbcf4d70eb65221 # These are dependencies necessary for running tests. diff --git a/Tools/gtk/dependencies/apt b/Tools/gtk/dependencies/apt -index 30d4fb51cbf8d2c1e18132209ffaf6256ed7019d..7df5fe173e3f2d96864245a61ec6d8748b10d976 100644 +index 1e2a9202f88c63afa6525d97d0f945438f5f2032..e6cdee08aff723eb5c6b16491051ca39dfee3f5b 100644 --- a/Tools/gtk/dependencies/apt +++ b/Tools/gtk/dependencies/apt -@@ -37,6 +37,9 @@ PACKAGES+=( - nasm +@@ -33,6 +33,9 @@ PACKAGES+=( + libxtst-dev unifdef xfonts-utils + $(aptIfElse libenchant-dev libenchant-2-dev) @@ -22417,11 +22403,29 @@ index 30d4fb51cbf8d2c1e18132209ffaf6256ed7019d..7df5fe173e3f2d96864245a61ec6d874 # These are dependencies necessary for running tests. cups-daemon +diff --git a/Tools/gtk/jhbuild.modules b/Tools/gtk/jhbuild.modules +index 424963da44676b4bfa394aa054ce08a791099fe5..3e075a6ff3ab18da0999de609192dceb82e664b6 100644 +--- a/Tools/gtk/jhbuild.modules ++++ b/Tools/gtk/jhbuild.modules +@@ -253,10 +253,10 @@ + + + +- ++ hash="sha256:83673c685b910fb7d39f1f28eee5afbefb71c05798fc350ac3bf1b885e1efaa1"> + + + diff --git a/Tools/jhbuild/jhbuild-minimal.modules b/Tools/jhbuild/jhbuild-minimal.modules -index 411cda9ffd07e5c58477afcdfb2637d4c9bb3392..e762744314b5982c20e9626878d728d748b3cd2d 100644 +index 9c4870249367d0c0fb8c08cee660cfd63a6cb8de..496c35c5bd3d3d3c40ec7fc050182c70734c4f84 100644 --- a/Tools/jhbuild/jhbuild-minimal.modules +++ b/Tools/jhbuild/jhbuild-minimal.modules -@@ -24,7 +24,6 @@ +@@ -26,7 +26,6 @@ @@ -22429,6 +22433,20 @@ index 411cda9ffd07e5c58477afcdfb2637d4c9bb3392..e762744314b5982c20e9626878d728d7 +@@ -122,10 +121,10 @@ + + + +- ++ hash="sha256:83673c685b910fb7d39f1f28eee5afbefb71c05798fc350ac3bf1b885e1efaa1"> + + + diff --git a/Tools/wpe/backends/fdo/HeadlessViewBackendFdo.cpp b/Tools/wpe/backends/fdo/HeadlessViewBackendFdo.cpp index 4b3d262528d33800ac46e4e9fc342b11f2744979..39d72bd2c04e79b94a5c7634b6abc9b227d5c148 100644 --- a/Tools/wpe/backends/fdo/HeadlessViewBackendFdo.cpp @@ -22484,6 +22502,24 @@ index 4b3d262528d33800ac46e4e9fc342b11f2744979..39d72bd2c04e79b94a5c7634b6abc9b2 static cairo_user_data_key_t bufferKey; cairo_surface_set_user_data(m_snapshot, &bufferKey, buffer, +diff --git a/Tools/wpe/jhbuild.modules b/Tools/wpe/jhbuild.modules +index e8e82cc7b122bba731e33472742f3d55319dc5a7..85e5f447133048f8db119c5edcfd7c69466fb4b9 100644 +--- a/Tools/wpe/jhbuild.modules ++++ b/Tools/wpe/jhbuild.modules +@@ -102,10 +102,10 @@ + + + +- ++ hash="sha256:83673c685b910fb7d39f1f28eee5afbefb71c05798fc350ac3bf1b885e1efaa1"> + + + diff --git a/WebKit.xcworkspace/contents.xcworkspacedata b/WebKit.xcworkspace/contents.xcworkspacedata index a0f02e61be7e667c6ba164ca578109af36ac28d9..8f5af2e82c167ba6798fb7fde24a9f641f6554a5 100644 --- a/WebKit.xcworkspace/contents.xcworkspacedata