diff --git a/browser_patches/firefox/UPSTREAM_CONFIG.sh b/browser_patches/firefox/UPSTREAM_CONFIG.sh index d68e6b9ec0..1d78bf2ccc 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="7177c1fee2d0ae258241aa9f0f332aae8daf87e7" +BASE_REVISION="2be4fd198990dc742793fd1ba611888fb640e7f7" diff --git a/browser_patches/firefox/juggler/NetworkObserver.js b/browser_patches/firefox/juggler/NetworkObserver.js index 26791c5e56..9553b69050 100644 --- a/browser_patches/firefox/juggler/NetworkObserver.js +++ b/browser_patches/firefox/juggler/NetworkObserver.js @@ -31,6 +31,8 @@ const pageNetworkSymbol = Symbol('PageNetwork'); class PageNetwork { static forPageTarget(target) { + if (!target) + return undefined; let result = target[pageNetworkSymbol]; if (!result) { result = new PageNetwork(target); @@ -105,16 +107,7 @@ class NetworkRequest { this.httpChannel = httpChannel; const loadInfo = this.httpChannel.loadInfo; - let browsingContext = loadInfo?.frameBrowsingContext || loadInfo?.browsingContext; - // TODO: Unfortunately, requests from web workers don't have frameBrowsingContext or - // browsingContext. - // - // We fail to attribute them to the original frames on the browser side, but we - // can use load context top frame to attribute them to the top frame at least. - if (!browsingContext) { - const loadContext = helper.getLoadContext(this.httpChannel); - browsingContext = loadContext?.topFrameElement?.browsingContext; - } + const browsingContext = loadInfo?.frameBrowsingContext || loadInfo?.workerAssociatedBrowsingContext || loadInfo?.browsingContext; this._frameId = helper.browsingContextToFrameId(browsingContext); @@ -145,7 +138,12 @@ class NetworkRequest { throw new Error(`Internal Error: invariant is broken for _channelToRequest map`); this._networkObserver._channelToRequest.set(this.httpChannel, this); - this._pageNetwork = redirectedFrom ? redirectedFrom._pageNetwork : networkObserver._findPageNetwork(httpChannel); + if (redirectedFrom) { + this._pageNetwork = redirectedFrom._pageNetwork; + } else if (browsingContext) { + const target = this._networkObserver._targetRegistry.targetForBrowserId(browsingContext.browserId); + this._pageNetwork = PageNetwork.forPageTarget(target); + } this._expectingInterception = false; this._expectingResumedRequest = undefined; // { method, headers, postData } this._sentOnResponse = false; @@ -659,16 +657,6 @@ class NetworkObserver { } } - _findPageNetwork(httpChannel) { - let loadContext = helper.getLoadContext(httpChannel); - if (!loadContext) - return; - const target = this._targetRegistry.targetForBrowser(loadContext.topFrameElement); - if (!target) - return; - return PageNetwork.forPageTarget(target); - } - _onRequest(channel, topic) { if (!(channel instanceof Ci.nsIHttpChannel)) return; diff --git a/browser_patches/firefox/patches/bootstrap.diff b/browser_patches/firefox/patches/bootstrap.diff index 955f27c406..c9d5d653e1 100644 --- a/browser_patches/firefox/patches/bootstrap.diff +++ b/browser_patches/firefox/patches/bootstrap.diff @@ -59,10 +59,10 @@ index 416a1c5497c97ed80cc0f37d72545e36f7e36b4c..b81983cf7153378260a21f6af225e349 * Return XPCOM wrapper for the internal accessible. */ diff --git a/browser/app/winlauncher/LauncherProcessWin.cpp b/browser/app/winlauncher/LauncherProcessWin.cpp -index 33b8ed52bff98c2216c16d47840fcd55907c414b..5a0320b4ad87055280c4fba4deb0cdc9b7557c50 100644 +index 082ada9ea705cf62420c6bd409a23517a591df82..781ac8d8ee9b9b01112b620e8c5c11682cdb9ef1 100644 --- a/browser/app/winlauncher/LauncherProcessWin.cpp +++ b/browser/app/winlauncher/LauncherProcessWin.cpp -@@ -24,6 +24,7 @@ +@@ -22,6 +22,7 @@ #include "mozilla/WinHeaderOnlyUtils.h" #include "nsWindowsHelpers.h" @@ -70,7 +70,7 @@ index 33b8ed52bff98c2216c16d47840fcd55907c414b..5a0320b4ad87055280c4fba4deb0cdc9 #include #include -@@ -430,8 +431,18 @@ Maybe LauncherMain(int& argc, wchar_t* argv[], +@@ -428,8 +429,18 @@ Maybe LauncherMain(int& argc, wchar_t* argv[], HANDLE stdHandles[] = {::GetStdHandle(STD_INPUT_HANDLE), ::GetStdHandle(STD_OUTPUT_HANDLE), ::GetStdHandle(STD_ERROR_HANDLE)}; @@ -108,10 +108,10 @@ index 6ab29ba31e937e1c5bb1208a9a2508ff0496fd02..7989da51c5368fa80cc66cccdfc018a9 gmp-clearkey/0.1/manifest.json i686/gmp-clearkey/0.1/manifest.json diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in -index 8caff8de9465e44c3535448622386c9a0b8034c2..ea498cce8de6ee099fb36eb640590d0fdace081b 100644 +index 143384ddc9946280f8341c05147c6a01bf3d9192..3dd10d0ab1fac19f50615f80b368eefcc707ef58 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -195,6 +195,9 @@ +@@ -197,6 +197,9 @@ @RESPATH@/chrome/remote.manifest #endif @@ -313,10 +313,10 @@ index 9fd16974c089f6ad6eedc19c95a8a7d7af65cdf2..ed5296df0c78e57e5f00e0d339e9376c bool CanSet(FieldIndex, bool, ContentParent*) { diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp -index 9a2d3ea4b9aa5689dcc0c8f54ce395cc33ddcddf..054419bc63364ab3b8c4c0596597df56a3f3d48a 100644 +index 7edd7e2c712bfef6e9eadadc10c01f6bc506387f..2576f80462fa740b3081588eea3995542c797309 100644 --- a/docshell/base/CanonicalBrowsingContext.cpp +++ b/docshell/base/CanonicalBrowsingContext.cpp -@@ -1448,6 +1448,12 @@ void CanonicalBrowsingContext::LoadURI(nsIURI* aURI, +@@ -1452,6 +1452,12 @@ void CanonicalBrowsingContext::LoadURI(nsIURI* aURI, return; } @@ -330,7 +330,7 @@ index 9a2d3ea4b9aa5689dcc0c8f54ce395cc33ddcddf..054419bc63364ab3b8c4c0596597df56 } diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp -index 8b71aa6dff85bb12de087285ed980849289b2d80..6be5d6c2e141080492de281c3eb6423b374579e0 100644 +index 5942c74302b9f33872daaece99623b102c0e06e8..07105b139057c1e7ca1bed6458da99436837e85f 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -15,6 +15,12 @@ @@ -661,7 +661,7 @@ index 8b71aa6dff85bb12de087285ed980849289b2d80..6be5d6c2e141080492de281c3eb6423b return rv; } -@@ -9611,6 +9867,16 @@ nsresult nsDocShell::InternalLoad(nsDocShellLoadState* aLoadState, +@@ -9633,6 +9889,16 @@ nsresult nsDocShell::InternalLoad(nsDocShellLoadState* aLoadState, nsINetworkPredictor::PREDICT_LOAD, attrs, nullptr); nsCOMPtr req; @@ -678,7 +678,7 @@ index 8b71aa6dff85bb12de087285ed980849289b2d80..6be5d6c2e141080492de281c3eb6423b rv = DoURILoad(aLoadState, aCacheKey, getter_AddRefs(req)); if (NS_SUCCEEDED(rv)) { -@@ -12775,6 +13041,9 @@ class OnLinkClickEvent : public Runnable { +@@ -12797,6 +13063,9 @@ class OnLinkClickEvent : public Runnable { mHandler->OnLinkClickSync(mContent, mLoadState, mNoOpenerImplied, mTriggeringPrincipal); } @@ -688,7 +688,7 @@ index 8b71aa6dff85bb12de087285ed980849289b2d80..6be5d6c2e141080492de281c3eb6423b return NS_OK; } -@@ -12854,6 +13123,8 @@ nsresult nsDocShell::OnLinkClick( +@@ -12876,6 +13145,8 @@ nsresult nsDocShell::OnLinkClick( nsCOMPtr ev = new OnLinkClickEvent(this, aContent, loadState, noOpenerImplied, aIsTrusted, aTriggeringPrincipal); @@ -698,7 +698,7 @@ index 8b71aa6dff85bb12de087285ed980849289b2d80..6be5d6c2e141080492de281c3eb6423b } diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h -index 7eb46fa817eeaab7264afa408e091dab54e3a4c9..66fd36a03a0eb130eb631644be73a0083dfeb5e3 100644 +index 67090146dcedc87ab80a089a1bf173946fb750d8..d5ff17673105e3b966a79a066d656f0ddfdf4f70 100644 --- a/docshell/base/nsDocShell.h +++ b/docshell/base/nsDocShell.h @@ -16,6 +16,7 @@ @@ -742,7 +742,7 @@ index 7eb46fa817eeaab7264afa408e091dab54e3a4c9..66fd36a03a0eb130eb631644be73a008 // 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 -@@ -1312,6 +1325,17 @@ class nsDocShell final : public nsDocLoader, +@@ -1316,6 +1329,17 @@ class nsDocShell final : public nsDocLoader, bool mAllowDNSPrefetch : 1; bool mAllowWindowControl : 1; bool mCSSErrorReportingEnabled : 1; @@ -817,10 +817,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 20571949675bbdcf16749767fab7f3a53c3f7a7e..9ae8a32fe69bb4863049faa870af04db85e84f11 100644 +index 11abf65f2739365c60f17c7a2791fa71c31d5650..6f00997aed7a4613d9fbf11d6dce444c268b4f5b 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp -@@ -3643,6 +3643,9 @@ void Document::SendToConsole(nsCOMArray& aMessages) { +@@ -3666,6 +3666,9 @@ void Document::SendToConsole(nsCOMArray& aMessages) { } void Document::ApplySettingsFromCSP(bool aSpeculative) { @@ -830,7 +830,7 @@ index 20571949675bbdcf16749767fab7f3a53c3f7a7e..9ae8a32fe69bb4863049faa870af04db nsresult rv = NS_OK; if (!aSpeculative) { // 1) apply settings from regular CSP -@@ -3700,6 +3703,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) { +@@ -3723,6 +3726,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) { MOZ_ASSERT(!mScriptGlobalObject, "CSP must be initialized before mScriptGlobalObject is set!"); @@ -842,7 +842,7 @@ index 20571949675bbdcf16749767fab7f3a53c3f7a7e..9ae8a32fe69bb4863049faa870af04db // If this is a data document - no need to set CSP. if (mLoadedAsData) { return NS_OK; -@@ -4533,6 +4541,10 @@ bool Document::HasFocus(ErrorResult& rv) const { +@@ -4556,6 +4564,10 @@ bool Document::HasFocus(ErrorResult& rv) const { return false; } @@ -853,7 +853,7 @@ index 20571949675bbdcf16749767fab7f3a53c3f7a7e..9ae8a32fe69bb4863049faa870af04db if (!fm->IsInActiveWindow(bc)) { return false; } -@@ -18172,6 +18184,71 @@ ColorScheme Document::PreferredColorScheme(IgnoreRFP aIgnoreRFP) const { +@@ -18371,6 +18383,71 @@ ColorScheme Document::PreferredColorScheme(IgnoreRFP aIgnoreRFP) const { return LookAndFeel::PreferredColorSchemeForContent(); } @@ -926,10 +926,10 @@ index 20571949675bbdcf16749767fab7f3a53c3f7a7e..9ae8a32fe69bb4863049faa870af04db if (!sLoadingForegroundTopLevelContentDocument) { return false; diff --git a/dom/base/Document.h b/dom/base/Document.h -index 0224108e91636624250054308d57ef101f80078d..02d64d601fdc542319f4ce29b71581a9eb192005 100644 +index 5580f926e003e1764d1bfe36a4208cd2317c88d7..8efccc9f17e8113fec44f1e72a82893d327b3627 100644 --- a/dom/base/Document.h +++ b/dom/base/Document.h -@@ -4102,6 +4102,9 @@ class Document : public nsINode, +@@ -4119,6 +4119,9 @@ class Document : public nsINode, // color-scheme meta tag. ColorScheme DefaultColorScheme() const; @@ -940,10 +940,10 @@ index 0224108e91636624250054308d57ef101f80078d..02d64d601fdc542319f4ce29b71581a9 static bool AutomaticStorageAccessPermissionCanBeGranted( diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp -index aebd8fb26596e0f701cc2173bd60d827e987e992..8fc5bdd912c9cf71fbd6541c5ae1189f56bb6bef 100644 +index 85340db5dc4e444d4d37972fe655ec5292030736..cae3d7e2803ef64bff3dc1e4eefe6bc958301b5f 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp -@@ -331,14 +331,18 @@ void Navigator::GetAppName(nsAString& aAppName, CallerType aCallerType) const { +@@ -330,14 +330,18 @@ void Navigator::GetAppName(nsAString& aAppName, CallerType aCallerType) const { * for more detail. */ /* static */ @@ -964,7 +964,7 @@ index aebd8fb26596e0f701cc2173bd60d827e987e992..8fc5bdd912c9cf71fbd6541c5ae1189f // Split values on commas. for (nsDependentSubstring lang : -@@ -390,7 +394,13 @@ void Navigator::GetLanguage(nsAString& aLanguage) { +@@ -389,7 +393,13 @@ void Navigator::GetLanguage(nsAString& aLanguage) { } void Navigator::GetLanguages(nsTArray& aLanguages) { @@ -979,7 +979,7 @@ index aebd8fb26596e0f701cc2173bd60d827e987e992..8fc5bdd912c9cf71fbd6541c5ae1189f // 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 -@@ -569,7 +579,13 @@ bool Navigator::CookieEnabled() { +@@ -568,7 +578,13 @@ bool Navigator::CookieEnabled() { return granted; } @@ -995,10 +995,10 @@ index aebd8fb26596e0f701cc2173bd60d827e987e992..8fc5bdd912c9cf71fbd6541c5ae1189f void Navigator::GetBuildID(nsAString& aBuildID, CallerType aCallerType, ErrorResult& aRv) const { diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h -index 9f6b85ecfac7196cc57c1b1979313403a41d4a6c..0fe045f38c36eb0284bb7c1fb6d3346378f4ae07 100644 +index cbe8d6bb27eb75b1c0eb920c69eccc99fd6133b2..49da35b1f9ec2a81c5886f277fd52ec492ca8418 100644 --- a/dom/base/Navigator.h +++ b/dom/base/Navigator.h -@@ -217,7 +217,7 @@ class Navigator final : public nsISupports, public nsWrapperCache { +@@ -216,7 +216,7 @@ class Navigator final : public nsISupports, public nsWrapperCache { StorageManager* Storage(); @@ -1008,10 +1008,10 @@ index 9f6b85ecfac7196cc57c1b1979313403a41d4a6c..0fe045f38c36eb0284bb7c1fb6d33463 dom::MediaCapabilities* MediaCapabilities(); dom::MediaSession* MediaSession(); diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp -index e0458cc3e4534f6e63d00ccb2cc64cd7fc50d7dc..7e60d9134fa4816ee6e0781393be81bba069d5b3 100644 +index ce2b625a7271aad9a4faba042ff440b789248e25..5ff85d14b12cee71061094924a22a61ae21fc97c 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp -@@ -8445,7 +8445,8 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8450,7 +8450,8 @@ nsresult nsContentUtils::SendMouseEvent( bool aIgnoreRootScrollFrame, float aPressure, unsigned short aInputSourceArg, uint32_t aIdentifier, bool aToWindow, PreventDefaultResult* aPreventDefault, bool aIsDOMEventSynthesized, @@ -1021,7 +1021,7 @@ index e0458cc3e4534f6e63d00ccb2cc64cd7fc50d7dc..7e60d9134fa4816ee6e0781393be81bb nsPoint offset; nsCOMPtr widget = GetWidget(aPresShell, &offset); if (!widget) return NS_ERROR_FAILURE; -@@ -8453,6 +8454,7 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8458,6 +8459,7 @@ nsresult nsContentUtils::SendMouseEvent( EventMessage msg; Maybe exitFrom; bool contextMenuKey = false; @@ -1029,7 +1029,7 @@ index e0458cc3e4534f6e63d00ccb2cc64cd7fc50d7dc..7e60d9134fa4816ee6e0781393be81bb if (aType.EqualsLiteral("mousedown")) { msg = eMouseDown; } else if (aType.EqualsLiteral("mouseup")) { -@@ -8477,6 +8479,12 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8482,6 +8484,12 @@ nsresult nsContentUtils::SendMouseEvent( msg = eMouseHitTest; } else if (aType.EqualsLiteral("MozMouseExploreByTouch")) { msg = eMouseExploreByTouch; @@ -1042,7 +1042,7 @@ index e0458cc3e4534f6e63d00ccb2cc64cd7fc50d7dc..7e60d9134fa4816ee6e0781393be81bb } else { return NS_ERROR_FAILURE; } -@@ -8485,12 +8493,21 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8490,12 +8498,21 @@ nsresult nsContentUtils::SendMouseEvent( aInputSourceArg = MouseEvent_Binding::MOZ_SOURCE_MOUSE; } @@ -1066,7 +1066,7 @@ index e0458cc3e4534f6e63d00ccb2cc64cd7fc50d7dc..7e60d9134fa4816ee6e0781393be81bb event.pointerId = aIdentifier; event.mModifiers = GetWidgetModifiers(aModifiers); event.mButton = aButton; -@@ -8501,8 +8518,10 @@ nsresult nsContentUtils::SendMouseEvent( +@@ -8506,8 +8523,10 @@ nsresult nsContentUtils::SendMouseEvent( event.mPressure = aPressure; event.mInputSource = aInputSourceArg; event.mClickCount = aClickCount; @@ -1078,10 +1078,10 @@ index e0458cc3e4534f6e63d00ccb2cc64cd7fc50d7dc..7e60d9134fa4816ee6e0781393be81bb nsPresContext* presContext = aPresShell->GetPresContext(); if (!presContext) return NS_ERROR_FAILURE; diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h -index fc0eb7adef330cddedd9f30c7085426bee2e4a19..5b37ed6ef5c9cbe41d99fd8c179d3cd68503b700 100644 +index 76ef4fed4b2e8499f620dd4d4ee5b5732cea593b..d64430bef5014427ba05e5c028befc93bbbf3f6c 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h -@@ -2921,7 +2921,8 @@ class nsContentUtils { +@@ -2918,7 +2918,8 @@ class nsContentUtils { int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, unsigned short aInputSourceArg, uint32_t aIdentifier, bool aToWindow, mozilla::PreventDefaultResult* aPreventDefault, @@ -1092,10 +1092,10 @@ index fc0eb7adef330cddedd9f30c7085426bee2e4a19..5b37ed6ef5c9cbe41d99fd8c179d3cd6 static void FirePageShowEventForFrameLoaderSwap( nsIDocShellTreeItem* aItem, diff --git a/dom/base/nsDOMWindowUtils.cpp b/dom/base/nsDOMWindowUtils.cpp -index 5ab2b4524c9ed06cac614102b93431a80834ebf6..426d7ec6e8652d273f19bf30be32ae76c5f9ceb2 100644 +index c264bf511caac7bbead07fcb812a02fd9655ca92..ecf712e959332f844b78c07b234952f4fbf5ea2b 100644 --- a/dom/base/nsDOMWindowUtils.cpp +++ b/dom/base/nsDOMWindowUtils.cpp -@@ -683,6 +683,26 @@ nsDOMWindowUtils::GetPresShellId(uint32_t* aPresShellId) { +@@ -684,6 +684,26 @@ nsDOMWindowUtils::GetPresShellId(uint32_t* aPresShellId) { return NS_ERROR_FAILURE; } @@ -1122,7 +1122,7 @@ index 5ab2b4524c9ed06cac614102b93431a80834ebf6..426d7ec6e8652d273f19bf30be32ae76 NS_IMETHODIMP nsDOMWindowUtils::SendMouseEvent( const nsAString& aType, float aX, float aY, int32_t aButton, -@@ -697,7 +717,7 @@ nsDOMWindowUtils::SendMouseEvent( +@@ -698,7 +718,7 @@ nsDOMWindowUtils::SendMouseEvent( aOptionalArgCount >= 7 ? aIdentifier : DEFAULT_MOUSE_POINTER_ID, false, aPreventDefault, aOptionalArgCount >= 4 ? aIsDOMEventSynthesized : true, aOptionalArgCount >= 5 ? aIsWidgetEventSynthesized : false, @@ -1131,7 +1131,7 @@ index 5ab2b4524c9ed06cac614102b93431a80834ebf6..426d7ec6e8652d273f19bf30be32ae76 } NS_IMETHODIMP -@@ -715,7 +735,7 @@ nsDOMWindowUtils::SendMouseEventToWindow( +@@ -716,7 +736,7 @@ nsDOMWindowUtils::SendMouseEventToWindow( aOptionalArgCount >= 7 ? aIdentifier : DEFAULT_MOUSE_POINTER_ID, true, nullptr, aOptionalArgCount >= 4 ? aIsDOMEventSynthesized : true, aOptionalArgCount >= 5 ? aIsWidgetEventSynthesized : false, @@ -1140,7 +1140,7 @@ index 5ab2b4524c9ed06cac614102b93431a80834ebf6..426d7ec6e8652d273f19bf30be32ae76 } NS_IMETHODIMP -@@ -724,13 +744,13 @@ nsDOMWindowUtils::SendMouseEventCommon( +@@ -725,13 +745,13 @@ nsDOMWindowUtils::SendMouseEventCommon( int32_t aClickCount, int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, unsigned short aInputSourceArg, uint32_t aPointerId, bool aToWindow, bool* aPreventDefault, bool aIsDOMEventSynthesized, @@ -1170,7 +1170,7 @@ index 63968c9b7a4e418e4c0de6e7a75fa215a36a9105..decf3ea3833ccdffd49a7aded2d600f9 MOZ_CAN_RUN_SCRIPT nsresult SendTouchEventCommon( diff --git a/dom/base/nsFocusManager.cpp b/dom/base/nsFocusManager.cpp -index 2b5f95d4c68d0a854d65471bdf9fff2dd166f73e..b5c5cb37c662a91536ce0ab6a2e10e8e6d93712b 100644 +index ead05d9103a378bf6a4d5a18589a450c2a81108b..50a8bfd2cb6a94b24c85ab1199f12287b8323b3e 100644 --- a/dom/base/nsFocusManager.cpp +++ b/dom/base/nsFocusManager.cpp @@ -1656,6 +1656,10 @@ Maybe nsFocusManager::SetFocusInner(Element* aNewContent, @@ -1184,7 +1184,7 @@ index 2b5f95d4c68d0a854d65471bdf9fff2dd166f73e..b5c5cb37c662a91536ce0ab6a2e10e8e // Exit fullscreen if a website focuses another window if (StaticPrefs::full_screen_api_exit_on_windowRaise() && !isElementInActiveWindow && (aFlags & FLAG_RAISE)) { -@@ -2935,7 +2939,9 @@ void nsFocusManager::RaiseWindow(nsPIDOMWindowOuter* aWindow, +@@ -2946,7 +2950,9 @@ void nsFocusManager::RaiseWindow(nsPIDOMWindowOuter* aWindow, } } @@ -1196,10 +1196,10 @@ index 2b5f95d4c68d0a854d65471bdf9fff2dd166f73e..b5c5cb37c662a91536ce0ab6a2e10e8e // 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 9ac866bf9e6dc753088ce6d6b7d474075a3adfb1..52ca8ef4e9324a974fa7cd6d101d050e3d61eabc 100644 +index 0b631087ea8b6ae6c971bbf5a3ea4d46c24f909f..7072558d4b795d7110b9e7d467dcff5e2dcb0b82 100644 --- a/dom/base/nsGlobalWindowOuter.cpp +++ b/dom/base/nsGlobalWindowOuter.cpp -@@ -2483,7 +2483,7 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument, +@@ -2482,7 +2482,7 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument, &nsGlobalWindowInner::FireOnNewGlobalObject)); } @@ -1208,7 +1208,7 @@ index 9ac866bf9e6dc753088ce6d6b7d474075a3adfb1..52ca8ef4e9324a974fa7cd6d101d050e // 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 -@@ -2502,10 +2502,16 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument, +@@ -2501,10 +2501,16 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument, }(); if (!isContentAboutBlankInChromeDocshell) { @@ -1229,7 +1229,7 @@ index 9ac866bf9e6dc753088ce6d6b7d474075a3adfb1..52ca8ef4e9324a974fa7cd6d101d050e } } -@@ -2626,6 +2632,19 @@ void nsGlobalWindowOuter::DispatchDOMWindowCreated() { +@@ -2625,6 +2631,19 @@ void nsGlobalWindowOuter::DispatchDOMWindowCreated() { } } @@ -1262,10 +1262,10 @@ index d74c8c066a6005583f06821de8be1e96f94edc04..357bbc5b34ee7c6868f8e5f8e8367623 // Outer windows only. virtual void EnsureSizeAndPositionUpToDate() override; diff --git a/dom/base/nsINode.cpp b/dom/base/nsINode.cpp -index 9f9a6d7c5fb6868a5eba3eaea9964850ba135729..727dbc65f00289a01d270ac5ebee5b96d03e3a00 100644 +index 126ca77ce46134fc6572ea2a3b6cfea86ca1ea88..c176ee4e66ccf13663f89be70343458a9f05f8f7 100644 --- a/dom/base/nsINode.cpp +++ b/dom/base/nsINode.cpp -@@ -1348,6 +1348,61 @@ void nsINode::GetBoxQuadsFromWindowOrigin(const BoxQuadOptions& aOptions, +@@ -1357,6 +1357,61 @@ void nsINode::GetBoxQuadsFromWindowOrigin(const BoxQuadOptions& aOptions, mozilla::GetBoxQuadsFromWindowOrigin(this, aOptions, aResult, aRv); } @@ -1328,10 +1328,10 @@ index 9f9a6d7c5fb6868a5eba3eaea9964850ba135729..727dbc65f00289a01d270ac5ebee5b96 DOMQuad& aQuad, const GeometryNode& aFrom, const ConvertCoordinateOptions& aOptions, CallerType aCallerType, diff --git a/dom/base/nsINode.h b/dom/base/nsINode.h -index a168cd34eaa0baf6b79e8903c5475ace70d2dc17..5ec87aa5ac57724b332ce728924979177d247907 100644 +index 982ad4dfff2804950a53f1b05b7dc3b3bcfe2e42..d1db8dd4fca30b4507ea32055013af13cdc19694 100644 --- a/dom/base/nsINode.h +++ b/dom/base/nsINode.h -@@ -2181,6 +2181,10 @@ class nsINode : public mozilla::dom::EventTarget { +@@ -2190,6 +2190,10 @@ class nsINode : public mozilla::dom::EventTarget { nsTArray>& aResult, ErrorResult& aRv); @@ -1371,7 +1371,7 @@ index 67682173f45c6a83cbad176c2922263d4f7dece9..7dd97f27bdf07673289fce62aaebe3b9 static bool DumpEnabled(); diff --git a/dom/chrome-webidl/BrowsingContext.webidl b/dom/chrome-webidl/BrowsingContext.webidl -index 51e8ede57dc8432335e5038cd35fe6395c3b65dd..b9383fbd5828c93221942dbe5664e9348ddcc82d 100644 +index e287b7b9770b65e7a9ebe17fa62045b04f63d098..053ce70eabc09844a7e0e403dd5807ea2156ee19 100644 --- a/dom/chrome-webidl/BrowsingContext.webidl +++ b/dom/chrome-webidl/BrowsingContext.webidl @@ -53,6 +53,24 @@ enum PrefersColorSchemeOverride { @@ -1521,7 +1521,7 @@ index 7e1af00d05fbafa2d828e2c7e4dcc5c82d115f5b..e85af9718d064e4d2865bc944e9d4ba1 ~Geolocation(); diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp -index 3f7e20e43a9b048c1e24e41b79fa0da08ba68ac4..f9b58311ff73ce69f2f24cad75ad9632c5490fce 100644 +index b152ff19667a05e715385dc64cd8906411c0d9e5..9de43dc1a1f4227bf340c2a9d80bcef617f99deb 100644 --- a/dom/html/HTMLInputElement.cpp +++ b/dom/html/HTMLInputElement.cpp @@ -58,6 +58,7 @@ @@ -1532,7 +1532,7 @@ index 3f7e20e43a9b048c1e24e41b79fa0da08ba68ac4..f9b58311ff73ce69f2f24cad75ad9632 #include "nsIFormControlFrame.h" #include "nsITextControlFrame.h" #include "nsIFrame.h" -@@ -780,6 +781,12 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) { +@@ -779,6 +780,12 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) { return NS_ERROR_FAILURE; } @@ -1546,7 +1546,7 @@ index 3f7e20e43a9b048c1e24e41b79fa0da08ba68ac4..f9b58311ff73ce69f2f24cad75ad9632 return NS_OK; } diff --git a/dom/interfaces/base/nsIDOMWindowUtils.idl b/dom/interfaces/base/nsIDOMWindowUtils.idl -index 25633e4ed848996efb790f4d462d00cbffa13f6d..dc21dcafe7561c3bf226d5190670a1f9b389266b 100644 +index 82f7d4d206c7274858a945d5db61aa02c366e472..a23386a5749c4af48b9bb86c8c48928da6aa3a9e 100644 --- a/dom/interfaces/base/nsIDOMWindowUtils.idl +++ b/dom/interfaces/base/nsIDOMWindowUtils.idl @@ -374,6 +374,26 @@ interface nsIDOMWindowUtils : nsISupports { @@ -1577,10 +1577,10 @@ index 25633e4ed848996efb790f4d462d00cbffa13f6d..dc21dcafe7561c3bf226d5190670a1f9 * touchstart, touchend, touchmove, and touchcancel * diff --git a/dom/ipc/BrowserChild.cpp b/dom/ipc/BrowserChild.cpp -index 591128fe5f76f0a1bbe5091a67ae7ac6d2364b68..4b23faa0eeb5262ddf233efd8dd1c899eb7c8e02 100644 +index eb4f168c4e47913a032364f8d8b3546a23869d02..09ac18a00bbcf269b1a1c49c75f6b68cbb18d211 100644 --- a/dom/ipc/BrowserChild.cpp +++ b/dom/ipc/BrowserChild.cpp -@@ -1678,6 +1678,21 @@ void BrowserChild::HandleRealMouseButtonEvent(const WidgetMouseEvent& aEvent, +@@ -1680,6 +1680,21 @@ void BrowserChild::HandleRealMouseButtonEvent(const WidgetMouseEvent& aEvent, if (postLayerization) { postLayerization->Register(); } @@ -1617,7 +1617,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 c5fc05f772900dd6d30b252783adb96dfbbde2a1..86d88db3ff9e411adf9fecb114e9ced1af29b610 100644 +index c5fc05f772900dd6d30b252783adb96dfbbde2a1..7eb74f174c196f98854e4729d456956a77a063a8 100644 --- a/dom/media/systemservices/video_engine/desktop_capture_impl.cc +++ b/dom/media/systemservices/video_engine/desktop_capture_impl.cc @@ -132,11 +132,12 @@ int32_t ScreenDeviceInfoImpl::GetOrientation(const char* aDeviceUniqueIdUTF8, @@ -1661,14 +1661,14 @@ index c5fc05f772900dd6d30b252783adb96dfbbde2a1..86d88db3ff9e411adf9fecb114e9ced1 : mModuleId(aId), mTrackingId(mozilla::TrackingId(CaptureEngineToTrackingSourceStr([&] { switch (aType) { -@@ -472,6 +478,7 @@ DesktopCaptureImpl::DesktopCaptureImpl(const int32_t aId, const char* aUniqueId, +@@ -471,6 +477,7 @@ DesktopCaptureImpl::DesktopCaptureImpl(const int32_t aId, const char* aUniqueId, + mDeviceUniqueId(aUniqueId), mDeviceType(aType), mControlThread(mozilla::GetCurrentSerialEventTarget()), - mNextFrameMinimumTime(Timestamp::Zero()), + capture_cursor_(aCaptureCursor), + mNextFrameMinimumTime(Timestamp::Zero()), mRunning(false), mCallbacks("DesktopCaptureImpl::mCallbacks") {} - @@ -492,6 +499,19 @@ void DesktopCaptureImpl::DeRegisterCaptureDataCallback( } } @@ -1838,7 +1838,7 @@ index 1f2d92bcb5d989bf9ecc044f8c51006f991b0007..9cf5dd885e658e0fe5e7ab75e7fc1f97 return aGlobalOrNull; diff --git a/dom/security/nsCSPUtils.cpp b/dom/security/nsCSPUtils.cpp -index 2bc6c66de3e470786d33cf46ae14f9e20465a9fd..ce4a35adf82fc99e5a12181c06f2b9f97880ea74 100644 +index dbc59ea35470d1d4d3ee3c7167a5c03ea1a24515..801bbc17a452664a74acd0fe3245e255f178b3de 100644 --- a/dom/security/nsCSPUtils.cpp +++ b/dom/security/nsCSPUtils.cpp @@ -127,6 +127,11 @@ void CSP_ApplyMetaCSPToDoc(mozilla::dom::Document& aDoc, @@ -1877,7 +1877,7 @@ 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 499a2c1ef35bc7c610b4b329b9923ffee4af999a..e91fb8202ed4e2f7a0a59351d427c6dfdcb65b5e 100644 +index 51a497f929a23811034e5fbffeaa35ee66dd6c77..41e530c57534b790442b153c7b9bec962a4f80d7 100644 --- a/dom/workers/RuntimeService.cpp +++ b/dom/workers/RuntimeService.cpp @@ -989,7 +989,7 @@ void PrefLanguagesChanged(const char* /* aPrefName */, void* /* aClosure */) { @@ -1913,7 +1913,7 @@ index 499a2c1ef35bc7c610b4b329b9923ffee4af999a..e91fb8202ed4e2f7a0a59351d427c6df template void RuntimeService::BroadcastAllWorkers(const Func& aFunc) { AssertIsOnMainThread(); -@@ -2329,6 +2335,14 @@ void PropagateStorageAccessPermissionGrantedToWorkers( +@@ -2330,6 +2336,14 @@ void PropagateStorageAccessPermissionGrantedToWorkers( } } @@ -1955,7 +1955,7 @@ index d10dabb5c5ff8e17851edf2bd2efc08e74584d8e..53c4070c5fde43b27fb8fbfdcf4c23d8 bool IsWorkerGlobal(JSObject* global); diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp -index 1fc14724bc6f3fcf485e51f677c13ba328e385f7..363868b75703e29c5b0f924edac4cd927a06f97f 100644 +index ae126423945030c0f8d4f78cd44d0543240e08e5..c1224d779961eca0c3f9795dae10880961df1a0b 100644 --- a/dom/workers/WorkerPrivate.cpp +++ b/dom/workers/WorkerPrivate.cpp @@ -704,6 +704,18 @@ class UpdateContextOptionsRunnable final : public WorkerControlRunnable { @@ -1994,7 +1994,7 @@ index 1fc14724bc6f3fcf485e51f677c13ba328e385f7..363868b75703e29c5b0f924edac4cd92 void WorkerPrivate::UpdateLanguages(const nsTArray& aLanguages) { AssertIsOnParentThread(); -@@ -5289,6 +5311,15 @@ void WorkerPrivate::UpdateContextOptionsInternal( +@@ -5293,6 +5315,15 @@ void WorkerPrivate::UpdateContextOptionsInternal( } } @@ -2011,7 +2011,7 @@ index 1fc14724bc6f3fcf485e51f677c13ba328e385f7..363868b75703e29c5b0f924edac4cd92 const nsTArray& aLanguages) { WorkerGlobalScope* globalScope = GlobalScope(); diff --git a/dom/workers/WorkerPrivate.h b/dom/workers/WorkerPrivate.h -index c9a7175a4da4ebb841a4a85d8c1a8b2c1f52f542..9105f4d737b991145c52f585a3932281b6abf049 100644 +index fa39dc65d23f963937d88d8abdcd57b2cabd1972..fe0f478451a6a021eb3b735f90f4902340f93f77 100644 --- a/dom/workers/WorkerPrivate.h +++ b/dom/workers/WorkerPrivate.h @@ -414,6 +414,8 @@ class WorkerPrivate final @@ -2023,7 +2023,7 @@ index c9a7175a4da4ebb841a4a85d8c1a8b2c1f52f542..9105f4d737b991145c52f585a3932281 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); @@ -2255,10 +2255,10 @@ index dac899f7558b26d6848da8b98ed8a93555c8751a..2a07d67fa1c2840b25085566e84dc3b2 // No boxes to return return; diff --git a/layout/base/PresShell.cpp b/layout/base/PresShell.cpp -index ab8ddd3ed55f9f1d7997611abd0fc99c1a2c2d7a..224b2bc9752f52951ceb80ebae9cd3bbb08b7d33 100644 +index 940b07bbdb8d972d0fb30ac720f2c573e765e78b..fd6e10c65724d8cbb914c4e5e139b1b36f5aa5f9 100644 --- a/layout/base/PresShell.cpp +++ b/layout/base/PresShell.cpp -@@ -10904,7 +10904,9 @@ auto PresShell::ComputeActiveness() const -> Activeness { +@@ -10914,7 +10914,9 @@ auto PresShell::ComputeActiveness() const -> Activeness { if (!browserChild->IsVisible()) { MOZ_LOG(gLog, LogLevel::Debug, (" > BrowserChild %p is not visible", browserChild)); @@ -2270,7 +2270,7 @@ index ab8ddd3ed55f9f1d7997611abd0fc99c1a2c2d7a..224b2bc9752f52951ceb80ebae9cd3bb // 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 a131977e3367527596c525243a3f68cfa72d6e36..32adec9f433d9c74e78af1f32d54f6f2af1a9a4e 100644 +index 574cb1c65d119ebc647d6b88c13e06cc4541da6f..22b5897f9d61c0fc7ceaad62268d55cd041a2b1a 100644 --- a/layout/style/GeckoBindings.h +++ b/layout/style/GeckoBindings.h @@ -632,6 +632,7 @@ float Gecko_MediaFeatures_GetResolution(const mozilla::dom::Document*); @@ -2282,14 +2282,15 @@ index a131977e3367527596c525243a3f68cfa72d6e36..32adec9f433d9c74e78af1f32d54f6f2 const mozilla::dom::Document*); mozilla::StylePrefersColorScheme Gecko_MediaFeatures_PrefersColorScheme( diff --git a/layout/style/nsMediaFeatures.cpp b/layout/style/nsMediaFeatures.cpp -index 3fdb9e7c1ad6f3c7a641c6bfd9d4daca26f4a45b..f920aa3710a13e247e8b3a7a5fba4d1afe37266a 100644 +index f560791fae1732c18b9b2bed4fb1e2343738522e..c45399b5d8b58fb4cb41bec4105a457426332542 100644 --- a/layout/style/nsMediaFeatures.cpp +++ b/layout/style/nsMediaFeatures.cpp -@@ -277,10 +277,11 @@ bool Gecko_MediaFeatures_MatchesPlatform(StylePlatform aPlatform) { +@@ -277,11 +277,11 @@ bool Gecko_MediaFeatures_MatchesPlatform(StylePlatform aPlatform) { } bool Gecko_MediaFeatures_PrefersReducedMotion(const Document* aDocument) { -- if (aDocument->ShouldResistFingerprinting()) { +- if (aDocument->ShouldResistFingerprinting( +- RFPTarget::CSSPrefersReducedMotion)) { - return false; - } - return LookAndFeel::GetInt(LookAndFeel::IntID::PrefersReducedMotion, 0) == 1; @@ -2302,10 +2303,10 @@ index 3fdb9e7c1ad6f3c7a641c6bfd9d4daca26f4a45b..f920aa3710a13e247e8b3a7a5fba4d1a bool Gecko_MediaFeatures_PrefersReducedTransparency(const Document* aDocument) { diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js -index d256c66f4d77d0342e8e0db3f2fd45f21cb2331e..edc5a33bf367c9d45354e352c51688fe28347c01 100644 +index 5ed82da10be3d97ef1d6c27a77c7d39992410489..a4788f5aebc54943e5657f0b0e694103d3bdf2ee 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js -@@ -4107,7 +4107,9 @@ pref("devtools.experiment.f12.shortcut_disabled", false); +@@ -4120,7 +4120,9 @@ pref("devtools.experiment.f12.shortcut_disabled", false); // doesn't provide a way to lock the pref pref("dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled", false); #else @@ -2454,13 +2455,13 @@ index e31cf158dcac3540b0c721cbd677b8522d7549b3..029fc67df81911e3abf3724e8ed99e4b readonly attribute boolean securityCheckDisabled; }; -diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm -index 94f47133802fd47a8a2bb800bdda8382d7ee82e5..2aa50e24dc1cb39012ed1d2b3b370cce546d28b1 100644 ---- a/services/settings/Utils.jsm -+++ b/services/settings/Utils.jsm -@@ -103,7 +103,7 @@ function _isUndefined(value) { +diff --git a/services/settings/Utils.sys.mjs b/services/settings/Utils.sys.mjs +index 0144fad99c9d813782fd7e2350841be6c2b538c9..538ea1a8d010a20595e926267c7a00864a4bbda3 100644 +--- a/services/settings/Utils.sys.mjs ++++ b/services/settings/Utils.sys.mjs +@@ -95,7 +95,7 @@ function _isUndefined(value) { - var Utils = { + export var Utils = { get SERVER_URL() { - return lazy.allowServerURLOverride + return true || lazy.allowServerURLOverride @@ -2468,7 +2469,7 @@ index 94f47133802fd47a8a2bb800bdda8382d7ee82e5..2aa50e24dc1cb39012ed1d2b3b370cce : AppConstants.REMOTE_SETTINGS_SERVER_URL; }, diff --git a/servo/components/style/gecko/media_features.rs b/servo/components/style/gecko/media_features.rs -index ca59d311ef91d66e829dc3186bacc07f251d4f00..008c3c0390262010c47513565e46982b826430de 100644 +index 70e03dc297cf313c8626e79495e55fdff97a164f..b89945b78430320010b3f4f2b544c107d0e99787 100644 --- a/servo/components/style/gecko/media_features.rs +++ b/servo/components/style/gecko/media_features.rs @@ -290,10 +290,15 @@ pub enum ForcedColors { @@ -2490,19 +2491,6 @@ index ca59d311ef91d66e829dc3186bacc07f251d4f00..008c3c0390262010c47513565e46982b } } -diff --git a/taskcluster/ci/toolchain/macos-sdk.yml b/taskcluster/ci/toolchain/macos-sdk.yml -index a446e90c26de1c55c57d6479cd2cf3df0ecaf508..c1880ff0dae136c66d1a91ddfc9343ed82f1ac78 100644 ---- a/taskcluster/ci/toolchain/macos-sdk.yml -+++ b/taskcluster/ci/toolchain/macos-sdk.yml -@@ -43,7 +43,7 @@ macosx64-sdk-13.0: - run: - script: unpack-sdk.py - arguments: -- - https://swdist.apple.com/content/downloads/38/50/012-70652-A_2ZHIRHCHLN/f8b81s6tzlzrj0z67ynydjx4x1lwhr08ab/CLTools_macOSNMOS_SDK.pkg -+ - https://swcdn.apple.com/content/downloads/38/50/012-70652-A_2ZHIRHCHLN/f8b81s6tzlzrj0z67ynydjx4x1lwhr08ab/CLTools_macOSNMOS_SDK.pkg - - 06f4a045854c456a553a5ee6acf678fbe26c06296fc68054ae918c206134aa20 - - Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk - toolchain-artifact: project/gecko/mac-sdk/MacOSX13.0.sdk.tar.zst diff --git a/toolkit/components/browser/nsIWebBrowserChrome.idl b/toolkit/components/browser/nsIWebBrowserChrome.idl index 54de3abab5757dd706e3d909ccef6a0bed5deacc..f5c5480cd052ede0c76e5eec733dbb9283389045 100644 --- a/toolkit/components/browser/nsIWebBrowserChrome.idl @@ -2518,7 +2506,7 @@ index 54de3abab5757dd706e3d909ccef6a0bed5deacc..f5c5480cd052ede0c76e5eec733dbb92 // ignored for Linux. const unsigned long CHROME_SUPPRESS_ANIMATION = 0x01000000; diff --git a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs b/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs -index 0a0c9601be5cd028cf8894d2e8e32edff8e610a6..e13c1d643a941120e4bd0d2c87f8df7400020598 100644 +index 94ddeb07c303eea743472761a0427e7f5a68a769..5477cd21da222955e3f512e5f5d0a0cadf00b601 100644 --- a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs +++ b/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs @@ -110,6 +110,12 @@ EnterprisePoliciesManager.prototype = { @@ -2535,7 +2523,7 @@ index 0a0c9601be5cd028cf8894d2e8e32edff8e610a6..e13c1d643a941120e4bd0d2c87f8df74 if (provider.failed) { diff --git a/toolkit/components/startup/nsAppStartup.cpp b/toolkit/components/startup/nsAppStartup.cpp -index 34ced370120f843ab7afd330fb5626ae6f6da7e4..205fc4e5fe3adeacbfe5ab6c15d1bbccf7baf9e8 100644 +index 26a414b5df26e43f2e3fa4ef539190021a167b04..e8d33f28f2696a4ecee3af2668747c7bfb803a2e 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) { @@ -2580,7 +2568,7 @@ index d21b1fa97755260f09d92c0cac10e1d5233c65dd..948e4ce62d4d03ed29ecac48e04bd13e /** diff --git a/toolkit/mozapps/update/UpdateService.sys.mjs b/toolkit/mozapps/update/UpdateService.sys.mjs -index b42661ca23cbfc53808f6f7dca4bbe8e9a4e3a5a..24aed9cd6c3f3281b0222c8ec40f5bd7b8984db1 100644 +index 1a646d3fc533928fe43416aaac316d29b52671cc..8b154b1281b09a8e009ba58dfc3e45865e89baa1 100644 --- a/toolkit/mozapps/update/UpdateService.sys.mjs +++ b/toolkit/mozapps/update/UpdateService.sys.mjs @@ -3855,6 +3855,8 @@ UpdateService.prototype = { @@ -2659,7 +2647,7 @@ index e1e46ccdceae595f95d100116ff480905047e82b..eaa0252e768140120158525723ad867b // nsDocumentViewer::LoadComplete that doesn't do various things // that are not relevant here because this wasn't an actual diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp -index 43dc9b0614ab007c938dbf66a02ff614524353b7..758dc42b1fcd4f81a1a13ae9e30942489a1b620c 100644 +index 2343c086d9f776f3a75afe1ae121a40757cada39..95141227a7dfefc3d25c7ca28711287aeccce716 100644 --- a/uriloader/exthandler/nsExternalHelperAppService.cpp +++ b/uriloader/exthandler/nsExternalHelperAppService.cpp @@ -112,6 +112,7 @@ @@ -2977,7 +2965,7 @@ index d3e5983259053175584254e7ac01ca9ce024f33a..97f5b851c402fea5477c0ee57af451c6 } if (aEvent.IsMeta()) { diff --git a/widget/headless/HeadlessCompositorWidget.cpp b/widget/headless/HeadlessCompositorWidget.cpp -index bb4ee9175e66dc40de1871a7f91368fe309494a3..856faef297c9eb0a510df123513b9ac095634e98 100644 +index bb4ee9175e66dc40de1871a7f91368fe309494a3..747625e3869882300bfbc18b184db5151dd90c1a 100644 --- a/widget/headless/HeadlessCompositorWidget.cpp +++ b/widget/headless/HeadlessCompositorWidget.cpp @@ -3,6 +3,7 @@ @@ -2988,14 +2976,14 @@ index bb4ee9175e66dc40de1871a7f91368fe309494a3..856faef297c9eb0a510df123513b9ac0 #include "mozilla/widget/PlatformWidgetTypes.h" #include "HeadlessCompositorWidget.h" #include "VsyncDispatcher.h" -@@ -16,7 +17,30 @@ HeadlessCompositorWidget::HeadlessCompositorWidget( +@@ -15,9 +16,32 @@ HeadlessCompositorWidget::HeadlessCompositorWidget( + const layers::CompositorOptions& aOptions, HeadlessWidget* aWindow) : CompositorWidget(aOptions), mWidget(aWindow), ++ mMon("snapshotListener"), mClientSize(LayoutDeviceIntSize(aInitData.InitialClientSize()), -- "HeadlessCompositorWidget::mClientSize") {} -+ "HeadlessCompositorWidget::mClientSize"), -+ mMon("snapshotListener") {} -+ + "HeadlessCompositorWidget::mClientSize") {} + +void HeadlessCompositorWidget::SetSnapshotListener(HeadlessWidget::SnapshotListener&& listener) { + MOZ_ASSERT(NS_IsMainThread()); + @@ -3017,9 +3005,10 @@ index bb4ee9175e66dc40de1871a7f91368fe309494a3..856faef297c9eb0a510df123513b9ac0 + RefPtr result = mDrawTarget; + return result.forget(); +} - ++ void HeadlessCompositorWidget::ObserveVsync(VsyncObserver* aObserver) { if (RefPtr cvd = + mWidget->GetCompositorVsyncDispatcher()) { @@ -31,6 +55,59 @@ void HeadlessCompositorWidget::NotifyClientSizeChanged( const LayoutDeviceIntSize& aClientSize) { auto size = mClientSize.Lock(); diff --git a/browser_patches/webkit/UPSTREAM_CONFIG.sh b/browser_patches/webkit/UPSTREAM_CONFIG.sh index f58de56822..fb8ded1682 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="b18feb6f416c7054880a920af213f6dfa864eb7a" +BASE_REVISION="3f4f70663d6e5255db11dc794a86522336a07a23" diff --git a/browser_patches/webkit/patches/bootstrap.diff b/browser_patches/webkit/patches/bootstrap.diff index cfe960294f..a056285c55 100644 --- a/browser_patches/webkit/patches/bootstrap.diff +++ b/browser_patches/webkit/patches/bootstrap.diff @@ -1,8 +1,8 @@ diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt -index 522a3aeb15fb3148c4b55c287bbca1e9ef801594..c888f78cebf0dfa148ebc0259edeb5fba369ba7a 100644 +index 4b7b06fc865528b8081e81848a4ea7ef30633ab8..44936c5c538b2cdec6aed8874c159b6d6ab78dc0 100644 --- a/Source/JavaScriptCore/CMakeLists.txt +++ b/Source/JavaScriptCore/CMakeLists.txt -@@ -1392,22 +1392,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS +@@ -1394,22 +1394,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS ${JAVASCRIPTCORE_DIR}/inspector/protocol/CSS.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Canvas.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Console.json @@ -1839,13 +1839,13 @@ index 72c81757450ad5ebacd5fd20d2a16095514802ec..b7d8ab1e04d3850180079870468b28ef private: enum ArgumentRequirement { ArgumentRequired, ArgumentNotRequired }; diff --git a/Source/ThirdParty/libwebrtc/CMakeLists.txt b/Source/ThirdParty/libwebrtc/CMakeLists.txt -index 026a804a74555ba7dbb13a0e0b84d9953424d85c..952162341951ca3a7713324305f41dd503a51615 100644 +index 3ccd5bd78637151c20e2a49eee2ed6b79e479da5..1dd6cf800e2d61d3f11c641c2fb233aded1576d9 100644 --- a/Source/ThirdParty/libwebrtc/CMakeLists.txt +++ b/Source/ThirdParty/libwebrtc/CMakeLists.txt -@@ -551,6 +551,11 @@ set(webrtc_SOURCES - Source/third_party/boringssl/src/util/fipstools/cavp/cavp_main.cc - Source/third_party/boringssl/src/util/fipstools/cavp/cavp_test_util.cc - Source/third_party/boringssl/src/util/fipstools/cavp/test_fips.c +@@ -529,6 +529,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 +# Playwright begin + Source/third_party/libwebm/mkvmuxer/mkvmuxer.cc + Source/third_party/libwebm/mkvmuxer/mkvmuxerutil.cc @@ -1854,7 +1854,28 @@ index 026a804a74555ba7dbb13a0e0b84d9953424d85c..952162341951ca3a7713324305f41dd5 Source/third_party/libyuv/source/compare.cc Source/third_party/libyuv/source/compare_common.cc Source/third_party/libyuv/source/compare_gcc.cc -@@ -2186,6 +2191,10 @@ set(webrtc_INCLUDE_DIRECTORIES PRIVATE +@@ -1780,20 +1785,6 @@ if (WTF_CPU_X86_64 OR WTF_CPU_X86) + ) + endif() + +-if (WTF_CPU_X86_64) +- list(APPEND webrtc_SOURCES +- Source/webrtc/common_audio/fir_filter_avx2.cc +- Source/webrtc/common_audio/resampler/sinc_resampler_avx2.cc +- Source/webrtc/modules/audio_processing/aec3/adaptive_fir_filter_avx2.cc +- Source/webrtc/modules/audio_processing/aec3/adaptive_fir_filter_erl_avx2.cc +- Source/webrtc/modules/audio_processing/aec3/fft_data_avx2.cc +- Source/webrtc/modules/audio_processing/aec3/matched_filter_avx2.cc +- Source/webrtc/modules/audio_processing/aec3/vector_math_avx2.cc +- Source/webrtc/modules/audio_processing/agc2/rnn_vad/vector_math_avx2.cc +- ) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") +-endif() +- + if (WTF_CPU_ARM64) + list(APPEND webrtc_SOURCES + Source/webrtc/common_audio/fir_filter_neon.cc +@@ -2122,6 +2113,10 @@ set(webrtc_INCLUDE_DIRECTORIES PRIVATE Source/third_party/libsrtp/config Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include @@ -1866,13 +1887,13 @@ index 026a804a74555ba7dbb13a0e0b84d9953424d85c..952162341951ca3a7713324305f41dd5 Source/third_party/opus/src/celt Source/third_party/opus/src/include diff --git a/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp b/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp -index 626efe5d02febd3d80066d2013dd479ecec29471..4c05722dfc3fe885968a69b64adc6f0a0470bcb1 100644 +index 09125e75d6cb58396e2106611550f47542c3a5d3..9cc6e974009bcfe234f3434951b7e33f5272c62a 100644 --- a/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp +++ b/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp -@@ -376,3 +376,24 @@ __ZN6webrtc20VideoFrameBufferPoolC1Ebm - __ZN6webrtc20VideoFrameBufferPoolD1Ev - __ZTVN6webrtc12VideoDecoderE - __ZN6webrtc22CreateLibaomAv1EncoderEv +@@ -388,3 +388,24 @@ __ZN3rtc7NetworkC1ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_RKNS_9I + __ZN6webrtc18callback_list_impl21CallbackListReceiversC1Ev + __ZNK6webrtc32webrtc_sequence_checker_internal19SequenceCheckerImpl19ExpectationToStringEv + __ZN3rtc16InterfaceAddressaSERKS0_ +__ZN8mkvmuxer11SegmentInfo15set_writing_appEPKc +__ZN8mkvmuxer11SegmentInfo4InitEv +__ZN8mkvmuxer7Segment10OutputCuesEb @@ -1907,12 +1928,33 @@ index 39ddbe721ba57835c45a4e590726c7a7c99022c4..4020e136c002c0b768f266d87f656585 PUBLIC_HEADERS_FOLDER_PREFIX = $(WK_LIBRARY_HEADERS_FOLDER_PATH); INSTALL_PUBLIC_HEADER_PREFIX = $(INSTALL_PATH_PREFIX)$(PUBLIC_HEADERS_FOLDER_PREFIX); +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 +--- 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 @@ + + #include "absl/algorithm/container.h" + #include "absl/memory/memory.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); + + 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()); diff --git a/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj b/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj -index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e9171ed9d 100644 +index 479aa7c73a659f7b04645e6a76af472e0b1ff8db..498ea23119710ffc4386ece3c92091359d22bf32 100644 --- a/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj +++ b/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj @@ -6,6 +6,20 @@ - objectVersion = 52; + objectVersion = 54; objects = { +/* Begin PBXAggregateTarget section */ @@ -1932,7 +1974,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e /* 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, ); }; }; -@@ -5081,6 +5095,9 @@ +@@ -4947,6 +4961,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 */; }; @@ -1942,7 +1984,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e /* End PBXBuildFile section */ /* Begin PBXBuildRule section */ -@@ -5345,6 +5362,13 @@ +@@ -5211,6 +5228,13 @@ remoteGlobalIDString = DDF30D0527C5C003006A526F; remoteInfo = absl; }; @@ -1956,7 +1998,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ -@@ -10848,6 +10872,9 @@ +@@ -10562,6 +10586,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 = ""; }; @@ -1966,7 +2008,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e FB39D0D11200F0E300088E69 /* libwebrtc.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libwebrtc.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ -@@ -19274,6 +19301,7 @@ +@@ -18854,6 +18881,7 @@ isa = PBXGroup; children = ( CDFD2F9224C4B2F90048DAC3 /* common */, @@ -1974,7 +2016,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e CDEBB19224C0191800ADBD44 /* webm_parser */, ); path = libwebm; -@@ -19736,6 +19764,16 @@ +@@ -19295,6 +19323,16 @@ path = include; sourceTree = ""; }; @@ -1991,7 +2033,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e FB39D06E1200ED9200088E69 = { isa = PBXGroup; children = ( -@@ -22693,6 +22731,7 @@ +@@ -22185,6 +22223,7 @@ ); dependencies = ( 410B3827292B73E90003E515 /* PBXTargetDependency */, @@ -1999,7 +2041,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e DD2E76E827C6B69A00F2A74C /* PBXTargetDependency */, CDEBB4CC24C01AB400ADBD44 /* PBXTargetDependency */, 411ED040212E0811004320BA /* PBXTargetDependency */, -@@ -22752,6 +22791,7 @@ +@@ -22244,6 +22283,7 @@ CDEBB11824C0187400ADBD44 /* webm */, DDEBB11824C0187400ADBD44 /* aom */, DDF30D0527C5C003006A526F /* absl */, @@ -2007,7 +2049,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e ); }; /* End PBXProject section */ -@@ -22833,6 +22873,23 @@ +@@ -22325,6 +22365,23 @@ shellPath = /bin/sh; shellScript = "\"${SRCROOT}/Scripts/create-symlink-to-altroot.sh\"\n"; }; @@ -2031,7 +2073,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ -@@ -24636,6 +24693,9 @@ +@@ -24076,6 +24133,9 @@ 5CDD865E1E43B8B500621E92 /* min_max_operations.c in Sources */, 4189395B242A71F5007FDC41 /* min_video_bitrate_experiment.cc in Sources */, 41B8D8FB28CB85CB00E5FA37 /* missing_mandatory_parameter_cause.cc in Sources */, @@ -2041,7 +2083,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e 4131C387234B957D0028A615 /* moving_average.cc in Sources */, 41FCBB1521B1F7AA00A5DF27 /* moving_average.cc in Sources */, 5CD286101E6A64C90094FDC8 /* moving_max.cc in Sources */, -@@ -25360,6 +25420,11 @@ +@@ -24785,6 +24845,11 @@ target = DDF30D0527C5C003006A526F /* absl */; targetProxy = DD2E76E727C6B69A00F2A74C /* PBXContainerItemProxy */; }; @@ -2053,7 +2095,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ -@@ -25587,6 +25652,27 @@ +@@ -25012,6 +25077,27 @@ }; name = Production; }; @@ -2081,7 +2123,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e FB39D0711200ED9200088E69 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */; -@@ -25719,6 +25805,16 @@ +@@ -25144,6 +25230,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Production; }; @@ -2099,7 +2141,7 @@ index 3156829ef03b1c4d565a9decde0fa36a93736b2c..52f3a7e7ca8287ec2d1b2341f5f24f1e isa = XCConfigurationList; buildConfigurations = ( diff --git a/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml b/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml -index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe47f523edb 100644 +index 78d994a233b61b04792e61d7fc7c1846caf5b47c..c559998f7ffe2a033e02e635d5eb3621a5a11166 100644 --- a/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml +++ b/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml @@ -576,6 +576,7 @@ AspectRatioOfImgFromWidthAndHeightEnabled: @@ -2119,7 +2161,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 WebCore: default: false -@@ -1775,6 +1776,7 @@ CrossOriginEmbedderPolicyEnabled: +@@ -1789,6 +1790,7 @@ CrossOriginEmbedderPolicyEnabled: WebCore: default: false @@ -2127,7 +2169,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 CrossOriginOpenerPolicyEnabled: type: bool status: stable -@@ -1785,7 +1787,7 @@ CrossOriginOpenerPolicyEnabled: +@@ -1799,7 +1801,7 @@ CrossOriginOpenerPolicyEnabled: WebKitLegacy: default: false WebKit: @@ -2136,7 +2178,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 WebCore: default: false -@@ -1815,7 +1817,7 @@ CustomPasteboardDataEnabled: +@@ -1829,7 +1831,7 @@ CustomPasteboardDataEnabled: WebKitLegacy: default: false WebKit: @@ -2145,7 +2187,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 default: false DNSPrefetchingEnabled: -@@ -1860,6 +1862,7 @@ DOMAudioSessionFullEnabled: +@@ -1874,6 +1876,7 @@ DOMAudioSessionFullEnabled: WebCore: default: false @@ -2153,16 +2195,16 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 DOMPasteAccessRequestsEnabled: type: bool status: internal -@@ -1871,7 +1874,7 @@ DOMPasteAccessRequestsEnabled: +@@ -1885,7 +1888,7 @@ DOMPasteAccessRequestsEnabled: default: false WebKit: - "PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(GTK)": true + "PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(VISION)": true - default: false + default: true WebCore: default: false -@@ -3229,6 +3232,7 @@ InspectorAttachmentSide: +@@ -3264,6 +3267,7 @@ InspectorAttachmentSide: WebKit: default: 0 @@ -2170,7 +2212,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 InspectorStartsAttached: type: bool status: embedder -@@ -3236,7 +3240,7 @@ InspectorStartsAttached: +@@ -3271,7 +3275,7 @@ InspectorStartsAttached: exposed: [ WebKit ] defaultValue: WebKit: @@ -2179,7 +2221,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 InspectorWindowFrame: type: String -@@ -3605,6 +3609,7 @@ LayoutViewportHeightExpansionFactor: +@@ -3640,6 +3644,7 @@ LayoutViewportHeightExpansionFactor: WebCore: default: 0 @@ -2187,7 +2229,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 LazyIframeLoadingEnabled: type: bool status: stable -@@ -3615,9 +3620,9 @@ LazyIframeLoadingEnabled: +@@ -3650,9 +3655,9 @@ LazyIframeLoadingEnabled: WebKitLegacy: default: true WebKit: @@ -2199,7 +2241,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 LazyImageLoadingEnabled: type: bool -@@ -4971,6 +4976,19 @@ PluginsEnabled: +@@ -5009,6 +5014,19 @@ PluginsEnabled: WebCore: default: false @@ -2219,7 +2261,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 PopoverAttributeEnabled: type: bool status: stable -@@ -6620,6 +6638,7 @@ UseCGDisplayListsForDOMRendering: +@@ -6660,6 +6678,7 @@ UseCGDisplayListsForDOMRendering: WebKit: default: true @@ -2227,7 +2269,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 UseGPUProcessForCanvasRenderingEnabled: type: bool status: stable -@@ -6632,7 +6651,7 @@ UseGPUProcessForCanvasRenderingEnabled: +@@ -6672,7 +6691,7 @@ UseGPUProcessForCanvasRenderingEnabled: defaultValue: WebKit: "ENABLE(GPU_PROCESS_BY_DEFAULT)": true @@ -2236,7 +2278,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 default: false UseGPUProcessForDOMRenderingEnabled: -@@ -6674,6 +6693,7 @@ UseGPUProcessForMediaEnabled: +@@ -6714,6 +6733,7 @@ UseGPUProcessForMediaEnabled: "ENABLE(GPU_PROCESS_BY_DEFAULT)": true default: false @@ -2244,7 +2286,7 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 UseGPUProcessForWebGLEnabled: type: bool status: internal -@@ -6685,7 +6705,7 @@ UseGPUProcessForWebGLEnabled: +@@ -6725,7 +6745,7 @@ UseGPUProcessForWebGLEnabled: default: false WebKit: "ENABLE(GPU_PROCESS_BY_DEFAULT) && ENABLE(GPU_PROCESS_WEBGL_BY_DEFAULT)": true @@ -2254,10 +2296,10 @@ index b8eae87efa5548a716e68bc4e14f79574cd2fc79..701f2f038b8b74c6bf586f68d8f6dfe4 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 f5f9888057a27c7cb98a5e27e8d79df3044a16f8..621dc90e4003145f61d8c9eb7b4a4569d5c1f1b1 100644 +index e1cf4777796ac60c761e4678440aae3e1e1dec8a..fcc78d5cfeb86f3cb073c85491e40737542d3c6c 100644 --- a/Source/WTF/wtf/PlatformEnable.h +++ b/Source/WTF/wtf/PlatformEnable.h -@@ -412,7 +412,7 @@ +@@ -408,7 +408,7 @@ // ORIENTATION_EVENTS should never get enabled on Desktop, only Mobile. #if !defined(ENABLE_ORIENTATION_EVENTS) @@ -2266,7 +2308,7 @@ index f5f9888057a27c7cb98a5e27e8d79df3044a16f8..621dc90e4003145f61d8c9eb7b4a4569 #endif #if OS(WINDOWS) -@@ -477,7 +477,7 @@ +@@ -473,7 +473,7 @@ #endif #if !defined(ENABLE_TOUCH_EVENTS) @@ -2276,19 +2318,19 @@ index f5f9888057a27c7cb98a5e27e8d79df3044a16f8..621dc90e4003145f61d8c9eb7b4a4569 #if !defined(ENABLE_TOUCH_ACTION_REGIONS) diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h -index 9465006787c3d98cfac6777dc70eaec84cc3e57e..30e9482570993f847fb0cec3a4fa8403c6903a9f 100644 +index 8eb65c40459cd428badb809b65e9294fa50f664f..01a3718bf7e7976fd9e99a28c0ed314b35b83fb3 100644 --- a/Source/WTF/wtf/PlatformHave.h +++ b/Source/WTF/wtf/PlatformHave.h -@@ -422,7 +422,7 @@ +@@ -404,7 +404,7 @@ #define HAVE_FOUNDATION_WITH_SAME_SITE_COOKIE_SUPPORT 1 #endif --#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(GTK) || PLATFORM(WPE) -+#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(GTK) || PLATFORM(WPE) || PLATFORM(WIN) +-#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION) || PLATFORM(GTK) || PLATFORM(WPE) ++#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION) || PLATFORM(GTK) || PLATFORM(WPE) || PLATFORM(WIN) #define HAVE_OS_DARK_MODE_SUPPORT 1 #endif -@@ -1328,7 +1328,8 @@ +@@ -1236,7 +1236,8 @@ #endif #if PLATFORM(MAC) @@ -2297,9 +2339,9 @@ index 9465006787c3d98cfac6777dc70eaec84cc3e57e..30e9482570993f847fb0cec3a4fa8403 +#define HAVE_GPU_AVAILABILITY_CHECK 0 #endif - #if (!defined(HAVE_LOCKDOWN_MODE_PDF_ADDITIONS) && \ + #if !defined(HAVE_LOCKDOWN_MODE_PDF_ADDITIONS) && \ diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make -index f4c0f3bf7d49dc3e28295a352193db668bb2ca01..09bf179b35afafaa4372fd9f99e769fa965afb87 100644 +index 34f78f329a999e2a6ebe64ccb4809c658299b68c..2563469d0bb895d875330206f940544afbcf93eb 100644 --- a/Source/WebCore/DerivedSources.make +++ b/Source/WebCore/DerivedSources.make @@ -1063,6 +1063,10 @@ JS_BINDING_IDLS := \ @@ -2375,7 +2417,7 @@ index 316aa5b17c5346b2d3e420e7262e7e76e254f427..c2beed6bd1e83257095252146ee3506c [self sendSpeechEndIfNeeded]; diff --git a/Source/WebCore/PlatformWPE.cmake b/Source/WebCore/PlatformWPE.cmake -index e8647e7b05931395f7b497bfb16408331c278ebf..1aceec655433e68c7829c8b1df3c06f1e8b4c90d 100644 +index 99db9b2a0693bddab0b783b47746460cd0b7ffd9..74cbf2811a6f8dbcf631c8a218ad4a1330b8e98c 100644 --- a/Source/WebCore/PlatformWPE.cmake +++ b/Source/WebCore/PlatformWPE.cmake @@ -48,6 +48,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS @@ -2387,7 +2429,7 @@ index e8647e7b05931395f7b497bfb16408331c278ebf..1aceec655433e68c7829c8b1df3c06f1 set(CSS_VALUE_PLATFORM_DEFINES "HAVE_OS_DARK_MODE_SUPPORT=1") diff --git a/Source/WebCore/SourcesCocoa.txt b/Source/WebCore/SourcesCocoa.txt -index 73659fb63491ffb4e3b13f6f0e1be05a4ab7d5bd..9dfbac4c044116073c953b251af186abab67d660 100644 +index 538f32e8691440a9fd0f389832f46c871aeb3886..9cad31980f01334bcfaac7b25edb4414f454afc5 100644 --- a/Source/WebCore/SourcesCocoa.txt +++ b/Source/WebCore/SourcesCocoa.txt @@ -692,3 +692,9 @@ platform/graphics/angle/GraphicsContextGLANGLE.cpp @no-unify @@ -2401,10 +2443,10 @@ index 73659fb63491ffb4e3b13f6f0e1be05a4ab7d5bd..9dfbac4c044116073c953b251af186ab +JSTouchList.cpp +// Playwright end diff --git a/Source/WebCore/SourcesGTK.txt b/Source/WebCore/SourcesGTK.txt -index 7df855a40eb3a6d436344f62be590ae6b04dd075..d361e813dec0bc71bb88ee720f31d00b4202c5e9 100644 +index e00e78af085a767842d2b08ca40e71fad7741569..1d7b32818538e08dd308a2b3f4967256a88cc9a2 100644 --- a/Source/WebCore/SourcesGTK.txt +++ b/Source/WebCore/SourcesGTK.txt -@@ -127,3 +127,10 @@ platform/text/hyphen/HyphenationLibHyphen.cpp +@@ -124,3 +124,10 @@ platform/text/hyphen/HyphenationLibHyphen.cpp platform/unix/LoggingUnix.cpp platform/xdg/MIMETypeRegistryXdg.cpp @@ -2416,7 +2458,7 @@ index 7df855a40eb3a6d436344f62be590ae6b04dd075..d361e813dec0bc71bb88ee720f31d00b +JSSpeechSynthesisEventInit.cpp +// Playwright: end. diff --git a/Source/WebCore/SourcesWPE.txt b/Source/WebCore/SourcesWPE.txt -index 59835e77a29bb8f7de658f64e2a3665dd46f40c4..950ccf859147d92c79f110525a28263163c35d54 100644 +index b22d8835c52f1f5584c96d68c70cd62164ee39d4..28b3c9511b773a095bea324886b515c0f51203ab 100644 --- a/Source/WebCore/SourcesWPE.txt +++ b/Source/WebCore/SourcesWPE.txt @@ -45,6 +45,8 @@ editing/libwpe/EditorLibWPE.cpp @@ -2447,10 +2489,10 @@ index 59835e77a29bb8f7de658f64e2a3665dd46f40c4..950ccf859147d92c79f110525a282631 +JSSpeechSynthesisEventInit.cpp +// Playwright: end. diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256ddd05f8b 100644 +index 4db4dcef222780b50ed52dee26bb83683082c940..bcfa44066b6616248913c71dae44b87562e740b7 100644 --- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -@@ -5885,6 +5885,13 @@ +@@ -5894,6 +5894,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, ); }; }; @@ -2464,7 +2506,7 @@ index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256 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, ); }; }; -@@ -19086,6 +19093,14 @@ +@@ -19114,6 +19121,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 = ""; }; @@ -2479,7 +2521,7 @@ index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256 F12171F316A8BC63000053CA /* WebVTTElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebVTTElement.cpp; sourceTree = ""; }; F12171F416A8BC63000053CA /* WebVTTElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVTTElement.h; sourceTree = ""; }; F32BDCD52363AAC90073B6AE /* UserGestureEmulationScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserGestureEmulationScope.cpp; sourceTree = ""; }; -@@ -26228,6 +26243,11 @@ +@@ -26259,6 +26274,11 @@ BC4A5324256055590028C592 /* TextDirectionSubmenuInclusionBehavior.h */, 2D4F96F11A1ECC240098BF88 /* TextIndicator.cpp */, 2D4F96F21A1ECC240098BF88 /* TextIndicator.h */, @@ -2491,7 +2533,7 @@ index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256 F48570A42644C76D00C05F71 /* TranslationContextMenuInfo.h */, F4E1965F21F26E4E00285078 /* UndoItem.cpp */, 2ECDBAD521D8906300F00ECD /* UndoItem.h */, -@@ -32347,6 +32367,8 @@ +@@ -32394,6 +32414,8 @@ 29E4D8DF16B0940F00C84704 /* PlatformSpeechSynthesizer.h */, 1AD8F81A11CAB9E900E93E54 /* PlatformStrategies.cpp */, 1AD8F81911CAB9E900E93E54 /* PlatformStrategies.h */, @@ -2500,7 +2542,7 @@ index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256 0FD7C21D23CE41E30096D102 /* PlatformWheelEvent.cpp */, 935C476A09AC4D4F00A6AAB4 /* PlatformWheelEvent.h */, BCBB8AB513F1AFB000734DF0 /* PODInterval.h */, -@@ -34870,6 +34892,7 @@ +@@ -34923,6 +34945,7 @@ AD6E71AB1668899D00320C13 /* DocumentSharedObjectPool.h */, 6BDB5DC1227BD3B800919770 /* DocumentStorageAccess.cpp */, 6BDB5DC0227BD3B800919770 /* DocumentStorageAccess.h */, @@ -2508,7 +2550,7 @@ index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256 7CE7FA5B1EF882300060C9D6 /* DocumentTouch.cpp */, 7CE7FA591EF882300060C9D6 /* DocumentTouch.h */, A8185F3209765765005826D9 /* DocumentType.cpp */, -@@ -39370,6 +39393,8 @@ +@@ -39428,6 +39451,8 @@ 1AD8F81B11CAB9E900E93E54 /* PlatformStrategies.h in Headers */, 0F7D07331884C56C00B4AF86 /* PlatformTextTrack.h in Headers */, 074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */, @@ -2517,7 +2559,7 @@ index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256 CDD08ABD277E542600EA3755 /* PlatformTrackConfiguration.h in Headers */, CD1F9B022700323D00617EB6 /* PlatformVideoColorPrimaries.h in Headers */, CD1F9B01270020B700617EB6 /* PlatformVideoColorSpace.h in Headers */, -@@ -40599,6 +40624,7 @@ +@@ -40659,6 +40684,7 @@ 0F54DD081881D5F5003EEDBB /* Touch.h in Headers */, 71B7EE0D21B5C6870031C1EF /* TouchAction.h in Headers */, 0F54DD091881D5F5003EEDBB /* TouchEvent.h in Headers */, @@ -2525,17 +2567,16 @@ index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256 0F54DD0A1881D5F5003EEDBB /* TouchList.h in Headers */, 070334D71459FFD5008D8D45 /* TrackBase.h in Headers */, BE88E0C21715CE2600658D98 /* TrackListBase.h in Headers */, -@@ -41555,6 +41581,9 @@ - 1ABA76CA11D20E50004C201C /* CSSPropertyNames.cpp in Sources */, +@@ -41617,6 +41643,8 @@ 2D22830323A8470700364B7E /* CursorMac.mm in Sources */, 5CBD59592280E926002B22AA /* CustomHeaderFields.cpp in Sources */, + 07E4BDBF2A3A5FAB000D5509 /* DictationCaretAnimator.cpp in Sources */, + F050E17423AD6A800011CE47 /* DocumentTouch.cpp in Sources */, -+ 329C0C2528BD96EB00F187D2 /* ElementName.cpp in Sources */, + 329C0C2528BD96EB00F187D2 /* ElementName.cpp in Sources */, 7CE6CBFD187F394900D46BF5 /* FormatConverter.cpp in Sources */, 4667EA3E2968D9DA00BAB1E2 /* GameControllerHapticEffect.mm in Sources */, 46FE73D32968E52000B8064C /* GameControllerHapticEngines.mm in Sources */, -@@ -41632,6 +41661,9 @@ +@@ -41696,6 +41724,9 @@ CE88EE262414467B007F29C2 /* TextAlternativeWithRange.mm in Sources */, BE39137129B267F500FA5D4F /* TextTransformCocoa.cpp in Sources */, 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, @@ -2546,7 +2587,7 @@ index 1d29265b3d4c2d9f27f0b0e9abbadef62f5b5b39..26760067772988145a752952c3112256 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 d03040fc82d17e0dff9bd6c158354911a9471238..923713dce16b4fa848b9404cf5390c255d103406 100644 +index 2a6bfd7d28b50388dde9695f30e8c7ee70f22194..45756c413fd77c35de2dab383f59b17f8846ea21 100644 --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityObject.cpp @@ -64,6 +64,7 @@ @@ -2557,7 +2598,7 @@ index d03040fc82d17e0dff9bd6c158354911a9471238..923713dce16b4fa848b9404cf5390c25 #include "LocalFrame.h" #include "LocalizedStrings.h" #include "MathMLNames.h" -@@ -3861,9 +3862,14 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const +@@ -3903,9 +3904,14 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const if (roleValue() == AccessibilityRole::ApplicationDialog) return AccessibilityObjectInclusion::IncludeObject; @@ -2574,19 +2615,6 @@ index d03040fc82d17e0dff9bd6c158354911a9471238..923713dce16b4fa848b9404cf5390c25 bool AccessibilityObject::accessibilityIsIgnored() const { AXComputedObjectAttributeCache* attributeCache = nullptr; -diff --git a/Source/WebCore/bindings/js/IDBBindingUtilities.cpp b/Source/WebCore/bindings/js/IDBBindingUtilities.cpp -index 22b679d638964ee52e822e01d4e597db82692ff0..b98d1de7f7905c63983032cf436e641ae0e42cbe 100644 ---- a/Source/WebCore/bindings/js/IDBBindingUtilities.cpp -+++ b/Source/WebCore/bindings/js/IDBBindingUtilities.cpp -@@ -475,7 +475,7 @@ static IndexKey::Data createKeyPathArray(JSGlobalObject& lexicalGlobalObject, JS - void generateIndexKeyForValue(JSGlobalObject& lexicalGlobalObject, const IDBIndexInfo& info, JSValue value, IndexKey& outKey, const std::optional& objectStoreKeyPath, const IDBKeyData& objectStoreKey) - { - auto keyDatas = createKeyPathArray(lexicalGlobalObject, value, info, objectStoreKeyPath, objectStoreKey); -- if (std::holds_alternative(keyDatas)) -+ if (std::holds_alternative(keyDatas)) - return; - - outKey = IndexKey(WTFMove(keyDatas)); diff --git a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h index 2db24fbae41f43e8f31e0560e9aaf422f7e45997..cd033ed79b1049302cc180ff105733b3a859b285 100644 --- a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h @@ -2601,13 +2629,13 @@ index 2db24fbae41f43e8f31e0560e9aaf422f7e45997..cd033ed79b1049302cc180ff105733b3 macro(DynamicsCompressorNode) \ macro(ElementInternals) \ diff --git a/Source/WebCore/css/query/MediaQueryFeatures.cpp b/Source/WebCore/css/query/MediaQueryFeatures.cpp -index b40c3214248cebffe812e2291c338c2a90e02c7a..5978fb6fa188d0ff0f6487f8b36914182359e0b8 100644 +index c8cd1e33d513dba6dfe45d22f1f6dbfc43cef47f..9bcfc669bcd1d2ac055922499b0bf43f062c7940 100644 --- a/Source/WebCore/css/query/MediaQueryFeatures.cpp +++ b/Source/WebCore/css/query/MediaQueryFeatures.cpp -@@ -369,7 +369,11 @@ const FeatureSchema& forcedColors() +@@ -370,7 +370,11 @@ const FeatureSchema& forcedColors() static MainThreadNeverDestroyed schema { "forced-colors"_s, - Vector { CSSValueNone, CSSValueActive }, + FixedVector { CSSValueNone, CSSValueActive }, - [](auto&) { + [](auto& context) { + auto* page = context.document.frame()->page(); @@ -2617,7 +2645,7 @@ index b40c3214248cebffe812e2291c338c2a90e02c7a..5978fb6fa188d0ff0f6487f8b3691418 return MatchingIdentifiers { CSSValueNone }; } }; -@@ -552,6 +556,9 @@ const FeatureSchema& prefersReducedMotion() +@@ -553,6 +557,9 @@ const FeatureSchema& prefersReducedMotion() [](auto& context) { bool userPrefersReducedMotion = [&] { auto& frame = *context.document.frame(); @@ -2628,10 +2656,10 @@ index b40c3214248cebffe812e2291c338c2a90e02c7a..5978fb6fa188d0ff0f6487f8b3691418 case ForcedAccessibilityValue::On: return true; diff --git a/Source/WebCore/dom/DataTransfer.cpp b/Source/WebCore/dom/DataTransfer.cpp -index c0d746b41650937256e73ff4cfab5db426658523..3e4d570e3e35dd31eefa9c80a56c2ca1315bf6ec 100644 +index b14fe9d1ba75d1f6aee2b5fbe60552e0eefd9875..5a22c89dc468511d6ab7862e9025ea16b142ed72 100644 --- a/Source/WebCore/dom/DataTransfer.cpp +++ b/Source/WebCore/dom/DataTransfer.cpp -@@ -511,6 +511,14 @@ Ref DataTransfer::createForDrag(const Document& document) +@@ -510,6 +510,14 @@ Ref DataTransfer::createForDrag(const Document& document) return adoptRef(*new DataTransfer(StoreMode::ReadWrite, Pasteboard::createForDragAndDrop(PagePasteboardContext::create(document.pageID())), Type::DragAndDropData)); } @@ -2971,7 +2999,7 @@ index 3a981b5bf5ca0bbf4d1c9f0b125564742cd8cad9..f8fc2ca6700461627933f149c5837075 } // namespace WebCore diff --git a/Source/WebCore/inspector/InspectorInstrumentation.cpp b/Source/WebCore/inspector/InspectorInstrumentation.cpp -index e3d0e7fc02ff131196a62f6469194e1e19b14182..398f9bc4f7ee3d85cb424218246ec72449b0fcaf 100644 +index 77762fb85ad8da6d9636fc62ef697df457d22d72..809848bf49fc3e4361a6054c5fad78f25f2b627b 100644 --- a/Source/WebCore/inspector/InspectorInstrumentation.cpp +++ b/Source/WebCore/inspector/InspectorInstrumentation.cpp @@ -601,6 +601,12 @@ void InspectorInstrumentation::applyUserAgentOverrideImpl(InstrumentingAgents& i @@ -3063,7 +3091,7 @@ index e3d0e7fc02ff131196a62f6469194e1e19b14182..398f9bc4f7ee3d85cb424218246ec724 #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) void InspectorInstrumentation::defaultAppearanceDidChangeImpl(InstrumentingAgents& instrumentingAgents) { -@@ -1048,6 +1057,12 @@ void InspectorInstrumentation::consoleStopRecordingCanvasImpl(InstrumentingAgent +@@ -1054,6 +1063,12 @@ void InspectorInstrumentation::consoleStopRecordingCanvasImpl(InstrumentingAgent canvasAgent->consoleStopRecordingCanvas(context); } @@ -3076,7 +3104,7 @@ index e3d0e7fc02ff131196a62f6469194e1e19b14182..398f9bc4f7ee3d85cb424218246ec724 void InspectorInstrumentation::didOpenDatabaseImpl(InstrumentingAgents& instrumentingAgents, Database& database) { if (auto* databaseAgent = instrumentingAgents.enabledDatabaseAgent()) -@@ -1348,6 +1363,36 @@ void InspectorInstrumentation::renderLayerDestroyedImpl(InstrumentingAgents& ins +@@ -1354,6 +1369,36 @@ void InspectorInstrumentation::renderLayerDestroyedImpl(InstrumentingAgents& ins layerTreeAgent->renderLayerDestroyed(renderLayer); } @@ -3113,7 +3141,7 @@ index e3d0e7fc02ff131196a62f6469194e1e19b14182..398f9bc4f7ee3d85cb424218246ec724 InstrumentingAgents& InspectorInstrumentation::instrumentingAgents(WorkerOrWorkletGlobalScope& globalScope) { return globalScope.inspectorController().m_instrumentingAgents; -@@ -1359,6 +1404,13 @@ InstrumentingAgents& InspectorInstrumentation::instrumentingAgents(Page& page) +@@ -1365,6 +1410,13 @@ InstrumentingAgents& InspectorInstrumentation::instrumentingAgents(Page& page) return page.inspectorController().m_instrumentingAgents.get(); } @@ -3128,7 +3156,7 @@ index e3d0e7fc02ff131196a62f6469194e1e19b14182..398f9bc4f7ee3d85cb424218246ec724 { if (is(context)) diff --git a/Source/WebCore/inspector/InspectorInstrumentation.h b/Source/WebCore/inspector/InspectorInstrumentation.h -index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db70993996d4cb9a 100644 +index 976fc9aad131795489c8bc2e5ae4bb9f1b730e51..32602f3c919c573ca13149cd52386dc63f84cec1 100644 --- a/Source/WebCore/inspector/InspectorInstrumentation.h +++ b/Source/WebCore/inspector/InspectorInstrumentation.h @@ -31,6 +31,7 @@ @@ -3193,9 +3221,9 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 static void consoleStopRecordingCanvas(CanvasRenderingContext&); + static void bindingCalled(Page& , JSC::JSGlobalObject*, const String& name, const String& arg); - static void didRequestAnimationFrame(Document&, int callbackId); - static void didCancelAnimationFrame(Document&, int callbackId); -@@ -323,6 +329,12 @@ public: + static void performanceMark(ScriptExecutionContext&, const String&, std::optional, LocalFrame*); + +@@ -325,6 +331,12 @@ public: static void layerTreeDidChange(Page*); static void renderLayerDestroyed(Page*, const RenderLayer&); @@ -3208,7 +3236,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 static void frontendCreated(); static void frontendDeleted(); static bool hasFrontends() { return InspectorInstrumentationPublic::hasFrontends(); } -@@ -339,6 +351,8 @@ public: +@@ -341,6 +353,8 @@ public: static void registerInstrumentingAgents(InstrumentingAgents&); static void unregisterInstrumentingAgents(InstrumentingAgents&); @@ -3217,7 +3245,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 private: static void didClearWindowObjectInWorldImpl(InstrumentingAgents&, LocalFrame&, DOMWrapperWorld&); static bool isDebuggerPausedImpl(InstrumentingAgents&); -@@ -418,6 +432,7 @@ private: +@@ -420,6 +434,7 @@ private: static void didRecalculateStyleImpl(InstrumentingAgents&); static void didScheduleStyleRecalculationImpl(InstrumentingAgents&, Document&); static void applyUserAgentOverrideImpl(InstrumentingAgents&, String&); @@ -3225,7 +3253,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 static void applyEmulatedMediaImpl(InstrumentingAgents&, AtomString&); static void flexibleBoxRendererBeganLayoutImpl(InstrumentingAgents&, const RenderObject&); -@@ -432,6 +447,7 @@ private: +@@ -434,6 +449,7 @@ private: static void didReceiveDataImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const SharedBuffer*, int encodedDataLength); static void didFinishLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*); static void didFailLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceError&); @@ -3233,7 +3261,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 static void willLoadXHRSynchronouslyImpl(InstrumentingAgents&); static void didLoadXHRSynchronouslyImpl(InstrumentingAgents&); static void scriptImportedImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const String& sourceString); -@@ -442,13 +458,13 @@ private: +@@ -444,13 +460,13 @@ private: static void frameDetachedFromParentImpl(InstrumentingAgents&, LocalFrame&); static void didCommitLoadImpl(InstrumentingAgents&, LocalFrame&, DocumentLoader*); static void frameDocumentUpdatedImpl(InstrumentingAgents&, LocalFrame&); @@ -3249,15 +3277,15 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) static void defaultAppearanceDidChangeImpl(InstrumentingAgents&); #endif -@@ -475,6 +491,7 @@ private: +@@ -477,6 +493,7 @@ private: static void stopProfilingImpl(InstrumentingAgents&, JSC::JSGlobalObject*, const String& title); static void consoleStartRecordingCanvasImpl(InstrumentingAgents&, CanvasRenderingContext&, JSC::JSGlobalObject&, JSC::JSObject* options); static void consoleStopRecordingCanvasImpl(InstrumentingAgents&, CanvasRenderingContext&); + static void bindingCalledImpl(InstrumentingAgents&, JSC::JSGlobalObject*, const String& name, const String& arg); - static void didRequestAnimationFrameImpl(InstrumentingAgents&, int callbackId, Document&); - static void didCancelAnimationFrameImpl(InstrumentingAgents&, int callbackId, Document&); -@@ -530,6 +547,12 @@ private: + static void performanceMarkImpl(InstrumentingAgents&, const String& label, std::optional, LocalFrame*); + +@@ -534,6 +551,12 @@ private: static void layerTreeDidChangeImpl(InstrumentingAgents&); static void renderLayerDestroyedImpl(InstrumentingAgents&, const RenderLayer&); @@ -3270,7 +3298,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 static InstrumentingAgents& instrumentingAgents(Page&); static InstrumentingAgents& instrumentingAgents(WorkerOrWorkletGlobalScope&); -@@ -1063,6 +1086,13 @@ inline void InspectorInstrumentation::applyUserAgentOverride(LocalFrame& frame, +@@ -1067,6 +1090,13 @@ inline void InspectorInstrumentation::applyUserAgentOverride(LocalFrame& frame, applyUserAgentOverrideImpl(*agents, userAgent); } @@ -3284,7 +3312,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 inline void InspectorInstrumentation::applyEmulatedMedia(LocalFrame& frame, AtomString& media) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1165,6 +1195,13 @@ inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& +@@ -1169,6 +1199,13 @@ inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& didFailLoadingImpl(instrumentingAgents(globalScope), identifier, nullptr, error); } @@ -3298,7 +3326,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(LocalFrame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response) { // Treat the same as didReceiveResponse. -@@ -1255,13 +1292,6 @@ inline void InspectorInstrumentation::frameDocumentUpdated(LocalFrame& frame) +@@ -1259,13 +1296,6 @@ inline void InspectorInstrumentation::frameDocumentUpdated(LocalFrame& frame) frameDocumentUpdatedImpl(*agents, frame); } @@ -3312,7 +3340,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 inline void InspectorInstrumentation::frameStartedLoading(LocalFrame& frame) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1283,11 +1313,11 @@ inline void InspectorInstrumentation::frameStoppedLoading(LocalFrame& frame) +@@ -1287,11 +1317,11 @@ inline void InspectorInstrumentation::frameStoppedLoading(LocalFrame& frame) frameStoppedLoadingImpl(*agents, frame); } @@ -3326,7 +3354,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 } inline void InspectorInstrumentation::frameClearedScheduledNavigation(Frame& frame) -@@ -1303,6 +1333,13 @@ inline void InspectorInstrumentation::accessibilitySettingsDidChange(Page& page) +@@ -1307,6 +1337,13 @@ inline void InspectorInstrumentation::accessibilitySettingsDidChange(Page& page) accessibilitySettingsDidChangeImpl(instrumentingAgents(page)); } @@ -3340,8 +3368,8 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) inline void InspectorInstrumentation::defaultAppearanceDidChange(Page& page) { -@@ -1677,6 +1714,11 @@ inline void InspectorInstrumentation::consoleStopRecordingCanvas(CanvasRendering - consoleStopRecordingCanvasImpl(*agents, context); +@@ -1688,6 +1725,11 @@ inline void InspectorInstrumentation::performanceMark(ScriptExecutionContext& co + performanceMarkImpl(*agents, label, WTFMove(startTime), frame); } +inline void InspectorInstrumentation::bindingCalled(Page& page, JSC::JSGlobalObject* globalObject, const String& name, const String& arg) @@ -3352,7 +3380,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 inline void InspectorInstrumentation::didRequestAnimationFrame(Document& document, int callbackId) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1733,6 +1775,42 @@ inline void InspectorInstrumentation::renderLayerDestroyed(Page* page, const Ren +@@ -1744,6 +1786,42 @@ inline void InspectorInstrumentation::renderLayerDestroyed(Page* page, const Ren renderLayerDestroyedImpl(*agents, renderLayer); } @@ -3396,7 +3424,7 @@ index f4579829b5ba02e407b9265a26e3360f9a3a4daa..d7b46ccce46c4191b286af05db709939 { return context ? instrumentingAgents(*context) : nullptr; diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp -index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac12502d0f27a 100644 +index 013473bef1ec4452204b3e686b2dc8dca815c72f..80813bf50fd9a7a5d92b4a137dc07bc1e942d780 100644 --- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp @@ -61,10 +61,14 @@ @@ -3429,9 +3457,9 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 #include "StaticNodeList.h" #include "StyleProperties.h" #include "StyleResolver.h" -@@ -133,7 +139,8 @@ using namespace HTMLNames; +@@ -134,7 +140,8 @@ using namespace HTMLNames; static const size_t maxTextSize = 10000; - static const UChar ellipsisUChar[] = { 0x2026, 0 }; + static const UChar horizontalEllipsisUChar[] = { horizontalEllipsis, 0 }; -static std::optional parseColor(RefPtr&& colorObject) +// static @@ -3439,7 +3467,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 { if (!colorObject) return std::nullopt; -@@ -152,7 +159,7 @@ static std::optional parseColor(RefPtr&& colorObject) +@@ -153,7 +160,7 @@ static std::optional parseColor(RefPtr&& colorObject) static std::optional parseRequiredConfigColor(const String& fieldName, JSON::Object& configObject) { @@ -3448,7 +3476,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 } static Color parseOptionalConfigColor(const String& fieldName, JSON::Object& configObject) -@@ -180,6 +187,20 @@ static bool parseQuad(Ref&& quadArray, FloatQuad* quad) +@@ -181,6 +188,20 @@ static bool parseQuad(Ref&& quadArray, FloatQuad* quad) return true; } @@ -3469,7 +3497,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 class RevalidateStyleAttributeTask { WTF_MAKE_FAST_ALLOCATED; public: -@@ -461,6 +482,20 @@ Node* InspectorDOMAgent::assertNode(Protocol::ErrorString& errorString, Protocol +@@ -457,6 +478,20 @@ Node* InspectorDOMAgent::assertNode(Protocol::ErrorString& errorString, Protocol return node; } @@ -3490,7 +3518,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 Document* InspectorDOMAgent::assertDocument(Protocol::ErrorString& errorString, Protocol::DOM::NodeId nodeId) { Node* node = assertNode(errorString, nodeId); -@@ -1536,16 +1571,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; @@ -3508,7 +3536,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 if (!node) return makeUnexpected(errorString); -@@ -1800,15 +1826,155 @@ Protocol::ErrorStringOr InspectorDOMAgent::setInspectedNode(Protocol::DOM: +@@ -1796,15 +1822,155 @@ Protocol::ErrorStringOr InspectorDOMAgent::setInspectedNode(Protocol::DOM: return { }; } @@ -3667,7 +3695,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 if (!object) return makeUnexpected("Missing injected script for given nodeId"_s); -@@ -3062,7 +3228,7 @@ Protocol::ErrorStringOr InspectorDOMAgent::pushNodeByPath +@@ -3058,7 +3224,7 @@ Protocol::ErrorStringOr InspectorDOMAgent::pushNodeByPath return makeUnexpected("Missing node for given path"_s); } @@ -3676,7 +3704,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 { Document* document = &node->document(); if (auto* templateHost = document->templateDocumentHost()) -@@ -3071,12 +3237,18 @@ RefPtr InspectorDOMAgent::resolveNode(Node* nod +@@ -3067,12 +3233,18 @@ RefPtr InspectorDOMAgent::resolveNode(Node* nod if (!frame) return nullptr; @@ -3698,7 +3726,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 } Node* InspectorDOMAgent::scriptValueAsNode(JSC::JSValue value) -@@ -3099,4 +3271,57 @@ Protocol::ErrorStringOr InspectorDOMAgent::setAllowEditingUserAgentShadowT +@@ -3095,4 +3267,57 @@ Protocol::ErrorStringOr InspectorDOMAgent::setAllowEditingUserAgentShadowT return { }; } @@ -3757,7 +3785,7 @@ index eb23c60fabfd012bd3e41d9f55a3c015ea6fbdae..57225822f7354c0f44c3d9ba282ac125 + } // namespace WebCore diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.h b/Source/WebCore/inspector/agents/InspectorDOMAgent.h -index 9cd98d4bfb8e3b15c995e8968f0052d498b8dff8..bd6d6930a71ce2f23f18f9ee096c86becc5ed9dc 100644 +index 1a37f64d732d700f38a5d5b51c2ca2645ad30eeb..ab544156dc0d711074b86f51e3c7e63abc5ee4a1 100644 --- a/Source/WebCore/inspector/agents/InspectorDOMAgent.h +++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.h @@ -57,6 +57,7 @@ namespace WebCore { @@ -3768,7 +3796,7 @@ index 9cd98d4bfb8e3b15c995e8968f0052d498b8dff8..bd6d6930a71ce2f23f18f9ee096c86be class DOMEditor; class Document; class Element; -@@ -89,6 +90,7 @@ public: +@@ -91,6 +92,7 @@ public: static String toErrorString(Exception&&); static String documentURLString(Document*); @@ -3776,7 +3804,7 @@ index 9cd98d4bfb8e3b15c995e8968f0052d498b8dff8..bd6d6930a71ce2f23f18f9ee096c86be // We represent embedded doms as a part of the same hierarchy. Hence we treat children of frame owners differently. // We also skip whitespace text nodes conditionally. Following methods encapsulate these specifics. -@@ -132,7 +134,7 @@ public: +@@ -134,7 +136,7 @@ public: Inspector::Protocol::ErrorStringOr> performSearch(const String& query, RefPtr&& nodeIds, std::optional&& caseSensitive); Inspector::Protocol::ErrorStringOr>> getSearchResults(const String& searchId, int fromIndex, int toIndex); Inspector::Protocol::ErrorStringOr discardSearchResults(const String& searchId); @@ -3785,7 +3813,7 @@ index 9cd98d4bfb8e3b15c995e8968f0052d498b8dff8..bd6d6930a71ce2f23f18f9ee096c86be Inspector::Protocol::ErrorStringOr>> getAttributes(Inspector::Protocol::DOM::NodeId); #if PLATFORM(IOS_FAMILY) Inspector::Protocol::ErrorStringOr setInspectModeEnabled(bool, RefPtr&& highlightConfig, RefPtr&& gridOverlayConfig, RefPtr&& flexOverlayConfig); -@@ -168,6 +170,10 @@ public: +@@ -170,6 +172,10 @@ public: Inspector::Protocol::ErrorStringOr focus(Inspector::Protocol::DOM::NodeId); Inspector::Protocol::ErrorStringOr setInspectedNode(Inspector::Protocol::DOM::NodeId); Inspector::Protocol::ErrorStringOr setAllowEditingUserAgentShadowTrees(bool); @@ -3796,16 +3824,16 @@ index 9cd98d4bfb8e3b15c995e8968f0052d498b8dff8..bd6d6930a71ce2f23f18f9ee096c86be // InspectorInstrumentation Inspector::Protocol::DOM::NodeId identifierForNode(Node&); -@@ -209,7 +215,7 @@ public: +@@ -211,7 +217,7 @@ public: Node* nodeForId(Inspector::Protocol::DOM::NodeId); Inspector::Protocol::DOM::NodeId boundNodeId(const Node*); - RefPtr resolveNode(Node*, const String& objectGroup); + RefPtr resolveNode(Node*, const String& objectGroup, std::optional&& contextId); bool handleMousePress(); - void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags); + void mouseDidMoveOverElement(const HitTestResult&, OptionSet); void inspect(Node*); -@@ -221,12 +227,15 @@ public: +@@ -223,12 +229,15 @@ public: void reset(); Node* assertNode(Inspector::Protocol::ErrorString&, Inspector::Protocol::DOM::NodeId); @@ -3821,7 +3849,7 @@ index 9cd98d4bfb8e3b15c995e8968f0052d498b8dff8..bd6d6930a71ce2f23f18f9ee096c86be private: #if ENABLE(VIDEO) void mediaMetricsTimerFired(); -@@ -256,7 +265,6 @@ private: +@@ -258,7 +267,6 @@ private: void processAccessibilityChildren(AXCoreObject&, JSON::ArrayOf&); Node* nodeForPath(const String& path); @@ -3830,7 +3858,7 @@ index 9cd98d4bfb8e3b15c995e8968f0052d498b8dff8..bd6d6930a71ce2f23f18f9ee096c86be void discardBindings(); diff --git a/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp b/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp -index 958e55d7ab1dd3503301a65d9a73f4086d61cca2..ef1d8212902787f8933ae8a8a34578521431e591 100644 +index 8b5f6a837b71d877d5c6e0c0e128169859716c63..ef1d8212902787f8933ae8a8a34578521431e591 100644 --- a/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp @@ -59,6 +59,7 @@ @@ -3861,61 +3889,7 @@ index 958e55d7ab1dd3503301a65d9a73f4086d61cca2..ef1d8212902787f8933ae8a8a3457852 if (resourceLoader) { auto* metrics = response.deprecatedNetworkLoadMetricsOrNull(); responseObject->setTiming(buildObjectForTiming(metrics ? *metrics : NetworkLoadMetrics::emptyMetrics(), *resourceLoader)); -@@ -471,22 +474,6 @@ void InspectorNetworkAgent::willSendRequest(ResourceLoaderIdentifier identifier, - auto loaderId = loaderIdentifier(loader); - String targetId = request.initiatorIdentifier(); - -- if (type == InspectorPageAgent::OtherResource) { -- if (m_loadingXHRSynchronously || request.requester() == ResourceRequestRequester::XHR) -- type = InspectorPageAgent::XHRResource; -- else if (request.requester() == ResourceRequestRequester::Fetch) -- type = InspectorPageAgent::FetchResource; -- else if (loader && equalIgnoringFragmentIdentifier(request.url(), loader->url()) && !loader->isCommitted()) -- type = InspectorPageAgent::DocumentResource; -- else if (loader) { -- for (auto& linkIcon : loader->linkIcons()) { -- if (equalIgnoringFragmentIdentifier(request.url(), linkIcon.url)) { -- type = InspectorPageAgent::ImageResource; -- break; -- } -- } -- } -- } - - m_resourcesData->resourceCreated(requestId, loaderId, type); - -@@ -528,9 +515,27 @@ static InspectorPageAgent::ResourceType resourceTypeForLoadType(InspectorInstrum - - void InspectorNetworkAgent::willSendRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource, ResourceLoader* resourceLoader) - { -- if (!cachedResource && loader) -- cachedResource = InspectorPageAgent::cachedResource(loader->frame(), request.url()); -- willSendRequest(identifier, loader, request, redirectResponse, resourceTypeForCachedResource(cachedResource), resourceLoader); -+ InspectorPageAgent::ResourceType type = InspectorPageAgent::OtherResource; -+ if (m_loadingXHRSynchronously || request.requester() == ResourceRequestRequester::XHR) -+ type = InspectorPageAgent::XHRResource; -+ else if (request.requester() == ResourceRequestRequester::Fetch) -+ type = InspectorPageAgent::FetchResource; -+ else if (loader && equalIgnoringFragmentIdentifier(request.url(), loader->url()) && !loader->isCommitted()) -+ type = InspectorPageAgent::DocumentResource; -+ else if (loader) { -+ for (auto& linkIcon : loader->linkIcons()) { -+ if (equalIgnoringFragmentIdentifier(request.url(), linkIcon.url)) { -+ type = InspectorPageAgent::ImageResource; -+ break; -+ } -+ } -+ } -+ if (type == InspectorPageAgent::OtherResource) { -+ if (!cachedResource && loader) -+ cachedResource = InspectorPageAgent::cachedResource(loader->frame(), request.url()); -+ type = resourceTypeForCachedResource(cachedResource); -+ } -+ willSendRequest(identifier, loader, request, redirectResponse, type, resourceLoader); - } - - void InspectorNetworkAgent::willSendRequestOfType(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, InspectorInstrumentation::LoadType loadType) -@@ -956,6 +961,7 @@ void InspectorNetworkAgent::continuePendingResponses() +@@ -958,6 +961,7 @@ void InspectorNetworkAgent::continuePendingResponses() Protocol::ErrorStringOr InspectorNetworkAgent::setExtraHTTPHeaders(Ref&& headers) { @@ -3923,7 +3897,7 @@ index 958e55d7ab1dd3503301a65d9a73f4086d61cca2..ef1d8212902787f8933ae8a8a3457852 for (auto& entry : headers.get()) { auto stringValue = entry.value->asString(); if (!!stringValue) -@@ -1236,6 +1242,9 @@ Protocol::ErrorStringOr InspectorNetworkAgent::interceptWithRequest(const +@@ -1238,6 +1242,9 @@ Protocol::ErrorStringOr InspectorNetworkAgent::interceptWithRequest(const return makeUnexpected("Missing pending intercept request for given requestId"_s); auto& loader = *pendingRequest->m_loader; @@ -3933,7 +3907,7 @@ index 958e55d7ab1dd3503301a65d9a73f4086d61cca2..ef1d8212902787f8933ae8a8a3457852 ResourceRequest request = loader.request(); if (!!url) request.setURL(URL({ }, url)); -@@ -1335,14 +1344,23 @@ Protocol::ErrorStringOr InspectorNetworkAgent::interceptRequestWithRespons +@@ -1337,14 +1344,23 @@ Protocol::ErrorStringOr InspectorNetworkAgent::interceptRequestWithRespons response.setHTTPStatusCode(status); response.setHTTPStatusText(AtomString { statusText }); HTTPHeaderMap explicitHeaders; @@ -3959,7 +3933,7 @@ index 958e55d7ab1dd3503301a65d9a73f4086d61cca2..ef1d8212902787f8933ae8a8a3457852 if (loader->reachedTerminalState()) return; -@@ -1405,6 +1423,12 @@ Protocol::ErrorStringOr InspectorNetworkAgent::setEmulatedConditions(std:: +@@ -1407,6 +1423,12 @@ Protocol::ErrorStringOr InspectorNetworkAgent::setEmulatedConditions(std:: #endif // ENABLE(INSPECTOR_NETWORK_THROTTLING) @@ -3994,7 +3968,7 @@ index c6ebcc9d7e399a35f71350c9374df0f2107c518b..3bfa03ae7f27d9128fe207c1de1bfea9 // InspectorInstrumentation void willRecalculateStyle(); diff --git a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp -index 2c8fa3981b36f9bd53320791c278c67049f9fae8..ed99c1104190d497bf57f300e3119a7d10ac4963 100644 +index 2c8fa3981b36f9bd53320791c278c67049f9fae8..5e0cf25e376b536e7d1f283441a73a99664401ca 100644 --- a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp @@ -32,19 +32,27 @@ @@ -4528,7 +4502,7 @@ index 2c8fa3981b36f9bd53320791c278c67049f9fae8..ed99c1104190d497bf57f300e3119a7d + if (element) + frame.selection().setSelection(VisibleSelection(resolveCharacterRange(makeRangeSelectingNodeContents(*element), range))); + } -+ frame.editor().setComposition(text, { }, { }, static_cast(selectionStart), selectionStart + selectionLength); ++ frame.editor().setComposition(text, { }, { }, { }, static_cast(selectionStart), selectionStart + selectionLength); + return { }; +} + @@ -5561,10 +5535,10 @@ index 21e33e46bdb1af8434527747e3c308cbe53f60f0..c17c4de17f439c04d27caa532771934c protected: static SameSiteInfo sameSiteInfo(const Document&, IsForDOMCookieAccess = IsForDOMCookieAccess::No); diff --git a/Source/WebCore/loader/DocumentLoader.cpp b/Source/WebCore/loader/DocumentLoader.cpp -index e2fbec049e671fe51adb60a83150e1d23e674088..0e4c1f2133fc506686dd039c0f12d5c8db607069 100644 +index 5fc154663300e0d1d0a342dea23a9d0e275b57fa..87ce081bfcd8a1d4bf065273378c611a2a9a975f 100644 --- a/Source/WebCore/loader/DocumentLoader.cpp +++ b/Source/WebCore/loader/DocumentLoader.cpp -@@ -743,8 +743,10 @@ void DocumentLoader::willSendRequest(ResourceRequest&& newRequest, const Resourc +@@ -733,8 +733,10 @@ void DocumentLoader::willSendRequest(ResourceRequest&& newRequest, const Resourc if (!didReceiveRedirectResponse) return completionHandler(WTFMove(newRequest)); @@ -5575,7 +5549,7 @@ index e2fbec049e671fe51adb60a83150e1d23e674088..0e4c1f2133fc506686dd039c0f12d5c8 switch (navigationPolicyDecision) { case NavigationPolicyDecision::IgnoreLoad: case NavigationPolicyDecision::StopAllLoads: -@@ -1521,8 +1523,6 @@ void DocumentLoader::detachFromFrame() +@@ -1511,8 +1513,6 @@ void DocumentLoader::detachFromFrame() if (!m_frame) return; @@ -5585,7 +5559,7 @@ index e2fbec049e671fe51adb60a83150e1d23e674088..0e4c1f2133fc506686dd039c0f12d5c8 } diff --git a/Source/WebCore/loader/DocumentLoader.h b/Source/WebCore/loader/DocumentLoader.h -index 9453e1ca4c6662090a08bf837db24e044a09226a..3f6a5700229b5ae4fb16303645da0e74259cac02 100644 +index 1db3877934eaaa75010bd16cb33af95d32d94595..3634bd4e972688394ab6274041a3e378ca71d0c2 100644 --- a/Source/WebCore/loader/DocumentLoader.h +++ b/Source/WebCore/loader/DocumentLoader.h @@ -187,9 +187,13 @@ public: @@ -5603,7 +5577,7 @@ index 9453e1ca4c6662090a08bf837db24e044a09226a..3f6a5700229b5ae4fb16303645da0e74 DocumentWriter& writer() const { return m_writer; } diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp -index dabfc8188950af6cf2eb67fff5817ed8efd6de82..fa7e24e7d278307ea3c543ad0284bb5b3a638b11 100644 +index 6c1b53509ac4ee47e8bd61fa37d83cdca6e58cfc..0cdb89685eecb21088871bbb81e0570fe98813d7 100644 --- a/Source/WebCore/loader/FrameLoader.cpp +++ b/Source/WebCore/loader/FrameLoader.cpp @@ -1214,6 +1214,7 @@ void FrameLoader::loadInSameDocument(URL url, RefPtr stat @@ -5614,7 +5588,7 @@ index dabfc8188950af6cf2eb67fff5817ed8efd6de82..fa7e24e7d278307ea3c543ad0284bb5b m_frame.document()->statePopped(stateObject ? stateObject.releaseNonNull() : SerializedScriptValue::nullValue()); m_client->dispatchDidPopStateWithinPage(); -@@ -1660,6 +1661,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1663,6 +1664,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t const String& httpMethod = loader->request().httpMethod(); if (shouldPerformFragmentNavigation(isFormSubmission, httpMethod, policyChecker().loadType(), newURL)) { @@ -5623,7 +5597,7 @@ index dabfc8188950af6cf2eb67fff5817ed8efd6de82..fa7e24e7d278307ea3c543ad0284bb5b RefPtr oldDocumentLoader = m_documentLoader; NavigationAction action { *m_frame.document(), loader->request(), InitiatedByMainFrame::Unknown, policyChecker().loadType(), isFormSubmission }; action.setIsRequestFromClientOrUserInput(loader->isRequestFromClientOrUserInput()); -@@ -1692,7 +1695,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1695,7 +1698,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t } RELEASE_ASSERT(!isBackForwardLoadType(policyChecker().loadType()) || history().provisionalItem()); @@ -5633,7 +5607,7 @@ index dabfc8188950af6cf2eb67fff5817ed8efd6de82..fa7e24e7d278307ea3c543ad0284bb5b continueLoadAfterNavigationPolicy(request, formState.get(), navigationPolicyDecision, allowNavigationToInvalidURL); completionHandler(); }, PolicyDecisionMode::Asynchronous); -@@ -2945,14 +2950,19 @@ String FrameLoader::userAgent(const URL& url) const +@@ -2948,14 +2953,19 @@ String FrameLoader::userAgent(const URL& url) const String FrameLoader::navigatorPlatform() const { @@ -5655,7 +5629,7 @@ index dabfc8188950af6cf2eb67fff5817ed8efd6de82..fa7e24e7d278307ea3c543ad0284bb5b } void FrameLoader::dispatchOnloadEvents() -@@ -3374,6 +3384,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) +@@ -3377,6 +3387,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) checkCompleted(); if (m_frame.page()) checkLoadComplete(); @@ -5664,7 +5638,7 @@ index dabfc8188950af6cf2eb67fff5817ed8efd6de82..fa7e24e7d278307ea3c543ad0284bb5b } void FrameLoader::continueFragmentScrollAfterNavigationPolicy(const ResourceRequest& request, const SecurityOrigin* requesterOrigin, bool shouldContinue) -@@ -4204,9 +4216,6 @@ String FrameLoader::referrer() const +@@ -4207,9 +4219,6 @@ String FrameLoader::referrer() const void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() { @@ -5674,7 +5648,7 @@ index dabfc8188950af6cf2eb67fff5817ed8efd6de82..fa7e24e7d278307ea3c543ad0284bb5b Vector> worlds; ScriptController::getAllWorlds(worlds); for (auto& world : worlds) -@@ -4215,13 +4224,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() +@@ -4218,13 +4227,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() void FrameLoader::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld& world) { @@ -5754,10 +5728,10 @@ index 258b45354b3f4c1854373c3cd2679d379fa60302..79c7abd308276ffec67686b145edc422 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 0a11887f8d97fd5c1791d224f88cc28a032031e0..2e757e4d68b567e4c90fbc8aee969d7bbd8c4af2 100644 +index d1569e3d301e25226c27bb9f9bc79d4570786814..ccebb47ab65f1859338d0269955c1067e6d80e58 100644 --- a/Source/WebCore/loader/cache/CachedResourceLoader.cpp +++ b/Source/WebCore/loader/cache/CachedResourceLoader.cpp -@@ -1011,8 +1011,11 @@ ResourceErrorOr> CachedResourceLoader::requ +@@ -1033,8 +1033,11 @@ ResourceErrorOr> CachedResourceLoader::requ request.updateReferrerPolicy(document() ? document()->referrerPolicy() : ReferrerPolicy::Default); @@ -5771,7 +5745,7 @@ index 0a11887f8d97fd5c1791d224f88cc28a032031e0..2e757e4d68b567e4c90fbc8aee969d7b auto& page = *frame.page(); -@@ -1657,8 +1660,9 @@ Vector> CachedResourceLoader::allCachedSVGImages() const +@@ -1681,8 +1684,9 @@ Vector> CachedResourceLoader::allCachedSVGImages() const ResourceErrorOr> CachedResourceLoader::preload(CachedResource::Type type, CachedResourceRequest&& request) { @@ -5781,10 +5755,10 @@ index 0a11887f8d97fd5c1791d224f88cc28a032031e0..2e757e4d68b567e4c90fbc8aee969d7b + // if (InspectorInstrumentation::willIntercept(frame(), request.resourceRequest())) + // return makeUnexpected(ResourceError { errorDomainWebKitInternal, 0, request.resourceRequest().url(), "Inspector intercept"_s }); - if (request.charset().isEmpty() && (type == CachedResource::Type::Script || type == CachedResource::Type::CSSStyleSheet)) - request.setCharset(m_document->charset()); + 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 e8ace8c734502a5d491379f2d7a993322825fa46..959932d69d746f2f12637feaa4e04a67fa8880d3 100644 +index 646b0bc5523becda57dc9e9f89048c8b4b84dd50..ec7940e80688e2519cc3b7b85dcd55070525859f 100644 --- a/Source/WebCore/page/ChromeClient.h +++ b/Source/WebCore/page/ChromeClient.h @@ -325,7 +325,7 @@ public: @@ -5797,7 +5771,7 @@ index e8ace8c734502a5d491379f2d7a993322825fa46..959932d69d746f2f12637feaa4e04a67 #if ENABLE(INPUT_TYPE_COLOR) diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp -index 021ad598ec0873d8f0c2a2c6c6ee7ebf345ad805..3109f224e68a3df4ef587cd80b0f5701701b1455 100644 +index 9288d530a995287d0c13a11a7bb34f51872513e9..069f11cefa8eaa12f4ec85f82bf2158ee69d9021 100644 --- a/Source/WebCore/page/EventHandler.cpp +++ b/Source/WebCore/page/EventHandler.cpp @@ -144,6 +144,7 @@ @@ -6052,7 +6026,7 @@ index 5f85bb24166b1c1805323fcbb34144be3191643b..09d2782e3961d70b9483a77e0c12923b struct SnapshotOptions { diff --git a/Source/WebCore/page/History.cpp b/Source/WebCore/page/History.cpp -index 81bd9a039ff42ed2ce7c651bae1890b7498539fb..9e3675205598ad773ba4f96aa75098af267c4d3e 100644 +index 72b201f2990b6c03a4e18ce9f43292b1503752b6..66ba2df4a49153078273106d666410f2116a3c52 100644 --- a/Source/WebCore/page/History.cpp +++ b/Source/WebCore/page/History.cpp @@ -31,6 +31,7 @@ @@ -6072,7 +6046,7 @@ index 81bd9a039ff42ed2ce7c651bae1890b7498539fb..9e3675205598ad773ba4f96aa75098af 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 9dcbd3964008c12be7a472008fd4b2d3dc5f9fce..478a9562600b001e45b399b7a2a2fbae7d170f8b 100644 +index c5694ec27a902572f12524605c9f523f0669e4d9..781ed5c29712cc4bcbabd6907435ba91c3e0ad5f 100644 --- a/Source/WebCore/page/LocalFrame.cpp +++ b/Source/WebCore/page/LocalFrame.cpp @@ -40,6 +40,7 @@ @@ -6559,10 +6533,10 @@ index dcb779a5605d9cff6e0fb195a5e0c9e3b7bd4269..6ecb28dc92137845d112ac59d58df36c ViewportArguments m_viewportArguments; diff --git a/Source/WebCore/page/Page.cpp b/Source/WebCore/page/Page.cpp -index 89c9ad91a677a3da71afaa35f7f9822596c871f5..773cb8c0f9250e9243df2ac6977c9343d9468528 100644 +index 985a4517c725d4e07825c44dcee5116d461d42f9..cf72d447ecfa3846f11f87bb74b35e2225e7fb71 100644 --- a/Source/WebCore/page/Page.cpp +++ b/Source/WebCore/page/Page.cpp -@@ -517,6 +517,45 @@ void Page::setOverrideViewportArguments(const std::optional& +@@ -519,6 +519,45 @@ void Page::setOverrideViewportArguments(const std::optional& document->updateViewportArguments(); } @@ -6608,7 +6582,7 @@ index 89c9ad91a677a3da71afaa35f7f9822596c871f5..773cb8c0f9250e9243df2ac6977c9343 ScrollingCoordinator* Page::scrollingCoordinator() { if (!m_scrollingCoordinator && m_settings->scrollingCoordinatorEnabled()) { -@@ -3687,6 +3726,26 @@ void Page::setUseDarkAppearanceOverride(std::optional valueOverride) +@@ -3713,6 +3752,26 @@ void Page::setUseDarkAppearanceOverride(std::optional valueOverride) #endif } @@ -6636,10 +6610,10 @@ index 89c9ad91a677a3da71afaa35f7f9822596c871f5..773cb8c0f9250e9243df2ac6977c9343 { if (insets == m_fullscreenInsets) diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h -index 0d1c45acfce092af08d7f8489b5d8c97a33ced13..b841ebb198e258b0498fcf33cdc63b96178dee5a 100644 +index 824020d9cf17b09db8a58466b9bc32e7da9734f5..dde1cb78d02c19691ddfe02d07d8045f12b982b8 100644 --- a/Source/WebCore/page/Page.h +++ b/Source/WebCore/page/Page.h -@@ -311,6 +311,9 @@ public: +@@ -312,6 +312,9 @@ public: const std::optional& overrideViewportArguments() const { return m_overrideViewportArguments; } WEBCORE_EXPORT void setOverrideViewportArguments(const std::optional&); @@ -6649,7 +6623,7 @@ index 0d1c45acfce092af08d7f8489b5d8c97a33ced13..b841ebb198e258b0498fcf33cdc63b96 static void refreshPlugins(bool reload); WEBCORE_EXPORT PluginData& pluginData(); void clearPluginData(); -@@ -369,6 +372,10 @@ public: +@@ -373,6 +376,10 @@ public: #if ENABLE(DRAG_SUPPORT) DragController& dragController() { return m_dragController.get(); } const DragController& dragController() const { return m_dragController.get(); } @@ -6660,7 +6634,7 @@ index 0d1c45acfce092af08d7f8489b5d8c97a33ced13..b841ebb198e258b0498fcf33cdc63b96 #endif FocusController& focusController() const { return *m_focusController; } #if ENABLE(CONTEXT_MENUS) -@@ -538,6 +545,10 @@ public: +@@ -543,6 +550,10 @@ public: WEBCORE_EXPORT void effectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel); bool defaultUseDarkAppearance() const { return m_useDarkAppearance; } void setUseDarkAppearanceOverride(std::optional); @@ -6671,7 +6645,7 @@ index 0d1c45acfce092af08d7f8489b5d8c97a33ced13..b841ebb198e258b0498fcf33cdc63b96 #if ENABLE(TEXT_AUTOSIZING) float textAutosizingWidth() const { return m_textAutosizingWidth; } -@@ -974,6 +985,11 @@ public: +@@ -979,6 +990,11 @@ public: WEBCORE_EXPORT void setInteractionRegionsEnabled(bool); #endif @@ -6683,7 +6657,7 @@ index 0d1c45acfce092af08d7f8489b5d8c97a33ced13..b841ebb198e258b0498fcf33cdc63b96 #if ENABLE(DEVICE_ORIENTATION) && PLATFORM(IOS_FAMILY) DeviceOrientationUpdateProvider* deviceOrientationUpdateProvider() const { return m_deviceOrientationUpdateProvider.get(); } #endif -@@ -1112,6 +1128,9 @@ private: +@@ -1115,6 +1131,9 @@ private: #if ENABLE(DRAG_SUPPORT) UniqueRef m_dragController; @@ -6693,7 +6667,7 @@ index 0d1c45acfce092af08d7f8489b5d8c97a33ced13..b841ebb198e258b0498fcf33cdc63b96 #endif std::unique_ptr m_focusController; #if ENABLE(CONTEXT_MENUS) -@@ -1193,6 +1212,8 @@ private: +@@ -1196,6 +1215,8 @@ private: bool m_useElevatedUserInterfaceLevel { false }; bool m_useDarkAppearance { false }; std::optional m_useDarkAppearanceOverride; @@ -6702,7 +6676,7 @@ index 0d1c45acfce092af08d7f8489b5d8c97a33ced13..b841ebb198e258b0498fcf33cdc63b96 #if ENABLE(TEXT_AUTOSIZING) float m_textAutosizingWidth { 0 }; -@@ -1371,6 +1392,11 @@ private: +@@ -1370,6 +1391,11 @@ private: #endif std::optional m_overrideViewportArguments; @@ -6792,11 +6766,11 @@ index 9ec307bf796452e21c695116d1f678e1d9916709..b47ed65e85cf9cbb0d32d6199a9b1c1c #endif ; diff --git a/Source/WebCore/page/Screen.cpp b/Source/WebCore/page/Screen.cpp -index 3161bc20838183906a01e85f0c1feedc82f34ce7..64f5ae86238b2621f5d1895eaae2b6077ab82a4a 100644 +index 11af362d3018851cb8258419f3e0d3e01ea369c0..9ec64d3c88bf37ad423aa613bae557d7a65c06fa 100644 --- a/Source/WebCore/page/Screen.cpp +++ b/Source/WebCore/page/Screen.cpp @@ -110,6 +110,9 @@ int Screen::availLeft() const - if (isLoadingInHeadlessMode(*frame)) + if (fingerprintingProtectionsEnabled(*frame)) return 0; + if (frame->hasScreenSizeOverride()) @@ -6806,7 +6780,7 @@ index 3161bc20838183906a01e85f0c1feedc82f34ce7..64f5ae86238b2621f5d1895eaae2b607 } @@ -125,6 +128,9 @@ int Screen::availTop() const - if (isLoadingInHeadlessMode(*frame)) + if (fingerprintingProtectionsEnabled(*frame)) return 0; + if (frame->hasScreenSizeOverride()) @@ -6816,7 +6790,7 @@ index 3161bc20838183906a01e85f0c1feedc82f34ce7..64f5ae86238b2621f5d1895eaae2b607 } @@ -140,6 +146,9 @@ int Screen::availHeight() const - if (isLoadingInHeadlessMode(*frame)) + if (fingerprintingProtectionsEnabled(*frame)) return static_cast(frame->screenSize().height()); + if (frame->hasScreenSizeOverride()) @@ -6826,7 +6800,7 @@ index 3161bc20838183906a01e85f0c1feedc82f34ce7..64f5ae86238b2621f5d1895eaae2b607 } @@ -155,6 +164,9 @@ int Screen::availWidth() const - if (isLoadingInHeadlessMode(*frame)) + if (fingerprintingProtectionsEnabled(*frame)) return static_cast(frame->screenSize().width()); + if (frame->hasScreenSizeOverride()) @@ -6836,10 +6810,10 @@ index 3161bc20838183906a01e85f0c1feedc82f34ce7..64f5ae86238b2621f5d1895eaae2b607 } diff --git a/Source/WebCore/page/csp/ContentSecurityPolicy.cpp b/Source/WebCore/page/csp/ContentSecurityPolicy.cpp -index 90e90260c6a653ade7cfda34b9a1079f18554589..bce4219f7d0fdbf6cfe43bded7c038e33020ad41 100644 +index bec95675125dc0993e1481871edb046d82dfbd98..7c0bc1cf3a9d9ec0378cc5e05089acd4009b58cd 100644 --- a/Source/WebCore/page/csp/ContentSecurityPolicy.cpp +++ b/Source/WebCore/page/csp/ContentSecurityPolicy.cpp -@@ -337,6 +337,8 @@ bool ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtoc +@@ -336,6 +336,8 @@ bool ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtoc template typename std::enable_if::value, bool>::type ContentSecurityPolicy::allPoliciesWithDispositionAllow(Disposition disposition, Predicate&& predicate, Args&&... args) const { @@ -6848,7 +6822,7 @@ index 90e90260c6a653ade7cfda34b9a1079f18554589..bce4219f7d0fdbf6cfe43bded7c038e3 bool isReportOnly = disposition == ContentSecurityPolicy::Disposition::ReportOnly; for (auto& policy : m_policies) { if (policy->isReportOnly() != isReportOnly) -@@ -350,6 +352,8 @@ typename std::enable_if bool ContentSecurityPolicy::allPoliciesWithDispositionAllow(Disposition disposition, ViolatedDirectiveCallback&& callback, Predicate&& predicate, Args&&... args) const { @@ -6857,7 +6831,7 @@ index 90e90260c6a653ade7cfda34b9a1079f18554589..bce4219f7d0fdbf6cfe43bded7c038e3 bool isReportOnly = disposition == ContentSecurityPolicy::Disposition::ReportOnly; bool isAllowed = true; for (auto& policy : m_policies) { -@@ -366,6 +370,8 @@ bool ContentSecurityPolicy::allPoliciesWithDispositionAllow(Disposition disposit +@@ -365,6 +369,8 @@ bool ContentSecurityPolicy::allPoliciesWithDispositionAllow(Disposition disposit template bool ContentSecurityPolicy::allPoliciesAllow(ViolatedDirectiveCallback&& callback, Predicate&& predicate, Args&&... args) const { @@ -7171,7 +7145,7 @@ index 44799e0b2a93cbcf25f4315d62a3d95896c02f3d..ec593ea30f6e45c355f5d6806290f246 namespace WTF { diff --git a/Source/WebCore/platform/adwaita/ScrollbarThemeAdwaita.cpp b/Source/WebCore/platform/adwaita/ScrollbarThemeAdwaita.cpp -index 6016d84a982356c6c89d8719158346fd181dc0f6..572be8257134f190aed7befd548120fc6041b37c 100644 +index 62df6fb981bd1543adff14632408979a804217f3..b78a9effdcf473d7af71684a2039ef3e7141b9b9 100644 --- a/Source/WebCore/platform/adwaita/ScrollbarThemeAdwaita.cpp +++ b/Source/WebCore/platform/adwaita/ScrollbarThemeAdwaita.cpp @@ -43,7 +43,7 @@ @@ -8251,7 +8225,7 @@ index 20f53a73e854e739a3289af2ee8fa979b5397460..db0c94f1b37b7930e9c95b5677705ead WEBCORE_EXPORT void setCookie(const Cookie&); WEBCORE_EXPORT void setCookies(const Vector&, const URL&, const URL& mainDocumentURL); diff --git a/Source/WebCore/platform/network/ResourceResponseBase.cpp b/Source/WebCore/platform/network/ResourceResponseBase.cpp -index 1c8c44d16ab8bb361d416ba1e5c1f0145327e07f..4c28fa8a267403a834918576a3c679f354f0f9c4 100644 +index 833d331c5d7f780dd4be21fa000ab19d196566e5..1c7269554100544db2b8754bcb8e41f591dddeec 100644 --- a/Source/WebCore/platform/network/ResourceResponseBase.cpp +++ b/Source/WebCore/platform/network/ResourceResponseBase.cpp @@ -74,6 +74,7 @@ ResourceResponseBase::ResourceResponseBase(std::optional> httpStatusCode; if (!httpStatusCode) diff --git a/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm b/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm -index df4dcc2be66c6a9b5167133e8bcbf40122f38008..70fe07087e8145398c1b38aa3d439c5c7a144e05 100644 +index 0143ce4b5cbccc652b8858f6611ef099a7bfee2c..14db22fab473f2926f9b23e0e4c119c69be82539 100644 --- a/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm +++ b/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm -@@ -481,6 +481,22 @@ void NetworkStorageSession::setCookiesFromDOM(const URL& firstParty, const SameS +@@ -476,6 +476,22 @@ void NetworkStorageSession::setCookiesFromDOM(const URL& firstParty, const SameS END_BLOCK_OBJC_EXCEPTIONS } @@ -8453,10 +8427,10 @@ index 6f4684a843d58cb107030bc461767bc069fea0b9..ff4b6b3a1fbe4c41ba0bfb389d887ecb { switch (cookieDatabase().acceptPolicy()) { diff --git a/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp b/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp -index ad7471cbd809b2c9b8bedeab15ead1f9d824b8e3..07ce9246c343d18602b31481f6df0c8603d15ba2 100644 +index 5b846eb656172e452909d1cb2766b93cabd431b0..235969dae4d2c605cb6883b57eb4977f83caaf52 100644 --- a/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp +++ b/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp -@@ -410,6 +410,30 @@ void NetworkStorageSession::setCookie(const Cookie& cookie) +@@ -409,6 +409,30 @@ void NetworkStorageSession::setCookie(const Cookie& cookie) soup_cookie_jar_add_cookie(cookieStorage(), cookie.toSoupCookie()); } @@ -8488,7 +8462,7 @@ index ad7471cbd809b2c9b8bedeab15ead1f9d824b8e3..07ce9246c343d18602b31481f6df0c86 { GUniquePtr targetCookie(cookie.toSoupCookie()); diff --git a/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp b/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp -index 8456841cafdaf4d99be5b490afc67e28b03a8b42..51be5ab0fccca21aea4ccc7acf6c9f49b5577e4f 100644 +index 141fc2762f9ea1b56f706542dbc319d331fb23e4..59ac2caad62cac585d5f59f799db770fcb63de85 100644 --- a/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp +++ b/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp @@ -39,6 +39,7 @@ @@ -8578,7 +8552,7 @@ index 6350161d8c2cd0832f68883b98615e7c52630c75..f20f5c90459ec160e990eccf902cb028 OptionSet PlatformKeyboardEvent::currentStateOfModifierKeys() diff --git a/Source/WebCore/platform/win/PasteboardWin.cpp b/Source/WebCore/platform/win/PasteboardWin.cpp -index c4aea7f4acf1d81d064156addf8fbfebda0ced76..478bf6c806d107642f7f91debe388e7ef91ddd65 100644 +index 9cfe7fe6a51ab15834082822f523fb92204531a5..dd1c2153b865a9dd558df20462884422fe2ad84e 100644 --- a/Source/WebCore/platform/win/PasteboardWin.cpp +++ b/Source/WebCore/platform/win/PasteboardWin.cpp @@ -1129,7 +1129,21 @@ void Pasteboard::writeCustomData(const Vector& data) @@ -8631,7 +8605,7 @@ index c4aea7f4acf1d81d064156addf8fbfebda0ced76..478bf6c806d107642f7f91debe388e7e } // namespace WebCore diff --git a/Source/WebCore/platform/wpe/DragDataWPE.cpp b/Source/WebCore/platform/wpe/DragDataWPE.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..07fb260a5203167fdf94a552949394bb73ca8c61 +index 0000000000000000000000000000000000000000..f8fc3fa43bfe62a1c066689f48ddabaaa357a437 --- /dev/null +++ b/Source/WebCore/platform/wpe/DragDataWPE.cpp @@ -0,0 +1,87 @@ @@ -8712,7 +8686,7 @@ index 0000000000000000000000000000000000000000..07fb260a5203167fdf94a552949394bb + if (!m_platformDragData->hasURL()) + return String(); + if (filenamePolicy != ConvertFilenames) { -+ if (m_platformDragData->url().isLocalFile()) ++ if (m_platformDragData->url().protocolIsFile()) + return { }; + } + @@ -8822,7 +8796,7 @@ index bbdd1ce76241d933ada9c43fabae4912cbfa64e1..e6ae01a77350c519b203f6ed2910f638 } diff --git a/Source/WebCore/platform/wpe/SelectionData.cpp b/Source/WebCore/platform/wpe/SelectionData.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..463651fa9ccf106a0fdd75db1aa747b4f760c06e +index 0000000000000000000000000000000000000000..39756417d475f3aae77c2f3d7772a71a6e1bec57 --- /dev/null +++ b/Source/WebCore/platform/wpe/SelectionData.cpp @@ -0,0 +1,134 @@ @@ -8883,7 +8857,7 @@ index 0000000000000000000000000000000000000000..463651fa9ccf106a0fdd75db1aa747b4 + // from the URI list. + bool setURL = hasURL(); + for (auto& line : uriListString.split('\n')) { -+ line = line.stripLeadingAndTrailingCharacters(deprecatedIsSpaceOrNewline); ++ line = line.trim(deprecatedIsSpaceOrNewline); + if (line.isEmpty()) + continue; + if (line[0] == '#') @@ -9049,10 +9023,10 @@ index 0000000000000000000000000000000000000000..cf2b51f6f02837a1106f4d999f2f130e + +} // namespace WebCore diff --git a/Source/WebCore/rendering/RenderTextControl.cpp b/Source/WebCore/rendering/RenderTextControl.cpp -index 6cf00050808db44c0cca58ee6a10ae617b8d3e1e..4a2bc192b03c8f16c49b469d9f354db8dc8110ed 100644 +index 9928b9733fb7152b3fdcb357b086950f15bd39e2..8a54795f463a9f3c746bcf5f2d7966f40f37f48f 100644 --- a/Source/WebCore/rendering/RenderTextControl.cpp +++ b/Source/WebCore/rendering/RenderTextControl.cpp -@@ -227,13 +227,13 @@ void RenderTextControl::layoutExcludedChildren(bool relayoutChildren) +@@ -209,13 +209,13 @@ void RenderTextControl::layoutExcludedChildren(bool relayoutChildren) } } @@ -9068,7 +9042,7 @@ index 6cf00050808db44c0cca58ee6a10ae617b8d3e1e..4a2bc192b03c8f16c49b469d9f354db8 { auto innerText = innerTextElement(); diff --git a/Source/WebCore/rendering/RenderTextControl.h b/Source/WebCore/rendering/RenderTextControl.h -index 4aec4c8060348ed41d04a1b1b576f15643db4364..801a5515e4fd3f52e48bdb411ae5d028b6ca0700 100644 +index 1497fa9cf6222fe02f84b9b13ce60cc51f301206..a4095a4d6f0b49e0a3a105597d69184380df9e42 100644 --- a/Source/WebCore/rendering/RenderTextControl.h +++ b/Source/WebCore/rendering/RenderTextControl.h @@ -36,9 +36,9 @@ public: @@ -9106,7 +9080,7 @@ index 1d8488e0d36288e09cd5662bd7f770ade95dfee3..dee07f87b47d62d4ef8ede45824bdb2f WorkerOrWorkletGlobalScope& m_globalScope; }; diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp -index 242dc0292659abe638dbefc6918bed92c7e436e2..4c9e1af501d24a1c76415443293623ad813e8dbc 100644 +index 7d486b2de793d21d30f321d420a29f89baec6f44..633281c669a04ea82ec38498b6473e1b2b4b0a2a 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp @@ -88,6 +88,8 @@ @@ -9134,10 +9108,10 @@ index 242dc0292659abe638dbefc6918bed92c7e436e2..4c9e1af501d24a1c76415443293623ad void NetworkConnectionToWebProcess::removeStorageAccessForFrame(FrameIdentifier frameID, PageIdentifier pageID) { diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -index dcf3ed999b0197d99a5ef6217fb13166e5714ac3..9f42dccb69145a9c4f6efbf12e3b25236727a28f 100644 +index 8f8404e972d83f10e7056e7e565444fa61525da6..b364a2d80ed81d690a6e290158e109fbaf20eff3 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -@@ -313,6 +313,8 @@ private: +@@ -315,6 +315,8 @@ private: void clearPageSpecificData(WebCore::PageIdentifier); @@ -9147,7 +9121,7 @@ index dcf3ed999b0197d99a5ef6217fb13166e5714ac3..9f42dccb69145a9c4f6efbf12e3b2523 void removeStorageAccessForFrame(WebCore::FrameIdentifier, WebCore::PageIdentifier); diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in -index 178a5009f929a4a7c0b6d4f6b9ce313fbdf40b9e..812c7288a0efa2c685ed91f1fefaf90997c8de1e 100644 +index 86598367c83e5bf26908c356d40136bd10223e60..0b688299bbddee2839c5f8f2dea0222f13768603 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in @@ -65,6 +65,8 @@ messages -> NetworkConnectionToWebProcess LegacyReceiver { @@ -9160,10 +9134,10 @@ index 178a5009f929a4a7c0b6d4f6b9ce313fbdf40b9e..812c7288a0efa2c685ed91f1fefaf909 RemoveStorageAccessForFrame(WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID); LogUserInteraction(WebCore::RegistrableDomain domain) diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.cpp b/Source/WebKit/NetworkProcess/NetworkProcess.cpp -index 23f9ba7a180081c95bc6b9810b2e18972788d9d6..6f90e47099c1cc99ae6b6132acd198014e4f9a6b 100644 +index 8252b34563c547e9a5c3cb051b40944df4b34fcc..37a61cfde8908156ac743056ef40b8633a215014 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkProcess.cpp -@@ -633,6 +633,12 @@ void NetworkProcess::registrableDomainsExemptFromWebsiteDataDeletion(PAL::Sessio +@@ -619,6 +619,12 @@ void NetworkProcess::registrableDomainsExemptFromWebsiteDataDeletion(PAL::Sessio completionHandler({ }); } @@ -9220,7 +9194,7 @@ index 1590992ea4d62ac5dd49ef2e29a980a3c028b343..ede7220f254538a870281b07e1673cd0 ClearPrevalentResource(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () ClearUserInteraction(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () diff --git a/Source/WebKit/NetworkProcess/NetworkSession.h b/Source/WebKit/NetworkProcess/NetworkSession.h -index 69fe24f09138eecff8633acfe4a532c73f800187..08d284b8e8462657f2d58ea44777669f322d2002 100644 +index f25fbd4279dd7a331a2fd1c91154110e196684f3..f174ca2fe43edaa875b18a5d5b77942b9d468767 100644 --- a/Source/WebKit/NetworkProcess/NetworkSession.h +++ b/Source/WebKit/NetworkProcess/NetworkSession.h @@ -204,6 +204,9 @@ public: @@ -9242,10 +9216,10 @@ index 69fe24f09138eecff8633acfe4a532c73f800187..08d284b8e8462657f2d58ea44777669f HashSet> m_keptAliveLoads; diff --git a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm -index cfe2b53558564ca9de52c01a2182900960ce1fad..b5a09289d597cf2af265ee357be4749c98de1561 100644 +index 9ae812cfd5da2f6b6a6712c78e67a8a1c303633a..ff5119d65ed8f369b2c0f0763367697d3f8c1a07 100644 --- a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm +++ b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm -@@ -751,7 +751,7 @@ - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didRece +@@ -761,7 +761,7 @@ - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didRece if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { sessionCocoa->setClientAuditToken(challenge); @@ -9254,7 +9228,7 @@ index cfe2b53558564ca9de52c01a2182900960ce1fad..b5a09289d597cf2af265ee357be4749c return completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]); NSURLSessionTaskTransactionMetrics *metrics = task._incompleteTaskMetrics.transactionMetrics.lastObject; -@@ -1092,6 +1092,13 @@ ALLOW_DEPRECATED_DECLARATIONS_END +@@ -1102,6 +1102,13 @@ ALLOW_DEPRECATED_DECLARATIONS_END resourceResponse.setDeprecatedNetworkLoadMetrics(WebCore::copyTimingData(taskMetrics, networkDataTask->networkLoadMetrics())); @@ -9269,10 +9243,10 @@ index cfe2b53558564ca9de52c01a2182900960ce1fad..b5a09289d597cf2af265ee357be4749c #if !LOG_DISABLED LOG(NetworkSession, "%llu didReceiveResponse completionHandler (%d)", taskIdentifier, policyAction); diff --git a/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp b/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp -index ed3b63e49436fa7d84a07cf6bd2d1042b75c5833..20484b326d23b5eac610cf2da37e9623655cb8eb 100644 +index 784680cd200ebfa8b74e05aa02b25f71788b411c..dcf9a9d5a08bebe63e19beb801c8353c06c97184 100644 --- a/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp +++ b/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp -@@ -85,12 +85,20 @@ NetworkDataTaskCurl::NetworkDataTaskCurl(NetworkSession& session, NetworkDataTas +@@ -84,10 +84,18 @@ NetworkDataTaskCurl::NetworkDataTaskCurl(NetworkSession& session, NetworkDataTas #endif restrictRequestReferrerToOriginIfNeeded(request); @@ -9292,13 +9266,10 @@ index ed3b63e49436fa7d84a07cf6bd2d1042b75c5833..20484b326d23b5eac610cf2da37e9623 + } + if (m_session->ignoreCertificateErrors()) + m_curlRequest->disableServerTrustEvaluation(); -+ m_curlRequest->start(); } -- m_curlRequest->start(); } - NetworkDataTaskCurl::~NetworkDataTaskCurl() -@@ -167,6 +175,7 @@ void NetworkDataTaskCurl::curlDidReceiveResponse(CurlRequest& request, CurlRespo +@@ -165,6 +173,7 @@ void NetworkDataTaskCurl::curlDidReceiveResponse(CurlRequest& request, CurlRespo updateNetworkLoadMetrics(receivedResponse.networkLoadMetrics); m_response.setDeprecatedNetworkLoadMetrics(Box::create(WTFMove(receivedResponse.networkLoadMetrics))); @@ -9306,7 +9277,7 @@ index ed3b63e49436fa7d84a07cf6bd2d1042b75c5833..20484b326d23b5eac610cf2da37e9623 handleCookieHeaders(request.resourceRequest(), receivedResponse); -@@ -284,6 +293,36 @@ bool NetworkDataTaskCurl::shouldRedirectAsGET(const ResourceRequest& request, bo +@@ -282,6 +291,36 @@ bool NetworkDataTaskCurl::shouldRedirectAsGET(const ResourceRequest& request, bo return false; } @@ -9343,7 +9314,7 @@ index ed3b63e49436fa7d84a07cf6bd2d1042b75c5833..20484b326d23b5eac610cf2da37e9623 void NetworkDataTaskCurl::invokeDidReceiveResponse() { didReceiveResponse(ResourceResponse(m_response), NegotiatedLegacyTLS::No, PrivateRelayed::No, [this, protectedThis = Ref { *this }](PolicyAction policyAction) { -@@ -314,6 +353,8 @@ void NetworkDataTaskCurl::invokeDidReceiveResponse() +@@ -312,6 +351,8 @@ void NetworkDataTaskCurl::invokeDidReceiveResponse() downloadPtr->didCreateDestination(m_pendingDownloadLocation); if (m_curlRequest) m_curlRequest->completeDidReceiveResponse(); @@ -9352,15 +9323,15 @@ index ed3b63e49436fa7d84a07cf6bd2d1042b75c5833..20484b326d23b5eac610cf2da37e9623 break; } default: -@@ -397,6 +438,8 @@ void NetworkDataTaskCurl::willPerformHTTPRedirection() +@@ -395,6 +436,8 @@ void NetworkDataTaskCurl::willPerformHTTPRedirection() m_curlRequest->setUserPass(m_initialCredential.user(), m_initialCredential.password()); m_curlRequest->setAuthenticationScheme(ProtectionSpace::AuthenticationScheme::HTTPBasic); } + if (m_session->ignoreCertificateErrors()) + m_curlRequest->disableServerTrustEvaluation(); - m_curlRequest->start(); if (m_state != State::Suspended) { + m_state = State::Suspended; diff --git a/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h b/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h index 17131dda438f96bf4f9d9702248c5de61c51fc72..247605032eef3dcefe472f6fee413ad332c1e42f 100644 --- a/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h @@ -9402,12 +9373,12 @@ index 17131dda438f96bf4f9d9702248c5de61c51fc72..247605032eef3dcefe472f6fee413ad3 bool m_blockingCookies { false }; diff --git a/Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp b/Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp -index c0e5e8654fac24ea968398bcd8008e35ccea02fd..7b8c41d0ebcef34d7ad5b6004075a219a7db9c22 100644 +index 6fb944af81e2af05e231b1d0ec0700cc59e532e9..ac862e21506d6250cb621e1e8ccc9b14612c8d0c 100644 --- a/Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp +++ b/Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp @@ -66,7 +66,7 @@ void NetworkSessionCurl::clearAlternativeServices(WallTime) - std::unique_ptr NetworkSessionCurl::createWebSocketTask(WebPageProxyIdentifier, NetworkSocketChannel& channel, const WebCore::ResourceRequest& request, const String& protocol, const WebCore::ClientOrigin&, bool, bool, OptionSet) + std::unique_ptr NetworkSessionCurl::createWebSocketTask(WebPageProxyIdentifier, std::optional, std::optional, NetworkSocketChannel& channel, const WebCore::ResourceRequest& request, const String& protocol, const WebCore::ClientOrigin&, bool, bool, OptionSet, ShouldRelaxThirdPartyCookieBlocking, StoredCredentialsPolicy) { - return makeUnique(channel, request, protocol); + return makeUnique(channel, request, protocol, ignoreCertificateErrors()); @@ -9450,7 +9421,7 @@ index c2e60f5ec6766e485996764bc240c18e8e747d85..20eb908199ea8735d38dfb27985fa2f3 void sendString(const IPC::DataReference&, CompletionHandler&&); diff --git a/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp b/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp -index f2102d9dc78f9f51fc0e6dfb47564a29d7c1e2e2..f62c991b391a281aad8236f71234278081cac77e 100644 +index 7645a361822dc1cebc024552943793b5ac8dc0ab..660d340daa64225aaf31539871b034eabf06628f 100644 --- a/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp +++ b/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp @@ -471,6 +471,8 @@ void NetworkDataTaskSoup::didSendRequest(GRefPtr&& inputStream) @@ -9472,7 +9443,7 @@ index f2102d9dc78f9f51fc0e6dfb47564a29d7c1e2e2..f62c991b391a281aad8236f712342780 if (!error) return true; diff --git a/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp b/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp -index 7726f1ad59430f11a11bbec0300fcc86b4654e41..cdccb0f1d72c5350b5eebc197eeae8f55119c932 100644 +index 13e557214edc7f060dd01ef10c2ab97fe0e9c41e..447de79164619e5c877e65a71b97cd643bbdeaad 100644 --- a/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp +++ b/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp @@ -109,6 +109,11 @@ static gboolean webSocketAcceptCertificateCallback(GTlsConnection* connection, G @@ -9500,7 +9471,7 @@ index 7726f1ad59430f11a11bbec0300fcc86b4654e41..cdccb0f1d72c5350b5eebc197eeae8f5 + g_signal_connect(connection, "accept-certificate", G_CALLBACK(webSocketAcceptCertificateCallbackIgnoreTLSErrors), soupMessage); +} + - std::unique_ptr NetworkSessionSoup::createWebSocketTask(WebPageProxyIdentifier, NetworkSocketChannel& channel, const ResourceRequest& request, const String& protocol, const ClientOrigin&, bool, bool, OptionSet) + std::unique_ptr NetworkSessionSoup::createWebSocketTask(WebPageProxyIdentifier, std::optional frameID, std::optional pageID, NetworkSocketChannel& channel, const ResourceRequest& request, const String& protocol, const ClientOrigin&, bool, bool, OptionSet, ShouldRelaxThirdPartyCookieBlocking shouldRelaxThirdPartyCookieBlocking, StoredCredentialsPolicy) { GRefPtr soupMessage = request.createSoupMessage(blobRegistry()); @@ -127,14 +141,21 @@ std::unique_ptr NetworkSessionSoup::createWebSocketTask(WebPagePr @@ -9521,7 +9492,7 @@ index 7726f1ad59430f11a11bbec0300fcc86b4654e41..cdccb0f1d72c5350b5eebc197eeae8f5 - }), this); + if (ignoreCertificateErrors()) { + g_signal_connect(soupMessage.get(), "accept-certificate", G_CALLBACK(webSocketAcceptCertificateCallbackIgnoreTLSErrors), this); -+ } else { ++ } else { + g_signal_connect(soupMessage.get(), "accept-certificate", G_CALLBACK(+[](SoupMessage* message, GTlsCertificate* certificate, GTlsCertificateFlags errors, NetworkSessionSoup* session) -> gboolean { + if (DeprecatedGlobalSettings::allowsAnySSLCertificate()) + return TRUE; @@ -9531,12 +9502,12 @@ index 7726f1ad59430f11a11bbec0300fcc86b4654e41..cdccb0f1d72c5350b5eebc197eeae8f5 + } #endif } - return makeUnique(channel, request, soupSession(), soupMessage.get(), protocol); + diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index 5a85b8fd3f11e32d4cac091c3495c2a994f8a707..f81aebc35471525dd320e715e0e6d7988dfa0469 100644 +index 9be529c090972173e8af8a6733f3346b7f514770..8605ec08968338eee059c3e1fa10ab955f397c81 100644 --- a/Source/WebKit/PlatformGTK.cmake +++ b/Source/WebKit/PlatformGTK.cmake -@@ -307,6 +307,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -305,6 +305,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GSTREAMER_PBUTILS_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -9546,7 +9517,7 @@ index 5a85b8fd3f11e32d4cac091c3495c2a994f8a707..f81aebc35471525dd320e715e0e6d798 ) list(APPEND WebKit_INTERFACE_INCLUDE_DIRECTORIES -@@ -353,6 +356,9 @@ if (USE_LIBWEBRTC) +@@ -351,6 +354,9 @@ if (USE_LIBWEBRTC) list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/libwebrtc/Source/" "${THIRDPARTY_DIR}/libwebrtc/Source/webrtc" @@ -9556,7 +9527,7 @@ index 5a85b8fd3f11e32d4cac091c3495c2a994f8a707..f81aebc35471525dd320e715e0e6d798 ) endif () -@@ -396,6 +402,12 @@ else () +@@ -394,6 +400,12 @@ else () set(WebKitGTK_ENUM_HEADER_TEMPLATE ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitEnumTypesGtk3.h.in) endif () @@ -9570,17 +9541,17 @@ index 5a85b8fd3f11e32d4cac091c3495c2a994f8a707..f81aebc35471525dd320e715e0e6d798 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 783f72ed591d3a68426a8fd90f311f75ebc0b54d..9c2c707d61f1f71170a7bfb76b0e36318e012ddf 100644 +index 783f72ed591d3a68426a8fd90f311f75ebc0b54d..2c0c5edb22f9bc0a455fcc64ab6c7510b6fbd3da 100644 --- a/Source/WebKit/PlatformWPE.cmake +++ b/Source/WebKit/PlatformWPE.cmake -@@ -203,6 +203,7 @@ set(WPE_API_INSTALLED_HEADERS - ${DERIVED_SOURCES_WPE_API_DIR}/WebKitEnumTypes.h - ${DERIVED_SOURCES_WPE_API_DIR}/WebKitVersion.h - ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitColor.h -+ ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitPointerLockPermissionRequest.h - ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitRectangle.h - ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitWebViewBackend.h +@@ -191,6 +191,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 ++ ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitPointerLockPermissionRequest.h.in ) + + if (ENABLE_2022_GLIB_API) @@ -367,6 +368,7 @@ list(APPEND WebKit_PRIVATE_INCLUDE_DIRECTORIES "${WEBKIT_DIR}/UIProcess/Launcher/libwpe" "${WEBKIT_DIR}/UIProcess/Notifications/glib/" @@ -9608,10 +9579,10 @@ index 783f72ed591d3a68426a8fd90f311f75ebc0b54d..9c2c707d61f1f71170a7bfb76b0e3631 Cairo::Cairo Freetype::Freetype diff --git a/Source/WebKit/PlatformWin.cmake b/Source/WebKit/PlatformWin.cmake -index ba7b7c9343e98d06f7479b9631977f122c476fa5..23c91e860e93380a77d3719fba1ccc85aa61a7a2 100644 +index 31e89593232657ba6dc9993a3ba1ce7b2e8a27ad..0b64f22fe7e99fecc8be60d4d5bc8ef46fbe809e 100644 --- a/Source/WebKit/PlatformWin.cmake +++ b/Source/WebKit/PlatformWin.cmake -@@ -91,8 +91,12 @@ list(APPEND WebKit_SOURCES +@@ -92,8 +92,12 @@ list(APPEND WebKit_SOURCES UIProcess/wc/DrawingAreaProxyWC.cpp @@ -9624,7 +9595,7 @@ index ba7b7c9343e98d06f7479b9631977f122c476fa5..23c91e860e93380a77d3719fba1ccc85 UIProcess/win/WebPageProxyWin.cpp UIProcess/win/WebPopupMenuProxyWin.cpp UIProcess/win/WebProcessPoolWin.cpp -@@ -113,6 +117,7 @@ list(APPEND WebKit_SOURCES +@@ -114,6 +118,7 @@ list(APPEND WebKit_SOURCES WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.cpp WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp @@ -9632,7 +9603,7 @@ index ba7b7c9343e98d06f7479b9631977f122c476fa5..23c91e860e93380a77d3719fba1ccc85 WebProcess/WebPage/AcceleratedSurface.cpp -@@ -173,8 +178,84 @@ list(APPEND WebKit_MESSAGES_IN_FILES +@@ -178,8 +183,84 @@ list(APPEND WebKit_SERIALIZATION_IN_FILES list(APPEND WebKit_PRIVATE_LIBRARIES comctl32 @@ -9821,7 +9792,7 @@ index 72ad2880160a374e8fa663e561d59becf9d2f36d..372ae6953199245fe4fc55a49813c7ca #endif }; diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp -index c69d19020998f5897dc0041c4c5c45784ffebb90..cf2a613f6469d8153826ce1ac6c5a8f4733f6c2a 100644 +index fc2b1151f0f3ecc13d5baa9bb72e8401fd2193bf..891aeedde29470ce9c1289b1afc90e08e7929d6b 100644 --- a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp +++ b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp @@ -192,6 +192,10 @@ @@ -9836,7 +9807,7 @@ index c69d19020998f5897dc0041c4c5c45784ffebb90..cf2a613f6469d8153826ce1ac6c5a8f4 namespace IPC { diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in -index fc050ff2eec654ad1c5319ba35fe2e00bb003140..b14c129107e868daa7a536be543cd2b78148f422 100644 +index 6cae10eef0c249e2f2bf4f5407d047b71c81a5fe..4a71dfdd2af716646f0ba2ccba6ee57b9c098fe2 100644 --- a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in +++ b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in @@ -1929,6 +1929,9 @@ class WebCore::AuthenticationChallenge { @@ -9982,44 +9953,32 @@ index a7862db2df45ac3ab8ba5c7dee7d9d0c5641c27b..149d8cc4ef277ebdfc3bb27be7d52f5c const WebCore::IntPoint& position() const { return m_position; } // Relative to the view. const WebCore::IntPoint& globalPosition() const { return m_globalPosition; } float deltaX() const { return m_deltaX; } -diff --git a/Source/WebKit/Shared/WebPageCreationParameters.cpp b/Source/WebKit/Shared/WebPageCreationParameters.cpp -index 1dd3c901182606090762375dbe104e100599ce0c..974018d48f4b2c0569a6ec91a7ae897f9f54c97b 100644 ---- a/Source/WebKit/Shared/WebPageCreationParameters.cpp -+++ b/Source/WebKit/Shared/WebPageCreationParameters.cpp -@@ -161,6 +161,8 @@ void WebPageCreationParameters::encode(IPC::Encoder& encoder) const - encoder << crossOriginAccessControlCheckEnabled; - encoder << processDisplayName; - -+ encoder << shouldPauseInInspectorWhenShown; -+ - encoder << shouldCaptureAudioInUIProcess; - encoder << shouldCaptureAudioInGPUProcess; - encoder << shouldCaptureVideoInUIProcess; -@@ -569,7 +571,10 @@ std::optional WebPageCreationParameters::decode(IPC:: - if (!processDisplayName) - return std::nullopt; - parameters.processDisplayName = WTFMove(*processDisplayName); -- -+ -+ if (!decoder.decode(parameters.shouldPauseInInspectorWhenShown)) -+ return std::nullopt; -+ - if (!decoder.decode(parameters.shouldCaptureAudioInUIProcess)) - return std::nullopt; - diff --git a/Source/WebKit/Shared/WebPageCreationParameters.h b/Source/WebKit/Shared/WebPageCreationParameters.h -index cb54ea3a05bf64d1d93ca221078f5a713c832501..a4201144cfd330267439b2193dfda0f38a4f6aa5 100644 +index 843ab2240d8d6718e9d542854f82e85eac528594..fed43c932c5d87ce60eb010f2498ba4d25fd4f8d 100644 --- a/Source/WebKit/Shared/WebPageCreationParameters.h +++ b/Source/WebKit/Shared/WebPageCreationParameters.h -@@ -274,6 +274,8 @@ struct WebPageCreationParameters { +@@ -271,6 +271,8 @@ struct WebPageCreationParameters { bool httpsUpgradeEnabled { true }; + bool shouldPauseInInspectorWhenShown { false }; + - #if PLATFORM(IOS) + #if PLATFORM(IOS) || PLATFORM(VISION) bool allowsDeprecatedSynchronousXMLHttpRequestDuringUnload { false }; #endif +diff --git a/Source/WebKit/Shared/WebPageCreationParameters.serialization.in b/Source/WebKit/Shared/WebPageCreationParameters.serialization.in +index 40622df2440f79bb53d8dce8d454f781c52a4140..224797f7e758a989b7128f1e751dbe13f579171a 100644 +--- a/Source/WebKit/Shared/WebPageCreationParameters.serialization.in ++++ b/Source/WebKit/Shared/WebPageCreationParameters.serialization.in +@@ -214,6 +214,8 @@ struct WebKit::WebPageCreationParameters { + + bool httpsUpgradeEnabled; + ++ bool shouldPauseInInspectorWhenShown; ++ + #if PLATFORM(IOS) || PLATFORM(VISION) + bool allowsDeprecatedSynchronousXMLHttpRequestDuringUnload; + #endif diff --git a/Source/WebKit/Shared/gtk/NativeWebKeyboardEventGtk.cpp b/Source/WebKit/Shared/gtk/NativeWebKeyboardEventGtk.cpp index 8d33ceb065fb3e90372b0c696779189d07838da0..6e3194c3e96e46bfa09f8d706324e6515df1e7f4 100644 --- a/Source/WebKit/Shared/gtk/NativeWebKeyboardEventGtk.cpp @@ -10052,25 +10011,6 @@ index 9a1c3f09c756ea368ac2d68e183a13e2eb47ead7..01c738376230f83376d80d6d225543a3 , m_nativeEvent(event.nativeEvent() ? constructNativeEvent(const_cast(event.nativeEvent())) : nullptr) { } -diff --git a/Source/WebKit/Shared/ios/WebPlatformTouchPointIOS.cpp b/Source/WebKit/Shared/ios/WebPlatformTouchPointIOS.cpp -index 03e118154f6bb5b704b4ecb83d3d9543f8c5a5fa..9725caaac6ee65a96ea324ddbb4e1a3785bbc028 100644 ---- a/Source/WebKit/Shared/ios/WebPlatformTouchPointIOS.cpp -+++ b/Source/WebKit/Shared/ios/WebPlatformTouchPointIOS.cpp -@@ -26,7 +26,7 @@ - #include "config.h" - #include "WebTouchEvent.h" - --#if ENABLE(TOUCH_EVENTS) -+#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS_FAMILY) - - #include "WebCoreArgumentCoders.h" - -@@ -79,4 +79,4 @@ std::optional WebPlatformTouchPoint::decode(IPC::Decoder& - - } // namespace WebKit - --#endif // ENABLE(TOUCH_EVENTS) -+#endif // ENABLE(TOUCH_EVENTS) && PLATFORM(IOS_FAMILY) diff --git a/Source/WebKit/Shared/libwpe/ArgumentCodersWPE.cpp b/Source/WebKit/Shared/libwpe/ArgumentCodersWPE.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2065fa34cf3507834b48b07fe6a69cbd7c77aa23 @@ -10296,10 +10236,10 @@ index 0000000000000000000000000000000000000000..789a0d7cf69704c8f665a9ed79348fbc + +} // namespace IPC diff --git a/Source/WebKit/Sources.txt b/Source/WebKit/Sources.txt -index 9125d77ab3ae7c82c3e9fa2f811890b908c1d939..1d826003b0cf9ad8549fcf748dd1675dcd21a1b4 100644 +index b359f10f856e072ebeb2fe7f6f96c48400d77af3..f80cebede1fd176ba91879584b3b1dda2e004f62 100644 --- a/Source/WebKit/Sources.txt +++ b/Source/WebKit/Sources.txt -@@ -388,21 +388,26 @@ Shared/XR/XRDeviceProxy.cpp +@@ -387,21 +387,26 @@ Shared/XR/XRDeviceProxy.cpp UIProcess/AuxiliaryProcessProxy.cpp UIProcess/BackgroundProcessResponsivenessTimer.cpp @@ -10323,10 +10263,10 @@ index 9125d77ab3ae7c82c3e9fa2f811890b908c1d939..1d826003b0cf9ad8549fcf748dd1675d UIProcess/ProvisionalFrameProxy.cpp UIProcess/ProvisionalPageProxy.cpp +UIProcess/RemoteInspectorPipe.cpp + UIProcess/RemotePageProxy.cpp UIProcess/ResponsivenessTimer.cpp UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp - UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.cpp -@@ -445,6 +450,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp +@@ -444,6 +449,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp UIProcess/WebPageDiagnosticLoggingClient.cpp UIProcess/WebPageGroup.cpp UIProcess/WebPageInjectedBundleClient.cpp @@ -10335,7 +10275,7 @@ index 9125d77ab3ae7c82c3e9fa2f811890b908c1d939..1d826003b0cf9ad8549fcf748dd1675d UIProcess/WebPageProxy.cpp UIProcess/WebPasteboardProxy.cpp UIProcess/WebPermissionControllerProxy.cpp -@@ -575,7 +582,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp +@@ -574,7 +581,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp UIProcess/Inspector/WebPageDebuggable.cpp UIProcess/Inspector/WebPageInspectorController.cpp @@ -10348,10 +10288,10 @@ index 9125d77ab3ae7c82c3e9fa2f811890b908c1d939..1d826003b0cf9ad8549fcf748dd1675d UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp UIProcess/Media/MediaUsageManager.cpp diff --git a/Source/WebKit/SourcesCocoa.txt b/Source/WebKit/SourcesCocoa.txt -index f24d5671b513edc2260fd9b0a83670da577f2560..760fc8f9b799e59562f41537f3ad5a8973657c9b 100644 +index 0c05f4f5721c20da4e85d4bdf9dc7da98ae4686d..89218721d97cd8f62d85e7236923d1e3ec6c1a41 100644 --- a/Source/WebKit/SourcesCocoa.txt +++ b/Source/WebKit/SourcesCocoa.txt -@@ -260,6 +260,7 @@ UIProcess/API/Cocoa/_WKApplicationManifest.mm +@@ -258,6 +258,7 @@ UIProcess/API/Cocoa/_WKApplicationManifest.mm UIProcess/API/Cocoa/_WKAttachment.mm UIProcess/API/Cocoa/_WKAutomationSession.mm UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm @@ -10359,7 +10299,7 @@ index f24d5671b513edc2260fd9b0a83670da577f2560..760fc8f9b799e59562f41537f3ad5a89 UIProcess/API/Cocoa/_WKContentRuleListAction.mm UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm UIProcess/API/Cocoa/_WKCustomHeaderFields.mm @no-unify -@@ -436,6 +437,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm +@@ -434,6 +435,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm UIProcess/Inspector/ios/WKInspectorNodeSearchGestureRecognizer.mm UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm @@ -10470,7 +10410,7 @@ index 44523cf874e1b24a6ccb988b0718ddc64c8e4216..12a48b0e3a952ed2f4767d659a027577 WebProcess/WebPage/AcceleratedSurface.cpp diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp -index 524060060c8953ad7bc30fc6bbda8abee5e8d3b0..86797760ad804c77d26f8ea8fbd5998da66079be 100644 +index f0a64f95150d18a01859d63daec57a997e0a033c..f1ec2f6f8042ca57f473ee9d0486ec35774c8bde 100644 --- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp +++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp @@ -52,6 +52,10 @@ Ref ProcessPoolConfiguration::copy() @@ -10485,7 +10425,7 @@ index 524060060c8953ad7bc30fc6bbda8abee5e8d3b0..86797760ad804c77d26f8ea8fbd5998d copy->m_shouldTakeUIBackgroundAssertion = this->m_shouldTakeUIBackgroundAssertion; copy->m_shouldCaptureDisplayInUIProcess = this->m_shouldCaptureDisplayInUIProcess; diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h -index 81ae40e623476c4397447d0a5572883dd2abe6cd..bd23ba5fff29eb6bea285ea3b90f3cdea81401b9 100644 +index dbbfea6be4b6f1ae3bd2070dc9b8e79fdbf28ff3..b7dd65cb00d64f67805597ba7a66f1a6f393f022 100644 --- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h +++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h @@ -96,6 +96,16 @@ public: @@ -10505,7 +10445,7 @@ index 81ae40e623476c4397447d0a5572883dd2abe6cd..bd23ba5fff29eb6bea285ea3b90f3cde bool alwaysRunsAtBackgroundPriority() const { return m_alwaysRunsAtBackgroundPriority; } void setAlwaysRunsAtBackgroundPriority(bool alwaysRunsAtBackgroundPriority) { m_alwaysRunsAtBackgroundPriority = alwaysRunsAtBackgroundPriority; } -@@ -170,6 +180,10 @@ private: +@@ -167,6 +177,10 @@ private: bool m_ignoreSynchronousMessagingTimeoutsForTesting { false }; bool m_attrStyleEnabled { false }; bool m_shouldThrowExceptionForGlobalConstantRedeclaration { true }; @@ -10572,7 +10512,7 @@ index 026121d114c5fcad84c1396be8d692625beaa3bd..edd6e5cae033124c589959a42522fde0 } #endif diff --git a/Source/WebKit/UIProcess/API/C/WKPage.cpp b/Source/WebKit/UIProcess/API/C/WKPage.cpp -index 03f4804b4a8e9d6772a215c69d161a85a5c0df56..903fe0f16a4db6164d7c521b9a0a9a09aadeb71b 100644 +index e4e5c8bb40b1a0ce616e333dc1d7a8648e8e54a9..f9fb966b12cf518644b4fc68337de2978e208271 100644 --- a/Source/WebKit/UIProcess/API/C/WKPage.cpp +++ b/Source/WebKit/UIProcess/API/C/WKPage.cpp @@ -1764,6 +1764,13 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient @@ -10709,7 +10649,7 @@ index 24b33cf16d46efce11a30032925600b97e64c65d..422355368191b9189b6283338bea2244 /*! @abstract A delegate to request permission for microphone audio and camera video access. @param webView The web view invoking the delegate method. diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.h b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.h -index b8e47e8f49621cb69f10efc9c2db097ccc0b083b..1e9d00f2f97027b1f8f9c3bd69584824abb6d594 100644 +index be218806e63fe7d983576887ade68c139ffd5c17..85d2d3dc688a2d599b7319ef1d41648f3d0c677a 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.h +++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.h @@ -24,7 +24,6 @@ @@ -10720,8 +10660,8 @@ index b8e47e8f49621cb69f10efc9c2db097ccc0b083b..1e9d00f2f97027b1f8f9c3bd69584824 #import #if __has_include() -@@ -113,6 +112,8 @@ WK_CLASS_AVAILABLE(macos(10.11), ios(9.0)) - #import +@@ -117,6 +116,8 @@ WK_CLASS_AVAILABLE(macos(10.11), ios(9.0)) + @property (nullable, nonatomic, copy) NSArray *proxyConfigurations NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(14.0), ios(17.0)); #endif +- (uint64_t)sessionID; @@ -10730,7 +10670,7 @@ index b8e47e8f49621cb69f10efc9c2db097ccc0b083b..1e9d00f2f97027b1f8f9c3bd69584824 NS_ASSUME_NONNULL_END diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm -index 8b7803bce0dd3d2aa3367f9bed523a898ae80cf1..ab3a70fe78f0c2365fd6946f63c8305728d70c69 100644 +index 3ef8f5dd6e42d6f21f5316aab17531f3f01e103a..661ed4f676dc4f6ff0f02aaa3fc67bc34583c4b4 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm @@ -50,6 +50,7 @@ @@ -10741,7 +10681,7 @@ index 8b7803bce0dd3d2aa3367f9bed523a898ae80cf1..ab3a70fe78f0c2365fd6946f63c83057 #import #import #import -@@ -367,6 +368,11 @@ - (void)removeDataOfTypes:(NSSet *)dataTypes modifiedSince:(NSDate *)date comple +@@ -371,6 +372,11 @@ - (void)removeDataOfTypes:(NSSet *)dataTypes modifiedSince:(NSDate *)date comple }); } @@ -10881,7 +10821,7 @@ index 0000000000000000000000000000000000000000..e7143513ea2be8e1cdab5c86a28643ff +} +@end diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h -index 70b039a44ad29aab69f724a1da9b0917cd1f01cd..09ed375c4a4c748acaaa32c8ec99e5a81895d793 100644 +index 0f47ef0127f90a975675651d50c98cd7807f2924..3e24d0b75a0b5ce84f7db8b196ed312b5583438d 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h +++ b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h @@ -67,6 +67,7 @@ WK_CLASS_AVAILABLE(macos(10.10), ios(8.0)) @@ -10890,10 +10830,10 @@ index 70b039a44ad29aab69f724a1da9b0917cd1f01cd..09ed375c4a4c748acaaa32c8ec99e5a8 @property (nonatomic) BOOL processSwapsOnNavigation WK_API_AVAILABLE(macos(10.14), ios(12.0)); +@property (nonatomic) BOOL forceOverlayScrollbars WK_API_AVAILABLE(macos(10.14)); @property (nonatomic) BOOL alwaysKeepAndReuseSwappedProcesses WK_API_AVAILABLE(macos(10.14), ios(12.0)); - @property (nonatomic) BOOL processSwapsOnWindowOpenWithOpener WK_API_AVAILABLE(macos(10.14), ios(12.0)); @property (nonatomic) BOOL processSwapsOnNavigationWithinSameNonHTTPFamilyProtocol WK_API_AVAILABLE(macos(12.0), ios(15.0)); + @property (nonatomic) BOOL prewarmsProcessesAutomatically WK_API_AVAILABLE(macos(10.14.4), ios(12.2)); diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm -index 238b8f3cc40232dcebacd31e021b4626ec8f156e..2dee0bae80ab75d428a4b22a5c84ca5edd3b210a 100644 +index 5dbdde074da5226c4a76ec5a4fcf54b3fb717849..f2aa93846c6d22c20e0584d90afc46e947ffebf8 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm @@ -241,6 +241,16 @@ - (BOOL)processSwapsOnNavigation @@ -11209,7 +11149,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 9b1ef8e8373830e3535b49299f3d17bc6becc3fa..04494e83373cfdd01f76209ee9c93c039b10f896 100644 +index 170ae37cca09beccd488ba068bc124180eff089a..8aeb078de58606c10d814c6babe781f3f316ee47 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp @@ -34,6 +34,7 @@ @@ -11328,7 +11268,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 02e09ebc89d4a7cbf8023340b763c7f8d6c20eb1..0a89bec6e3b3ef9032a725ec2f5feb8edfe20dd0 100644 +index 8abaceabaa129b7d2ae369c8840bdfc41699f580..884609c9d6ba56bb88e6160f7f8b771759428c2e 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 @@ -11427,11 +11367,24 @@ index 0000000000000000000000000000000000000000..45221096280941d747ef3f46749b1466 +G_END_DECLS + +#endif +diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitPointerLockPermissionRequest.h.in b/Source/WebKit/UIProcess/API/gtk/WebKitPointerLockPermissionRequest.h.in +index 496079da90993ac37689b060b69ecd4a67c2b6a8..af30181ca922f16c0f6e245c70e5ce7d8999341f 100644 +--- a/Source/WebKit/UIProcess/API/gtk/WebKitPointerLockPermissionRequest.h.in ++++ b/Source/WebKit/UIProcess/API/gtk/WebKitPointerLockPermissionRequest.h.in +@@ -23,7 +23,7 @@ + #define WebKitPointerLockPermissionRequest_h + + #include +-#include ++#include <@API_INCLUDE_PREFIX@/WebKitDefines.h> + + G_BEGIN_DECLS + diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -index ffc0e771c69395a654b1b20d14ba6d1c98e38352..3d799cc25c1ec200ee0e5dddd0dd52cd722c9fc4 100644 +index a5addd5fbd56aed81d24debddc19349562e44da2..b739b8ca0a383f103ba45dd68798d890d714e200 100644 --- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp +++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -@@ -2747,6 +2747,11 @@ void webkitWebViewBaseResetClickCounter(WebKitWebViewBase* webkitWebViewBase) +@@ -2776,6 +2776,11 @@ void webkitWebViewBaseResetClickCounter(WebKitWebViewBase* webkitWebViewBase) #endif } @@ -11462,7 +11415,7 @@ index 1204b4342c1cf8d38d215c1c8628bd7eb1fbd415..8534e582f54a343dc3bf6e01b8e43270 + +WebKit::AcceleratedBackingStore* webkitWebViewBaseGetAcceleratedBackingStore(WebKitWebViewBase*); diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp -index c6efcb176b272a2bbc09f139264b14f89ef97884..3e5049c936b71e12ee451f9a46aa7893b3185da5 100644 +index 6590c31e55d62eb3d4d042ac5178d914cd69b566..a89657ec499e5828de848b24be4298e7a8adac18 100644 --- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp +++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp @@ -33,8 +33,11 @@ @@ -11511,7 +11464,7 @@ index c6efcb176b272a2bbc09f139264b14f89ef97884..3e5049c936b71e12ee451f9a46aa7893 + } // namespace WebKit diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h -index 948d0f4a4759afa1533cd84a190f3d56e54a5cb5..fc43ce6cc53636b5e6f9b5af9d6609b636d57da8 100644 +index d14abff9ca046b2c3a1423c4a47341210b7198d1..842d95fa1ee1a65e4d5b01cb98f2dda9e3a61dc9 100644 --- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h +++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h @@ -164,6 +164,17 @@ private: @@ -11759,76 +11712,6 @@ index 0000000000000000000000000000000000000000..0a099832c3dd959f456fcae49a1d62a9 +} // namespace WebKit + +#endif // ENABLE(DATALIST_ELEMENT) -diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitPointerLockPermissionRequest.h b/Source/WebKit/UIProcess/API/wpe/WebKitPointerLockPermissionRequest.h -new file mode 100644 -index 0000000000000000000000000000000000000000..c815e81ed38828a8cf2c1b7a4e195efb61cb4b2f ---- /dev/null -+++ b/Source/WebKit/UIProcess/API/wpe/WebKitPointerLockPermissionRequest.h -@@ -0,0 +1,64 @@ -+/* -+ * Copyright (C) 2019 Igalia S.L. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Library General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Library General Public License for more details. -+ * -+ * You should have received a copy of the GNU Library General Public License -+ * along with this library; see the file COPYING.LIB. If not, write to -+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#if !defined(__WEBKIT2_H_INSIDE__) && !defined(BUILDING_WEBKIT) -+#error "Only can be included directly." -+#endif -+ -+#ifndef WebKitPointerLockPermissionRequest_h -+#define WebKitPointerLockPermissionRequest_h -+ -+#include -+#include -+ -+G_BEGIN_DECLS -+ -+#define WEBKIT_TYPE_POINTER_LOCK_PERMISSION_REQUEST (webkit_pointer_lock_permission_request_get_type()) -+#define WEBKIT_POINTER_LOCK_PERMISSION_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_POINTER_LOCK_PERMISSION_REQUEST, WebKitPointerLockPermissionRequest)) -+#define WEBKIT_POINTER_LOCK_PERMISSION_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_POINTER_LOCK_PERMISSION_REQUEST, WebKitPointerLockPermissionRequestClass)) -+#define WEBKIT_IS_POINTER_LOCK_PERMISSION_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_POINTER_LOCK_PERMISSION_REQUEST)) -+#define WEBKIT_IS_POINTER_LOCK_PERMISSION_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_POINTER_LOCK_PERMISSION_REQUEST)) -+#define WEBKIT_POINTER_LOCK_PERMISSION_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_POINTER_LOCK_PERMISSION_REQUEST, WebKitPointerLockPermissionRequestClass)) -+ -+typedef struct _WebKitPointerLockPermissionRequest WebKitPointerLockPermissionRequest; -+typedef struct _WebKitPointerLockPermissionRequestClass WebKitPointerLockPermissionRequestClass; -+typedef struct _WebKitPointerLockPermissionRequestPrivate WebKitPointerLockPermissionRequestPrivate; -+ -+struct _WebKitPointerLockPermissionRequest { -+ GObject parent; -+ -+ /*< private >*/ -+ WebKitPointerLockPermissionRequestPrivate *priv; -+}; -+ -+struct _WebKitPointerLockPermissionRequestClass { -+ GObjectClass parent_class; -+ -+ void (*_webkit_reserved0) (void); -+ void (*_webkit_reserved1) (void); -+ void (*_webkit_reserved2) (void); -+ void (*_webkit_reserved3) (void); -+}; -+ -+WEBKIT_API GType -+webkit_pointer_lock_permission_request_get_type (void); -+ -+G_END_DECLS -+ -+#endif diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitWebViewBackend.cpp b/Source/WebKit/UIProcess/API/wpe/WebKitWebViewBackend.cpp index 763bda5b29304f7ed7133c0a8158e6c8b94c5ea1..ff5d01438e44ce6785a2aa70fc5423ba74e7101c 100644 --- a/Source/WebKit/UIProcess/API/wpe/WebKitWebViewBackend.cpp @@ -11897,7 +11780,7 @@ index e4b92ace1531090ae38a7aec3d3d4febf19aee84..43690f9ef4969a39084501613bfc00a7 + +cairo_surface_t* webkitWebViewBackendTakeScreenshot(WebKitWebViewBackend*); diff --git a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp -index b3c73879155034422ebc49edba08320759b7fef9..20ef4d59b8ba1593cf1a73a6b4a1df94da9f28a6 100644 +index 51bfad7ce09b6f9c4f8920289192643fe6d0b1d5..c2689a013261b003e117e4a13350d8f1280cad99 100644 --- a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp +++ b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp @@ -126,7 +126,11 @@ void AuxiliaryProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& lau @@ -11913,7 +11796,7 @@ index b3c73879155034422ebc49edba08320759b7fef9..20ef4d59b8ba1593cf1a73a6b4a1df94 platformGetLaunchOptions(launchOptions); } diff --git a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h -index c6b8d6fdc2a5e9e81e23546842c4bcb80efe4ff8..ec8b476ea86f2e15db798d5a440ba75e480e30b0 100644 +index f0940730134daf39077279aaeaf280a24d7f5d72..3da3dc553d047a7db12533f9e98806151e373a27 100644 --- a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h +++ b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h @@ -201,13 +201,16 @@ protected: @@ -11935,7 +11818,7 @@ index c6b8d6fdc2a5e9e81e23546842c4bcb80efe4ff8..ec8b476ea86f2e15db798d5a440ba75e ResponsivenessTimer m_responsivenessTimer; diff --git a/Source/WebKit/UIProcess/BackingStore.h b/Source/WebKit/UIProcess/BackingStore.h -index faae24f11035315b2d31c80204daf7e6b82b1787..1eb89e53a500266522c4db3561afd7261b86d642 100644 +index 3bbb4b30ca3d78007ac700a033b7e4b695c557dd..22b94307bdb0adcf8c8f1f6440328804933ca21e 100644 --- a/Source/WebKit/UIProcess/BackingStore.h +++ b/Source/WebKit/UIProcess/BackingStore.h @@ -51,6 +51,7 @@ public: @@ -12079,7 +11962,7 @@ index 957f7f088087169668a9b4f1ba65d9f206a2a836..15e44c8d5b6a3eafb7f1148707366b0c class PopUpSOAuthorizationSession final : public SOAuthorizationSession { public: diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h -index 2929ada99d45b72cb5e3aeb43aa758cacce0a020..6fc34550117dfaf29e5e18f4fbaaf705d08ec756 100644 +index 4926c6695127a99ae1e7336f5ef2d58994657dff..21460d30906c41b04bc6e2c34af6b7761a50c485 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h @@ -95,6 +95,7 @@ private: @@ -12099,7 +11982,7 @@ index 2929ada99d45b72cb5e3aeb43aa758cacce0a020..6fc34550117dfaf29e5e18f4fbaaf705 bool webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRequestGeolocationPermissionForFrameDecisionHandler : 1; diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm -index ed87628d7834ac88c884eb774443a4f13563546f..84aed8cf0e7f0f1d49e33ee3a356f00e02343abc 100644 +index c078f11ea116bfff19a618171cb226df4882aeb9..84f8e7ab4d481ca4a9da29645aab1cec93ead92c 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm @@ -117,6 +117,7 @@ void UIDelegate::setDelegate(id delegate) @@ -12127,12 +12010,12 @@ index ed87628d7834ac88c884eb774443a4f13563546f..84aed8cf0e7f0f1d49e33ee3a356f00e { if (!m_uiDelegate) diff --git a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm -index 3548e1009f1a4e35b42749cefb7de2360d43048c..0e4a8607b44b4628d34478ef4a914287764dd5a0 100644 +index 71829d0d1b8d463a400fbbd158f0d24e87295d17..97edc0aa92e408470204cccc3d0f4ededdef5330 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm -@@ -38,6 +38,7 @@ +@@ -37,6 +37,7 @@ + #import "LoadParameters.h" #import "MessageSenderInlines.h" - #import "NetworkConnectionIntegrityHelpers.h" #import "PageClient.h" +#import "PasteboardTypes.h" #import "PlaybackSessionManagerProxy.h" @@ -12228,10 +12111,10 @@ index 3548e1009f1a4e35b42749cefb7de2360d43048c..0e4a8607b44b4628d34478ef4a914287 #if ENABLE(ATTACHMENT_ELEMENT) diff --git a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -index 3b0449068bdef7d17aadae860666162c41380d9e..4d449dc823b09bb1df3131f74c0d40e6c927a49a 100644 +index fc6df7242ed1448978f646223ac63f8c6f9ade98..c9725c8238ab1f42dd52461903097add86b3f1cd 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -@@ -480,7 +480,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END +@@ -455,7 +455,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END auto screenProperties = WebCore::collectScreenProperties(); parameters.screenProperties = WTFMove(screenProperties); #if PLATFORM(MAC) @@ -12239,8 +12122,8 @@ index 3b0449068bdef7d17aadae860666162c41380d9e..4d449dc823b09bb1df3131f74c0d40e6 + parameters.useOverlayScrollbars = m_configuration->forceOverlayScrollbars() || ([NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay); #endif - #if PLATFORM(IOS) && HAVE(AGX_COMPILER_SERVICE) -@@ -752,8 +752,8 @@ void WebProcessPool::registerNotificationObservers() + #if (PLATFORM(IOS) || PLATFORM(VISION)) && HAVE(AGX_COMPILER_SERVICE) +@@ -727,8 +727,8 @@ void WebProcessPool::registerNotificationObservers() }]; m_scrollerStyleNotificationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSPreferredScrollerStyleDidChangeNotification object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) { @@ -12356,7 +12239,7 @@ index 45b5f4ccc1e178336499356a4fd41b99764980fd..a69212defad2502da15678929462fb19 #if !PLATFORM(WPE) diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h -index dce89b2a72950e052a8222146b693b42a5dbb0cd..ecf747bd2eee305d40a12dd0725d12c58aa818df 100644 +index d2b7ea6ee7c62ceba39098aad864b7c96e03e44c..3241006dee9b3e7d2ba9b4a6d15eabd27d6b3b2f 100644 --- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h +++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h @@ -30,6 +30,7 @@ @@ -12376,9 +12259,9 @@ index dce89b2a72950e052a8222146b693b42a5dbb0cd..ecf747bd2eee305d40a12dd0725d12c5 + void captureFrame(); +#endif - private: - // DrawingAreaProxy -@@ -68,6 +73,9 @@ private: + void dispatchAfterEnsuringDrawing(CompletionHandler&&); + +@@ -70,6 +75,9 @@ private: void exitAcceleratedCompositingMode(uint64_t backingStoreStateID, UpdateInfo&&) override; void updateAcceleratedCompositingMode(uint64_t backingStoreStateID, const LayerTreeContext&) override; void targetRefreshRateDidChange(unsigned) override; @@ -12388,7 +12271,7 @@ index dce89b2a72950e052a8222146b693b42a5dbb0cd..ecf747bd2eee305d40a12dd0725d12c5 bool shouldSendWheelEventsToEventDispatcher() const override { return true; } -@@ -125,6 +133,7 @@ private: +@@ -124,6 +132,7 @@ private: // The last size we sent to the web process. WebCore::IntSize m_lastSentSize; @@ -12396,7 +12279,7 @@ index dce89b2a72950e052a8222146b693b42a5dbb0cd..ecf747bd2eee305d40a12dd0725d12c5 #if !PLATFORM(WPE) bool m_isBackingStoreDiscardable { true }; -@@ -132,6 +141,10 @@ private: +@@ -131,6 +140,10 @@ private: RunLoop::Timer m_discardBackingStoreTimer; #endif std::unique_ptr m_drawingMonitor; @@ -12500,10 +12383,10 @@ index 9b69cad753b5b2e3844caac57b44c067507e68e7..1e898d7311a2cb8cb6d9a4042f91f41c } // namespace WebKit diff --git a/Source/WebKit/UIProcess/DrawingAreaProxy.h b/Source/WebKit/UIProcess/DrawingAreaProxy.h -index a6853250e85eed01c7d64f13bd200ec3aa7f28b1..7ec74bb16cc3ba884f6136e2eb299ac797bc5e24 100644 +index 4c9a2f1e548f58da7a31f88f26fb9501d07c2282..cf853afd8a4b4ceaa19199c355231940ab893b54 100644 --- a/Source/WebKit/UIProcess/DrawingAreaProxy.h +++ b/Source/WebKit/UIProcess/DrawingAreaProxy.h -@@ -85,6 +85,7 @@ public: +@@ -86,6 +86,7 @@ public: const WebCore::IntSize& size() const { return m_size; } bool setSize(const WebCore::IntSize&, const WebCore::IntSize& scrollOffset = { }); @@ -12511,7 +12394,7 @@ index a6853250e85eed01c7d64f13bd200ec3aa7f28b1..7ec74bb16cc3ba884f6136e2eb299ac7 #if USE(COORDINATED_GRAPHICS) || USE(TEXTURE_MAPPER) virtual void targetRefreshRateDidChange(unsigned) { } -@@ -162,6 +163,10 @@ private: +@@ -160,6 +161,10 @@ private: virtual void update(uint64_t /* backingStoreStateID */, UpdateInfo&&) { } virtual void exitAcceleratedCompositingMode(uint64_t /* backingStoreStateID */, UpdateInfo&&) { } #endif @@ -12523,12 +12406,12 @@ index a6853250e85eed01c7d64f13bd200ec3aa7f28b1..7ec74bb16cc3ba884f6136e2eb299ac7 } // namespace WebKit diff --git a/Source/WebKit/UIProcess/DrawingAreaProxy.messages.in b/Source/WebKit/UIProcess/DrawingAreaProxy.messages.in -index e5f6bb902a10b86527766b18549ee442b22d8b87..6b0bc7b7d45f0c5faa65d90c288bc4b5648b63f9 100644 +index 0eb42c7c689ec97a5ebacd46969ee07d169200a6..529e80f65de845639552ed0466ba494a4e18f60f 100644 --- a/Source/WebKit/UIProcess/DrawingAreaProxy.messages.in +++ b/Source/WebKit/UIProcess/DrawingAreaProxy.messages.in @@ -30,4 +30,7 @@ messages -> DrawingAreaProxy NotRefCounted { - Update(uint64_t stateID, WebKit::UpdateInfo updateInfo) - ExitAcceleratedCompositingMode(uint64_t backingStoreStateID, WebKit::UpdateInfo updateInfo) + Update(uint64_t stateID, struct WebKit::UpdateInfo updateInfo) + ExitAcceleratedCompositingMode(uint64_t backingStoreStateID, struct WebKit::UpdateInfo updateInfo) #endif +#if PLATFORM(WIN) + DidChangeAcceleratedCompositingMode(bool enabled) @@ -14655,7 +14538,7 @@ index 0000000000000000000000000000000000000000..d0e11ed81a6257c011df23d5870da740 +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..4b7232bef85bc84762dafbe892fc30506d21088c +index 0000000000000000000000000000000000000000..1ce2f2699ff1fc01feda180db2071f75425e15ac --- /dev/null +++ b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp @@ -0,0 +1,978 @@ @@ -15288,7 +15171,7 @@ index 0000000000000000000000000000000000000000..4b7232bef85bc84762dafbe892fc3050 + return nullptr; + } + -+ if (!frameID.isAllASCII()) { ++ if (!frameID.containsOnlyASCII()) { + error = "Invalid frame id"_s; + return nullptr; + } @@ -15876,7 +15759,7 @@ index 3fe0abcfe36bef7ca45bed5661a737ed2bfe56d0..510656948af01ec65d4543c805e9667a #include "RemoteMediaSessionCoordinatorProxyMessages.h" #include "WebPageProxy.h" diff --git a/Source/WebKit/UIProcess/PageClient.h b/Source/WebKit/UIProcess/PageClient.h -index 47b43730d44fff44c85092ad607d42cc909d0330..10a27dec7e6ec72e2832945e905959fda9305b38 100644 +index 290c016a047960d38fe60f78d4a0fc1c64ac5d38..1514060efe1c3dc43a3dcdbc8cc3b63e2db27992 100644 --- a/Source/WebKit/UIProcess/PageClient.h +++ b/Source/WebKit/UIProcess/PageClient.h @@ -332,6 +332,11 @@ public: @@ -16358,10 +16241,10 @@ index 37cced36ddb5c388ab8096938688355f00d8a4cf..77406c2aa896638a1ee0cb4a3e6f3ee0 DisplayLink* displayLink() const; -diff --git a/Source/WebKit/UIProcess/SubframePageProxy.cpp b/Source/WebKit/UIProcess/SubframePageProxy.cpp -index bcd66e7362d97baf4cf1a0cfaac47670d3831809..65b25c8a8d197e49bc4a72eecfba428aae1df5e8 100644 ---- a/Source/WebKit/UIProcess/SubframePageProxy.cpp -+++ b/Source/WebKit/UIProcess/SubframePageProxy.cpp +diff --git a/Source/WebKit/UIProcess/RemotePageProxy.cpp b/Source/WebKit/UIProcess/RemotePageProxy.cpp +index 78dda50156ac88126d886ff004042ac7233ba88c..518f78cfdecd6148ba834c1164e7f47e21f580e8 100644 +--- a/Source/WebKit/UIProcess/RemotePageProxy.cpp ++++ b/Source/WebKit/UIProcess/RemotePageProxy.cpp @@ -35,6 +35,7 @@ #include "WebPageProxyMessages.h" #include "WebProcessMessages.h" @@ -16395,7 +16278,7 @@ index 2071f653d6fd7413dd5336b85d02c6a92cab68b2..af9409c0adfc97a60d4ed789999310a7 WebPageProxy* page() const { return m_page.get(); } diff --git a/Source/WebKit/UIProcess/WebFrameProxy.cpp b/Source/WebKit/UIProcess/WebFrameProxy.cpp -index 5ed5e0c7369936d03397336664a7c98fbcc87d3e..787a68e6cd2f9e3e6a856a2c6f4c4325961bb820 100644 +index 3fc982f847914dc86ad74be5ccd8015d8737e942..5a3c75d2a2ef3bb66b313ceb014eec8b71a15f9c 100644 --- a/Source/WebKit/UIProcess/WebFrameProxy.cpp +++ b/Source/WebKit/UIProcess/WebFrameProxy.cpp @@ -30,6 +30,7 @@ @@ -16407,7 +16290,7 @@ index 5ed5e0c7369936d03397336664a7c98fbcc87d3e..787a68e6cd2f9e3e6a856a2c6f4c4325 #include "FrameTreeNodeData.h" #include "MessageSenderInlines.h" @@ -38,6 +39,7 @@ - #include "SubframePageProxy.h" + #include "RemotePageProxy.h" #include "WebFramePolicyListenerProxy.h" #include "WebNavigationState.h" +#include "WebPageInspectorController.h" @@ -17081,10 +16964,10 @@ index 0000000000000000000000000000000000000000..3e87bf40ced2301f4fb145c6cb31f2cf + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp -index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0cdba15325 100644 +index 2c6fb389f7d540c25ad8bed506d96a300b3945de..b4a9f39026fcf60ece174751c21888f99cc01906 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit/UIProcess/WebPageProxy.cpp -@@ -168,12 +168,14 @@ +@@ -169,12 +169,14 @@ #include #include #include @@ -17099,7 +16982,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c #include #include #include -@@ -192,16 +194,19 @@ +@@ -193,16 +195,19 @@ #include #include #include @@ -17119,7 +17002,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c #include #include #include -@@ -273,6 +278,9 @@ +@@ -274,6 +279,9 @@ #if PLATFORM(GTK) #include "GtkSettingsManager.h" @@ -17129,7 +17012,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c #include #endif -@@ -378,6 +386,8 @@ static constexpr Seconds tryCloseTimeoutDelay = 50_ms; +@@ -383,6 +391,8 @@ static constexpr Seconds tryCloseTimeoutDelay = 50_ms; static constexpr Seconds audibleActivityClearDelay = 10_s; #endif @@ -17138,7 +17021,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, webPageProxyCounter, ("WebPageProxy")); class StorageRequests { -@@ -741,6 +751,10 @@ WebPageProxy::~WebPageProxy() +@@ -746,6 +756,10 @@ WebPageProxy::~WebPageProxy() if (m_preferences->mediaSessionCoordinatorEnabled()) GroupActivitiesSessionNotifier::sharedNotifier().removeWebPage(*this); #endif @@ -17149,7 +17032,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } void WebPageProxy::addAllMessageReceivers() -@@ -1171,6 +1185,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) +@@ -1185,6 +1199,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) internals().pageLoadState.didSwapWebProcesses(); if (reason != ProcessLaunchReason::InitialProcess) m_drawingArea->waitForBackingStoreUpdateOnNextPaint(); @@ -17157,7 +17040,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } void WebPageProxy::didAttachToRunningProcess() -@@ -1179,7 +1194,7 @@ void WebPageProxy::didAttachToRunningProcess() +@@ -1193,7 +1208,7 @@ void WebPageProxy::didAttachToRunningProcess() #if ENABLE(FULLSCREEN_API) ASSERT(!m_fullScreenManager); @@ -17166,7 +17049,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c #endif #if ENABLE(VIDEO_PRESENTATION_MODE) ASSERT(!m_playbackSessionManager); -@@ -1560,6 +1575,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() +@@ -1577,6 +1592,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() return m_process; } @@ -17188,7 +17071,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c RefPtr WebPageProxy::loadRequest(ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData) { if (m_isClosed) -@@ -2120,6 +2150,32 @@ void WebPageProxy::setControlledByAutomation(bool controlled) +@@ -2137,6 +2167,32 @@ void WebPageProxy::setControlledByAutomation(bool controlled) websiteDataStore().networkProcess().send(Messages::NetworkProcess::SetSessionIsControlledByAutomation(m_websiteDataStore->sessionID(), m_controlledByAutomation), 0); } @@ -17221,7 +17104,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c void WebPageProxy::createInspectorTarget(const String& targetId, Inspector::InspectorTargetType type) { MESSAGE_CHECK(m_process, !targetId.isEmpty()); -@@ -2353,6 +2409,25 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpdate) +@@ -2373,6 +2429,25 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpdate) { bool wasVisible = isViewVisible(); internals().activityState.remove(flagsToUpdate); @@ -17247,7 +17130,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c if (flagsToUpdate & ActivityState::IsFocused && pageClient().isViewFocused()) internals().activityState.add(ActivityState::IsFocused); if (flagsToUpdate & ActivityState::WindowIsActive && pageClient().isViewWindowActive()) -@@ -3038,6 +3113,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -3058,6 +3133,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag { if (!hasRunningProcess()) return; @@ -17256,7 +17139,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c #if PLATFORM(GTK) UNUSED_PARAM(dragStorageName); UNUSED_PARAM(sandboxExtensionHandle); -@@ -3048,6 +3125,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -3068,6 +3145,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag m_process->assumeReadAccessToBaseURL(*this, url); ASSERT(dragData.platformData()); @@ -17265,7 +17148,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c send(Messages::WebPage::PerformDragControllerAction(action, dragData.clientPosition(), dragData.globalPosition(), dragData.draggingSourceOperationMask(), *dragData.platformData(), dragData.flags())); #else send(Messages::WebPage::PerformDragControllerAction(action, dragData, sandboxExtensionHandle, sandboxExtensionsForUpload)); -@@ -3063,18 +3142,41 @@ void WebPageProxy::didPerformDragControllerAction(std::optional dragOperationMask) { if (!hasRunningProcess()) -@@ -3083,6 +3185,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo +@@ -3103,6 +3205,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo setDragCaretRect({ }); } @@ -17335,7 +17218,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c void WebPageProxy::didPerformDragOperation(bool handled) { pageClient().didPerformDragOperation(handled); -@@ -3095,6 +3215,16 @@ void WebPageProxy::didStartDrag() +@@ -3115,6 +3235,16 @@ void WebPageProxy::didStartDrag() discardQueuedMouseEvents(); send(Messages::WebPage::DidStartDrag()); @@ -17352,7 +17235,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } void WebPageProxy::dragCancelled() -@@ -3213,17 +3343,39 @@ void WebPageProxy::processNextQueuedMouseEvent() +@@ -3229,17 +3359,39 @@ void WebPageProxy::processNextQueuedMouseEvent() m_process->startResponsivenessTimer(); } @@ -17399,7 +17282,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } void WebPageProxy::doAfterProcessingAllPendingMouseEvents(WTF::Function&& action) -@@ -3371,6 +3523,8 @@ void WebPageProxy::wheelEventHandlingCompleted(bool wasHandled) +@@ -3387,6 +3539,8 @@ void WebPageProxy::wheelEventHandlingCompleted(bool wasHandled) if (auto* automationSession = process().processPool().automationSession()) automationSession->wheelEventsFlushedForPage(*this); @@ -17408,7 +17291,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } void WebPageProxy::cacheWheelEventScrollingAccelerationCurve(const NativeWebWheelEvent& nativeWheelEvent) -@@ -3494,7 +3648,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) +@@ -3510,7 +3664,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent) { @@ -17417,7 +17300,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c for (auto& touchPoint : touchStartEvent.touchPoints()) { auto location = touchPoint.location(); auto update = [this, location](TrackingType& trackingType, EventTrackingRegions::EventType eventType) { -@@ -3915,6 +4069,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(WebProcessProxy& sourceProce +@@ -3931,6 +4085,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(WebProcessProxy& sourceProce if (policyAction != PolicyAction::Use || (!preferences().siteIsolationEnabled() && !frame.isMainFrame()) || !navigation) { @@ -17426,7 +17309,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c receivedPolicyDecision(policyAction, navigation, navigation->websitePolicies(), WTFMove(navigationAction), WTFMove(sender), WillContinueLoadInNewProcess::No, std::nullopt); return; } -@@ -3987,6 +4143,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(WebProcessProxy& sourceProce +@@ -4003,6 +4159,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(WebProcessProxy& sourceProce void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation* navigation, RefPtr&& websitePolicies, std::variant, Ref>&& navigationActionOrResponse, Ref&& sender, WillContinueLoadInNewProcess willContinueLoadInNewProcess, std::optional sandboxExtensionHandle) { @@ -17434,7 +17317,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c if (!hasRunningProcess()) { sender->send(PolicyDecision { sender->identifier(), isNavigatingToAppBoundDomain() }); return; -@@ -4831,6 +4988,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) +@@ -4860,6 +5017,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) m_pageScaleFactor = scaleFactor; } @@ -17446,7 +17329,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c void WebPageProxy::pluginScaleFactorDidChange(double pluginScaleFactor) { MESSAGE_CHECK(m_process, scaleFactorIsValid(pluginScaleFactor)); -@@ -5316,6 +5478,7 @@ void WebPageProxy::didDestroyNavigationShared(Ref&& process, ui +@@ -5345,6 +5507,7 @@ void WebPageProxy::didDestroyNavigationShared(Ref&& process, ui PageClientProtector protector(pageClient()); m_navigationState->didDestroyNavigation(process->coreProcessIdentifier(), navigationID); @@ -17454,7 +17337,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } void WebPageProxy::didStartProvisionalLoadForFrame(FrameIdentifier frameID, FrameInfoData&& frameInfo, ResourceRequest&& request, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) -@@ -5544,6 +5707,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p +@@ -5573,6 +5736,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p m_failingProvisionalLoadURL = { }; @@ -17463,7 +17346,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c // 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; -@@ -6129,7 +6294,14 @@ void WebPageProxy::decidePolicyForNavigationActionAsync(IPC::Connection& connect +@@ -6165,7 +6330,14 @@ void WebPageProxy::decidePolicyForNavigationActionAsync(IPC::Connection& connect { RefPtr frame = WebFrameProxy::webFrame(frameID); MESSAGE_CHECK_BASE(frame, &connection); @@ -17479,15 +17362,15 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } void WebPageProxy::decidePolicyForNavigationActionAsyncShared(Ref&& process, PageIdentifier webPageID, FrameIdentifier frameID, FrameInfoData&& frameInfo, WebCore::PolicyCheckIdentifier identifier, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& originatingFrameInfo, std::optional originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, uint64_t listenerID) -@@ -6726,6 +6898,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -6763,6 +6935,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa if (auto* page = originatingFrameInfo->page()) openerAppInitiatedState = page->lastNavigationWasAppInitiated(); + m_inspectorController->willCreateNewPage(windowFeatures, request.url()); - auto completionHandler = [this, protectedThis = Ref { *this }, mainFrameURL, request, reply = WTFMove(reply), privateClickMeasurement = navigationActionData.privateClickMeasurement, openerAppInitiatedState = WTFMove(openerAppInitiatedState)] (RefPtr newPage) mutable { + 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); -@@ -6779,6 +6952,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -6820,6 +6993,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa void WebPageProxy::showPage() { m_uiClient->showPage(this); @@ -17495,7 +17378,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } void WebPageProxy::exitFullscreenImmediately() -@@ -6848,6 +7022,10 @@ void WebPageProxy::closePage() +@@ -6889,6 +7063,10 @@ void WebPageProxy::closePage() if (isClosed()) return; @@ -17506,7 +17389,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c WEBPAGEPROXY_RELEASE_LOG(Process, "closePage:"); pageClient().clearAllEditCommands(); m_uiClient->close(this); -@@ -6884,6 +7062,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f +@@ -6925,6 +7103,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 { @@ -17515,7 +17398,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c page.m_uiClient->runJavaScriptAlert(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)]() mutable { reply(); completion(); -@@ -6905,6 +7085,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& +@@ -6946,6 +7126,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17524,7 +17407,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c 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 { -@@ -6928,6 +7110,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& +@@ -6969,6 +7151,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17533,7 +17416,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c 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 { -@@ -7042,6 +7226,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf +@@ -7083,6 +7267,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf return; } } @@ -17542,7 +17425,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c // Since runBeforeUnloadConfirmPanel() can spin a nested run loop we need to turn off the responsiveness timer and the tryClose timer. m_process->stopResponsivenessTimer(); -@@ -7487,6 +7673,11 @@ void WebPageProxy::resourceLoadDidCompleteWithError(ResourceLoadInfo&& loadInfo, +@@ -7528,6 +7714,11 @@ void WebPageProxy::resourceLoadDidCompleteWithError(ResourceLoadInfo&& loadInfo, } #if ENABLE(FULLSCREEN_API) @@ -17554,7 +17437,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c WebFullScreenManagerProxy* WebPageProxy::fullScreenManager() { return m_fullScreenManager.get(); -@@ -8403,6 +8594,8 @@ void WebPageProxy::didReceiveEvent(WebEventType eventType, bool handled) +@@ -8444,6 +8635,8 @@ void WebPageProxy::didReceiveEvent(WebEventType eventType, bool handled) if (auto* automationSession = process().processPool().automationSession()) automationSession->mouseEventsFlushedForPage(*this); didFinishProcessingAllPendingMouseEvents(); @@ -17563,7 +17446,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } break; } -@@ -8441,7 +8634,6 @@ void WebPageProxy::didReceiveEvent(WebEventType eventType, bool handled) +@@ -8482,7 +8675,6 @@ void WebPageProxy::didReceiveEvent(WebEventType eventType, bool handled) // The call to doneWithKeyEvent may close this WebPage. // Protect against this being destroyed. Ref protect(*this); @@ -17571,7 +17454,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c pageClient().doneWithKeyEvent(event, handled); if (!handled) m_uiClient->didNotHandleKeyEvent(this, event); -@@ -8450,6 +8642,7 @@ void WebPageProxy::didReceiveEvent(WebEventType eventType, bool handled) +@@ -8491,6 +8683,7 @@ void WebPageProxy::didReceiveEvent(WebEventType eventType, bool handled) if (!canProcessMoreKeyEvents) { if (auto* automationSession = process().processPool().automationSession()) automationSession->keyboardEventsFlushedForPage(*this); @@ -17579,7 +17462,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c } break; } -@@ -8803,7 +8996,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) +@@ -8844,7 +9037,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) { WEBPAGEPROXY_RELEASE_LOG_ERROR(Loading, "dispatchProcessDidTerminate: reason=%" PUBLIC_LOG_STRING, processTerminationReasonToString(reason)); @@ -17591,7 +17474,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c if (m_loaderClient) handledByClient = reason != ProcessTerminationReason::RequestedByClient && m_loaderClient->processDidCrash(*this); else -@@ -9172,6 +9368,7 @@ bool WebPageProxy::useGPUProcessForDOMRenderingEnabled() const +@@ -9217,6 +9413,7 @@ bool WebPageProxy::useGPUProcessForDOMRenderingEnabled() const WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea, RefPtr&& websitePolicies) { @@ -17599,16 +17482,16 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c WebPageCreationParameters parameters; parameters.processDisplayName = configuration().processDisplayName(); -@@ -9373,6 +9570,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc +@@ -9418,6 +9615,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc parameters.httpsUpgradeEnabled = preferences().upgradeKnownHostsToHTTPSEnabled() ? m_configuration->httpsUpgradeEnabled() : false; + parameters.shouldPauseInInspectorWhenShown = m_inspectorController->shouldPauseLoading(); + - #if PLATFORM(IOS) + #if PLATFORM(IOS) || PLATFORM(VISION) // FIXME: This is also being passed over the to WebProcess via the PreferencesStore. parameters.allowsDeprecatedSynchronousXMLHttpRequestDuringUnload = allowsDeprecatedSynchronousXMLHttpRequestDuringUnload(); -@@ -9459,8 +9658,42 @@ void WebPageProxy::gamepadActivity(const Vector>& gam +@@ -9502,8 +9701,42 @@ void WebPageProxy::gamepadActivity(const Vector>& gam #endif @@ -17651,7 +17534,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c if (negotiatedLegacyTLS == NegotiatedLegacyTLS::Yes) { m_navigationClient->shouldAllowLegacyTLS(*this, authenticationChallenge.get(), [this, protectedThis = Ref { *this }, authenticationChallenge] (bool shouldAllowLegacyTLS) { if (shouldAllowLegacyTLS) -@@ -9564,6 +9797,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge +@@ -9607,6 +9840,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge request->deny(); }; @@ -17668,7 +17551,7 @@ index 65d61f80f19ee9be079e9aa0a8e3f7301ac3e407..06126f137140d360c69b10599e56cf0c // and make it one UIClient call that calls the completionHandler with false // if there is no delegate instead of returning the completionHandler diff --git a/Source/WebKit/UIProcess/WebPageProxy.h b/Source/WebKit/UIProcess/WebPageProxy.h -index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f9655a123295 100644 +index 5494893112a6081ea9ad1d466fa192b81a06fea7..af4d1480774674a5ca30e68fd234f5a5bc1cdde9 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.h +++ b/Source/WebKit/UIProcess/WebPageProxy.h @@ -26,12 +26,31 @@ @@ -17711,7 +17594,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 class FloatRect; class FloatSize; class FontAttributeChanges; -@@ -376,6 +396,7 @@ class WebExtensionController; +@@ -378,6 +398,7 @@ class WebExtensionController; class WebFramePolicyListenerProxy; class WebFrameProxy; class WebFullScreenManagerProxy; @@ -17719,7 +17602,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 class WebInspectorUIProxy; class WebKeyboardEvent; class WebMouseEvent; -@@ -571,6 +592,8 @@ public: +@@ -574,6 +595,8 @@ public: void setControlledByAutomation(bool); WebPageInspectorController& inspectorController() { return *m_inspectorController; } @@ -17728,7 +17611,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 #if PLATFORM(IOS_FAMILY) void showInspectorIndication(); -@@ -601,6 +624,7 @@ public: +@@ -604,6 +627,7 @@ public: bool hasSleepDisabler() const; #if ENABLE(FULLSCREEN_API) @@ -17736,7 +17619,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 WebFullScreenManagerProxy* fullScreenManager(); API::FullscreenClient& fullscreenClient() const { return *m_fullscreenClient; } -@@ -689,6 +713,11 @@ public: +@@ -692,6 +716,11 @@ public: void setPageLoadStateObserver(std::unique_ptr&&); @@ -17748,7 +17631,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 void initializeWebPage(); void setDrawingArea(std::unique_ptr&&); -@@ -715,6 +744,7 @@ public: +@@ -718,6 +747,7 @@ public: void addPlatformLoadParameters(WebProcessProxy&, LoadParameters&); RefPtr loadRequest(WebCore::ResourceRequest&&); RefPtr loadRequest(WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData = nullptr); @@ -17756,7 +17639,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 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); -@@ -1287,6 +1317,7 @@ public: +@@ -1290,6 +1320,7 @@ public: #endif void pageScaleFactorDidChange(double); @@ -17764,7 +17647,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 void pluginScaleFactorDidChange(double); void pluginZoomFactorDidChange(double); -@@ -1377,14 +1408,20 @@ public: +@@ -1380,14 +1411,20 @@ public: void didStartDrag(); void dragCancelled(); void setDragCaretRect(const WebCore::IntRect&); @@ -17786,7 +17669,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 #endif void processDidBecomeUnresponsive(); -@@ -1601,6 +1638,7 @@ public: +@@ -1604,6 +1641,7 @@ public: void setViewportSizeForCSSViewportUnits(const WebCore::FloatSize&); WebCore::FloatSize viewportSizeForCSSViewportUnits() const; @@ -17794,7 +17677,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 void didReceiveAuthenticationChallengeProxy(Ref&&, NegotiatedLegacyTLS); void negotiatedLegacyTLS(); void didNegotiateModernTLS(const URL&); -@@ -1635,6 +1673,8 @@ public: +@@ -1638,6 +1676,8 @@ public: #if PLATFORM(COCOA) || PLATFORM(GTK) RefPtr takeViewSnapshot(std::optional&&); @@ -17803,7 +17686,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 #endif #if ENABLE(WEB_CRYPTO) -@@ -2902,8 +2942,10 @@ private: +@@ -2912,8 +2952,10 @@ private: String m_overrideContentSecurityPolicy; RefPtr m_inspector; @@ -17814,7 +17697,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 std::unique_ptr m_fullScreenManager; std::unique_ptr m_fullscreenClient; #endif -@@ -3085,6 +3127,22 @@ private: +@@ -3095,6 +3137,22 @@ private: std::optional m_currentDragOperation; bool m_currentDragIsOverFileInput { false }; unsigned m_currentDragNumberOfFilesToBeAccepted { 0 }; @@ -17837,7 +17720,7 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 #endif bool m_mainFrameHasHorizontalScrollbar { false }; -@@ -3252,6 +3310,10 @@ private: +@@ -3262,6 +3320,10 @@ private: RefPtr messageBody; }; Vector m_pendingInjectedBundleMessages; @@ -17849,13 +17732,13 @@ index 2329d35651bff79209e12abc0f72247777e04277..feb7cc4df15ef85b3845ee153a88f965 #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 78f6aa0cd0c3598e036f6cf5681df9b397fc7b68..3d2ba18e36c1c2094e7ae8705ffcb1ac6048eb43 100644 +index 30799130db49f5b129c51c4908315e2fc21abaf8..6a7bc2b5cb6a7f9785674c402e69458a5499245d 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.messages.in +++ b/Source/WebKit/UIProcess/WebPageProxy.messages.in @@ -29,6 +29,7 @@ messages -> WebPageProxy { RunJavaScriptConfirm(WebCore::FrameIdentifier frameID, struct WebKit::FrameInfoData frameInfo, String message) -> (bool result) Synchronous RunJavaScriptPrompt(WebCore::FrameIdentifier frameID, struct WebKit::FrameInfoData frameInfo, String message, String defaultValue) -> (String result) Synchronous - MouseDidMoveOverElement(struct WebKit::WebHitTestResultData hitTestResultData, uint32_t modifiers, WebKit::UserData userData) + MouseDidMoveOverElement(struct WebKit::WebHitTestResultData hitTestResultData, OptionSet modifiers, WebKit::UserData userData) + LogToStderr(String text) DidChangeViewportProperties(struct WebCore::ViewportAttributes attributes) @@ -17884,7 +17767,7 @@ index 78f6aa0cd0c3598e036f6cf5681df9b397fc7b68..3d2ba18e36c1c2094e7ae8705ffcb1ac DidPerformDragOperation(bool handled) #endif diff --git a/Source/WebKit/UIProcess/WebProcessCache.cpp b/Source/WebKit/UIProcess/WebProcessCache.cpp -index e68471d45366b6f7a609e6a57bcfea2820511e29..d2344e7b428ae19399ded4e37bfbf81c26f07dfd 100644 +index a61dcbbd9478156f0feb3d4f27379c4cc72bf949..01fcd8891ab9280471ecf6d61da51890b9574bca 100644 --- a/Source/WebKit/UIProcess/WebProcessCache.cpp +++ b/Source/WebKit/UIProcess/WebProcessCache.cpp @@ -81,6 +81,10 @@ bool WebProcessCache::canCacheProcess(WebProcessProxy& process) const @@ -17899,7 +17782,7 @@ index e68471d45366b6f7a609e6a57bcfea2820511e29..d2344e7b428ae19399ded4e37bfbf81c } diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp -index 388e6a6c72b5c3a6fb32cee6cf80ea95af94a549..cc89b2d87eae2f62983ff7e89de376c714b3f1d5 100644 +index 5cb94c965011c2fd9306939c1099c1b4bf562d34..3fadf8d8d3815aa0428f231bbc629c825ec08ac6 100644 --- a/Source/WebKit/UIProcess/WebProcessPool.cpp +++ b/Source/WebKit/UIProcess/WebProcessPool.cpp @@ -381,10 +381,10 @@ void WebProcessPool::setAutomationClient(std::unique_ptr& @@ -17927,7 +17810,7 @@ index 388e6a6c72b5c3a6fb32cee6cf80ea95af94a549..cc89b2d87eae2f62983ff7e89de376c7 void WebProcessPool::fullKeyboardAccessModeChanged(bool fullKeyboardAccessEnabled) { -@@ -531,6 +532,14 @@ void WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess(Remo +@@ -533,6 +534,14 @@ void WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess(Remo RefPtr requestingProcess = requestingProcessIdentifier ? WebProcessProxy::processForIdentifier(*requestingProcessIdentifier) : nullptr; WebProcessPool* processPool = requestingProcess ? &requestingProcess->processPool() : processPools()[0]; @@ -17942,7 +17825,7 @@ index 388e6a6c72b5c3a6fb32cee6cf80ea95af94a549..cc89b2d87eae2f62983ff7e89de376c7 ASSERT(processPool); WebProcessProxy* remoteWorkerProcessProxy { nullptr }; -@@ -835,7 +844,7 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa +@@ -837,7 +846,7 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa #endif parameters.cacheModel = LegacyGlobalSettings::singleton().cacheModel(); @@ -17952,7 +17835,7 @@ index 388e6a6c72b5c3a6fb32cee6cf80ea95af94a549..cc89b2d87eae2f62983ff7e89de376c7 parameters.urlSchemesRegisteredAsEmptyDocument = copyToVector(m_schemesToRegisterAsEmptyDocument); diff --git a/Source/WebKit/UIProcess/WebProcessProxy.cpp b/Source/WebKit/UIProcess/WebProcessProxy.cpp -index 88b4766d71664ad96eb3cd3dc9bbb11fca085b02..afe323a9189fe9719dc249b8dfc88adf6319c7c8 100644 +index 5ba63007ccbbc23049e8f5afada0653ed7eb1cc7..398b477c59928d6ef454b89a61883c487046ac9e 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.cpp +++ b/Source/WebKit/UIProcess/WebProcessProxy.cpp @@ -169,6 +169,11 @@ Vector> WebProcessProxy::allProcesses() @@ -17967,7 +17850,7 @@ index 88b4766d71664ad96eb3cd3dc9bbb11fca085b02..afe323a9189fe9719dc249b8dfc88adf RefPtr WebProcessProxy::processForIdentifier(ProcessIdentifier identifier) { return allProcessMap().get(identifier).get(); -@@ -505,6 +510,26 @@ void WebProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOpt +@@ -501,6 +506,26 @@ void WebProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOpt if (WebKit::isInspectorProcessPool(processPool())) launchOptions.extraInitializationData.add("inspector-process"_s, "1"_s); @@ -17995,10 +17878,10 @@ index 88b4766d71664ad96eb3cd3dc9bbb11fca085b02..afe323a9189fe9719dc249b8dfc88adf if (isPrewarmed()) diff --git a/Source/WebKit/UIProcess/WebProcessProxy.h b/Source/WebKit/UIProcess/WebProcessProxy.h -index 9684e12a2a2c8c8d543f0481f918be9e1681d320..4790d89a582dab5f6b72bf00088bcdaa9309eaed 100644 +index cc16168ea0259bcf2d60949b5eed9795d69130c6..537b1c3beb29ca89e14e5b30d3833e0c36841c10 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.h +++ b/Source/WebKit/UIProcess/WebProcessProxy.h -@@ -162,6 +162,7 @@ public: +@@ -163,6 +163,7 @@ public: static void forWebPagesWithOrigin(PAL::SessionID, const WebCore::SecurityOriginData&, const Function&); static Vector> allowedFirstPartiesForCookies(); @@ -18024,7 +17907,7 @@ index 30c4a06a937f6018e619f952c35262742473b942..8ba95c4d29660691db90572a42f45ac5 void WebsiteDataStore::hasAppBoundSession(CompletionHandler&& completionHandler) const { diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h -index 8ed75ef856300d39445d7e402c16a10e4a4d82ce..94d621daf687549e90778ced463a05b488d349a5 100644 +index e04145796d0868967b0b91c36ff43faf5ab6e17e..a041ec5834f2599d9833346958dd0dadfb25c5e0 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h @@ -95,6 +95,7 @@ class DeviceIdHashSaltStorage; @@ -18435,10 +18318,10 @@ index 39aeff71fe05354cf63d3b3701d363642d63aca4..32e96cdd0bdbd8c5dcde43fdf60052ac virtual void unrealize() { }; virtual bool makeContextCurrent() { return false; } diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp -index 18c321ea2417bc6aa9db15e3b338b2ca687d1021..f31bb173249caaad3c3db8c7fb30bd57d3e6cf11 100644 +index 5a5d2fc4ceacb19c9279ead0eb6d9928463a8e55..d973c307f2af2e2a83412868bf4c15e1acffbbea 100644 --- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp +++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp -@@ -320,6 +320,25 @@ void AcceleratedBackingStoreDMABuf::Surface::paint(GtkWidget*, cairo_t* cr, cons +@@ -376,6 +376,25 @@ void AcceleratedBackingStoreDMABuf::Surface::paint(GtkWidget*, cairo_t* cr, cons } #endif @@ -18461,10 +18344,10 @@ index 18c321ea2417bc6aa9db15e3b338b2ca687d1021..f31bb173249caaad3c3db8c7fb30bd57 + return m_flippedSurface.get(); +} + - void AcceleratedBackingStoreDMABuf::configure(UnixFileDescriptor&& backFD, UnixFileDescriptor&& frontFD, const WebCore::IntSize& size, uint32_t format, uint32_t offset, uint32_t stride, uint64_t modifier) + void AcceleratedBackingStoreDMABuf::configure(UnixFileDescriptor&& backFD, UnixFileDescriptor&& frontFD, UnixFileDescriptor&& displayFD, const WebCore::IntSize& size, uint32_t format, uint32_t offset, uint32_t stride, uint64_t modifier) { m_isSoftwareRast = false; -@@ -481,6 +500,15 @@ bool AcceleratedBackingStoreDMABuf::paint(cairo_t* cr, const WebCore::IntRect& c +@@ -566,4 +585,13 @@ bool AcceleratedBackingStoreDMABuf::paint(cairo_t* cr, const WebCore::IntRect& c } #endif @@ -18478,13 +18361,11 @@ index 18c321ea2417bc6aa9db15e3b338b2ca687d1021..f31bb173249caaad3c3db8c7fb30bd57 + + } // namespace WebKit - - #endif // USE(GBM) diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h -index 8356d8fdbf32f262d5f4d9cb025f709e236c1e2b..1ee9f5fef2d8ce0e2af32e578ce9e18b5243f379 100644 +index bd52cafbcec61c19c2d44630193a507934f6dab4..87ab1217cdd56b4598d6a68ddefabb075c9fb259 100644 --- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h +++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h -@@ -76,6 +76,7 @@ private: +@@ -79,6 +79,7 @@ private: #else bool paint(cairo_t*, const WebCore::IntRect&) override; #endif @@ -18492,7 +18373,7 @@ index 8356d8fdbf32f262d5f4d9cb025f709e236c1e2b..1ee9f5fef2d8ce0e2af32e578ce9e18b void realize() override; void unrealize() override; bool makeContextCurrent() override; -@@ -91,6 +92,7 @@ private: +@@ -96,6 +97,7 @@ private: #else virtual void paint(GtkWidget*, cairo_t*, const WebCore::IntRect&) const = 0; #endif @@ -18500,7 +18381,7 @@ index 8356d8fdbf32f262d5f4d9cb025f709e236c1e2b..1ee9f5fef2d8ce0e2af32e578ce9e18b const WebCore::IntSize size() const { return m_size; } -@@ -115,6 +117,7 @@ private: +@@ -122,6 +124,7 @@ private: #else void paint(GtkWidget*, cairo_t*, const WebCore::IntRect&) const override; #endif @@ -18508,18 +18389,18 @@ index 8356d8fdbf32f262d5f4d9cb025f709e236c1e2b..1ee9f5fef2d8ce0e2af32e578ce9e18b GRefPtr m_context; unsigned m_textureID { 0 }; -@@ -141,6 +144,7 @@ private: +@@ -153,6 +156,7 @@ private: #else void paint(GtkWidget*, cairo_t*, const WebCore::IntRect&) const override; #endif + cairo_surface_t* surfaceForScreencast() override; + #if USE(GBM) RefPtr map(struct gbm_bo*) const; - RefPtr map(RefPtr&) const; -@@ -151,6 +155,7 @@ private: - RefPtr m_frontBitmap; +@@ -170,6 +174,7 @@ private: RefPtr m_surface; RefPtr m_backSurface; + RefPtr m_displaySurface; + RefPtr m_flippedSurface; }; @@ -18786,16 +18667,16 @@ index 0000000000000000000000000000000000000000..6a204c5bba8fb95ddb2d1c14cae7a3a7 + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -index e892b35228cce2a44e5b3156a48a3284a21670b4..090b6f143a9e646189c078807be6fcf92892cc1d 100644 +index b8bfbb6b5876a2dc4815866bcf5570681b7c8764..fd2842664ef5d134e2af17913ff3ceb66fdcc0b2 100644 --- a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm +++ b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -@@ -447,6 +447,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) +@@ -465,6 +465,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool eventWasHandled) { + if (!event.nativeEvent()) + return; - [m_contentView _didHandleKeyEvent:event.nativeEvent() eventWasHandled:eventWasHandled]; + [contentView() _didHandleKeyEvent:event.nativeEvent() eventWasHandled:eventWasHandled]; } diff --git a/Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm b/Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm @@ -19000,7 +18881,7 @@ index 0000000000000000000000000000000000000000..721826c8c98fc85b68a4f45deaee69c1 + +#endif diff --git a/Source/WebKit/UIProcess/mac/PageClientImplMac.h b/Source/WebKit/UIProcess/mac/PageClientImplMac.h -index 3ad946efa69c118eba63db8103b2a276595570a6..65200beffe1ee70a500ab27f557cfa0d7e59db24 100644 +index 8b42f45a887fe7605c043f794432785da5c7a2f3..be6283c27e3e15d76cb766355c0c4e4320697295 100644 --- a/Source/WebKit/UIProcess/mac/PageClientImplMac.h +++ b/Source/WebKit/UIProcess/mac/PageClientImplMac.h @@ -54,6 +54,8 @@ class PageClientImpl final : public PageClientImplCocoa @@ -19012,7 +18893,7 @@ index 3ad946efa69c118eba63db8103b2a276595570a6..65200beffe1ee70a500ab27f557cfa0d PageClientImpl(NSView *, WKWebView *); virtual ~PageClientImpl(); -@@ -172,6 +174,9 @@ private: +@@ -170,6 +172,9 @@ private: void updateAcceleratedCompositingMode(const LayerTreeContext&) override; void didFirstLayerFlush(const LayerTreeContext&) override; @@ -19022,7 +18903,7 @@ index 3ad946efa69c118eba63db8103b2a276595570a6..65200beffe1ee70a500ab27f557cfa0d RefPtr takeViewSnapshot(std::optional&&) override; void wheelEventWasNotHandledByWebCore(const NativeWebWheelEvent&) override; #if ENABLE(MAC_GESTURE_EVENTS) -@@ -226,6 +231,10 @@ private: +@@ -222,6 +227,10 @@ private: void beganExitFullScreen(const WebCore::IntRect& initialFrame, const WebCore::IntRect& finalFrame) override; #endif @@ -19034,7 +18915,7 @@ index 3ad946efa69c118eba63db8103b2a276595570a6..65200beffe1ee70a500ab27f557cfa0d 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 00211e5e41b5253668f44d643e25988f646f9d78..11c191dbbdfe74a8cf81d27ecc4077695934768d 100644 +index f57fbfcb950259723f5d7672198ec811491003a2..30eb73f44f4b8d2dc8888f86128b22155c0abf34 100644 --- a/Source/WebKit/UIProcess/mac/PageClientImplMac.mm +++ b/Source/WebKit/UIProcess/mac/PageClientImplMac.mm @@ -81,6 +81,7 @@ @@ -19130,7 +19011,7 @@ index 00211e5e41b5253668f44d643e25988f646f9d78..11c191dbbdfe74a8cf81d27ecc407769 RefPtr PageClientImpl::takeViewSnapshot(std::optional&&) { return m_impl->takeViewSnapshot(); -@@ -816,6 +844,13 @@ void PageClientImpl::beganExitFullScreen(const IntRect& initialFrame, const IntR +@@ -811,6 +839,13 @@ void PageClientImpl::beganExitFullScreen(const IntRect& initialFrame, const IntR #endif // ENABLE(FULLSCREEN_API) @@ -19144,7 +19025,7 @@ index 00211e5e41b5253668f44d643e25988f646f9d78..11c191dbbdfe74a8cf81d27ecc407769 void PageClientImpl::navigationGestureDidBegin() { m_impl->dismissContentRelativeChildWindowsWithAnimation(true); -@@ -993,6 +1028,9 @@ void PageClientImpl::requestScrollToRect(const WebCore::FloatRect& targetRect, c +@@ -998,6 +1033,9 @@ void PageClientImpl::requestScrollToRect(const WebCore::FloatRect& targetRect, c bool PageClientImpl::windowIsFrontWindowUnderMouse(const NativeWebMouseEvent& event) { @@ -19370,10 +19251,10 @@ index 0000000000000000000000000000000000000000..4ec25daff6a0c75e378eb25b2f2638e2 + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/mac/WebViewImpl.h b/Source/WebKit/UIProcess/mac/WebViewImpl.h -index e13a0838137f5d86e2b0032ea8545377aeaecc04..085e351c99f1c60973ac59873c4ad90c69a1b3ae 100644 +index aff1a61e4bb75fa52c0bb90e52dc76650e4ea47c..73cf0312a9059151258d621255efb6f04ec708f0 100644 --- a/Source/WebKit/UIProcess/mac/WebViewImpl.h +++ b/Source/WebKit/UIProcess/mac/WebViewImpl.h -@@ -514,6 +514,9 @@ ALLOW_DEPRECATED_DECLARATIONS_END +@@ -519,6 +519,9 @@ ALLOW_DEPRECATED_DECLARATIONS_END void provideDataForPasteboard(NSPasteboard *, NSString *type); NSArray *namesOfPromisedFilesDroppedAtDestination(NSURL *dropDestination); @@ -19384,10 +19265,10 @@ index e13a0838137f5d86e2b0032ea8545377aeaecc04..085e351c99f1c60973ac59873c4ad90c void saveBackForwardSnapshotForCurrentItem(); void saveBackForwardSnapshotForItem(WebBackForwardListItem&); diff --git a/Source/WebKit/UIProcess/mac/WebViewImpl.mm b/Source/WebKit/UIProcess/mac/WebViewImpl.mm -index dfde2eb211d863cc279cca6ad71b6408b58270fc..2703d97ab56b0e7ba19212238783e40d0709a7ef 100644 +index 9478bb96185452165ddd0c353b950166b4e75c89..c72ccc58df96e0f432dfb53c66f5f94b52aa107c 100644 --- a/Source/WebKit/UIProcess/mac/WebViewImpl.mm +++ b/Source/WebKit/UIProcess/mac/WebViewImpl.mm -@@ -2334,6 +2334,11 @@ WebCore::DestinationColorSpace WebViewImpl::colorSpace() +@@ -2343,6 +2343,11 @@ WebCore::DestinationColorSpace WebViewImpl::colorSpace() if (!m_colorSpace) m_colorSpace = [NSColorSpace sRGBColorSpace]; } @@ -19399,7 +19280,7 @@ index dfde2eb211d863cc279cca6ad71b6408b58270fc..2703d97ab56b0e7ba19212238783e40d ASSERT(m_colorSpace); return WebCore::DestinationColorSpace { [m_colorSpace CGColorSpace] }; -@@ -4420,6 +4425,18 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN +@@ -4409,6 +4414,18 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN ALLOW_DEPRECATED_DECLARATIONS_END } @@ -19418,7 +19299,7 @@ index dfde2eb211d863cc279cca6ad71b6408b58270fc..2703d97ab56b0e7ba19212238783e40d RefPtr WebViewImpl::takeViewSnapshot() { NSWindow *window = [m_view window]; -@@ -5040,11 +5057,11 @@ static Vector compositionHighlights(NSAttributedS +@@ -5005,11 +5022,11 @@ static Vector compositionHighlights(NSAttributedS Vector highlights; [string enumerateAttributesInRange:NSMakeRange(0, string.length) options:0 usingBlock:[&highlights](NSDictionary *attributes, NSRange range, BOOL *) { std::optional backgroundHighlightColor; @@ -20192,10 +20073,10 @@ index 0000000000000000000000000000000000000000..a7d88f8c745f95af21db71dcfce368ba + +} // namespace WebKit diff --git a/Source/WebKit/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj -index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f8296700e 100644 +index 878451c5d13c75a94fdda9f65e6808c75e80e130..5ecaea0628959591117ab4a09fb3fd86dcf06b58 100644 --- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj +++ b/Source/WebKit/WebKit.xcodeproj/project.pbxproj -@@ -1334,6 +1334,7 @@ +@@ -1335,6 +1335,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 */; }; @@ -20203,7 +20084,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 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 */; }; -@@ -2090,6 +2091,18 @@ +@@ -2093,6 +2094,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 */; }; @@ -20222,7 +20103,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 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, ); }; }; -@@ -2154,6 +2167,8 @@ +@@ -2159,6 +2172,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 */; }; @@ -20231,7 +20112,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 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 */; }; -@@ -2172,6 +2187,9 @@ +@@ -2177,6 +2192,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, ); }; }; @@ -20241,7 +20122,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f F409BA181E6E64BC009DA28E /* WKDragDestinationAction.h in Headers */ = {isa = PBXBuildFile; fileRef = F409BA171E6E64B3009DA28E /* WKDragDestinationAction.h */; settings = {ATTRIBUTES = (Private, ); }; }; F4299507270E234D0032298B /* StreamMessageReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = F4299506270E234C0032298B /* StreamMessageReceiver.h */; }; F42D634122A0EFDF00D2FB3A /* WebAutocorrectionData.h in Headers */ = {isa = PBXBuildFile; fileRef = F42D633F22A0EFD300D2FB3A /* WebAutocorrectionData.h */; }; -@@ -5416,6 +5434,7 @@ +@@ -5422,6 +5440,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 = ""; }; @@ -20249,7 +20130,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 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 = ""; }; -@@ -7009,6 +7028,19 @@ +@@ -7016,6 +7035,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 = ""; }; @@ -20269,7 +20150,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 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 = ""; }; -@@ -7144,6 +7176,8 @@ +@@ -7153,6 +7185,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 = ""; }; @@ -20278,7 +20159,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 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 = ""; }; -@@ -7167,6 +7201,14 @@ +@@ -7176,6 +7210,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 = ""; }; @@ -20293,7 +20174,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f F409BA171E6E64B3009DA28E /* WKDragDestinationAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDragDestinationAction.h; sourceTree = ""; }; F40D1B68220BDC0F00B49A01 /* WebAutocorrectionContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WebAutocorrectionContext.h; path = ios/WebAutocorrectionContext.h; sourceTree = ""; }; F41056612130699A0092281D /* APIAttachmentCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = APIAttachmentCocoa.mm; sourceTree = ""; }; -@@ -7335,6 +7377,7 @@ +@@ -7344,6 +7386,7 @@ 3766F9EE189A1241003CF19B /* JavaScriptCore.framework in Frameworks */, 3766F9F1189A1254003CF19B /* libicucore.dylib in Frameworks */, 7B9FC5BB28A5233B007570E7 /* libWebKitPlatform.a in Frameworks */, @@ -20301,7 +20182,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 3766F9EF189A1244003CF19B /* QuartzCore.framework in Frameworks */, 37694525184FC6B600CDE21F /* Security.framework in Frameworks */, 37BEC4DD1948FC6A008B4286 /* WebCore.framework in Frameworks */, -@@ -9846,6 +9889,7 @@ +@@ -9853,6 +9896,7 @@ 99788ACA1F421DCA00C08000 /* _WKAutomationSessionConfiguration.mm */, 990D28A81C6404B000986977 /* _WKAutomationSessionDelegate.h */, 990D28AF1C65203900986977 /* _WKAutomationSessionInternal.h */, @@ -20309,7 +20190,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 5C4609E222430E4C009943C2 /* _WKContentRuleListAction.h */, 5C4609E322430E4D009943C2 /* _WKContentRuleListAction.mm */, 5C4609E422430E4D009943C2 /* _WKContentRuleListActionInternal.h */, -@@ -10994,6 +11038,7 @@ +@@ -10999,6 +11043,7 @@ E34B110C27C46BC6006D2F2E /* libWebCoreTestShim.dylib */, E34B110F27C46D09006D2F2E /* libWebCoreTestSupport.dylib */, DDE992F4278D06D900F60D26 /* libWebKitAdditions.a */, @@ -20317,7 +20198,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 57A9FF15252C6AEF006A2040 /* libWTF.a */, 5750F32A2032D4E500389347 /* LocalAuthentication.framework */, 570DAAB0230273D200E8FC04 /* NearField.framework */, -@@ -11544,6 +11589,12 @@ +@@ -11551,6 +11596,12 @@ children = ( 9197940423DBC4BB00257892 /* InspectorBrowserAgent.cpp */, 9197940323DBC4BB00257892 /* InspectorBrowserAgent.h */, @@ -20330,7 +20211,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f ); path = Agents; sourceTree = ""; -@@ -11552,6 +11603,7 @@ +@@ -11559,6 +11610,7 @@ isa = PBXGroup; children = ( A5D3504D1D78F0D2005124A9 /* RemoteWebInspectorUIProxyMac.mm */, @@ -20338,7 +20219,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 1CA8B935127C774E00576C2B /* WebInspectorUIProxyMac.mm */, 99A7ACE326012919006D57FD /* WKInspectorResourceURLSchemeHandler.h */, 99A7ACE42601291A006D57FD /* WKInspectorResourceURLSchemeHandler.mm */, -@@ -12146,6 +12198,7 @@ +@@ -12153,6 +12205,7 @@ E1513C65166EABB200149FCB /* AuxiliaryProcessProxy.h */, 46A2B6061E5675A200C3DEDA /* BackgroundProcessResponsivenessTimer.cpp */, 46A2B6071E5675A200C3DEDA /* BackgroundProcessResponsivenessTimer.h */, @@ -20346,7 +20227,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 07297F9C1C1711EA003F0735 /* DeviceIdHashSaltStorage.cpp */, 07297F9D1C17BBEA223F0735 /* DeviceIdHashSaltStorage.h */, BC2652121182608100243E12 /* DrawingAreaProxy.cpp */, -@@ -12161,6 +12214,8 @@ +@@ -12168,6 +12221,8 @@ 2DD5A72A1EBF09A7009BA597 /* HiddenPageThrottlingAutoIncreasesCounter.h */, 839A2F2F1E2067390039057E /* HighPerformanceGraphicsUsageSampler.cpp */, 839A2F301E2067390039057E /* HighPerformanceGraphicsUsageSampler.h */, @@ -20355,15 +20236,15 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 5CEABA2B2333251400797797 /* LegacyGlobalSettings.cpp */, 5CEABA2A2333247700797797 /* LegacyGlobalSettings.h */, 31607F3819627002009B87DA /* LegacySessionStateCoding.h */, -@@ -12195,6 +12250,7 @@ +@@ -12202,6 +12257,7 @@ 1A0C227D2451130A00ED614D /* QuickLookThumbnailingSoftLink.mm */, 1AEE57232409F142002005D6 /* QuickLookThumbnailLoader.h */, 1AEE57242409F142002005D6 /* QuickLookThumbnailLoader.mm */, + D71A94392370F060002C4D9E /* RemoteInspectorPipe.h */, + 5C907E9A294D507100B3402D /* RemotePageProxy.cpp */, + 5C907E99294D507100B3402D /* RemotePageProxy.h */, BC111B08112F5E3C00337BAB /* ResponsivenessTimer.cpp */, - 1A30066C1110F4F70031937C /* ResponsivenessTimer.h */, - 5CA98549210BEB5A0057EB6B /* SafeBrowsingWarning.h */, -@@ -12297,6 +12353,8 @@ +@@ -12304,6 +12360,8 @@ BC7B6204129A0A6700D174A4 /* WebPageGroup.h */, 2D9EA3101A96D9EB002D2807 /* WebPageInjectedBundleClient.cpp */, 2D9EA30E1A96CBFF002D2807 /* WebPageInjectedBundleClient.h */, @@ -20372,7 +20253,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f BC111B0B112F5E4F00337BAB /* WebPageProxy.cpp */, BC032DCB10F4389F0058C15A /* WebPageProxy.h */, BCBD38FA125BAB9A00D2C29F /* WebPageProxy.messages.in */, -@@ -12457,6 +12515,7 @@ +@@ -12464,6 +12522,7 @@ BC646C1911DD399F006455B0 /* WKBackForwardListItemRef.h */, BC646C1611DD399F006455B0 /* WKBackForwardListRef.cpp */, BC646C1711DD399F006455B0 /* WKBackForwardListRef.h */, @@ -20380,7 +20261,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f BCB9E24A1120E15C00A137E0 /* WKContext.cpp */, BCB9E2491120E15C00A137E0 /* WKContext.h */, 1AE52F9319201F6B00A1FA37 /* WKContextConfigurationRef.cpp */, -@@ -13038,6 +13097,9 @@ +@@ -13045,6 +13104,9 @@ 0F49294628FF0F4B00AF8509 /* DisplayLinkProcessProxyClient.h */, 31ABA79C215AF9E000C90E31 /* HighPerformanceGPUManager.h */, 31ABA79D215AF9E000C90E31 /* HighPerformanceGPUManager.mm */, @@ -20390,7 +20271,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 1AFDE65B1954E8D500C48FFA /* LegacySessionStateCoding.cpp */, 0FCB4E5818BBE3D9000FCFC9 /* PageClientImplMac.h */, 0FCB4E5918BBE3D9000FCFC9 /* PageClientImplMac.mm */, -@@ -13061,6 +13123,8 @@ +@@ -13068,6 +13130,8 @@ E568B92120A3AC6A00E3C856 /* WebDataListSuggestionsDropdownMac.mm */, E55CD20124D09F1F0042DB9C /* WebDateTimePickerMac.h */, E55CD20224D09F1F0042DB9C /* WebDateTimePickerMac.mm */, @@ -20399,7 +20280,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f BC857E8512B71EBB00EDEB2E /* WebPageProxyMac.mm */, BC5750951268F3C6006F0F12 /* WebPopupMenuProxyMac.h */, BC5750961268F3C6006F0F12 /* WebPopupMenuProxyMac.mm */, -@@ -13963,6 +14027,7 @@ +@@ -13984,6 +14048,7 @@ 99788ACB1F421DDA00C08000 /* _WKAutomationSessionConfiguration.h in Headers */, 990D28AC1C6420CF00986977 /* _WKAutomationSessionDelegate.h in Headers */, 990D28B11C65208D00986977 /* _WKAutomationSessionInternal.h in Headers */, @@ -20407,7 +20288,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 5C4609E7224317B4009943C2 /* _WKContentRuleListAction.h in Headers */, 5C4609E8224317BB009943C2 /* _WKContentRuleListActionInternal.h in Headers */, 1A5704F81BE01FF400874AF1 /* _WKContextMenuElementInfo.h in Headers */, -@@ -14233,6 +14298,7 @@ +@@ -14255,6 +14320,7 @@ E170876C16D6CA6900F99226 /* BlobRegistryProxy.h in Headers */, 4F601432155C5AA2001FBDE0 /* BlockingResponseMap.h in Headers */, 1A5705111BE410E600874AF1 /* BlockSPI.h in Headers */, @@ -20415,7 +20296,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f BC3065FA1259344E00E71278 /* CacheModel.h in Headers */, 935BF7FC2936BF1A00B41326 /* CacheStorageCache.h in Headers */, 934CF817294B884C00304F7D /* CacheStorageDiskStore.h in Headers */, -@@ -14367,7 +14433,11 @@ +@@ -14389,7 +14455,11 @@ BC14DF77120B5B7900826C0C /* InjectedBundleScriptWorld.h in Headers */, CE550E152283752200D28791 /* InsertTextOptions.h in Headers */, 9197940523DBC4BB00257892 /* InspectorBrowserAgent.h in Headers */, @@ -20427,7 +20308,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f A5E391FD2183C1F800C8FB31 /* InspectorTargetProxy.h in Headers */, 51E9049C27BCB9D400929E7E /* InstallCoordinationSPI.h in Headers */, C5BCE5DF1C50766A00CDE3FA /* InteractionInformationAtPosition.h in Headers */, -@@ -14595,6 +14665,7 @@ +@@ -14619,6 +14689,7 @@ CDAC20CA23FC2F750021DEE3 /* RemoteCDMInstanceSession.h in Headers */, CDAC20C923FC2F750021DEE3 /* RemoteCDMInstanceSessionIdentifier.h in Headers */, F451C0FE2703B263002BA03B /* RemoteDisplayListRecorderProxy.h in Headers */, @@ -20435,7 +20316,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 2D47B56D1810714E003A3AEE /* RemoteLayerBackingStore.h in Headers */, 2DDF731518E95060004F5A66 /* RemoteLayerBackingStoreCollection.h in Headers */, 1AB16AEA164B3A8800290D62 /* RemoteLayerTreeContext.h in Headers */, -@@ -14647,6 +14718,7 @@ +@@ -14670,6 +14741,7 @@ E1E552C516AE065F004ED653 /* SandboxInitializationParameters.h in Headers */, E36FF00327F36FBD004BE21A /* SandboxStateVariables.h in Headers */, 7BAB111025DD02B3008FC479 /* ScopedActiveMessageReceiveQueue.h in Headers */, @@ -20443,7 +20324,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f E4D54D0421F1D72D007E3C36 /* ScrollingTreeFrameScrollingNodeRemoteIOS.h in Headers */, 0F931C1C18C5711900DBA7C3 /* ScrollingTreeOverflowScrollingNodeIOS.h in Headers */, 0F931C1C18C5711900DBB8D4 /* ScrollingTreeScrollingNodeDelegateIOS.h in Headers */, -@@ -14935,6 +15007,8 @@ +@@ -14958,6 +15030,8 @@ 939EF87029D112EE00F23AEE /* WebPageInlines.h in Headers */, 9197940823DBC4CB00257892 /* WebPageInspectorAgentBase.h in Headers */, A513F5402154A5D700662841 /* WebPageInspectorController.h in Headers */, @@ -20452,7 +20333,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f A543E30C215C8A8D00279CD9 /* WebPageInspectorTarget.h in Headers */, A543E30D215C8A9000279CD9 /* WebPageInspectorTargetController.h in Headers */, A543E307215AD13700279CD9 /* WebPageInspectorTargetFrontendChannel.h in Headers */, -@@ -16967,6 +17041,8 @@ +@@ -17013,6 +17087,8 @@ 51E9049727BCB3D900929E7E /* ICAppBundle.mm in Sources */, 2749F6442146561B008380BF /* InjectedBundleNodeHandle.cpp in Sources */, 2749F6452146561E008380BF /* InjectedBundleRangeHandle.cpp in Sources */, @@ -20461,7 +20342,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f B6114A7F29394A1600380B1B /* JSWebExtensionAPIEvent.mm in Sources */, 1C5DC471290B33A20061EC62 /* JSWebExtensionAPIExtension.mm in Sources */, 1C5DC4552908AC900061EC62 /* JSWebExtensionAPINamespace.mm in Sources */, -@@ -17337,6 +17413,8 @@ +@@ -17383,6 +17459,8 @@ E3816B3D27E2463A005EAFC0 /* WebMockContentFilterManager.cpp in Sources */, 31BA924D148831260062EDB5 /* WebNotificationManagerMessageReceiver.cpp in Sources */, 2DF6FE52212E110900469030 /* WebPage.cpp in Sources */, @@ -20471,7 +20352,7 @@ index ce2412889dc2d788f60aef3079b979ea1108e732..bb87fd0a44ad1719cab7a3af2c34655f 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 962c5e6b875823d340f2ef32c011d01ab24520b3..9beed76ed72461a88ac429592b879aa94dc1e898 100644 +index feae866e7120521e6b651ddf759ab341b609bb1c..e7b94e6299b72eb9ee0b7955e86eaf3ddd8c7e89 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 @@ -20531,7 +20412,7 @@ index 962c5e6b875823d340f2ef32c011d01ab24520b3..9beed76ed72461a88ac429592b879aa9 loadParameters.isMainFrameNavigation = isMainFrameNavigation; if (loadParameters.isMainFrameNavigation && document) -@@ -524,6 +526,17 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -524,12 +526,24 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL } ASSERT((loadParameters.webPageID && loadParameters.webFrameID) || loadParameters.clientCredentialPolicy == ClientCredentialPolicy::CannotAskClientForCredentials); @@ -20549,7 +20430,14 @@ index 962c5e6b875823d340f2ef32c011d01ab24520b3..9beed76ed72461a88ac429592b879aa9 std::optional existingNetworkResourceLoadIdentifierToResume; if (loadParameters.isMainFrameNavigation) -@@ -538,7 +551,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL + existingNetworkResourceLoadIdentifierToResume = std::exchange(m_existingNetworkResourceLoadIdentifierToResume, std::nullopt); + WEBLOADERSTRATEGY_RELEASE_LOG("scheduleLoad: Resource is being scheduled with the NetworkProcess (priority=%d, existingNetworkResourceLoadIdentifierToResume=%" PRIu64 ")", static_cast(resourceLoader.request().priority()), valueOrDefault(existingNetworkResourceLoadIdentifierToResume).toUInt64()); + ++ auto* frame = resourceLoader.frame(); + if (frame && !frame->settings().siteIsolationEnabled() && !WebProcess::singleton().allowsFirstPartyForCookies(loadParameters.request.firstPartyForCookies())) + RELEASE_LOG_FAULT(IPC, "scheduleLoad: Process will terminate due to failed allowsFirstPartyForCookies check"); + +@@ -542,7 +556,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL } auto loader = WebResourceLoader::create(resourceLoader, trackingParameters); @@ -20558,7 +20446,7 @@ index 962c5e6b875823d340f2ef32c011d01ab24520b3..9beed76ed72461a88ac429592b879aa9 } void WebLoaderStrategy::scheduleInternallyFailedLoad(WebCore::ResourceLoader& resourceLoader) -@@ -952,7 +965,7 @@ void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier +@@ -956,7 +970,7 @@ void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier bool WebLoaderStrategy::isOnLine() const { @@ -20567,7 +20455,7 @@ index 962c5e6b875823d340f2ef32c011d01ab24520b3..9beed76ed72461a88ac429592b879aa9 } void WebLoaderStrategy::addOnlineStateChangeListener(Function&& listener) -@@ -979,6 +992,11 @@ void WebLoaderStrategy::isResourceLoadFinished(CachedResource& resource, Complet +@@ -983,6 +997,11 @@ void WebLoaderStrategy::isResourceLoadFinished(CachedResource& resource, Complet void WebLoaderStrategy::setOnLineState(bool isOnLine) { @@ -20579,7 +20467,7 @@ index 962c5e6b875823d340f2ef32c011d01ab24520b3..9beed76ed72461a88ac429592b879aa9 if (m_isOnLine == isOnLine) return; -@@ -987,6 +1005,12 @@ void WebLoaderStrategy::setOnLineState(bool isOnLine) +@@ -991,6 +1010,12 @@ void WebLoaderStrategy::setOnLineState(bool isOnLine) listener(isOnLine); } @@ -20659,10 +20547,10 @@ index 777d8c44883adc46d0bb782dc411dedc8c2b2213..1e3611ffedbf6c57f73a99df3d4122bf auto permissionHandlers = m_requestsPerOrigin.take(securityOrigin); diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp -index cd8865e366a0b57072fd66da28d77719b33405a9..79de959580e4e5930897c3edd3b93ee93650423f 100644 +index 99ce51bc8d7ec90bb7ecb7affde6236caa6f7008..4865fddeef4a1120cd592c010c1a9b83e41e8af9 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp +++ b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp -@@ -459,6 +459,8 @@ void WebChromeClient::setResizable(bool resizable) +@@ -442,6 +442,8 @@ void WebChromeClient::setResizable(bool resizable) void WebChromeClient::addMessageToConsole(MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, unsigned columnNumber, const String& sourceID) { @@ -20699,7 +20587,7 @@ index 87121e8b57e5ad7ef74857685f0db65e164a5bf8..580dca6ca0709a2d620d3999beb69856 { } diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp -index a3f15c8874362574383202ca265409a3b06918ce..ad75770f53b1d4d0b519aaed2882edb196c95317 100644 +index bc3b7869ac8749dde5e3cbc6115461ad30045025..060045ef2dd7bd40f01188d3aa9d4a49b06fcf28 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp +++ b/Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp @@ -1542,14 +1542,6 @@ void WebLocalFrameLoaderClient::transitionToCommittedForNewPage() @@ -20718,7 +20606,7 @@ index a3f15c8874362574383202ca265409a3b06918ce..ad75770f53b1d4d0b519aaed2882edb1 void WebLocalFrameLoaderClient::didRestoreFromBackForwardCache() diff --git a/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm b/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm -index 83c0d037b71d19692d60b0e3dbeff5e356f56520..892ec3140edd288c7de5345404ff12e08f114892 100644 +index d54cfeeab7d873196f6ee7cebe42dce8d349d565..523c5496a669dcd3a3a5c4d6041ab30f5eda2fd2 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm +++ b/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm @@ -133,7 +133,8 @@ static WebCore::CachedImage* cachedImage(Element& element) @@ -20798,7 +20686,7 @@ index 0000000000000000000000000000000000000000..ba14bf43794ef03a4b090135631a8f7f +#endif // ENABLE(DRAG_SUPPORT) diff --git a/Source/WebKit/WebProcess/WebCoreSupport/wpe/WebDragClientWPE.cpp b/Source/WebKit/WebProcess/WebCoreSupport/wpe/WebDragClientWPE.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..8e44922ab13ed645532b54934255336717618b18 +index 0000000000000000000000000000000000000000..ddc4b5e736252135a63d5787065c20fa35a764a6 --- /dev/null +++ b/Source/WebKit/WebProcess/WebCoreSupport/wpe/WebDragClientWPE.cpp @@ -0,0 +1,58 @@ @@ -20854,14 +20742,14 @@ index 0000000000000000000000000000000000000000..8e44922ab13ed645532b549342553367 + m_page->willStartDrag(); + + ShareableBitmapHandle handle; -+ m_page->send(Messages::WebPageProxy::StartDrag(dataTransfer.pasteboard().selectionData(), dataTransfer.sourceOperationMask(), handle, dataTransfer.dragLocation())); ++ m_page->send(Messages::WebPageProxy::StartDrag(dataTransfer.pasteboard().selectionData(), dataTransfer.sourceOperationMask(), WTFMove(handle), dataTransfer.dragLocation())); +} + +}; // namespace WebKit. + +#endif // ENABLE(DRAG_SUPPORT) diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp -index 9c31e41b5aa3d43952cef81bd619b5248456ef4c..08c22678db539f347a075d1a4ff86fc0271aeac9 100644 +index b5e509dd8cc747cd0a0ebaebea0d68cef950c625..474753a3ac9298ee09afc94c2afd6c2e7869e3b2 100644 --- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp +++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp @@ -39,6 +39,7 @@ @@ -20911,7 +20799,7 @@ index 9c31e41b5aa3d43952cef81bd619b5248456ef4c..08c22678db539f347a075d1a4ff86fc0 void DrawingAreaCoordinatedGraphics::sendEnterAcceleratedCompositingModeIfNeeded() @@ -664,6 +681,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, updateInfo)); + send(Messages::DrawingAreaProxy::Update(0, WTFMove(updateInfo))); } +// Playwright begin +#if PLATFORM(WIN) @@ -20998,10 +20886,10 @@ index 4eff97ae17b6c1b56181a4ae2b7e1b74c6c007a2..9bbeb368f89d71a2968d93b305dd1ffc { if (m_hasRemovedMessageReceiver) diff --git a/Source/WebKit/WebProcess/WebPage/DrawingArea.h b/Source/WebKit/WebProcess/WebPage/DrawingArea.h -index 1640ca23d554e25ee4307bc0d6211045d480c024..3f189aa6b9ec1b73941b9e3bac1c75815f4d7ceb 100644 +index 9f42cd506c17777dc6436faed41b476320155241..b7979270c71d36d5098a47e44227362f25819d7f 100644 --- a/Source/WebKit/WebProcess/WebPage/DrawingArea.h +++ b/Source/WebKit/WebProcess/WebPage/DrawingArea.h -@@ -162,6 +162,9 @@ public: +@@ -164,6 +164,9 @@ public: virtual void didChangeViewportAttributes(WebCore::ViewportAttributes&&) = 0; virtual void deviceOrPageScaleFactorChanged() = 0; #endif @@ -21012,7 +20900,7 @@ index 1640ca23d554e25ee4307bc0d6211045d480c024..3f189aa6b9ec1b73941b9e3bac1c7581 virtual void adoptLayersFromDrawingArea(DrawingArea&) { } virtual void adoptDisplayRefreshMonitorsFromDrawingArea(DrawingArea&) { } diff --git a/Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp b/Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp -index 73e0e6adb2dd732d110239ed47d68c9a0b20f409..286cdb1592f5bffc66f5685edb6d9aa3c39a9cc7 100644 +index 04bcaa28cfd31e55b1513b258b6cd708e3df33db..5d452dc0f93d7b036f57a6ea35deeb7e0bea1a46 100644 --- a/Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp +++ b/Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp @@ -39,6 +39,7 @@ @@ -21048,7 +20936,7 @@ index 83df17e2137dc7664e9240ddfa7a03feb473aeab..9426d55f31beeaf6f6875ab33fa5a46b WebCookieJar(); diff --git a/Source/WebKit/WebProcess/WebPage/WebDocumentLoader.cpp b/Source/WebKit/WebProcess/WebPage/WebDocumentLoader.cpp -index 56957658ad2ca7e4d4c9966e39c844967657ceec..75bc048b129d2fa4b5dea4d2c208527487b45c64 100644 +index e5a8e585fae251c918dd7b953e8940d179394760..7098834b70f33fa51a67093dcb673bb7e240e09f 100644 --- a/Source/WebKit/WebProcess/WebPage/WebDocumentLoader.cpp +++ b/Source/WebKit/WebProcess/WebPage/WebDocumentLoader.cpp @@ -46,6 +46,14 @@ void WebDocumentLoader::detachFromFrame() @@ -21090,7 +20978,7 @@ index c3248e8505d0e446ea0e1c1886bf1ed0a628b45b..49381c222e255ebc94229d2a0aae1f38 uint64_t m_navigationID { 0 }; }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a71fb5f2a 100644 +index f8043e7bd971205dc2ce57d674f6a0d125e34b7a..954cb91d2ac33f5a1c272c6e1370578e5fd1b7d7 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp +++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp @@ -236,6 +236,7 @@ @@ -21101,8 +20989,8 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a #include #include #include -@@ -1008,6 +1009,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) - sandbox_enable_state_flag("LockdownModeEnabled", *auditToken); +@@ -1025,6 +1026,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) + #endif #endif // HAVE(SANDBOX_STATE_FLAGS) + if (parameters.shouldPauseInInspectorWhenShown) @@ -21111,8 +20999,8 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a updateThrottleState(); #if ENABLE(ACCESSIBILITY_ANIMATION_CONTROL) updateImageAnimationEnabled(); -@@ -1851,6 +1855,22 @@ void WebPage::transitionFrameToLocalAndLoadRequest(LocalFrameCreationParameters& - loadRequest(WTFMove(loadParameters)); +@@ -1861,6 +1865,22 @@ void WebPage::transitionFrameToLocal(LocalFrameCreationParameters&& creationPara + frame->transitionToLocal(creationParameters.layerHostingContextIdentifier); } +void WebPage::loadRequestInFrameForInspector(LoadParameters&& loadParameters, WebCore::FrameIdentifier frameID) @@ -21134,7 +21022,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a 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()); -@@ -2118,25 +2138,21 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) +@@ -2130,25 +2150,21 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) view->resize(viewSize); m_drawingArea->setNeedsDisplay(); @@ -21161,7 +21049,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a // Viewport properties have no impact on zero sized fixed viewports. if (m_viewSize.isEmpty()) -@@ -2153,20 +2169,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -2165,20 +2181,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg ViewportAttributes attr = computeViewportAttributes(viewportArguments, minimumLayoutFallbackWidth, deviceWidth, deviceHeight, 1, m_viewSize); @@ -21189,7 +21077,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a #if USE(COORDINATED_GRAPHICS) m_drawingArea->didChangeViewportAttributes(WTFMove(attr)); -@@ -2174,7 +2188,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -2186,7 +2200,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg send(Messages::WebPageProxy::DidChangeViewportProperties(attr)); #endif } @@ -21197,7 +21085,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a void WebPage::scrollMainFrameIfNotAtMaxScrollPosition(const IntSize& scrollOffset) { -@@ -2466,6 +2479,7 @@ void WebPage::scaleView(double scale) +@@ -2478,6 +2491,7 @@ void WebPage::scaleView(double scale) } m_page->setViewScaleFactor(scale); @@ -21205,7 +21093,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a scalePage(pageScale, scrollPositionAtNewScale); } -@@ -2645,18 +2659,14 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum +@@ -2657,18 +2671,14 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum viewportConfigurationChanged(); #endif @@ -21225,7 +21113,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a } #if !PLATFORM(IOS_FAMILY) -@@ -3672,6 +3682,97 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent) +@@ -3686,6 +3696,97 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent) send(Messages::WebPageProxy::DidReceiveEvent(touchEvent.type(), handled)); } @@ -21248,7 +21136,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a + + { + Vector touchPoints; -+ WebPlatformTouchPoint::TouchPointState state = WebPlatformTouchPoint::TouchPointState::TouchPressed; ++ WebPlatformTouchPoint::State state = WebPlatformTouchPoint::State::Pressed; + touchPoints.append(WebPlatformTouchPoint(id, state, screenPosition, position, radius, rotationAngle, force)); + + WebTouchEvent touchEvent({WebEventType::TouchStart, eventModifiers, WallTime::now()}, WTFMove(touchPoints)); @@ -21258,7 +21146,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a + } + { + Vector touchPoints; -+ WebPlatformTouchPoint::TouchPointState state = WebPlatformTouchPoint::TouchPointState::TouchReleased; ++ WebPlatformTouchPoint::State state = WebPlatformTouchPoint::State::Released; + touchPoints.append(WebPlatformTouchPoint(id, state, screenPosition, position, radius, rotationAngle, force)); + + WebTouchEvent touchEvent({WebEventType::TouchEnd, eventModifiers, WallTime::now()}, WTFMove(touchPoints)); @@ -21323,7 +21211,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a #endif void WebPage::cancelPointer(WebCore::PointerID pointerId, const WebCore::IntPoint& documentPoint) -@@ -3749,6 +3850,11 @@ void WebPage::sendMessageToTargetBackend(const String& targetId, const String& m +@@ -3763,6 +3864,11 @@ void WebPage::sendMessageToTargetBackend(const String& targetId, const String& m m_inspectorTargetController->sendMessageToTargetBackend(targetId, message); } @@ -21335,7 +21223,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a void WebPage::insertNewlineInQuotedContent() { Ref frame = CheckedRef(m_page->focusController())->focusedOrMainFrame(); -@@ -3981,6 +4087,7 @@ void WebPage::didCompletePageTransition() +@@ -3995,6 +4101,7 @@ void WebPage::didCompletePageTransition() void WebPage::show() { send(Messages::WebPageProxy::ShowPage()); @@ -21343,7 +21231,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a } void WebPage::setIsTakingSnapshotsForApplicationSuspension(bool isTakingSnapshotsForApplicationSuspension) -@@ -4971,7 +5078,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana +@@ -4982,7 +5089,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana #if ENABLE(DRAG_SUPPORT) @@ -21352,7 +21240,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a void WebPage::performDragControllerAction(DragControllerAction action, const IntPoint& clientPosition, const IntPoint& globalPosition, OptionSet draggingSourceOperationMask, SelectionData&& selectionData, OptionSet flags) { if (!m_page) { -@@ -7500,6 +7607,9 @@ Ref WebPage::createDocumentLoader(LocalFrame& frame, const Resou +@@ -7503,6 +7610,9 @@ Ref WebPage::createDocumentLoader(LocalFrame& frame, const Resou WebsitePoliciesData::applyToDocumentLoader(WTFMove(*m_pendingWebsitePolicies), documentLoader); m_pendingWebsitePolicies = std::nullopt; } @@ -21363,7 +21251,7 @@ index f2adfa1fbee2b2328bead52499bab7dc4b57c25d..7c1127c1f8011afd00cfceef2864e38a return documentLoader; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h -index 4a8261b33baee600a7756a22057cffd1db4699c9..5271f11475ada9272ad6ee7e45507eeba85c71a4 100644 +index 011ab95fa32651e75bb294d00653d8467ca19ca9..c9e8b9952f69e56ee4e085d6a5c31c9e8cfc0e77 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.h +++ b/Source/WebKit/WebProcess/WebPage/WebPage.h @@ -122,6 +122,10 @@ @@ -21412,7 +21300,7 @@ index 4a8261b33baee600a7756a22057cffd1db4699c9..5271f11475ada9272ad6ee7e45507eeb @@ -1766,6 +1774,7 @@ private: void tryClose(CompletionHandler&&); void platformDidReceiveLoadParameters(const LoadParameters&); - void transitionFrameToLocalAndLoadRequest(LocalFrameCreationParameters&&, LoadParameters&&); + void transitionFrameToLocal(LocalFrameCreationParameters&&, WebCore::FrameIdentifier); + void loadRequestInFrameForInspector(LoadParameters&&, WebCore::FrameIdentifier); void loadRequest(LoadParameters&&); [[noreturn]] void loadRequestWaitingForProcessLaunch(LoadParameters&&, URL&&, WebPageProxyIdentifier, bool); @@ -21444,7 +21332,7 @@ index 4a8261b33baee600a7756a22057cffd1db4699c9..5271f11475ada9272ad6ee7e45507eeb bool m_mainFrameProgressCompleted { false }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in -index d2abc455bd3e80b45964347e3da157ef1ef0bc4d..df303f7e4e6d5b02292db6f3f9a0755a8cc382c7 100644 +index ff6fe382652733f6aa0eec8dd722f8838eeb0345..38a502e4747a5ba9d360e24ac574f68b0699b999 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 @@ -21466,7 +21354,7 @@ index d2abc455bd3e80b45964347e3da157ef1ef0bc4d..df303f7e4e6d5b02292db6f3f9a0755a @@ -189,6 +191,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType LoadDataInFrame(IPC::DataReference data, String MIMEType, String encodingName, URL baseURL, WebCore::FrameIdentifier frameID) LoadRequest(struct WebKit::LoadParameters loadParameters) - TransitionFrameToLocalAndLoadRequest(struct WebKit::LocalFrameCreationParameters creationParameters, struct WebKit::LoadParameters loadParameters) + TransitionFrameToLocal(struct WebKit::LocalFrameCreationParameters creationParameters, WebCore::FrameIdentifier frameID) + LoadRequestInFrameForInspector(struct WebKit::LoadParameters loadParameters, WebCore::FrameIdentifier frameID) LoadRequestWaitingForProcessLaunch(struct WebKit::LoadParameters loadParameters, URL resourceDirectoryURL, WebKit::WebPageProxyIdentifier pageID, bool checkAssumedReadAccessToResourceURL) LoadData(struct WebKit::LoadParameters loadParameters) @@ -21496,10 +21384,10 @@ index d2abc455bd3e80b45964347e3da157ef1ef0bc4d..df303f7e4e6d5b02292db6f3f9a0755a 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 4f49fe7183665c169d43e7d11e7942b226b21e77..82335fdec4a10f8b27c25d90ea457e202ea10bb0 100644 +index 941662c67c7f17ba3299d3f47ab42478767700f7..34849f8c2e406058e6ed6bfa988c8e3872390b17 100644 --- a/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm +++ b/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm -@@ -812,21 +812,37 @@ String WebPage::platformUserAgent(const URL&) const +@@ -826,21 +826,37 @@ String WebPage::platformUserAgent(const URL&) const bool WebPage::hoverSupportedByPrimaryPointingDevice() const { @@ -21588,7 +21476,7 @@ index f17f5d719d892309ed9c7093384945866b5117b9..1dba47bbf0dbd0362548423a74b38034 } diff --git a/Source/WebKit/WebProcess/WebProcess.cpp b/Source/WebKit/WebProcess/WebProcess.cpp -index 9a123124799ddb2cff39645ccf4331dd1d039fd2..7a7150ddf00545082ff6d664526123b0820de0ca 100644 +index db7ed6c8888187dbb57a21d42ca3f8ad811148a8..be6a506c90fa85547de73913b88e9b83f012f808 100644 --- a/Source/WebKit/WebProcess/WebProcess.cpp +++ b/Source/WebKit/WebProcess/WebProcess.cpp @@ -94,6 +94,7 @@ @@ -21599,7 +21487,7 @@ index 9a123124799ddb2cff39645ccf4331dd1d039fd2..7a7150ddf00545082ff6d664526123b0 #include #include #include -@@ -373,6 +374,8 @@ void WebProcess::initializeProcess(const AuxiliaryProcessInitializationParameter +@@ -374,6 +375,8 @@ void WebProcess::initializeProcess(const AuxiliaryProcessInitializationParameter platformInitializeProcess(parameters); updateCPULimit(); @@ -21609,10 +21497,10 @@ index 9a123124799ddb2cff39645ccf4331dd1d039fd2..7a7150ddf00545082ff6d664526123b0 void WebProcess::initializeConnection(IPC::Connection* connection) diff --git a/Source/WebKit/WebProcess/WebProcess.h b/Source/WebKit/WebProcess/WebProcess.h -index a6d35c77bf32f5c364c53b7dbac5a47c5d52780c..ab3e4a98200eb8d249b73b41859259fd221d78eb 100644 +index 95b1cf2959fee5b4681874ef499067f065fbe599..783ba488fbdd8c9a925aff7bba503e24f24fb26a 100644 --- a/Source/WebKit/WebProcess/WebProcess.h +++ b/Source/WebKit/WebProcess/WebProcess.h -@@ -724,7 +724,7 @@ private: +@@ -739,7 +739,7 @@ private: WeakHashMap m_userGestureTokens; @@ -21637,7 +21525,7 @@ index 8987c3964a9308f2454759de7f8972215a3ae416..bcac0afeb94ed8123d1f9fb0b932c849 SetProcessDPIAware(); return true; diff --git a/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm b/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm -index af93f303b2968d6298d0e096fd259bc34621bf9f..c90ff8aa82883f9555fe4d7e7d890442b61fa26f 100644 +index 22c698f09790446fb2c80400b55ba6b4ead49658..885104f89f84c7d82490c7c1ca646e74d55b4ee3 100644 --- a/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm +++ b/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm @@ -4210,7 +4210,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END @@ -21650,10 +21538,10 @@ index af93f303b2968d6298d0e096fd259bc34621bf9f..c90ff8aa82883f9555fe4d7e7d890442 - (void)touch:(WebEvent *)event { diff --git a/Source/WebKitLegacy/mac/WebView/WebView.mm b/Source/WebKitLegacy/mac/WebView/WebView.mm -index 3d26856897a1b990d5870ec89ad0637696aee316..5a6fa03f6262b7215713b22399d6a24f17fa1643 100644 +index 6f19b9cbf3f9f87add243017e6977f14e690d676..a1241a0049c116c0a6a5578773b37709ef2bd068 100644 --- a/Source/WebKitLegacy/mac/WebView/WebView.mm +++ b/Source/WebKitLegacy/mac/WebView/WebView.mm -@@ -3960,7 +3960,7 @@ + (void)_doNotStartObservingNetworkReachability +@@ -3961,7 +3961,7 @@ + (void)_doNotStartObservingNetworkReachability } #endif // PLATFORM(IOS_FAMILY) @@ -21662,7 +21550,7 @@ index 3d26856897a1b990d5870ec89ad0637696aee316..5a6fa03f6262b7215713b22399d6a24f - (NSArray *)_touchEventRegions { -@@ -4002,7 +4002,7 @@ - (NSArray *)_touchEventRegions +@@ -4003,7 +4003,7 @@ - (NSArray *)_touchEventRegions }).autorelease(); } @@ -21703,7 +21591,7 @@ index 0000000000000000000000000000000000000000..dd6a53e2d57318489b7e49dd7373706d + LIBVPX_LIBRARIES +) diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8bcfbb86cc 100644 +index 3bec67a4ce602476764cb55ebb252786b481ba7e..e5fd22ce46d24ee42745c9c0664bad947943a414 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 @@ -21720,9 +21608,9 @@ index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8b find_package(Cairo 1.16.0 REQUIRED) find_package(Fontconfig 2.13.0 REQUIRED) find_package(Freetype 2.9.0 REQUIRED) -@@ -33,6 +38,10 @@ find_package(EGL) - find_package(OpenGL) - find_package(OpenGLES2) +@@ -30,6 +35,10 @@ find_package(ZLIB REQUIRED) + find_package(WebP REQUIRED COMPONENTS demux) + find_package(ATSPI 2.5.3) +# Playwright begin +find_package(LibVPX REQUIRED) @@ -21731,14 +21619,7 @@ index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8b include(GStreamerDefinitions) SET_AND_EXPOSE_TO_BUILD(USE_CAIRO TRUE) -@@ -63,13 +72,13 @@ WEBKIT_OPTION_DEFINE(ENABLE_WAYLAND_TARGET "Whether to enable support for the Wa - WEBKIT_OPTION_DEFINE(ENABLE_X11_TARGET "Whether to enable support for the X11 windowing target." PUBLIC ON) - WEBKIT_OPTION_DEFINE(USE_GBM "Whether to enable usage of GBM and libdrm." PUBLIC ON) - WEBKIT_OPTION_DEFINE(USE_GTK4 "Whether to enable usage of GTK4 instead of GTK3." PUBLIC OFF) --WEBKIT_OPTION_DEFINE(USE_JPEGXL "Whether to enable support for JPEG-XL images." PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES}) -+WEBKIT_OPTION_DEFINE(USE_JPEGXL "Whether to enable support for JPEG-XL images." PUBLIC OFF) - WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support for image color management using libcms2." PUBLIC ON) - WEBKIT_OPTION_DEFINE(USE_LIBHYPHEN "Whether to enable the default automatic hyphenation implementation." PUBLIC ON) +@@ -58,7 +67,7 @@ WEBKIT_OPTION_DEFINE(USE_LIBHYPHEN "Whether to enable the default automatic hyph WEBKIT_OPTION_DEFINE(USE_LIBSECRET "Whether to enable the persistent credential storage using libsecret." PUBLIC ON) WEBKIT_OPTION_DEFINE(USE_OPENGL_OR_ES "Whether to use OpenGL or ES." PUBLIC ON) WEBKIT_OPTION_DEFINE(USE_OPENJPEG "Whether to enable support for JPEG2000 images." PUBLIC ON) @@ -21747,7 +21628,7 @@ index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8b WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON) WEBKIT_OPTION_DEPEND(ENABLE_DOCUMENTATION ENABLE_INTROSPECTION) -@@ -107,15 +116,15 @@ endif () +@@ -95,15 +104,15 @@ 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) @@ -21763,10 +21644,10 @@ index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8b -WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_AVIF PUBLIC ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_AVIF PUBLIC OFF) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_JPEGXL PUBLIC ON) # Private options shared with other WebKit ports. Add options here when - # we need a value different from the default defined in WebKitFeatures.cmake. -@@ -141,7 +150,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME PRIVATE ON) +@@ -130,7 +139,7 @@ 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_TRACKING_PREVENTION PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYER_BASED_SVG_ENGINE PRIVATE ON) @@ -21775,7 +21656,7 @@ index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8b 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) -@@ -154,7 +163,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION P +@@ -143,7 +152,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}) @@ -21784,7 +21665,7 @@ index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8b 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) -@@ -165,6 +174,15 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON) +@@ -154,6 +163,15 @@ 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}) @@ -21800,7 +21681,7 @@ index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8b include(GStreamerDependencies) # Finalize the value for all options. Do not attempt to use an option before -@@ -280,6 +298,7 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") +@@ -269,6 +287,7 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") endif () SET_AND_EXPOSE_TO_BUILD(USE_ATSPI ${ENABLE_ACCESSIBILITY}) @@ -21809,7 +21690,7 @@ index 24640d159a015220edfdf19d26989a8e44c38e04..728c9f850fc1fc061654dc7794447c8b SET_AND_EXPOSE_TO_BUILD(HAVE_OS_DARK_MODE_SUPPORT 1) diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake -index 2f5ceec877b42f375731d78aa14a0605692f5b6f..234c681033319315557ccbdec646b80a53cfd265 100644 +index 718c81f960363c2c06ba8843322d68709f7ae10d..6163b28428ff6b524268815941b10756be9d48d5 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 @@ -21838,10 +21719,10 @@ index 2f5ceec877b42f375731d78aa14a0605692f5b6f..234c681033319315557ccbdec646b80a -WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_AVIF PUBLIC ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_AVIF PUBLIC OFF) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_JPEGXL PUBLIC ON) # Private options shared with other WebKit ports. Add options here only if - # we need a value different from the default defined in WebKitFeatures.cmake. -@@ -61,7 +66,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GPU_PROCESS PRIVATE OFF) +@@ -62,7 +67,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GPU_PROCESS PRIVATE OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TRACKING_PREVENTION PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYER_BASED_SVG_ENGINE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS PRIVATE ON) @@ -21850,7 +21731,7 @@ index 2f5ceec877b42f375731d78aa14a0605692f5b6f..234c681033319315557ccbdec646b80a 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) +@@ -77,7 +82,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PERIODIC_MEMORY_MONITOR PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SERVICE_WORKER PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21859,7 +21740,7 @@ index 2f5ceec877b42f375731d78aa14a0605692f5b6f..234c681033319315557ccbdec646b80a 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,19 +92,36 @@ if (WPE_VERSION VERSION_GREATER_EQUAL 1.13.90) +@@ -88,18 +93,35 @@ if (WPE_VERSION VERSION_GREATER_EQUAL 1.13.90) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD PUBLIC ON) endif () @@ -21890,8 +21771,6 @@ index 2f5ceec877b42f375731d78aa14a0605692f5b6f..234c681033319315557ccbdec646b80a +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 and libdrm." PUBLIC ON) --WEBKIT_OPTION_DEFINE(USE_JPEGXL "Whether to enable support for JPEG-XL images." PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES}) -+WEBKIT_OPTION_DEFINE(USE_JPEGXL "Whether to enable support for JPEG-XL images." PUBLIC OFF) WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support for image color management using libcms2." PUBLIC ON) WEBKIT_OPTION_DEFINE(USE_OPENJPEG "Whether to enable support for JPEG2000 images." PUBLIC ON) -WEBKIT_OPTION_DEFINE(USE_SOUP2 "Whether to enable usage of Soup 2 instead of Soup 3." PUBLIC OFF) @@ -21900,10 +21779,10 @@ index 2f5ceec877b42f375731d78aa14a0605692f5b6f..234c681033319315557ccbdec646b80a # Private options specific to the WPE port. diff --git a/Source/cmake/OptionsWin.cmake b/Source/cmake/OptionsWin.cmake -index 917d3e3f65cb0bf9133c278989176be62d10b168..f975f6bf136c8d5c24628232034665b5891f8151 100644 +index 1d358332016df580af0c125bdc6c909967acb11d..649afb06efc04b17c9333ced2308820b1f1ae2e7 100644 --- a/Source/cmake/OptionsWin.cmake +++ b/Source/cmake/OptionsWin.cmake -@@ -102,16 +102,37 @@ if (OpenJPEG_FOUND) +@@ -97,16 +97,37 @@ if (OpenJPEG_FOUND) endif () find_package(WOFF2 1.0.2 COMPONENTS dec) @@ -21945,7 +21824,7 @@ index 917d3e3f65cb0bf9133c278989176be62d10b168..f975f6bf136c8d5c24628232034665b5 WEBKIT_OPTION_BEGIN() # FIXME: Most of these options should not be public. -@@ -188,6 +209,17 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CRYPTO PRIVATE ${ENABLE_EXPERIMENTAL +@@ -186,6 +207,17 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CRYPTO PRIVATE ${ENABLE_EXPERIMENTAL # No support planned WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTPDIR PRIVATE OFF) @@ -22564,10 +22443,10 @@ index 1067b31bc989748dfcc5502209d36d001b9b239e..7629263fb8bc93dca6dfc01c75eed8d2 + add_subdirectory(Playwright/win) +endif () diff --git a/Tools/Scripts/build-webkit b/Tools/Scripts/build-webkit -index 86a50b077382a3c9aa366d5a999cb5781309806a..950e1af1f6724ff13ccbde6631022c4c70cc5e57 100755 +index 1644b982d96fb8ed1075d5394fdb8b844dd11069..cda76ceae6656edc9f4607f56b0dff78930fa7f8 100755 --- a/Tools/Scripts/build-webkit +++ b/Tools/Scripts/build-webkit -@@ -272,7 +272,7 @@ if (isAppleCocoaWebKit()) { +@@ -266,7 +266,7 @@ if (isAppleCocoaWebKit()) { push @projects, ("Source/WebKit"); if (!isEmbeddedWebKit()) { @@ -22592,10 +22471,10 @@ index b8056910b6cde5610c3e8e4c2992723f8cf80cd0..44367cb186bff1fb85e76cf8f0530170 "${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 241f4b629bd9e6a2e2009b472606c0fff6601e66..172086b332953124a41b87532e0f64ba4d390301 100644 +index 823fd25b6993939914384f282ebb257b44c278cf..9f611ac678b56cf07c335f9d11f2076a29cf0e03 100644 --- a/Tools/WebKitTestRunner/TestController.cpp +++ b/Tools/WebKitTestRunner/TestController.cpp -@@ -969,6 +969,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) +@@ -966,6 +966,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) 0, // requestStorageAccessConfirm shouldAllowDeviceOrientationAndMotionAccess, runWebAuthenticationPanel, @@ -22704,17 +22583,17 @@ index 6af7a5608ff76205702e659d1c2393897c56eaad..401436dddf714e2616b44f61ed1b3330 # These are dependencies necessary for running tests. cups-daemon diff --git a/Tools/jhbuild/jhbuild-minimal.modules b/Tools/jhbuild/jhbuild-minimal.modules -index 5fd302277d0eac1747e6724699f7052b84ba3584..889b0f433afd908681e315e6f89ce16cb1b1d0e9 100644 +index 57e506c8b68d19aab72a0d5ef363edef6341b97e..f2912ed607475cb985c32c64371f7613a1306e3b 100644 --- a/Tools/jhbuild/jhbuild-minimal.modules +++ b/Tools/jhbuild/jhbuild-minimal.modules -@@ -25,7 +25,6 @@ +@@ -26,7 +26,6 @@ - + - diff --git a/Tools/win/DLLLauncher/DLLLauncherMain.cpp b/Tools/win/DLLLauncher/DLLLauncherMain.cpp index 879d19af24deecab1d55b97e4141ab1be753d8ce..5b28580d8bde8a346051a82b2c047bead17ec2b0 100644 --- a/Tools/win/DLLLauncher/DLLLauncherMain.cpp