diff --git a/browser_patches/firefox/BUILD_NUMBER b/browser_patches/firefox/BUILD_NUMBER index 628625b6bd..ca883787ca 100644 --- a/browser_patches/firefox/BUILD_NUMBER +++ b/browser_patches/firefox/BUILD_NUMBER @@ -1 +1 @@ -1054 +1055 diff --git a/browser_patches/firefox/UPSTREAM_CONFIG.sh b/browser_patches/firefox/UPSTREAM_CONFIG.sh index 4d3874ab02..3487af8456 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="beta" -BASE_REVISION="45e34fdb8ef05b9fedc2af1ee6cd27334af4e6a5" +BASE_REVISION="d140f8cc3e2aaaa8af73f92785041783a9a6b791" diff --git a/browser_patches/firefox/patches/bootstrap.diff b/browser_patches/firefox/patches/bootstrap.diff index b5ede48a20..855e78184f 100644 --- a/browser_patches/firefox/patches/bootstrap.diff +++ b/browser_patches/firefox/patches/bootstrap.diff @@ -75,10 +75,10 @@ index 25b1dc48f42fac1182c42f3628c138f97f8b97a0..7da6b76cfbee3ee7a51abc04c6a52bd5 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 7054749357ec13f175be8022852b42fcfeda9134..c9064880ecf7e70290c6a84bfc209e084aa37ddf 100644 +index 7e7c8e5535fe8ff1cbf7ed030c406d261257d62d..c385e75c99f88cc09feb508355edee3b7504d403 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -211,6 +211,11 @@ +@@ -209,6 +209,11 @@ @RESPATH@/components/marionette.js #endif @@ -138,7 +138,7 @@ index 040c7b124dec6bb254563bbe74fe50012cb077a3..b4e6b8132786af70e8ad0dce88b67c28 const transportProvider = { setListener(upgradeListener) { diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp -index 344bd4a9f524616b98c664d4fb2b2154927ea7c8..38acc7e3636f3b3a45c3587ace35abd6f1c94925 100644 +index 514a4f2890a20558afe0d9c1aec697612fc8e873..b1ce2962086b0d93a252f8944d86e1b36fc633b7 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -53,6 +53,7 @@ @@ -157,8 +157,8 @@ index 344bd4a9f524616b98c664d4fb2b2154927ea7c8..38acc7e3636f3b3a45c3587ace35abd6 #include "nsIDocumentLoaderFactory.h" #include "nsIDOMWindow.h" #include "nsIEditingSession.h" -@@ -351,6 +353,9 @@ nsDocShell::nsDocShell(BrowsingContext* aBrowsingContext, - mUseStrictSecurityChecks(false), +@@ -350,6 +352,9 @@ nsDocShell::nsDocShell(BrowsingContext* aBrowsingContext, + mUseErrorPages(false), mObserveErrorPages(true), mCSSErrorReportingEnabled(false), + mFileInputInterceptionEnabled(false), @@ -167,7 +167,7 @@ index 344bd4a9f524616b98c664d4fb2b2154927ea7c8..38acc7e3636f3b3a45c3587ace35abd6 mAllowAuth(mItemType == typeContent), mAllowKeywordFixup(false), mIsOffScreenBrowser(false), -@@ -1223,6 +1228,7 @@ bool nsDocShell::SetCurrentURI(nsIURI* aURI, nsIRequest* aRequest, +@@ -1219,6 +1224,7 @@ bool nsDocShell::SetCurrentURI(nsIURI* aURI, nsIRequest* aRequest, isSubFrame = mLSHE->GetIsSubFrame(); } @@ -175,7 +175,7 @@ index 344bd4a9f524616b98c664d4fb2b2154927ea7c8..38acc7e3636f3b3a45c3587ace35abd6 if (!isSubFrame && !isRoot) { /* * We don't want to send OnLocationChange notifications when -@@ -3363,6 +3369,109 @@ nsDocShell::GetMessageManager(ContentFrameMessageManager** aMessageManager) { +@@ -3340,6 +3346,109 @@ nsDocShell::GetMessageManager(ContentFrameMessageManager** aMessageManager) { return NS_OK; } @@ -285,7 +285,7 @@ index 344bd4a9f524616b98c664d4fb2b2154927ea7c8..38acc7e3636f3b3a45c3587ace35abd6 NS_IMETHODIMP nsDocShell::GetIsNavigating(bool* aOut) { *aOut = mIsNavigating; -@@ -12138,6 +12247,9 @@ class OnLinkClickEvent : public Runnable { +@@ -12137,6 +12246,9 @@ class OnLinkClickEvent : public Runnable { mNoOpenerImplied, nullptr, nullptr, mIsUserTriggered, mTriggeringPrincipal, mCsp); } @@ -295,7 +295,7 @@ index 344bd4a9f524616b98c664d4fb2b2154927ea7c8..38acc7e3636f3b3a45c3587ace35abd6 return NS_OK; } -@@ -12227,6 +12339,9 @@ nsresult nsDocShell::OnLinkClick( +@@ -12226,6 +12338,9 @@ nsresult nsDocShell::OnLinkClick( this, aContent, aURI, target, aFileName, aPostDataStream, aHeadersDataStream, noOpenerImplied, aIsUserTriggered, aIsTrusted, aTriggeringPrincipal, aCsp); @@ -306,7 +306,7 @@ index 344bd4a9f524616b98c664d4fb2b2154927ea7c8..38acc7e3636f3b3a45c3587ace35abd6 } diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h -index bd8327aae45f1d56acf0d5e61519c7cf469462f3..073b11500232c895472cf7649f0b910de6a7a2bd 100644 +index cc88045201371eb2195a28c60fcd3b6d940e8b72..7fad3529cc7a22b0b2aa8d8cb5ebbb5814aa2490 100644 --- a/docshell/base/nsDocShell.h +++ b/docshell/base/nsDocShell.h @@ -13,6 +13,7 @@ @@ -325,9 +325,9 @@ index bd8327aae45f1d56acf0d5e61519c7cf469462f3..073b11500232c895472cf7649f0b910d #include "mozilla/dom/ChildSHistory.h" #include "mozilla/dom/ProfileTimelineMarkerBinding.h" #include "mozilla/dom/WindowProxyHolder.h" -@@ -481,6 +483,13 @@ class nsDocShell final : public nsDocLoader, - mSkipBrowsingContextDetachOnDestroy = true; - } +@@ -479,6 +481,13 @@ class nsDocShell final : public nsDocLoader, + + void SetWillChangeProcess() { mWillChangeProcess = true; } + bool IsFileInputInterceptionEnabled(); + void FilePickerShown(mozilla::dom::Element* element); @@ -339,7 +339,7 @@ index bd8327aae45f1d56acf0d5e61519c7cf469462f3..073b11500232c895472cf7649f0b910d // Create a content viewer within this nsDocShell for the given // `WindowGlobalChild` actor. nsresult CreateContentViewerForActor( -@@ -1040,6 +1049,8 @@ class nsDocShell final : public nsDocLoader, +@@ -1038,6 +1047,8 @@ class nsDocShell final : public nsDocLoader, bool CSSErrorReportingEnabled() const { return mCSSErrorReportingEnabled; } @@ -348,8 +348,8 @@ index bd8327aae45f1d56acf0d5e61519c7cf469462f3..073b11500232c895472cf7649f0b910d // 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 -@@ -1296,6 +1307,12 @@ class nsDocShell final : public nsDocLoader, - bool mUseStrictSecurityChecks : 1; +@@ -1292,6 +1303,12 @@ class nsDocShell final : public nsDocLoader, + bool mUseErrorPages : 1; bool mObserveErrorPages : 1; bool mCSSErrorReportingEnabled : 1; + bool mFileInputInterceptionEnabled: 1; @@ -362,7 +362,7 @@ index bd8327aae45f1d56acf0d5e61519c7cf469462f3..073b11500232c895472cf7649f0b910d bool mAllowKeywordFixup : 1; bool mIsOffScreenBrowser : 1; diff --git a/docshell/base/nsIDocShell.idl b/docshell/base/nsIDocShell.idl -index db95b181388e8ab3c074b3b6e036dc971633e396..23030bc98a517a042357e21b15bfab4881ca4c5d 100644 +index ee89208c3ada6da09ecda6147e1a372ee0562810..83a70dd59a22abd391f9b2db99837e3e5851db31 100644 --- a/docshell/base/nsIDocShell.idl +++ b/docshell/base/nsIDocShell.idl @@ -44,6 +44,7 @@ interface nsIURI; @@ -373,7 +373,7 @@ index db95b181388e8ab3c074b3b6e036dc971633e396..23030bc98a517a042357e21b15bfab48 interface nsIDocShellLoadInfo; interface nsIEditor; interface nsIEditingSession; -@@ -1132,4 +1133,19 @@ interface nsIDocShell : nsIDocShellTreeItem +@@ -1129,4 +1130,19 @@ interface nsIDocShell : nsIDocShellTreeItem * @see nsISHEntry synchronizeLayoutHistoryState(). */ void synchronizeLayoutHistoryState(); @@ -394,10 +394,10 @@ index db95b181388e8ab3c074b3b6e036dc971633e396..23030bc98a517a042357e21b15bfab48 + void setGeolocationOverride(in nsIDOMGeoPosition position); }; diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp -index 394004780db4017d6ff1561febd4b379705c6302..941ef9f97a4851e785edaf25c0913a1cbd00d041 100644 +index bc0aeaefb9ca6d7cd15fc5ad189d2d260d519997..e948a5c20308ad8a9f43b3a53c532ee0cf62950c 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp -@@ -3278,6 +3278,9 @@ void Document::SendToConsole(nsCOMArray& aMessages) { +@@ -3269,6 +3269,9 @@ void Document::SendToConsole(nsCOMArray& aMessages) { } void Document::ApplySettingsFromCSP(bool aSpeculative) { @@ -407,7 +407,7 @@ index 394004780db4017d6ff1561febd4b379705c6302..941ef9f97a4851e785edaf25c0913a1c nsresult rv = NS_OK; if (!aSpeculative) { // 1) apply settings from regular CSP -@@ -3327,6 +3330,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) { +@@ -3318,6 +3321,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) { return NS_OK; } @@ -420,10 +420,10 @@ index 394004780db4017d6ff1561febd4b379705c6302..941ef9f97a4851e785edaf25c0913a1c if (mLoadedAsData) { return NS_OK; diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp -index 061f19c31fa396d9ff7aedc4c0e175b3d5bf521f..cb04aed0e46e9ec6c2bba0cc5e7cab75e008c462 100644 +index 1388a20edd594c6799e47ed567edb1f7d9cc9224..549026512c86e1e7e81a200d1c45f2cb58b3fc67 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp -@@ -313,14 +313,18 @@ void Navigator::GetAppName(nsAString& aAppName, CallerType aCallerType) const { +@@ -321,14 +321,18 @@ void Navigator::GetAppName(nsAString& aAppName, CallerType aCallerType) const { * An empty array will be returned if there is no valid languages. */ /* static */ @@ -444,7 +444,7 @@ index 061f19c31fa396d9ff7aedc4c0e175b3d5bf521f..cb04aed0e46e9ec6c2bba0cc5e7cab75 // Split values on commas. nsCharSeparatedTokenizer langTokenizer(acceptLang, ','); -@@ -376,7 +380,9 @@ void Navigator::GetLanguage(nsAString& aLanguage) { +@@ -384,7 +388,9 @@ void Navigator::GetLanguage(nsAString& aLanguage) { } void Navigator::GetLanguages(nsTArray& aLanguages) { @@ -455,7 +455,7 @@ index 061f19c31fa396d9ff7aedc4c0e175b3d5bf521f..cb04aed0e46e9ec6c2bba0cc5e7cab75 // The returned value is cached by the binding code. The window listen to the // accept languages change and will clear the cache when needed. It has to -@@ -530,7 +536,13 @@ bool Navigator::CookieEnabled() { +@@ -538,7 +544,13 @@ bool Navigator::CookieEnabled() { return granted; } @@ -471,7 +471,7 @@ index 061f19c31fa396d9ff7aedc4c0e175b3d5bf521f..cb04aed0e46e9ec6c2bba0cc5e7cab75 void Navigator::GetBuildID(nsAString& aBuildID, CallerType aCallerType, ErrorResult& aRv) const { diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h -index 1ad4f2a680177e309ff3614b17663201c8c3b68e..a867a49b16475f2a5f8be68967568bf571731ca7 100644 +index ab9e3b40096c3b4f453dba6109c2ef7e3134fa53..7a1cdd7d106879446a8631806817eabe797dcdd5 100644 --- a/dom/base/Navigator.h +++ b/dom/base/Navigator.h @@ -218,7 +218,7 @@ class Navigator final : public nsISupports, public nsWrapperCache { @@ -484,10 +484,18 @@ index 1ad4f2a680177e309ff3614b17663201c8c3b68e..a867a49b16475f2a5f8be68967568bf5 dom::MediaCapabilities* MediaCapabilities(); dom::MediaSession* MediaSession(); diff --git a/dom/geolocation/Geolocation.cpp b/dom/geolocation/Geolocation.cpp -index f2bb0d880f179bb37e915fe5b32692ac4307ecf7..acf9cd6eddfa565186d2ca1634d2530f2e9bc76f 100644 +index 51c04d2f40f51c9163183559d6a92ea7b0179e17..72084201c77a4dfeabb9a2a6d42a3348b5aa6485 100644 --- a/dom/geolocation/Geolocation.cpp +++ b/dom/geolocation/Geolocation.cpp -@@ -294,10 +294,8 @@ nsGeolocationRequest::Allow(JS::HandleValue aChoices) { +@@ -23,6 +23,7 @@ + #include "nsComponentManagerUtils.h" + #include "nsContentPermissionHelper.h" + #include "nsContentUtils.h" ++#include "nsDocShell.h" + #include "nsGlobalWindow.h" + #include "mozilla/dom/Document.h" + #include "nsINamed.h" +@@ -294,10 +295,8 @@ nsGeolocationRequest::Allow(JS::HandleValue aChoices) { return NS_OK; } @@ -500,7 +508,7 @@ index f2bb0d880f179bb37e915fe5b32692ac4307ecf7..acf9cd6eddfa565186d2ca1634d2530f CachedPositionAndAccuracy lastPosition = gs->GetCachedPosition(); if (lastPosition.position) { DOMTimeStamp cachedPositionTime_ms; -@@ -467,8 +465,7 @@ void nsGeolocationRequest::Shutdown() { +@@ -467,8 +466,7 @@ void nsGeolocationRequest::Shutdown() { // If there are no other high accuracy requests, the geolocation service will // notify the provider to switch to the default accuracy. if (mOptions && mOptions->mEnableHighAccuracy) { @@ -510,7 +518,7 @@ index f2bb0d880f179bb37e915fe5b32692ac4307ecf7..acf9cd6eddfa565186d2ca1634d2530f if (gs) { gs->UpdateAccuracy(); } -@@ -745,8 +742,14 @@ void nsGeolocationService::StopDevice() { +@@ -745,8 +743,14 @@ void nsGeolocationService::StopDevice() { StaticRefPtr nsGeolocationService::sService; already_AddRefed @@ -526,7 +534,7 @@ index f2bb0d880f179bb37e915fe5b32692ac4307ecf7..acf9cd6eddfa565186d2ca1634d2530f if (nsGeolocationService::sService) { result = nsGeolocationService::sService; -@@ -838,7 +841,9 @@ nsresult Geolocation::Init(nsPIDOMWindowInner* aContentDom) { +@@ -838,7 +842,9 @@ nsresult Geolocation::Init(nsPIDOMWindowInner* aContentDom) { // If no aContentDom was passed into us, we are being used // by chrome/c++ and have no mOwner, no mPrincipal, and no need // to prompt. @@ -560,7 +568,7 @@ index d92bd1c738016f93c66dbdc449c70937c37b6f9a..a4c1f0ca974470342cb8136705d78cfc ~Geolocation(); diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp -index f495214f53e6568af33fa1350bde798e5f390bfc..9b09feb9425f9bccab583fb1e724aca991822a08 100644 +index 35bcf1e1c19c713a42c62ac4e87ac040e97dc28b..45af1b53fa889368f69f7b45899df8e2d425d011 100644 --- a/dom/html/HTMLInputElement.cpp +++ b/dom/html/HTMLInputElement.cpp @@ -44,6 +44,7 @@ @@ -571,7 +579,7 @@ index f495214f53e6568af33fa1350bde798e5f390bfc..9b09feb9425f9bccab583fb1e724aca9 #include "nsIFormControlFrame.h" #include "nsITextControlFrame.h" #include "nsIFrame.h" -@@ -728,6 +729,12 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) { +@@ -726,6 +727,12 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) { return NS_ERROR_FAILURE; } @@ -585,10 +593,10 @@ index f495214f53e6568af33fa1350bde798e5f390bfc..9b09feb9425f9bccab583fb1e724aca9 return NS_OK; } diff --git a/dom/ipc/BrowserChild.cpp b/dom/ipc/BrowserChild.cpp -index 0c3a3386c7b419b30f02392c531e2fa1784175f1..17ee78af1aabf1e93980d7cc6919a45387e00d96 100644 +index 9e3a1f7ae9f8e5811506107e8b2f058c3c8e3b31..49b9662849eb7e4e5782596cc16907a1bdff4339 100644 --- a/dom/ipc/BrowserChild.cpp +++ b/dom/ipc/BrowserChild.cpp -@@ -3605,6 +3605,13 @@ NS_IMETHODIMP BrowserChild::OnStateChange(nsIWebProgress* aWebProgress, +@@ -3676,6 +3676,13 @@ NS_IMETHODIMP BrowserChild::OnStateChange(nsIWebProgress* aWebProgress, return NS_OK; } @@ -647,7 +655,7 @@ index 9e3c1a56d10394d98de9e84fb8cd6ee8e3be5870..8c661de349d6cb64fd8d81d5db9c28f2 return aGlobalOrNull; diff --git a/dom/security/nsCSPUtils.cpp b/dom/security/nsCSPUtils.cpp -index f0c28cfdae1c9ac33013e9688e0142d161763543..a38ab106e37dbab58e91ef5a873f8954c35881e7 100644 +index 1782a10a26f51c3bf79efe6713a493c4f058898c..bd2f13802731aa8db42c016d8a91de688dcac80b 100644 --- a/dom/security/nsCSPUtils.cpp +++ b/dom/security/nsCSPUtils.cpp @@ -121,6 +121,11 @@ void CSP_ApplyMetaCSPToDoc(mozilla::dom::Document& aDoc, @@ -663,10 +671,10 @@ index f0c28cfdae1c9ac33013e9688e0142d161763543..a38ab106e37dbab58e91ef5a873f8954 nsContentUtils::TrimWhitespace( aPolicyStr)); diff --git a/dom/workers/RuntimeService.cpp b/dom/workers/RuntimeService.cpp -index ddc2aac728a772d4830504419d63123ffc4ee928..4a9fd6d8a437c0fefce144d85c3274672ab54ea3 100644 +index b20abd71cbb825b17ea3cef1791a2d8b0185b5b2..e7311028af2e8250b8010093549d9e3ff26a6e9a 100644 --- a/dom/workers/RuntimeService.cpp +++ b/dom/workers/RuntimeService.cpp -@@ -1065,7 +1065,7 @@ void PrefLanguagesChanged(const char* /* aPrefName */, void* /* aClosure */) { +@@ -1052,7 +1052,7 @@ void PrefLanguagesChanged(const char* /* aPrefName */, void* /* aClosure */) { AssertIsOnMainThread(); nsTArray languages; @@ -675,7 +683,7 @@ index ddc2aac728a772d4830504419d63123ffc4ee928..4a9fd6d8a437c0fefce144d85c327467 RuntimeService* runtime = RuntimeService::GetService(); if (runtime) { -@@ -1269,8 +1269,7 @@ bool RuntimeService::RegisterWorker(WorkerPrivate* aWorkerPrivate) { +@@ -1256,8 +1256,7 @@ bool RuntimeService::RegisterWorker(WorkerPrivate* aWorkerPrivate) { } // The navigator overridden properties should have already been read. @@ -686,10 +694,10 @@ index ddc2aac728a772d4830504419d63123ffc4ee928..4a9fd6d8a437c0fefce144d85c327467 } diff --git a/extensions/permissions/nsPermissionManager.cpp b/extensions/permissions/nsPermissionManager.cpp -index 5de630a1db847a09651b310928bb7bc4d4f66f29..0268bc2bdfb3bfda2ef6e01a5dd24209723903fa 100644 +index 02f18c7f13c55a16688cee887f586ba3bf97a6fb..1f0c2a3192e35fd71b5fa26fa6822c2b733b7049 100644 --- a/extensions/permissions/nsPermissionManager.cpp +++ b/extensions/permissions/nsPermissionManager.cpp -@@ -167,7 +167,7 @@ void MaybeStripOAs(bool aForceStrip, OriginAttributes& aOriginAttributes) { +@@ -174,7 +174,7 @@ void MaybeStripOAs(bool aForceStrip, OriginAttributes& aOriginAttributes) { } if (flags != 0) { @@ -698,7 +706,7 @@ index 5de630a1db847a09651b310928bb7bc4d4f66f29..0268bc2bdfb3bfda2ef6e01a5dd24209 } } -@@ -200,6 +200,8 @@ nsresult GetOriginFromPrincipal(nsIPrincipal* aPrincipal, bool aForceStripOA, +@@ -207,6 +207,8 @@ nsresult GetOriginFromPrincipal(nsIPrincipal* aPrincipal, bool aForceStripOA, OriginAppendOASuffix(attrs, aForceStripOA, aOrigin); @@ -707,7 +715,7 @@ index 5de630a1db847a09651b310928bb7bc4d4f66f29..0268bc2bdfb3bfda2ef6e01a5dd24209 return NS_OK; } -@@ -318,7 +320,7 @@ already_AddRefed GetNextSubDomainPrincipal( +@@ -325,7 +327,7 @@ already_AddRefed GetNextSubDomainPrincipal( if (!StaticPrefs::permissions_isolateBy_userContext()) { // Disable userContext for permissions. @@ -1067,7 +1075,7 @@ index 0000000000000000000000000000000000000000..862c680198bbb503a5f04c19bdb8fdf2 + diff --git a/juggler/NetworkObserver.js b/juggler/NetworkObserver.js new file mode 100644 -index 0000000000000000000000000000000000000000..11483d18af264d9398961e08d2021d5d5f0c1463 +index 0000000000000000000000000000000000000000..d6ccfe3f9c590969c71630aabad37adf87b274b1 --- /dev/null +++ b/juggler/NetworkObserver.js @@ -0,0 +1,773 @@ @@ -2937,10 +2945,10 @@ index 0000000000000000000000000000000000000000..be70ea364f9534bb3b344f64970366c3 + diff --git a/juggler/content/PageAgent.js b/juggler/content/PageAgent.js new file mode 100644 -index 0000000000000000000000000000000000000000..8b4202213ad6f663a8e161748ebd23c4c5deddec +index 0000000000000000000000000000000000000000..643fcfeb7d1084c2a5eb99031d0f626ebee725f9 --- /dev/null +++ b/juggler/content/PageAgent.js -@@ -0,0 +1,935 @@ +@@ -0,0 +1,936 @@ +"use strict"; +const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm"); +const Ci = Components.interfaces; @@ -3439,6 +3447,7 @@ index 0000000000000000000000000000000000000000..8b4202213ad6f663a8e161748ebd23c4 + const frame = this._frameTree.frame(frameId); + const docShell = frame.docShell().QueryInterface(Ci.nsIWebNavigation); + docShell.loadURI(url, { ++ triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(), + flags: Ci.nsIWebNavigation.LOAD_FLAGS_NONE, + referrerInfo, + postData: null, @@ -4656,7 +4665,7 @@ index 0000000000000000000000000000000000000000..3a386425d3796d0a6786dea193b3402d + diff --git a/juggler/content/main.js b/juggler/content/main.js new file mode 100644 -index 0000000000000000000000000000000000000000..97d45c054ab9c8d805eb26fdc4b42dc503bc930b +index 0000000000000000000000000000000000000000..a3d9501d4582bf1428d9e994d609dc54e59b90c7 --- /dev/null +++ b/juggler/content/main.js @@ -0,0 +1,174 @@ @@ -4734,7 +4743,7 @@ index 0000000000000000000000000000000000000000..97d45c054ab9c8d805eb26fdc4b42dc5 + const { userAgent, bypassCSP, javaScriptDisabled, viewport, scriptsToEvaluateOnNewDocument, bindings, locale, geolocation, onlineOverride } = browserContextOptions; + + if (userAgent !== undefined) -+ docShell.customUserAgent = userAgent; ++ docShell.browsingContext.customUserAgent = userAgent; + if (bypassCSP !== undefined) + docShell.bypassCSPEnabled = bypassCSP; + if (javaScriptDisabled !== undefined) @@ -6809,7 +6818,7 @@ index 0000000000000000000000000000000000000000..5cc68241bdb420668fd14b45f1a70228 +var EXPORTED_SYMBOLS = ['RuntimeHandler']; +this.RuntimeHandler = RuntimeHandler; diff --git a/parser/html/nsHtml5TreeOpExecutor.cpp b/parser/html/nsHtml5TreeOpExecutor.cpp -index d99e7f91503e84690d711bca2c2d916e34e56214..b63e9d96219420f5e4fb58797e4c3d901cba77cc 100644 +index 5bdd250f8061a2fc1f755a4ea82b91e525b88131..9d5d3b92429abc0a8d570b4ea6db67e2bf2ee8f7 100644 --- a/parser/html/nsHtml5TreeOpExecutor.cpp +++ b/parser/html/nsHtml5TreeOpExecutor.cpp @@ -1065,9 +1065,12 @@ void nsHtml5TreeOpExecutor::AddSpeculationCSP(const nsAString& aCSP) { @@ -6827,10 +6836,10 @@ index d99e7f91503e84690d711bca2c2d916e34e56214..b63e9d96219420f5e4fb58797e4c3d90 nsCOMPtr preloadCsp = mDocument->GetPreloadCsp(); if (!preloadCsp) { diff --git a/security/manager/ssl/nsCertOverrideService.cpp b/security/manager/ssl/nsCertOverrideService.cpp -index 6dca2b78830edc1ddbd66264bd332853729dac71..fbe89c9682834e11b9d9219d9eb056ede084435a 100644 +index e27b18249b9dca7fddbd0c45b5af383e75ef3143..cc352957002985d0d168b7045186b389cbc911fb 100644 --- a/security/manager/ssl/nsCertOverrideService.cpp +++ b/security/manager/ssl/nsCertOverrideService.cpp -@@ -634,7 +634,7 @@ static bool IsDebugger() { +@@ -633,7 +633,7 @@ static bool IsDebugger() { NS_IMETHODIMP nsCertOverrideService:: SetDisableAllSecurityChecksAndLetAttackersInterceptMyData(bool aDisable) { @@ -6840,10 +6849,10 @@ index 6dca2b78830edc1ddbd66264bd332853729dac71..fbe89c9682834e11b9d9219d9eb056ed } diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm -index 36da62856100a9db680f2515d9dc5427d8945233..b29d93917386d2f70d35122da0fdbe0a7b3484f1 100644 +index 54eb24bceb10eeccdbdf1d0111f2cc0527cb09f8..0efa6e21ee0f32c0092402db60751c9f0674061d 100644 --- a/services/settings/Utils.jsm +++ b/services/settings/Utils.jsm -@@ -42,7 +42,7 @@ var Utils = { +@@ -55,7 +55,7 @@ var Utils = { Ci.nsIEnvironment ); const isXpcshell = env.exists("XPCSHELL_TEST_PROFILE_DIR"); @@ -6853,10 +6862,10 @@ index 36da62856100a9db680f2515d9dc5427d8945233..b29d93917386d2f70d35122da0fdbe0a : gServerURL; }, diff --git a/toolkit/components/startup/nsAppStartup.cpp b/toolkit/components/startup/nsAppStartup.cpp -index 1fc58612ab8efe2f7cfd5da29026f39c60e49584..19a314b950bdb0327b6fdd3f310e94135d6778de 100644 +index bcbd90bae3deadd97f174520ee30859c6fa591f6..845d92bdf61f12b54f4ee3d7a6d8735f7ee81a9d 100644 --- a/toolkit/components/startup/nsAppStartup.cpp +++ b/toolkit/components/startup/nsAppStartup.cpp -@@ -336,7 +336,7 @@ nsAppStartup::Quit(uint32_t aMode) { +@@ -335,7 +335,7 @@ nsAppStartup::Quit(uint32_t aMode) { nsCOMPtr windowEnumerator; nsCOMPtr mediator( do_GetService(NS_WINDOWMEDIATOR_CONTRACTID)); @@ -6866,7 +6875,7 @@ index 1fc58612ab8efe2f7cfd5da29026f39c60e49584..19a314b950bdb0327b6fdd3f310e9413 if (windowEnumerator) { bool more; diff --git a/toolkit/components/statusfilter/nsBrowserStatusFilter.cpp b/toolkit/components/statusfilter/nsBrowserStatusFilter.cpp -index 7e10920c900670949c2bef73715bde0eb4f0ea23..8c0f31c01bce59e24fa83faeae69813b3ee60de7 100644 +index cc1686589f5539b2adc966c240288cc01c4c5c06..c036fe053f819e9e658ea603095102acc8711f59 100644 --- a/toolkit/components/statusfilter/nsBrowserStatusFilter.cpp +++ b/toolkit/components/statusfilter/nsBrowserStatusFilter.cpp @@ -177,8 +177,16 @@ nsBrowserStatusFilter::OnStateChange(nsIWebProgress* aWebProgress, @@ -6889,10 +6898,10 @@ index 7e10920c900670949c2bef73715bde0eb4f0ea23..8c0f31c01bce59e24fa83faeae69813b int32_t aMaxSelfProgress, int32_t aCurTotalProgress, diff --git a/toolkit/mozapps/update/UpdateService.jsm b/toolkit/mozapps/update/UpdateService.jsm -index 33caae56237e10f01fbcbf3ea9bf5ebf22e82763..1538c49f64b36a706de5ece79075319696409789 100644 +index cae2e4eec0ae281cdeaa07c6d70a8aef30d79332..ab251f81c4a74923940c7e9c051fbef35e2546c4 100644 --- a/toolkit/mozapps/update/UpdateService.jsm +++ b/toolkit/mozapps/update/UpdateService.jsm -@@ -3097,7 +3097,7 @@ UpdateService.prototype = { +@@ -3077,7 +3077,7 @@ UpdateService.prototype = { ).running; } @@ -6914,10 +6923,10 @@ index 299230cb3bde5ecd111454ed6f59d1f0504b67a1..09f4ef69776217e5e9f5cc4ad4de9398 ] diff --git a/uriloader/base/nsDocLoader.cpp b/uriloader/base/nsDocLoader.cpp -index 05dcc11514277a56ac761ac1d7a220cd7a43d8a3..96b0ee7b09672400fed738cdf3cc87ddeba5a31a 100644 +index 0a1f12c789762d8b0020aebe933555d99b4a8358..86f29ad8af43d55f973fbcd02c1455510c97b4e4 100644 --- a/uriloader/base/nsDocLoader.cpp +++ b/uriloader/base/nsDocLoader.cpp -@@ -758,6 +758,13 @@ void nsDocLoader::DocLoaderIsEmpty(bool aFlushLayout) { +@@ -759,6 +759,13 @@ void nsDocLoader::DocLoaderIsEmpty(bool aFlushLayout) { ("DocLoader:%p: Firing load event for document.open\n", this)); @@ -6931,7 +6940,7 @@ index 05dcc11514277a56ac761ac1d7a220cd7a43d8a3..96b0ee7b09672400fed738cdf3cc87dd // This is a very cut-down version of // nsDocumentViewer::LoadComplete that doesn't do various things // that are not relevant here because this wasn't an actual -@@ -1365,6 +1372,24 @@ void nsDocLoader::FireOnLocationChange(nsIWebProgress* aWebProgress, +@@ -1366,6 +1373,24 @@ void nsDocLoader::FireOnLocationChange(nsIWebProgress* aWebProgress, } } @@ -6957,7 +6966,7 @@ index 05dcc11514277a56ac761ac1d7a220cd7a43d8a3..96b0ee7b09672400fed738cdf3cc87dd nsIRequest* aRequest, nsresult aStatus, const char16_t* aMessage) { diff --git a/uriloader/base/nsDocLoader.h b/uriloader/base/nsDocLoader.h -index 684cf732b6c7c6e9dad4d2db60a7b8e00802dff0..d76f46c006dd74a45327a40748efeb727ffff7a7 100644 +index 1326a3254115193e1e7670896773b9bfe31d6931..b5134178f4b8332f2f867c66d0761f8685d8070a 100644 --- a/uriloader/base/nsDocLoader.h +++ b/uriloader/base/nsDocLoader.h @@ -204,6 +204,11 @@ class nsDocLoader : public nsIDocumentLoader, diff --git a/browser_patches/firefox/preferences/playwright.cfg b/browser_patches/firefox/preferences/playwright.cfg index 709b15c764..a9d57d13d3 100644 --- a/browser_patches/firefox/preferences/playwright.cfg +++ b/browser_patches/firefox/preferences/playwright.cfg @@ -1,5 +1,8 @@ // Any comment. You must start the file with a comment! +// Use light theme by default. +pref("ui.systemUsesDarkTheme", 0); + pref("dom.push.serverURL", ""); pref("services.settings.server", ""); pref("browser.safebrowsing.provider.mozilla.updateURL", "");