diff options
Diffstat (limited to 'Source/WebCore/html/HTMLLinkElement.cpp')
-rw-r--r-- | Source/WebCore/html/HTMLLinkElement.cpp | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/Source/WebCore/html/HTMLLinkElement.cpp b/Source/WebCore/html/HTMLLinkElement.cpp index 7c96b19b1..491d730ac 100644 --- a/Source/WebCore/html/HTMLLinkElement.cpp +++ b/Source/WebCore/html/HTMLLinkElement.cpp @@ -130,36 +130,36 @@ void HTMLLinkElement::setDisabledState(bool disabled) } } -void HTMLLinkElement::parseAttribute(const Attribute& attribute) +void HTMLLinkElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { - if (attribute.name() == relAttr) { - m_relAttribute = LinkRelAttribute(attribute.value()); + if (name == relAttr) { + m_relAttribute = LinkRelAttribute(value); process(); - } else if (attribute.name() == hrefAttr) { - String url = stripLeadingAndTrailingHTMLSpaces(attribute.value()); + } else if (name == hrefAttr) { + String url = stripLeadingAndTrailingHTMLSpaces(value); m_url = url.isEmpty() ? KURL() : document()->completeURL(url); process(); - } else if (attribute.name() == typeAttr) { - m_type = attribute.value(); + } else if (name == typeAttr) { + m_type = value; process(); - } else if (attribute.name() == sizesAttr) { - setSizes(attribute.value()); + } else if (name == sizesAttr) { + setSizes(value); process(); - } else if (attribute.name() == mediaAttr) { - m_media = attribute.value().string().lower(); + } else if (name == mediaAttr) { + m_media = value.string().lower(); process(); - } else if (attribute.name() == disabledAttr) - setDisabledState(!attribute.isNull()); - else if (attribute.name() == onbeforeloadAttr) - setAttributeEventListener(eventNames().beforeloadEvent, createAttributeEventListener(this, attribute)); - else if (attribute.name() == onloadAttr) - setAttributeEventListener(eventNames().loadEvent, createAttributeEventListener(this, attribute)); - else if (attribute.name() == onerrorAttr) - setAttributeEventListener(eventNames().errorEvent, createAttributeEventListener(this, attribute)); + } else if (name == disabledAttr) + setDisabledState(!value.isNull()); + else if (name == onbeforeloadAttr) + setAttributeEventListener(eventNames().beforeloadEvent, createAttributeEventListener(this, name, value)); + else if (name == onloadAttr) + setAttributeEventListener(eventNames().loadEvent, createAttributeEventListener(this, name, value)); + else if (name == onerrorAttr) + setAttributeEventListener(eventNames().errorEvent, createAttributeEventListener(this, name, value)); else { - if (attribute.name() == titleAttr && m_sheet) - m_sheet->setTitle(attribute.value()); - HTMLElement::parseAttribute(attribute); + if (name == titleAttr && m_sheet) + m_sheet->setTitle(value); + HTMLElement::parseAttribute(name, value); } } @@ -222,6 +222,7 @@ void HTMLLinkElement::process() // Load stylesheets that are not needed for the rendering immediately with low priority. ResourceLoadPriority priority = blocking ? ResourceLoadPriorityUnresolved : ResourceLoadPriorityVeryLow; CachedResourceRequest request(ResourceRequest(document()->completeURL(m_url)), charset, priority); + request.setInitiator(this); m_cachedSheet = document()->cachedResourceLoader()->requestCSSStyleSheet(request); if (m_cachedSheet) |