Element: isURLAttribute() should take a const Attribute&.
authorkling@webkit.org <kling@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 May 2012 16:27:04 +0000 (16:27 +0000)
committerkling@webkit.org <kling@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 May 2012 16:27:04 +0000 (16:27 +0000)
<http://webkit.org/b/85890>

Reviewed by Anders Carlsson.

Change isURLAttribute(Attribute*) to isURLAttribute(const Attribute&) to enforce
the fact that the Attribute can't be null, and shouldn't be mutated, at compile-time.
Also sprinkle OVERRIDE while we're at it.

* dom/Element.cpp:
(WebCore::Element::getURLAttribute):
(WebCore::Element::getNonEmptyURLAttribute):
* dom/Element.h:
(WebCore::Element::isURLAttribute):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
(WebCore::MarkupAccumulator::appendAttribute):
* editing/markup.cpp:
(WebCore::completeURLs):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isURLAttribute):
* html/HTMLAnchorElement.h:
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::isURLAttribute):
* html/HTMLBaseElement.h:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::isURLAttribute):
* html/HTMLBodyElement.h:
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::isURLAttribute):
* html/HTMLButtonElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::isURLAttribute):
* html/HTMLElement.h:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::isURLAttribute):
* html/HTMLEmbedElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::isURLAttribute):
* html/HTMLFormElement.h:
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::isURLAttribute):
* html/HTMLFrameElementBase.h:
(HTMLFrameElementBase):
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::isURLAttribute):
* html/HTMLHtmlElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::isURLAttribute):
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isURLAttribute):
* html/HTMLInputElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::isURLAttribute):
* html/HTMLLinkElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isURLAttribute):
* html/HTMLMediaElement.h:
* html/HTMLModElement.cpp:
(WebCore::HTMLModElement::isURLAttribute):
* html/HTMLModElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::isURLAttribute):
* html/HTMLObjectElement.h:
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::isURLAttribute):
* html/HTMLParamElement.h:
* html/HTMLQuoteElement.cpp:
(WebCore::HTMLQuoteElement::isURLAttribute):
* html/HTMLQuoteElement.h:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::isURLAttribute):
* html/HTMLScriptElement.h:
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::isURLAttribute):
* html/HTMLSourceElement.h:
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::isURLAttribute):
* html/HTMLTableCellElement.h:
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::isURLAttribute):
* html/HTMLTableElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::isURLAttribute):
* html/HTMLTrackElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::isURLAttribute):
* html/HTMLVideoElement.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::isURLAttribute):
* svg/SVGScriptElement.h:

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

53 files changed:
Source/WebCore/ChangeLog
Source/WebCore/dom/Element.cpp
Source/WebCore/dom/Element.h
Source/WebCore/editing/MarkupAccumulator.cpp
Source/WebCore/editing/markup.cpp
Source/WebCore/html/HTMLAnchorElement.cpp
Source/WebCore/html/HTMLAnchorElement.h
Source/WebCore/html/HTMLBaseElement.cpp
Source/WebCore/html/HTMLBaseElement.h
Source/WebCore/html/HTMLBodyElement.cpp
Source/WebCore/html/HTMLBodyElement.h
Source/WebCore/html/HTMLButtonElement.cpp
Source/WebCore/html/HTMLButtonElement.h
Source/WebCore/html/HTMLElement.cpp
Source/WebCore/html/HTMLElement.h
Source/WebCore/html/HTMLEmbedElement.cpp
Source/WebCore/html/HTMLEmbedElement.h
Source/WebCore/html/HTMLFormElement.cpp
Source/WebCore/html/HTMLFormElement.h
Source/WebCore/html/HTMLFrameElementBase.cpp
Source/WebCore/html/HTMLFrameElementBase.h
Source/WebCore/html/HTMLHtmlElement.cpp
Source/WebCore/html/HTMLHtmlElement.h
Source/WebCore/html/HTMLImageElement.cpp
Source/WebCore/html/HTMLImageElement.h
Source/WebCore/html/HTMLInputElement.cpp
Source/WebCore/html/HTMLInputElement.h
Source/WebCore/html/HTMLLinkElement.cpp
Source/WebCore/html/HTMLLinkElement.h
Source/WebCore/html/HTMLMediaElement.cpp
Source/WebCore/html/HTMLMediaElement.h
Source/WebCore/html/HTMLModElement.cpp
Source/WebCore/html/HTMLModElement.h
Source/WebCore/html/HTMLObjectElement.cpp
Source/WebCore/html/HTMLObjectElement.h
Source/WebCore/html/HTMLParamElement.cpp
Source/WebCore/html/HTMLParamElement.h
Source/WebCore/html/HTMLQuoteElement.cpp
Source/WebCore/html/HTMLQuoteElement.h
Source/WebCore/html/HTMLScriptElement.cpp
Source/WebCore/html/HTMLScriptElement.h
Source/WebCore/html/HTMLSourceElement.cpp
Source/WebCore/html/HTMLSourceElement.h
Source/WebCore/html/HTMLTableCellElement.cpp
Source/WebCore/html/HTMLTableCellElement.h
Source/WebCore/html/HTMLTableElement.cpp
Source/WebCore/html/HTMLTableElement.h
Source/WebCore/html/HTMLTrackElement.cpp
Source/WebCore/html/HTMLTrackElement.h
Source/WebCore/html/HTMLVideoElement.cpp
Source/WebCore/html/HTMLVideoElement.h
Source/WebCore/svg/SVGScriptElement.cpp
Source/WebCore/svg/SVGScriptElement.h

index 3d4e459..d5c2c21 100644 (file)
@@ -1,3 +1,98 @@
+2012-05-08  Andreas Kling  <kling@webkit.org>
+
+        Element: isURLAttribute() should take a const Attribute&.
+        <http://webkit.org/b/85890>
+
+        Reviewed by Anders Carlsson.
+
+        Change isURLAttribute(Attribute*) to isURLAttribute(const Attribute&) to enforce
+        the fact that the Attribute can't be null, and shouldn't be mutated, at compile-time.
+        Also sprinkle OVERRIDE while we're at it.
+
+        * dom/Element.cpp:
+        (WebCore::Element::getURLAttribute):
+        (WebCore::Element::getNonEmptyURLAttribute):
+        * dom/Element.h:
+        (WebCore::Element::isURLAttribute):
+        * editing/MarkupAccumulator.cpp:
+        (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
+        (WebCore::MarkupAccumulator::appendAttribute):
+        * editing/markup.cpp:
+        (WebCore::completeURLs):
+        * html/HTMLAnchorElement.cpp:
+        (WebCore::HTMLAnchorElement::isURLAttribute):
+        * html/HTMLAnchorElement.h:
+        * html/HTMLBaseElement.cpp:
+        (WebCore::HTMLBaseElement::isURLAttribute):
+        * html/HTMLBaseElement.h:
+        * html/HTMLBodyElement.cpp:
+        (WebCore::HTMLBodyElement::isURLAttribute):
+        * html/HTMLBodyElement.h:
+        * html/HTMLButtonElement.cpp:
+        (WebCore::HTMLButtonElement::isURLAttribute):
+        * html/HTMLButtonElement.h:
+        * html/HTMLElement.cpp:
+        (WebCore::HTMLElement::isURLAttribute):
+        * html/HTMLElement.h:
+        * html/HTMLEmbedElement.cpp:
+        (WebCore::HTMLEmbedElement::isURLAttribute):
+        * html/HTMLEmbedElement.h:
+        * html/HTMLFormElement.cpp:
+        (WebCore::HTMLFormElement::isURLAttribute):
+        * html/HTMLFormElement.h:
+        * html/HTMLFrameElementBase.cpp:
+        (WebCore::HTMLFrameElementBase::isURLAttribute):
+        * html/HTMLFrameElementBase.h:
+        (HTMLFrameElementBase):
+        * html/HTMLHtmlElement.cpp:
+        (WebCore::HTMLHtmlElement::isURLAttribute):
+        * html/HTMLHtmlElement.h:
+        * html/HTMLImageElement.cpp:
+        (WebCore::HTMLImageElement::isURLAttribute):
+        * html/HTMLImageElement.h:
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::isURLAttribute):
+        * html/HTMLInputElement.h:
+        * html/HTMLLinkElement.cpp:
+        (WebCore::HTMLLinkElement::isURLAttribute):
+        * html/HTMLLinkElement.h:
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::isURLAttribute):
+        * html/HTMLMediaElement.h:
+        * html/HTMLModElement.cpp:
+        (WebCore::HTMLModElement::isURLAttribute):
+        * html/HTMLModElement.h:
+        * html/HTMLObjectElement.cpp:
+        (WebCore::HTMLObjectElement::isURLAttribute):
+        * html/HTMLObjectElement.h:
+        * html/HTMLParamElement.cpp:
+        (WebCore::HTMLParamElement::isURLAttribute):
+        * html/HTMLParamElement.h:
+        * html/HTMLQuoteElement.cpp:
+        (WebCore::HTMLQuoteElement::isURLAttribute):
+        * html/HTMLQuoteElement.h:
+        * html/HTMLScriptElement.cpp:
+        (WebCore::HTMLScriptElement::isURLAttribute):
+        * html/HTMLScriptElement.h:
+        * html/HTMLSourceElement.cpp:
+        (WebCore::HTMLSourceElement::isURLAttribute):
+        * html/HTMLSourceElement.h:
+        * html/HTMLTableCellElement.cpp:
+        (WebCore::HTMLTableCellElement::isURLAttribute):
+        * html/HTMLTableCellElement.h:
+        * html/HTMLTableElement.cpp:
+        (WebCore::HTMLTableElement::isURLAttribute):
+        * html/HTMLTableElement.h:
+        * html/HTMLTrackElement.cpp:
+        (WebCore::HTMLTrackElement::isURLAttribute):
+        * html/HTMLTrackElement.h:
+        * html/HTMLVideoElement.cpp:
+        (WebCore::HTMLVideoElement::isURLAttribute):
+        * html/HTMLVideoElement.h:
+        * svg/SVGScriptElement.cpp:
+        (WebCore::SVGScriptElement::isURLAttribute):
+        * svg/SVGScriptElement.h:
+
 2012-05-08  Stephen Chenney  <schenney@chromium.org>
 
         Shrink ElementAttributeData by factoring out Attr object count.
index 620c3ae..13cb06e 100644 (file)
@@ -866,11 +866,6 @@ void Element::createAttributeData() const
     m_attributeData = ElementAttributeData::create();
 }
 
-bool Element::isURLAttribute(Attribute*) const
-{
-    return false;
-}
-
 const QualifiedName& Element::imageSourceAttributeName() const
 {
     return srcAttr;
@@ -1841,7 +1836,7 @@ KURL Element::getURLAttribute(const QualifiedName& name) const
 #if !ASSERT_DISABLED
     if (m_attributeData) {
         if (Attribute* attribute = getAttributeItem(name))
-            ASSERT(isURLAttribute(attribute));
+            ASSERT(isURLAttribute(*attribute));
     }
 #endif
     return document()->completeURL(stripLeadingAndTrailingHTMLSpaces(getAttribute(name)));
@@ -1852,7 +1847,7 @@ KURL Element::getNonEmptyURLAttribute(const QualifiedName& name) const
 #if !ASSERT_DISABLED
     if (m_attributeData) {
         if (Attribute* attribute = getAttributeItem(name))
-            ASSERT(isURLAttribute(attribute));
+            ASSERT(isURLAttribute(*attribute));
     }
 #endif
     String value = stripLeadingAndTrailingHTMLSpaces(getAttribute(name));
index 6f73026..1ccff4d 100644 (file)
@@ -281,7 +281,7 @@ public:
 
     virtual void accessKeyAction(bool /*sendToAnyEvent*/) { }
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const { return false; }
 
     KURL getURLAttribute(const QualifiedName&) const;
     KURL getNonEmptyURLAttribute(const QualifiedName&) const;
index 15752bc..80050ff 100644 (file)
@@ -170,7 +170,7 @@ void MarkupAccumulator::appendCustomAttributes(StringBuilder&, Element*, Namespa
 
 void MarkupAccumulator::appendQuotedURLAttributeValue(StringBuilder& result, const Element* element, const Attribute& attribute)
 {
-    ASSERT(element->isURLAttribute(const_cast<Attribute*>(&attribute)));
+    ASSERT(element->isURLAttribute(attribute));
     const String resolvedURLString = resolveURLIfNeeded(element, attribute.value());
     UChar quoteChar = '"';
     String strippedURLString = resolvedURLString.stripWhiteSpace();
@@ -419,7 +419,7 @@ void MarkupAccumulator::appendAttribute(StringBuilder& result, Element* element,
 
     result.append('=');
 
-    if (element->isURLAttribute(const_cast<Attribute*>(&attribute)))
+    if (element->isURLAttribute(attribute))
         appendQuotedURLAttributeValue(result, element, attribute);
     else {
         result.append('"');
index bb49b37..d2c833c 100644 (file)
@@ -110,7 +110,7 @@ static void completeURLs(Node* node, const String& baseURL)
             unsigned length = e->attributeCount();
             for (unsigned i = 0; i < length; i++) {
                 Attribute* attribute = e->attributeItem(i);
-                if (e->isURLAttribute(attribute))
+                if (e->isURLAttribute(*attribute))
                     changes.append(AttributeChange(e, attribute->name(), KURL(parsedBaseURL, attribute->value()).string()));
             }
         }
index 4960747..a5b3e08 100644 (file)
@@ -245,9 +245,9 @@ void HTMLAnchorElement::accessKeyAction(bool sendMouseEvents)
     dispatchSimulatedClick(0, sendMouseEvents);
 }
 
-bool HTMLAnchorElement::isURLAttribute(Attribute *attr) const
+bool HTMLAnchorElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == hrefAttr || HTMLElement::isURLAttribute(attr);
+    return attribute.name() == hrefAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 bool HTMLAnchorElement::canStartSelection() const
index 1fec658..baebdc6 100644 (file)
@@ -112,7 +112,7 @@ private:
     virtual void defaultEventHandler(Event*);
     virtual void setActive(bool active = true, bool pause = false);
     virtual void accessKeyAction(bool sendMouseEvents);
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     virtual bool canStartSelection() const;
     virtual String target() const;
     virtual short tabIndex() const;
index 3c1c3f3..b76b61a 100644 (file)
@@ -65,9 +65,9 @@ void HTMLBaseElement::removedFrom(Node* insertionPoint)
         document()->processBaseElement();
 }
 
-bool HTMLBaseElement::isURLAttribute(Attribute* attribute) const
+bool HTMLBaseElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attribute->name() == hrefAttr || HTMLElement::isURLAttribute(attribute);
+    return attribute.name() == hrefAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 String HTMLBaseElement::target() const
index 2334d7e..97343ac 100644 (file)
@@ -35,7 +35,7 @@ private:
     HTMLBaseElement(const QualifiedName&, Document*);
 
     virtual String target() const;
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     virtual void parseAttribute(Attribute*) OVERRIDE;
     virtual InsertionNotificationRequest insertedInto(Node*) OVERRIDE;
     virtual void removedFrom(Node*) OVERRIDE;
index bb40b00..4c3862d 100644 (file)
@@ -183,9 +183,9 @@ void HTMLBodyElement::didNotifyDescendantInseretions(Node* insertionPoint)
         view->scheduleRelayout();
 }
 
-bool HTMLBodyElement::isURLAttribute(Attribute *attr) const
+bool HTMLBodyElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == backgroundAttr || HTMLElement::isURLAttribute(attr);
+    return attribute.name() == backgroundAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 bool HTMLBodyElement::supportsFocus() const
index b18bd6d..bdebda9 100644 (file)
@@ -77,7 +77,7 @@ private:
     virtual InsertionNotificationRequest insertedInto(Node*) OVERRIDE;
     virtual void didNotifyDescendantInseretions(Node*) OVERRIDE;
     
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     
     virtual bool supportsFocus() const;
 
index d91bd49..24ee776 100644 (file)
@@ -177,9 +177,9 @@ void HTMLButtonElement::accessKeyAction(bool sendMouseEvents)
     dispatchSimulatedClick(0, sendMouseEvents);
 }
 
-bool HTMLButtonElement::isURLAttribute(Attribute* attr) const
+bool HTMLButtonElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == formactionAttr || HTMLFormControlElement::isURLAttribute(attr);
+    return attribute.name() == formactionAttr || HTMLFormControlElement::isURLAttribute(attribute);
 }
 
 String HTMLButtonElement::value() const
index 2d296cb..8ddb03e 100644 (file)
@@ -56,7 +56,7 @@ private:
     virtual void setActivatedSubmit(bool flag);
 
     virtual void accessKeyAction(bool sendMouseEvents);
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     virtual bool canStartSelection() const { return false; }
 
index 5f8b223..d367f9b 100644 (file)
@@ -956,10 +956,10 @@ void HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged(Node* beforeC
     }
 }
 
-bool HTMLElement::isURLAttribute(Attribute* attribute) const
+bool HTMLElement::isURLAttribute(const Attribute& attribute) const
 {
 #if ENABLE(MICRODATA)
-    return attribute->name() == itemidAttr;
+    return attribute.name() == itemidAttr;
 #else
     UNUSED_PARAM(attribute);
     return false;
index 8b6aef4..95a8e74 100644 (file)
@@ -121,7 +121,7 @@ protected:
     virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
     void calculateAndAdjustDirectionality();
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
 private:
     virtual String nodeName() const;
index 0fc0b17..839f33a 100644 (file)
@@ -208,9 +208,9 @@ bool HTMLEmbedElement::rendererIsNeeded(const NodeRenderingContext& context)
     return HTMLPlugInImageElement::rendererIsNeeded(context);
 }
 
-bool HTMLEmbedElement::isURLAttribute(Attribute* attr) const
+bool HTMLEmbedElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == srcAttr || HTMLPlugInImageElement::isURLAttribute(attr);
+    return attribute.name() == srcAttr || HTMLPlugInImageElement::isURLAttribute(attribute);
 }
 
 const QualifiedName& HTMLEmbedElement::imageSourceAttributeName() const
index 86bf8ed..8597dfd 100644 (file)
@@ -40,7 +40,7 @@ private:
 
     virtual bool rendererIsNeeded(const NodeRenderingContext&);
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     virtual const QualifiedName& imageSourceAttributeName() const;
 
     virtual RenderWidget* renderWidgetForJSBindings();
index df78d66..774be4c 100644 (file)
@@ -515,9 +515,9 @@ void HTMLFormElement::removeFormElement(FormAssociatedElement* e)
     removeFromVector(m_associatedElements, e);
 }
 
-bool HTMLFormElement::isURLAttribute(Attribute* attr) const
+bool HTMLFormElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == actionAttr || HTMLElement::isURLAttribute(attr);
+    return attribute.name() == actionAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 void HTMLFormElement::registerImgElement(HTMLImageElement* e)
index c3013bf..6bfe5cb 100644 (file)
@@ -124,8 +124,7 @@ private:
     virtual void handleLocalEvents(Event*);
 
     virtual void parseAttribute(Attribute*) OVERRIDE;
-
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     virtual void documentDidResumeFromPageCache();
 
index c34ddeb..3b6037d 100644 (file)
@@ -225,9 +225,9 @@ void HTMLFrameElementBase::setFocus(bool received)
     }
 }
 
-bool HTMLFrameElementBase::isURLAttribute(Attribute *attr) const
+bool HTMLFrameElementBase::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == srcAttr || HTMLFrameOwnerElement::isURLAttribute(attr);
+    return attribute.name() == srcAttr || HTMLFrameOwnerElement::isURLAttribute(attribute);
 }
 
 int HTMLFrameElementBase::width()
index 54891a4..081b446 100644 (file)
@@ -62,7 +62,7 @@ private:
     virtual bool supportsFocus() const;
     virtual void setFocus(bool);
     
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     virtual bool isFrameElementBase() const { return true; }
 
     bool viewSourceMode() const { return m_viewSource; }
index a27b0df..8f6ec74 100644 (file)
@@ -51,9 +51,9 @@ PassRefPtr<HTMLHtmlElement> HTMLHtmlElement::create(const QualifiedName& tagName
     return adoptRef(new HTMLHtmlElement(tagName, document));
 }
 
-bool HTMLHtmlElement::isURLAttribute(Attribute* attribute) const
+bool HTMLHtmlElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attribute->name() == manifestAttr || HTMLElement::isURLAttribute(attribute);
+    return attribute.name() == manifestAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 void HTMLHtmlElement::insertedByParser()
index 982627a..40f8bad 100644 (file)
@@ -38,7 +38,7 @@ public:
 private:
     HTMLHtmlElement(const QualifiedName&, Document*);
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 };
 
 } // namespace
index e08fb57..7bf6188 100644 (file)
@@ -259,13 +259,13 @@ int HTMLImageElement::naturalHeight() const
     return m_imageLoader.image()->imageSizeForRenderer(renderer(), 1.0f).height();
 }
 
-bool HTMLImageElement::isURLAttribute(Attribute* attr) const
+bool HTMLImageElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == srcAttr
-        || attr->name() == lowsrcAttr
-        || attr->name() == longdescAttr
-        || (attr->name() == usemapAttr && attr->value().string()[0] != '#')
-        || HTMLElement::isURLAttribute(attr);
+    return attribute.name() == srcAttr
+        || attribute.name() == lowsrcAttr
+        || attribute.name() == longdescAttr
+        || (attribute.name() == usemapAttr && attribute.value().string()[0] != '#')
+        || HTMLElement::isURLAttribute(attribute);
 }
 
 const AtomicString& HTMLImageElement::alt() const
index 3ab95a3..62554f6 100644 (file)
@@ -93,7 +93,7 @@ private:
 
     virtual bool canStartSelection() const { return false; }
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     virtual bool draggable() const;
 
index 4601bc3..fbbab38 100644 (file)
@@ -1235,9 +1235,9 @@ void HTMLInputElement::defaultEventHandler(Event* evt)
         HTMLTextFormControlElement::defaultEventHandler(evt);
 }
 
-bool HTMLInputElement::isURLAttribute(Attribute *attr) const
+bool HTMLInputElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == srcAttr || attr->name() == formactionAttr || HTMLTextFormControlElement::isURLAttribute(attr);
+    return attribute.name() == srcAttr || attribute.name() == formactionAttr || HTMLTextFormControlElement::isURLAttribute(attribute);
 }
 
 String HTMLInputElement::defaultValue() const
index d4379c1..0bc5feb 100644 (file)
@@ -298,7 +298,7 @@ private:
     virtual void* preDispatchEventHandler(Event*);
     virtual void postDispatchEventHandler(Event*, void* dataFromPreDispatch);
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     virtual bool hasUnacceptableValue() const;
 
index 0db6636..e17925f 100644 (file)
@@ -390,9 +390,9 @@ void HTMLLinkElement::startLoadingDynamicSheet()
     addPendingSheet(Blocking);
 }
 
-bool HTMLLinkElement::isURLAttribute(Attribute *attr) const
+bool HTMLLinkElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == hrefAttr || HTMLElement::isURLAttribute(attr);
+    return attribute.name() == hrefAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 KURL HTMLLinkElement::href() const
index 8cb9177..8239850 100644 (file)
@@ -91,7 +91,7 @@ private:
     
     void setDisabledState(bool);
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
 private:
     virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
index 1e27cd4..ad8fb2b 100644 (file)
@@ -4021,9 +4021,9 @@ void HTMLMediaElement::mediaCanStart()
     loadInternal();
 }
 
-bool HTMLMediaElement::isURLAttribute(Attribute* attribute) const
+bool HTMLMediaElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attribute->name() == srcAttr || HTMLElement::isURLAttribute(attribute);
+    return attribute.name() == srcAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 void HTMLMediaElement::setShouldDelayLoadEvent(bool shouldDelay)
index 6de35db..b19bf00 100644 (file)
@@ -325,7 +325,7 @@ protected:
 
     virtual void parseAttribute(Attribute*) OVERRIDE;
     virtual void finishParsingChildren();
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     virtual void attach();
 
     virtual void didMoveToNewDocument(Document* oldDocument) OVERRIDE;
index 9d0961c..33185c7 100644 (file)
@@ -39,9 +39,9 @@ PassRefPtr<HTMLModElement> HTMLModElement::create(const QualifiedName& tagName,
     return adoptRef(new HTMLModElement(tagName, document));
 }
 
-bool HTMLModElement::isURLAttribute(Attribute* attribute) const
+bool HTMLModElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attribute->name() == citeAttr || HTMLElement::isURLAttribute(attribute);
+    return attribute.name() == citeAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 }
index cdb6dce..c1be99b 100644 (file)
@@ -35,7 +35,7 @@ public:
 private:
     HTMLModElement(const QualifiedName&, Document*);
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 };
 
 } //namespace
index e09349c..718e8d0 100644 (file)
@@ -351,9 +351,9 @@ void HTMLObjectElement::childrenChanged(bool changedByParser, Node* beforeChange
     HTMLPlugInImageElement::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta);
 }
 
-bool HTMLObjectElement::isURLAttribute(Attribute *attr) const
+bool HTMLObjectElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == dataAttr || (attr->name() == usemapAttr && attr->value().string()[0] != '#') || HTMLPlugInImageElement::isURLAttribute(attr);
+    return attribute.name() == dataAttr || (attribute.name() == usemapAttr && attribute.value().string()[0] != '#') || HTMLPlugInImageElement::isURLAttribute(attribute);
 }
 
 const QualifiedName& HTMLObjectElement::imageSourceAttributeName() const
index b50045d..a0e6637 100644 (file)
@@ -78,7 +78,7 @@ private:
 
     virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     virtual const QualifiedName& imageSourceAttributeName() const;
 
     virtual RenderWidget* renderWidgetForJSBindings();
index 39df464..9f609ce 100644 (file)
@@ -59,11 +59,11 @@ bool HTMLParamElement::isURLParameter(const String& name)
     return equalIgnoringCase(name, "data") || equalIgnoringCase(name, "movie") || equalIgnoringCase(name, "src");
 }
 
-bool HTMLParamElement::isURLAttribute(Attribute* attr) const
+bool HTMLParamElement::isURLAttribute(const Attribute& attribute) const
 {
-    if (attr->name() == valueAttr && isURLParameter(name()))
+    if (attribute.name() == valueAttr && isURLParameter(name()))
         return true;
-    return HTMLElement::isURLAttribute(attr);
+    return HTMLElement::isURLAttribute(attribute);
 }
 
 void HTMLParamElement::addSubresourceAttributeURLs(ListHashSet<KURL>& urls) const
index 09e2dfd..f868e13 100644 (file)
@@ -39,7 +39,7 @@ public:
 private:
     HTMLParamElement(const QualifiedName&, Document*);
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
 };
index d629bc9..cd72115 100644 (file)
@@ -49,9 +49,9 @@ Node::InsertionNotificationRequest HTMLQuoteElement::insertedInto(Node* insertio
     return HTMLElement::insertedInto(insertionPoint);
 }
 
-bool HTMLQuoteElement::isURLAttribute(Attribute* attribute) const
+bool HTMLQuoteElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attribute->name() == citeAttr || HTMLElement::isURLAttribute(attribute);
+    return attribute.name() == citeAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 }
index 21cf50d..72b82ca 100644 (file)
@@ -37,7 +37,7 @@ private:
     HTMLQuoteElement(const QualifiedName&, Document*);
     
     virtual InsertionNotificationRequest insertedInto(Node*) OVERRIDE;
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 };
 
 } //namespace
index 244fc4f..0e37be8 100644 (file)
@@ -47,9 +47,9 @@ PassRefPtr<HTMLScriptElement> HTMLScriptElement::create(const QualifiedName& tag
     return adoptRef(new HTMLScriptElement(tagName, document, wasInsertedByParser, false));
 }
 
-bool HTMLScriptElement::isURLAttribute(Attribute* attr) const
+bool HTMLScriptElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == srcAttr || HTMLElement::isURLAttribute(attr);
+    return attribute.name() == srcAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 void HTMLScriptElement::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
index 2e3146e..038cbe1 100644 (file)
@@ -48,7 +48,7 @@ private:
     virtual InsertionNotificationRequest insertedInto(Node*) OVERRIDE;
     virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
 
index c2f9362..29dc15c 100644 (file)
@@ -117,9 +117,9 @@ void HTMLSourceElement::errorEventTimerFired(Timer<HTMLSourceElement>*)
     dispatchEvent(Event::create(eventNames().errorEvent, false, true));
 }
 
-bool HTMLSourceElement::isURLAttribute(Attribute* attribute) const
+bool HTMLSourceElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attribute->name() == srcAttr || HTMLElement::isURLAttribute(attribute);
+    return attribute.name() == srcAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 #if ENABLE(MICRODATA)
index 379183e..53eb7fc 100644 (file)
@@ -51,7 +51,7 @@ private:
     
     virtual InsertionNotificationRequest insertedInto(Node*) OVERRIDE;
     virtual void willRemove();
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     void errorEventTimerFired(Timer<HTMLSourceElement>*);
 
index 9bf0c91..ff0b3c8 100644 (file)
@@ -121,9 +121,9 @@ StylePropertySet* HTMLTableCellElement::additionalAttributeStyle()
     return 0;
 }
 
-bool HTMLTableCellElement::isURLAttribute(Attribute *attr) const
+bool HTMLTableCellElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == backgroundAttr || HTMLTablePartElement::isURLAttribute(attr);
+    return attribute.name() == backgroundAttr || HTMLTablePartElement::isURLAttribute(attribute);
 }
 
 String HTMLTableCellElement::abbr() const
index d1f74fd..2f41d60 100644 (file)
@@ -59,7 +59,7 @@ private:
 
     virtual StylePropertySet* additionalAttributeStyle() OVERRIDE;
 
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
 };
index b91302f..98f76bd 100644 (file)
@@ -555,9 +555,9 @@ StylePropertySet* HTMLTableElement::additionalGroupStyle(bool rows)
     return columnBorderStyle;
 }
 
-bool HTMLTableElement::isURLAttribute(Attribute *attr) const
+bool HTMLTableElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == backgroundAttr || HTMLElement::isURLAttribute(attr);
+    return attribute.name() == backgroundAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 HTMLCollection* HTMLTableElement::rows()
index 895c4fd..463e8a4 100644 (file)
@@ -74,7 +74,7 @@ private:
     virtual void parseAttribute(Attribute*) OVERRIDE;
     virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE;
     virtual void collectStyleForAttribute(Attribute*, StylePropertySet*) OVERRIDE;
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
     // Used to obtain either a solid or outset border decl and to deal with the frame and rules attributes.
     virtual StylePropertySet* additionalAttributeStyle() OVERRIDE;
index afd1dc3..b72c780 100644 (file)
@@ -184,9 +184,9 @@ TextTrack* HTMLTrackElement::track()
     return ensureTrack();
 }
 
-bool HTMLTrackElement::isURLAttribute(Attribute* attribute) const
+bool HTMLTrackElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attribute->name() == srcAttr || HTMLElement::isURLAttribute(attribute);
+    return attribute.name() == srcAttr || HTMLElement::isURLAttribute(attribute);
 }
 
 void HTMLTrackElement::scheduleLoad()
index a85863d..1d96de8 100644 (file)
@@ -79,7 +79,7 @@ private:
 
     virtual InsertionNotificationRequest insertedInto(Node*) OVERRIDE;
     virtual void willRemove() OVERRIDE;
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
 
 #if ENABLE(MICRODATA)
     virtual String itemValueText() const OVERRIDE;
index d6d7456..86fe85e 100644 (file)
@@ -182,10 +182,9 @@ unsigned HTMLVideoElement::height() const
     return ok ? h : 0;
 }
     
-bool HTMLVideoElement::isURLAttribute(Attribute* attribute) const
+bool HTMLVideoElement::isURLAttribute(const Attribute& attribute) const
 {
-    return HTMLMediaElement::isURLAttribute(attribute)
-        || attribute->name() == posterAttr;
+    return attribute.name() == posterAttr || HTMLMediaElement::isURLAttribute(attribute);
 }
 
 const QualifiedName& HTMLVideoElement::imageSourceAttributeName() const
index 056b835..67bbe35 100644 (file)
@@ -81,7 +81,7 @@ private:
     virtual bool isVideo() const { return true; }
     virtual bool hasVideo() const { return player() && player()->hasVideo(); }
     virtual bool supportsFullscreen() const;
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     virtual const QualifiedName& imageSourceAttributeName() const;
 
     virtual bool hasAvailableVideoFrame() const;
index d43a137..a469ff1 100644 (file)
@@ -132,9 +132,9 @@ void SVGScriptElement::childrenChanged(bool changedByParser, Node* beforeChange,
     ScriptElement::childrenChanged();
 }
 
-bool SVGScriptElement::isURLAttribute(Attribute* attr) const
+bool SVGScriptElement::isURLAttribute(const Attribute& attribute) const
 {
-    return attr->name() == sourceAttributeValue();
+    return attribute.name() == sourceAttributeValue();
 }
 
 void SVGScriptElement::finishParsingChildren()
index eb16698..57b7484 100644 (file)
@@ -50,7 +50,7 @@ private:
     virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
 
     virtual void svgAttributeChanged(const QualifiedName&);
-    virtual bool isURLAttribute(Attribute*) const;
+    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
     virtual void finishParsingChildren();
 
     virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;