Unreviewed, rolling out r126325.
authorkbr@google.com <kbr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2012 01:07:22 +0000 (01:07 +0000)
committerkbr@google.com <kbr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2012 01:07:22 +0000 (01:07 +0000)
http://trac.webkit.org/changeset/126325
https://bugs.webkit.org/show_bug.cgi?id=94644

Caused subtle but reproducible failure to call onload handler
properly in an SVG layout test in Chromium Mac Debug builds,
indicating potentially larger problem

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::beginLoadTimerFired):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::decrementRequestCount):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@126373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/css/CSSFontSelector.cpp
Source/WebCore/loader/cache/CachedResourceLoader.cpp

index 3bd0935..1f081e4 100644 (file)
@@ -1,3 +1,18 @@
+2012-08-22  Kenneth Russell  <kbr@google.com>
+
+        Unreviewed, rolling out r126325.
+        http://trac.webkit.org/changeset/126325
+        https://bugs.webkit.org/show_bug.cgi?id=94644
+
+        Caused subtle but reproducible failure to call onload handler
+        properly in an SVG layout test in Chromium Mac Debug builds,
+        indicating potentially larger problem
+
+        * css/CSSFontSelector.cpp:
+        (WebCore::CSSFontSelector::beginLoadTimerFired):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::decrementRequestCount):
+
 2012-08-22  Victor Carbune  <victor@rosedu.org>
 
         Display a TextTrackCue when snap-to-lines flag is set
index f4666ad..cc5ffa0 100644 (file)
@@ -589,6 +589,10 @@ void CSSFontSelector::beginLoadTimerFired(Timer<WebCore::CSSFontSelector>*)
     }
     // Ensure that if the request count reaches zero, the frame loader will know about it.
     cachedResourceLoader->loadDone();
+    // New font loads may be triggered by layout after the document load is complete but before we have dispatched
+    // didFinishLoading for the frame. Make sure the delegate is always dispatched by checking explicitly.
+    if (m_document && m_document->frame())
+        m_document->frame()->loader()->checkLoadComplete();
 }
 
 }
index 06b82a8..b258c05 100644 (file)
@@ -38,7 +38,6 @@
 #include "ContentSecurityPolicy.h"
 #include "DOMWindow.h"
 #include "Document.h"
-#include "DocumentLoader.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 #include "FrameLoaderClient.h"
@@ -726,12 +725,6 @@ void CachedResourceLoader::decrementRequestCount(const CachedResource* res)
 
     --m_requestCount;
     ASSERT(m_requestCount > -1);
-
-    // New resource loads (e.g. font loads) may be triggered by layout after the document load is
-    // complete but before we have dispatched didFinishLoading for the frame. Make sure the delegate
-    // is always dispatched by checking explicitly once we are done loading all resources.
-    if (!m_requestCount && m_document && m_document->loader() && m_document->loader()->frameLoader())
-        m_document->loader()->frameLoader()->checkLoadComplete();
 }
     
 void CachedResourceLoader::preload(CachedResource::Type type, ResourceRequest& request, const String& charset, bool referencedFromBody)