[Webkit-unassigned] [Bug 242248] [WPE][GTK] 'Stop' button does not STOP
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jun 5 15:31:34 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=242248
--- Comment #12 from Michael Catanzaro <mcatanzaro at redhat.com> ---
I naively attempted this:
diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp
index 61c2a2e235a0..cff229c32dfa 100644
--- a/Source/WebCore/loader/FrameLoader.cpp
+++ b/Source/WebCore/loader/FrameLoader.cpp
@@ -2714,11 +2714,6 @@ void FrameLoader::checkLoadCompleteForThisFrame(LoadWillContinueInAnotherProcess
{
ASSERT(m_client->hasWebView());
- // FIXME: Should this check be done in checkLoadComplete instead of here?
- // FIXME: Why does this one check need to be repeated here, and not the many others from checkCompleted?
- if (m_frame->document()->isDelayingLoadEvent())
- return;
-
switch (m_state) {
case FrameState::Provisional: {
// FIXME: Prohibiting any provisional load failures from being sent to clients
@@ -2732,6 +2727,11 @@ void FrameLoader::checkLoadCompleteForThisFrame(LoadWillContinueInAnotherProcess
if (!provisionalDocumentLoader)
return;
+ // FIXME: Should this check be done in checkLoadComplete instead of here?
+ // FIXME: Why does this one check need to be repeated here, and not the many others from checkCompleted?
+ if (m_frame->document()->isDelayingLoadEvent() && !m_provisionalDocumentLoader->isStopping())
+ return;
+
// If we've received any errors we may be stuck in the provisional state and actually complete.
auto& error = provisionalDocumentLoader->mainDocumentError();
if (error.isNull())
@@ -2790,6 +2790,11 @@ void FrameLoader::checkLoadCompleteForThisFrame(LoadWillContinueInAnotherProcess
if (m_documentLoader->isLoadingInAPISense() && !m_documentLoader->isStopping() && !m_checkingLoadCompleteForDetachment)
return;
+ // FIXME: Should this check be done in checkLoadComplete instead of here?
+ // FIXME: Why does this one check need to be repeated here, and not the many others from checkCompleted?
+ if (m_frame->document()->isDelayingLoadEvent() && !m_documentLoader->isStopping())
+ return;
+
setState(FrameState::Complete);
// FIXME: Is this subsequent work important if we already navigated away?
Unfortunately, removing the isDelayingLoadEvent check from the top of FrameLoader::checkLoadCompleteForThisFrame causes the RELEASE_ASSERT(presentationSize) in VideoFrameGStreamer::createWrappedSample to fail. Not sure why.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240605/3123c358/attachment.htm>
More information about the webkit-unassigned
mailing list