Index: Source/core/html/HTMLLinkElement.cpp |
diff --git a/Source/core/html/HTMLLinkElement.cpp b/Source/core/html/HTMLLinkElement.cpp |
index 33b5d0fba34d7831cfd8f4c6df5ff75935f3b9d6..de250def0215523557cfb1a7fc4b1ec07e51e1c9 100644 |
--- a/Source/core/html/HTMLLinkElement.cpp |
+++ b/Source/core/html/HTMLLinkElement.cpp |
@@ -288,13 +288,18 @@ void HTMLLinkElement::dispatchPendingLoadEvents() |
void HTMLLinkElement::dispatchPendingEvent(LinkEventSender* eventSender) |
{ |
ASSERT_UNUSED(eventSender, eventSender == &linkLoadEventSender()); |
- ASSERT(linkStyle()); |
- if (linkStyle()->hasLoadedSheet()) |
+ ASSERT(m_link); |
+ if (m_link->hasLoaded()) |
linkLoaded(); |
else |
linkLoadingErrored(); |
} |
+void HTMLLinkElement::scheduleEvent() |
+{ |
+ linkLoadEventSender().dispatchEventSoon(this); |
+} |
+ |
void HTMLLinkElement::startLoadingDynamicSheet() |
{ |
ASSERT(linkStyle()); |
@@ -455,7 +460,8 @@ void LinkStyle::notifyLoadedSheetAndAllCriticalSubresources(bool errorOccurred) |
if (m_firedLoad) |
return; |
m_loadedSheet = !errorOccurred; |
- linkLoadEventSender().dispatchEventSoon(m_owner); |
+ if (m_owner) |
+ m_owner->scheduleEvent(); |
m_firedLoad = true; |
} |