Skip to content

Commit 7a4c4fb

Browse files
authored
Merge pull request #1139 from LibertyGlobal/jgocol/ONEM-30806/upstream
Add env var to allow keeping the existent navigation on a fragment load
2 parents a4751cc + 5b561d6 commit 7a4c4fb

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

Source/WebCore/loader/FrameLoader.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3241,8 +3241,16 @@ void FrameLoader::continueFragmentScrollAfterNavigationPolicy(const ResourceRequ
32413241
// frame to be deallocated.
32423242
Ref<Frame> protectedFrame(m_frame);
32433243

3244+
static bool keepNavigationOnFragmentLoad = false;
3245+
static bool keepNavigationOnFragmentLoadInitialized = false;
3246+
3247+
if (!keepNavigationOnFragmentLoadInitialized) {
3248+
keepNavigationOnFragmentLoad = !!getenv("WPE_KEEP_NAVIGATION_ON_FRAGMENT_LOAD");
3249+
keepNavigationOnFragmentLoadInitialized = true;
3250+
}
3251+
32443252
// If we have a provisional request for a different document, a fragment scroll should cancel it.
3245-
if (m_provisionalDocumentLoader && !equalIgnoringFragmentIdentifier(m_provisionalDocumentLoader->request().url(), request.url())) {
3253+
if (m_provisionalDocumentLoader && !equalIgnoringFragmentIdentifier(m_provisionalDocumentLoader->request().url(), request.url()) && !keepNavigationOnFragmentLoad) {
32463254
m_provisionalDocumentLoader->stopLoading();
32473255
FRAMELOADER_RELEASE_LOG(ResourceLoading, "continueFragmentScrollAfterNavigationPolicy: Clearing provisional document loader (m_provisionalDocumentLoader=%p)", m_provisionalDocumentLoader.get());
32483256
setProvisionalDocumentLoader(nullptr);

0 commit comments

Comments
 (0)