summaryrefslogtreecommitdiffstats
path: root/WebCore/loader/NetscapePlugInStreamLoader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/loader/NetscapePlugInStreamLoader.cpp')
-rw-r--r--WebCore/loader/NetscapePlugInStreamLoader.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/WebCore/loader/NetscapePlugInStreamLoader.cpp b/WebCore/loader/NetscapePlugInStreamLoader.cpp
index e12ed07..9d0e81b 100644
--- a/WebCore/loader/NetscapePlugInStreamLoader.cpp
+++ b/WebCore/loader/NetscapePlugInStreamLoader.cpp
@@ -119,6 +119,11 @@ void NetscapePlugInStreamLoader::didCancel(const ResourceError& error)
m_client->didFail(this, error);
+ // If calling didFail spins the run loop the stream loader can reach the terminal state.
+ // If that's the case we just return early.
+ if (reachedTerminalState())
+ return;
+
// We need to remove the stream loader after the call to didFail, since didFail can
// spawn a new run loop and if the loader has been removed it won't be deferred when
// the document loader is asked to defer loading.