Modified: branches/chromium/782/Source/WebCore/html/HTMLLinkElement.cpp (91203 => 91204)
--- branches/chromium/782/Source/WebCore/html/HTMLLinkElement.cpp 2011-07-18 20:16:02 UTC (rev 91203)
+++ branches/chromium/782/Source/WebCore/html/HTMLLinkElement.cpp 2011-07-18 20:20:25 UTC (rev 91204)
@@ -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,24 @@
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)
+ 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 (91203 => 91204)
--- branches/chromium/782/Source/WebCore/html/HTMLLinkElement.h 2011-07-18 20:16:02 UTC (rev 91203)
+++ branches/chromium/782/Source/WebCore/html/HTMLLinkElement.h 2011-07-18 20:20:25 UTC (rev 91204)
@@ -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;