Title: [91389] branches/chromium/782/Source/WebCore/html
Revision
91389
Author
gav...@chromium.org
Date
2011-07-20 12:36:45 -0700 (Wed, 20 Jul 2011)

Log Message

Try again: Merge 89719 BUG=80729

Modified Paths


Diff

Modified: branches/chromium/782/Source/WebCore/html/HTMLLinkElement.cpp (91388 => 91389)


--- branches/chromium/782/Source/WebCore/html/HTMLLinkElement.cpp	2011-07-20 19:31:06 UTC (rev 91388)
+++ branches/chromium/782/Source/WebCore/html/HTMLLinkElement.cpp	2011-07-20 19:36:45 UTC (rev 91389)
@@ -54,6 +54,7 @@
     : HTMLElement(tagName, document)
 #if ENABLE(LINK_PREFETCH)
     , m_onloadTimer(this, &HTMLLinkElement::onloadTimerFired)
+    , m_onerrorTimer(this, &HTMLLinkElement::onerrorTimerFired)
 #endif
     , m_disabledState(Unset)
     , m_loading(false)
@@ -446,20 +447,26 @@
 void HTMLLinkElement::onloadTimerFired(Timer<HTMLLinkElement>* timer)
 {
     ASSERT_UNUSED(timer, timer == &m_onloadTimer);
-    if (m_cachedLinkResource->errorOccurred())
-        dispatchEvent(Event::create(eventNames().errorEvent, false, false));
-    else if (!m_cachedLinkResource->wasCanceled())
-        dispatchEvent(Event::create(eventNames().loadEvent, false, false));
+    dispatchEvent(Event::create(eventNames().loadEvent, false, false));
+}
 
-    m_cachedLinkResource->removeClient(this);
-    m_cachedLinkResource = 0;
+void HTMLLinkElement::onerrorTimerFired(Timer<HTMLLinkElement>* timer)
+{
+    ASSERT_UNUSED(timer, timer == &m_onerrorTimer);
+    dispatchEvent(Event::create(eventNames().errorEvent, false, false));
 }
 
 void HTMLLinkElement::notifyFinished(CachedResource* resource)
 {
     ASSERT(m_cachedLinkResource.get() == resource || m_cachedSheet.get() == resource);
-    if (m_cachedLinkResource.get() == resource)
-        m_onloadTimer.startOneShot(0);
+    if (m_cachedLinkResource.get() == resource) {
+        if (m_cachedLinkResource->errorOccurred())
+            m_onloadTimer.startOneShot(0);
+        else if (!m_cachedLinkResource->wasCanceled())
+            m_onerrorTimer.startOneShot(0);
+        m_cachedLinkResource->removeClient(this);
+        m_cachedLinkResource = 0;
+    }
 }
 #endif
 

Modified: branches/chromium/782/Source/WebCore/html/HTMLLinkElement.h (91388 => 91389)


--- branches/chromium/782/Source/WebCore/html/HTMLLinkElement.h	2011-07-20 19:31:06 UTC (rev 91388)
+++ branches/chromium/782/Source/WebCore/html/HTMLLinkElement.h	2011-07-20 19:36:45 UTC (rev 91389)
@@ -85,6 +85,7 @@
 
 #if ENABLE(LINK_PREFETCH)
     void onloadTimerFired(Timer<HTMLLinkElement>*);
+    void onerrorTimerFired(Timer<HTMLLinkElement>*);
 #endif
     bool checkBeforeLoadEvent();
     void process();
@@ -132,6 +133,7 @@
 #if ENABLE(LINK_PREFETCH)
     CachedResourceHandle<CachedResource> m_cachedLinkResource;
     Timer<HTMLLinkElement> m_onloadTimer;
+    Timer<HTMLLinkElement> m_onerrorTimer;
 #endif
     KURL m_url;
     String m_type;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to