Diff
Modified: trunk/Source/WebCore/ChangeLog (155779 => 155780)
--- trunk/Source/WebCore/ChangeLog 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/ChangeLog 2013-09-14 19:51:53 UTC (rev 155780)
@@ -1,3 +1,38 @@
+2013-09-14 Sam Weinig <s...@webkit.org>
+
+ [CTTE] Node subclasses should take a Document by reference in their
+ constructor (HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, HTMLAudioElement)
+ https://bugs.webkit.org/show_bug.cgi?id=121365
+
+ Reviewed by Andreas Kling.
+
+ * editing/CreateLinkCommand.cpp:
+ (WebCore::CreateLinkCommand::doApply):
+ * editing/UnlinkCommand.cpp:
+ (WebCore::UnlinkCommand::doApply):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::HTMLAnchorElement):
+ (WebCore::HTMLAnchorElement::create):
+ * html/HTMLAnchorElement.h:
+ * html/HTMLAppletElement.cpp:
+ (WebCore::HTMLAppletElement::HTMLAppletElement):
+ (WebCore::HTMLAppletElement::create):
+ * html/HTMLAppletElement.h:
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::HTMLAreaElement):
+ (WebCore::HTMLAreaElement::create):
+ * html/HTMLAreaElement.h:
+ * html/HTMLAudioElement.cpp:
+ (WebCore::HTMLAudioElement::HTMLAudioElement):
+ (WebCore::HTMLAudioElement::create):
+ (WebCore::HTMLAudioElement::createForJSConstructor):
+ * html/HTMLAudioElement.h:
+ * html/HTMLTagNames.in:
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::addLink):
+ * page/DragController.cpp:
+ (WebCore::documentFragmentFromDragData):
+
2013-09-14 Thiago de Barros Lacerda <thiago.lace...@openbossa.org>
Get INPUT_SPEECH compiling for Nix, EFL and GTK
Modified: trunk/Source/WebCore/editing/CreateLinkCommand.cpp (155779 => 155780)
--- trunk/Source/WebCore/editing/CreateLinkCommand.cpp 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/editing/CreateLinkCommand.cpp 2013-09-14 19:51:53 UTC (rev 155780)
@@ -43,7 +43,7 @@
if (endingSelection().isNone())
return;
- RefPtr<HTMLAnchorElement> anchorElement = HTMLAnchorElement::create(&document());
+ RefPtr<HTMLAnchorElement> anchorElement = HTMLAnchorElement::create(document());
anchorElement->setHref(m_url);
if (endingSelection().isRange())
Modified: trunk/Source/WebCore/editing/UnlinkCommand.cpp (155779 => 155780)
--- trunk/Source/WebCore/editing/UnlinkCommand.cpp 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/editing/UnlinkCommand.cpp 2013-09-14 19:51:53 UTC (rev 155780)
@@ -41,7 +41,7 @@
if (!endingSelection().isNonOrphanedRange())
return;
- removeStyledElement(HTMLAnchorElement::create(&document()));
+ removeStyledElement(HTMLAnchorElement::create(document()));
}
}
Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp 2013-09-14 19:51:53 UTC (rev 155780)
@@ -52,8 +52,8 @@
using namespace HTMLNames;
-HTMLAnchorElement::HTMLAnchorElement(const QualifiedName& tagName, Document* document)
- : HTMLElement(tagName, document)
+HTMLAnchorElement::HTMLAnchorElement(const QualifiedName& tagName, Document& document)
+ : HTMLElement(tagName, &document)
, m_hasRootEditableElementForSelectionOnMouseDown(false)
, m_wasShiftKeyDownOnMouseDown(false)
, m_linkRelations(0)
@@ -61,12 +61,12 @@
{
}
-PassRefPtr<HTMLAnchorElement> HTMLAnchorElement::create(Document* document)
+PassRefPtr<HTMLAnchorElement> HTMLAnchorElement::create(Document& document)
{
return adoptRef(new HTMLAnchorElement(aTag, document));
}
-PassRefPtr<HTMLAnchorElement> HTMLAnchorElement::create(const QualifiedName& tagName, Document* document)
+PassRefPtr<HTMLAnchorElement> HTMLAnchorElement::create(const QualifiedName& tagName, Document& document)
{
return adoptRef(new HTMLAnchorElement(tagName, document));
}
Modified: trunk/Source/WebCore/html/HTMLAnchorElement.h (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLAnchorElement.h 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.h 2013-09-14 19:51:53 UTC (rev 155780)
@@ -55,8 +55,8 @@
class HTMLAnchorElement : public HTMLElement {
public:
- static PassRefPtr<HTMLAnchorElement> create(Document*);
- static PassRefPtr<HTMLAnchorElement> create(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLAnchorElement> create(Document&);
+ static PassRefPtr<HTMLAnchorElement> create(const QualifiedName&, Document&);
virtual ~HTMLAnchorElement();
@@ -103,7 +103,7 @@
void invalidateCachedVisitedLinkHash() { m_cachedVisitedLinkHash = 0; }
protected:
- HTMLAnchorElement(const QualifiedName&, Document*);
+ HTMLAnchorElement(const QualifiedName&, Document&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
Modified: trunk/Source/WebCore/html/HTMLAppletElement.cpp (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLAppletElement.cpp 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLAppletElement.cpp 2013-09-14 19:51:53 UTC (rev 155780)
@@ -40,15 +40,15 @@
using namespace HTMLNames;
-HTMLAppletElement::HTMLAppletElement(const QualifiedName& tagName, Document* document, bool createdByParser)
- : HTMLPlugInImageElement(tagName, document, createdByParser, ShouldNotPreferPlugInsForImages)
+HTMLAppletElement::HTMLAppletElement(const QualifiedName& tagName, Document& document, bool createdByParser)
+ : HTMLPlugInImageElement(tagName, &document, createdByParser, ShouldNotPreferPlugInsForImages)
{
ASSERT(hasTagName(appletTag));
m_serviceType = "application/x-java-applet";
}
-PassRefPtr<HTMLAppletElement> HTMLAppletElement::create(const QualifiedName& tagName, Document* document, bool createdByParser)
+PassRefPtr<HTMLAppletElement> HTMLAppletElement::create(const QualifiedName& tagName, Document& document, bool createdByParser)
{
return adoptRef(new HTMLAppletElement(tagName, document, createdByParser));
}
Modified: trunk/Source/WebCore/html/HTMLAppletElement.h (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLAppletElement.h 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLAppletElement.h 2013-09-14 19:51:53 UTC (rev 155780)
@@ -29,10 +29,10 @@
class HTMLAppletElement FINAL : public HTMLPlugInImageElement {
public:
- static PassRefPtr<HTMLAppletElement> create(const QualifiedName&, Document*, bool createdByParser);
+ static PassRefPtr<HTMLAppletElement> create(const QualifiedName&, Document&, bool createdByParser);
private:
- HTMLAppletElement(const QualifiedName&, Document*, bool createdByParser);
+ HTMLAppletElement(const QualifiedName&, Document&, bool createdByParser);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
Modified: trunk/Source/WebCore/html/HTMLAreaElement.cpp (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLAreaElement.cpp 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLAreaElement.cpp 2013-09-14 19:51:53 UTC (rev 155780)
@@ -39,7 +39,7 @@
using namespace HTMLNames;
-inline HTMLAreaElement::HTMLAreaElement(const QualifiedName& tagName, Document* document)
+inline HTMLAreaElement::HTMLAreaElement(const QualifiedName& tagName, Document& document)
: HTMLAnchorElement(tagName, document)
, m_coordsLen(0)
, m_lastSize(-1, -1)
@@ -48,7 +48,7 @@
ASSERT(hasTagName(areaTag));
}
-PassRefPtr<HTMLAreaElement> HTMLAreaElement::create(const QualifiedName& tagName, Document* document)
+PassRefPtr<HTMLAreaElement> HTMLAreaElement::create(const QualifiedName& tagName, Document& document)
{
return adoptRef(new HTMLAreaElement(tagName, document));
}
Modified: trunk/Source/WebCore/html/HTMLAreaElement.h (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLAreaElement.h 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLAreaElement.h 2013-09-14 19:51:53 UTC (rev 155780)
@@ -35,7 +35,7 @@
class HTMLAreaElement FINAL : public HTMLAnchorElement {
public:
- static PassRefPtr<HTMLAreaElement> create(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLAreaElement> create(const QualifiedName&, Document&);
bool isDefault() const { return m_shape == Default; }
@@ -48,7 +48,7 @@
HTMLImageElement* imageElement() const;
private:
- HTMLAreaElement(const QualifiedName&, Document*);
+ HTMLAreaElement(const QualifiedName&, Document&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
virtual bool supportsFocus() const OVERRIDE;
Modified: trunk/Source/WebCore/html/HTMLAudioElement.cpp (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLAudioElement.cpp 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLAudioElement.cpp 2013-09-14 19:51:53 UTC (rev 155780)
@@ -33,13 +33,13 @@
using namespace HTMLNames;
-HTMLAudioElement::HTMLAudioElement(const QualifiedName& tagName, Document* document, bool createdByParser)
- : HTMLMediaElement(tagName, document, createdByParser)
+HTMLAudioElement::HTMLAudioElement(const QualifiedName& tagName, Document& document, bool createdByParser)
+ : HTMLMediaElement(tagName, &document, createdByParser)
{
ASSERT(hasTagName(audioTag));
}
-PassRefPtr<HTMLAudioElement> HTMLAudioElement::create(const QualifiedName& tagName, Document* document, bool createdByParser)
+PassRefPtr<HTMLAudioElement> HTMLAudioElement::create(const QualifiedName& tagName, Document& document, bool createdByParser)
{
RefPtr<HTMLAudioElement> audioElement(adoptRef(new HTMLAudioElement(tagName, document, createdByParser)));
audioElement->suspendIfNeeded();
@@ -48,7 +48,7 @@
PassRefPtr<HTMLAudioElement> HTMLAudioElement::createForJSConstructor(Document* document, const String& src)
{
- RefPtr<HTMLAudioElement> audio = adoptRef(new HTMLAudioElement(audioTag, document, false));
+ RefPtr<HTMLAudioElement> audio = adoptRef(new HTMLAudioElement(audioTag, *document, false));
audio->setPreload("auto");
if (!src.isNull()) {
audio->setSrc(src);
Modified: trunk/Source/WebCore/html/HTMLAudioElement.h (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLAudioElement.h 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLAudioElement.h 2013-09-14 19:51:53 UTC (rev 155780)
@@ -36,11 +36,13 @@
class HTMLAudioElement FINAL : public HTMLMediaElement {
public:
- static PassRefPtr<HTMLAudioElement> create(const QualifiedName&, Document*, bool);
+ static PassRefPtr<HTMLAudioElement> create(const QualifiedName&, Document&, bool);
+
+ // FIXME: Fix the bindinds to pass a Document&.
static PassRefPtr<HTMLAudioElement> createForJSConstructor(Document*, const String& src);
private:
- HTMLAudioElement(const QualifiedName&, Document*, bool);
+ HTMLAudioElement(const QualifiedName&, Document&, bool);
};
ELEMENT_TYPE_CASTS(HTMLAudioElement)
Modified: trunk/Source/WebCore/html/HTMLTagNames.in (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLTagNames.in 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLTagNames.in 2013-09-14 19:51:53 UTC (rev 155780)
@@ -3,15 +3,15 @@
namespaceURI="http://www.w3.org/1999/xhtml"
fallbackInterfaceName="HTMLUnknownElement"
-a interfaceName=HTMLAnchorElement, generateTypeHelpers
+a interfaceName=HTMLAnchorElement, generateTypeHelpers, constructorTakesDocumentReference
abbr interfaceName=HTMLElement
acronym interfaceName=HTMLElement
address interfaceName=HTMLElement
-applet constructorNeedsCreatedByParser, generateTypeHelpers
-area generateTypeHelpers
+applet constructorNeedsCreatedByParser, generateTypeHelpers, constructorTakesDocumentReference
+area generateTypeHelpers, constructorTakesDocumentReference
article interfaceName=HTMLElement
aside interfaceName=HTMLElement
-audio wrapperOnlyIfMediaIsAvailable, conditional=VIDEO, constructorNeedsCreatedByParser, generateTypeHelpers
+audio wrapperOnlyIfMediaIsAvailable, conditional=VIDEO, constructorNeedsCreatedByParser, generateTypeHelpers, constructorTakesDocumentReference
b interfaceName=HTMLElement
base generateTypeHelpers
basefont interfaceName=HTMLBaseFontElement
Modified: trunk/Source/WebCore/html/HTMLViewSourceDocument.cpp (155779 => 155780)
--- trunk/Source/WebCore/html/HTMLViewSourceDocument.cpp 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/html/HTMLViewSourceDocument.cpp 2013-09-14 19:51:53 UTC (rev 155780)
@@ -293,7 +293,7 @@
addLine("webkit-html-tag");
// Now create a link for the attribute value instead of a span.
- RefPtr<HTMLAnchorElement> anchor = HTMLAnchorElement::create(this);
+ RefPtr<HTMLAnchorElement> anchor = HTMLAnchorElement::create(*this);
const char* classValue;
if (isAnchor)
classValue = "webkit-html-attribute-value webkit-html-external-link";
Modified: trunk/Source/WebCore/page/DragController.cpp (155779 => 155780)
--- trunk/Source/WebCore/page/DragController.cpp 2013-09-14 19:48:30 UTC (rev 155779)
+++ trunk/Source/WebCore/page/DragController.cpp 2013-09-14 19:51:53 UTC (rev 155780)
@@ -131,7 +131,7 @@
String title;
String url = "" DragData::DoNotConvertFilenames, &title);
if (!url.isEmpty()) {
- RefPtr<HTMLAnchorElement> anchor = HTMLAnchorElement::create(&document);
+ RefPtr<HTMLAnchorElement> anchor = HTMLAnchorElement::create(document);
anchor->setHref(url);
if (title.isEmpty()) {
// Try the plain text first because the url might be normalized or escaped.