diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp index 31307cbcd019..d5f85b1e571a 100644 --- a/docshell/base/CanonicalBrowsingContext.cpp +++ b/docshell/base/CanonicalBrowsingContext.cpp @@ -2188,18 +2188,6 @@ bool CanonicalBrowsingContext::HasCreatedMediaController() const { bool CanonicalBrowsingContext::SupportsLoadingInParent( nsDocShellLoadState* aLoadState, uint64_t* aOuterWindowId) { - // We only support parent controlled navigation with Fission. - if (!StaticPrefs::browser_tabs_documentchannel_parent_controlled() || - !mozilla::FissionAutostart()) { - return false; - } - - // We currently only support starting loads directly from the - // CanonicalBrowsingContext for top-level BCs. - if (!IsTopContent() || !GetContentParent()) { - return false; - } - // We currently don't support initiating loads in the parent when they are // watched by devtools. This is because devtools tracks loads using content // process notifications, which happens after the load is initiated in this @@ -2250,6 +2238,15 @@ bool CanonicalBrowsingContext::SupportsLoadingInParent( bool CanonicalBrowsingContext::LoadInParent(nsDocShellLoadState* aLoadState, bool aSetNavigating) { + // We currently only support starting loads directly from the + // CanonicalBrowsingContext for top-level BCs. + // We currently only support starting loads directly from the + // CanonicalBrowsingContext for top-level BCs. + if (!IsTopContent() || !GetContentParent() || + !StaticPrefs::browser_tabs_documentchannel_parent_controlled()) { + return false; + } + uint64_t outerWindowId = 0; if (!SupportsLoadingInParent(aLoadState, &outerWindowId)) { return false; @@ -2269,9 +2266,17 @@ bool CanonicalBrowsingContext::LoadInParent(nsDocShellLoadState* aLoadState, bool CanonicalBrowsingContext::AttemptSpeculativeLoadInParent( nsDocShellLoadState* aLoadState) { + // We currently only support starting loads directly from the + // CanonicalBrowsingContext for top-level BCs. + // We currently only support starting loads directly from the + // CanonicalBrowsingContext for top-level BCs. + if (!IsTopContent() || !GetContentParent() || + (StaticPrefs::browser_tabs_documentchannel_parent_controlled())) { + return false; + } + uint64_t outerWindowId = 0; - if (!StaticPrefs::browser_tabs_documentchannel_speculative_load() || - !SupportsLoadingInParent(aLoadState, &outerWindowId)) { + if (!SupportsLoadingInParent(aLoadState, &outerWindowId)) { return false; } diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml index a502f46ee530..358b06a5c1d3 100644 --- a/modules/libpref/init/StaticPrefList.yaml +++ b/modules/libpref/init/StaticPrefList.yaml @@ -1620,13 +1620,6 @@ # If set, use DocumentChannel to directly initiate loads entirely # from parent-process BrowsingContexts - name: browser.tabs.documentchannel.parent-controlled - type: bool - value: true - mirror: always - -# If set, use DocumentChannel to attempt a speculative load from the -# parent whenever it's not possible to directly load from the parent. -- name: browser.tabs.documentchannel.speculative-load type: bool value: false mirror: always