Title: [150150] trunk/Source/WebCore
Revision
150150
Author
[email protected]
Date
2013-05-15 14:51:16 -0700 (Wed, 15 May 2013)

Log Message

We should clear mainResource in DocumentLoader::cancelMainResourceLoad.
https://bugs.webkit.org/show_bug.cgi?id=116119

Patch by Yongjun Zhang <[email protected]> on 2013-05-15
Reviewed by Oliver Hunt.

MainResourceLoader::clearResource() was left out in r146239 when moving MainResourceLoader::cancel()
to DocumentLoader::cancelMainResourceLoad(), we need to add it back to make sure m_mainResource is
cleared when we cancel the loader.

No new tests needed.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::continueAfterNavigationPolicy):
(WebCore::DocumentLoader::cancelMainResourceLoad):
(WebCore::DocumentLoader::clearMainResource):
(WebCore):
* loader/DocumentLoader.h: add helper method clearMainResource()
(DocumentLoader):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (150149 => 150150)


--- trunk/Source/WebCore/ChangeLog	2013-05-15 21:42:03 UTC (rev 150149)
+++ trunk/Source/WebCore/ChangeLog	2013-05-15 21:51:16 UTC (rev 150150)
@@ -1,3 +1,25 @@
+2013-05-15  Yongjun Zhang  <[email protected]>
+
+        We should clear mainResource in DocumentLoader::cancelMainResourceLoad.
+        https://bugs.webkit.org/show_bug.cgi?id=116119
+
+        Reviewed by Oliver Hunt.
+
+        MainResourceLoader::clearResource() was left out in r146239 when moving MainResourceLoader::cancel()
+        to DocumentLoader::cancelMainResourceLoad(), we need to add it back to make sure m_mainResource is
+        cleared when we cancel the loader.
+
+        No new tests needed.
+
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::~DocumentLoader):
+        (WebCore::DocumentLoader::continueAfterNavigationPolicy):
+        (WebCore::DocumentLoader::cancelMainResourceLoad):
+        (WebCore::DocumentLoader::clearMainResource):
+        (WebCore):
+        * loader/DocumentLoader.h: add helper method clearMainResource()
+        (DocumentLoader):
+
 2013-05-15  Joe Mason  <[email protected]>
 
         [BlackBerry] When HTTP auth fails, only purge credentials that match the failed credentials

Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (150149 => 150150)


--- trunk/Source/WebCore/loader/DocumentLoader.cpp	2013-05-15 21:42:03 UTC (rev 150149)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp	2013-05-15 21:51:16 UTC (rev 150150)
@@ -143,10 +143,7 @@
         m_iconDataCallback->invalidate();
     m_cachedResourceLoader->clearDocumentLoader();
     
-    if (m_mainResource) {
-        m_mainResource->removeClient(this);
-        m_mainResource = 0;
-    }
+    clearMainResource();
 }
 
 PassRefPtr<ResourceBuffer> DocumentLoader::mainResourceData() const
@@ -546,10 +543,7 @@
         RefPtr<ResourceLoader> resourceLoader = mainResourceLoader();
         ASSERT(resourceLoader->shouldSendResourceLoadCallbacks());
         resourceLoader->setSendCallbackPolicy(DoNotSendCallbacks);
-        if (m_mainResource) {
-            m_mainResource->removeClient(this);
-            m_mainResource = 0;
-        }
+        clearMainResource();
         resourceLoader->setSendCallbackPolicy(SendCallbacks);
         handleSubstituteDataLoadSoon();
     }
@@ -1409,9 +1403,19 @@
     if (mainResourceLoader())
         mainResourceLoader()->cancel(error);
 
+    clearMainResource();
+
     mainReceivedError(error);
 }
 
+void DocumentLoader::clearMainResource()
+{
+    if (m_mainResource) {
+        m_mainResource->removeClient(this);
+        m_mainResource = 0;
+    }
+}
+
 void DocumentLoader::subresourceLoaderFinishedLoadingOnePart(ResourceLoader* loader)
 {
     m_multipartSubresourceLoaders.add(loader);

Modified: trunk/Source/WebCore/loader/DocumentLoader.h (150149 => 150150)


--- trunk/Source/WebCore/loader/DocumentLoader.h	2013-05-15 21:42:03 UTC (rev 150149)
+++ trunk/Source/WebCore/loader/DocumentLoader.h	2013-05-15 21:51:16 UTC (rev 150150)
@@ -308,7 +308,9 @@
 
         void deliverSubstituteResourcesAfterDelay();
         void substituteResourceDeliveryTimerFired(Timer<DocumentLoader>*);
-                
+
+        void clearMainResource();
+
         Frame* m_frame;
         RefPtr<CachedResourceLoader> m_cachedResourceLoader;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to