+2013-10-04 Andreas Kling <akling@apple.com>
+
+ Node: removedFrom() and insertedInto() should use references.
+ <https://webkit.org/b/122315>
+
+ Reviewed by Anders Carlsson.
+
+ ContainerNode* -> ContainerNode&
+
2013-10-04 Romain Perier <romain.perier@gmail.com>
Optimize strings copies in srcset parser
{
ASSERT(m_insertionPoint.inDocument());
Ref<Node> protect(node);
- if (Node::InsertionShouldCallDidNotifySubtreeInsertions == node.insertedInto(&m_insertionPoint))
+ if (Node::InsertionShouldCallDidNotifySubtreeInsertions == node.insertedInto(m_insertionPoint))
m_postInsertionNotificationTargets.append(node);
if (node.isContainerNode())
notifyDescendantInsertedIntoDocument(toContainerNode(node));
NoEventDispatchAssertion assertNoEventDispatch;
ASSERT(!m_insertionPoint.inDocument());
- if (Node::InsertionShouldCallDidNotifySubtreeInsertions == node.insertedInto(&m_insertionPoint))
+ if (Node::InsertionShouldCallDidNotifySubtreeInsertions == node.insertedInto(m_insertionPoint))
m_postInsertionNotificationTargets.append(node);
notifyDescendantInsertedIntoTree(node);
}
inline void ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument(Node& node)
{
ASSERT(m_insertionPoint.inDocument());
- node.removedFrom(&m_insertionPoint);
+ node.removedFrom(m_insertionPoint);
if (node.isContainerNode())
notifyDescendantRemovedFromDocument(toContainerNode(node));
NoEventDispatchAssertion assertNoEventDispatch;
ASSERT(!m_insertionPoint.inDocument());
- node.removedFrom(&m_insertionPoint);
+ node.removedFrom(m_insertionPoint);
notifyDescendantRemovedFromTree(node);
}
return RenderElement::createFor(*this, style);
}
-Node::InsertionNotificationRequest Element::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest Element::insertedInto(ContainerNode& insertionPoint)
{
bool wasInDocument = inDocument();
// need to do superclass processing first so inDocument() is true
setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries(true);
#endif
- if (!insertionPoint->isInTreeScope())
+ if (!insertionPoint.isInTreeScope())
return InsertionDone;
if (hasRareData())
elementRareData()->clearClassListValueForQuirksMode();
- TreeScope* newScope = insertionPoint->treeScope();
+ TreeScope* newScope = insertionPoint.treeScope();
HTMLDocument* newDocument = !wasInDocument && inDocument() && newScope->documentScope()->isHTMLDocument() ? toHTMLDocument(newScope->documentScope()) : 0;
if (newScope != treeScope())
newScope = 0;
return InsertionDone;
}
-void Element::removedFrom(ContainerNode* insertionPoint)
+void Element::removedFrom(ContainerNode& insertionPoint)
{
#if ENABLE(FULLSCREEN_API)
if (containsFullScreenElement())
setSavedLayerScrollOffset(IntSize());
- if (insertionPoint->isInTreeScope()) {
- TreeScope* oldScope = insertionPoint->treeScope();
+ if (insertionPoint.isInTreeScope()) {
+ TreeScope* oldScope = insertionPoint.treeScope();
HTMLDocument* oldDocument = inDocument() && oldScope->documentScope()->isHTMLDocument() ? toHTMLDocument(oldScope->documentScope()) : 0;
if (oldScope != treeScope())
oldScope = 0;
{
}
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
virtual void removeAllEventListeners() OVERRIDE FINAL;
return findInsertionPointOf(this);
}
-Node::InsertionNotificationRequest Node::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest Node::insertedInto(ContainerNode& insertionPoint)
{
- ASSERT(insertionPoint->inDocument() || isContainerNode());
- if (insertionPoint->inDocument())
+ ASSERT(insertionPoint.inDocument() || isContainerNode());
+ if (insertionPoint.inDocument())
setFlag(InDocumentFlag);
if (parentOrShadowHostNode()->isInShadowTree())
setFlag(IsInShadowTreeFlag);
return InsertionDone;
}
-void Node::removedFrom(ContainerNode* insertionPoint)
+void Node::removedFrom(ContainerNode& insertionPoint)
{
- ASSERT(insertionPoint->inDocument() || isContainerNode());
- if (insertionPoint->inDocument())
+ ASSERT(insertionPoint.inDocument() || isContainerNode());
+ if (insertionPoint.inDocument())
clearFlag(InDocumentFlag);
if (isInShadowTree() && !treeScope()->rootNode()->isShadowRoot())
clearFlag(IsInShadowTreeFlag);
InsertionShouldCallDidNotifySubtreeInsertions
};
- virtual InsertionNotificationRequest insertedInto(ContainerNode* insertionPoint);
+ virtual InsertionNotificationRequest insertedInto(ContainerNode& insertionPoint);
virtual void didNotifySubtreeInsertions(ContainerNode*) { }
// Notifies the node that it is no longer part of the tree.
// This is a dual of insertedInto(), and is similar to the DOMNodeRemovedFromDocument DOM event, but does not require the overhead of event
// dispatching, and is called _after_ the node is removed from the tree.
//
- virtual void removedFrom(ContainerNode* insertionPoint);
+ virtual void removedFrom(ContainerNode& insertionPoint);
#ifndef NDEBUG
virtual void formatForDebugger(char* buffer, unsigned length) const;
addSubresourceURL(urls, sheet()->baseURL());
}
-Node::InsertionNotificationRequest ProcessingInstruction::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest ProcessingInstruction::insertedInto(ContainerNode& insertionPoint)
{
CharacterData::insertedInto(insertionPoint);
- if (!insertionPoint->inDocument())
+ if (!insertionPoint.inDocument())
return InsertionDone;
document().styleSheetCollection().addStyleSheetCandidateNode(*this, m_createdByParser);
checkStyleSheet();
return InsertionDone;
}
-void ProcessingInstruction::removedFrom(ContainerNode* insertionPoint)
+void ProcessingInstruction::removedFrom(ContainerNode& insertionPoint)
{
CharacterData::removedFrom(insertionPoint);
- if (!insertionPoint->inDocument())
+ if (!insertionPoint.inDocument())
return;
document().styleSheetCollection().removeStyleSheetCandidateNode(*this);
virtual NodeType nodeType() const;
virtual PassRefPtr<Node> cloneNode(bool deep);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
void checkStyleSheet();
virtual void setCSSStyleSheet(const String& href, const URL& baseURL, const String& charset, const CachedCSSStyleSheet*);
stopLoadRequest();
}
-void ScriptElement::insertedInto(ContainerNode* insertionPoint)
+void ScriptElement::insertedInto(ContainerNode& insertionPoint)
{
- if (insertionPoint->inDocument() && !m_parserInserted)
+ if (insertionPoint.inDocument() && !m_parserInserted)
prepareScript(); // FIXME: Provide a real starting line number here.
}
bool forceAsync() const { return m_forceAsync; }
// Helper functions used by our parent classes.
- void insertedInto(ContainerNode*);
+ void insertedInto(ContainerNode&);
void childrenChanged();
void handleSourceAttribute(const String& sourceUrl);
void handleAsyncAttribute();
resetFormAttributeTargetObserver();
}
-void FormAssociatedElement::insertedInto(ContainerNode* insertionPoint)
+void FormAssociatedElement::insertedInto(ContainerNode& insertionPoint)
{
resetFormOwner();
- if (!insertionPoint->inDocument())
+ if (!insertionPoint.inDocument())
return;
HTMLElement* element = toHTMLElement(this);
resetFormAttributeTargetObserver();
}
-void FormAssociatedElement::removedFrom(ContainerNode* insertionPoint)
+void FormAssociatedElement::removedFrom(ContainerNode& insertionPoint)
{
HTMLElement* element = toHTMLElement(this);
- if (insertionPoint->inDocument() && element->fastHasAttribute(formAttr))
+ if (insertionPoint.inDocument() && element->fastHasAttribute(formAttr))
m_formAttributeTargetObserver = nullptr;
// If the form and element are both in the same tree, preserve the connection to the form.
// Otherwise, null out our form and remove ourselves from the form's list of elements.
protected:
FormAssociatedElement();
- void insertedInto(ContainerNode*);
- void removedFrom(ContainerNode*);
+ void insertedInto(ContainerNode&);
+ void removedFrom(ContainerNode&);
void didMoveToNewDocument(Document* oldDocument);
void setForm(HTMLFormElement*);
HTMLElement::parseAttribute(name, value);
}
-Node::InsertionNotificationRequest HTMLBaseElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLBaseElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
document().processBaseElement();
return InsertionDone;
}
-void HTMLBaseElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLBaseElement::removedFrom(ContainerNode& insertionPoint)
{
HTMLElement::removedFrom(insertionPoint);
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
document().processBaseElement();
}
virtual String target() const;
virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
};
ELEMENT_TYPE_CASTS(HTMLBaseElement)
HTMLElement::parseAttribute(name, value);
}
-Node::InsertionNotificationRequest HTMLBodyElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLBodyElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
- if (!insertionPoint->inDocument())
+ if (!insertionPoint.inDocument())
return InsertionDone;
// FIXME: It's surprising this is web compatible since it means a marginwidth and marginheight attribute can
virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE;
virtual void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
HTMLElement::didMoveToNewDocument(oldDocument);
}
-Node::InsertionNotificationRequest HTMLFormControlElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLFormControlElement::insertedInto(ContainerNode& insertionPoint)
{
m_ancestorDisabledState = AncestorDisabledStateUnknown;
m_dataListAncestorState = Unknown;
return InsertionDone;
}
-void HTMLFormControlElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLFormControlElement::removedFrom(ContainerNode& insertionPoint)
{
m_validationMessage = nullptr;
m_ancestorDisabledState = AncestorDisabledStateUnknown;
virtual void requiredAttributeChanged();
virtual void disabledAttributeChanged();
virtual void didAttachRenderers() OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void didMoveToNewDocument(Document* oldDocument) OVERRIDE;
virtual bool supportsFocus() const OVERRIDE;
{
}
-Node::InsertionNotificationRequest HTMLFormControlElementWithState::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLFormControlElementWithState::insertedInto(ContainerNode& insertionPoint)
{
- if (insertionPoint->inDocument() && !containingShadowRoot())
+ if (insertionPoint.inDocument() && !containingShadowRoot())
document().formController().registerFormElementWithState(this);
return HTMLFormControlElement::insertedInto(insertionPoint);
}
-void HTMLFormControlElementWithState::removedFrom(ContainerNode* insertionPoint)
+void HTMLFormControlElementWithState::removedFrom(ContainerNode& insertionPoint)
{
- if (insertionPoint->inDocument() && !containingShadowRoot() && !insertionPoint->containingShadowRoot())
+ if (insertionPoint.inDocument() && !containingShadowRoot() && !insertionPoint.containingShadowRoot())
document().formController().unregisterFormElementWithState(this);
HTMLFormControlElement::removedFrom(insertionPoint);
}
virtual bool shouldAutocomplete() const;
virtual void finishParsingChildren();
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool isFormControlElementWithState() const OVERRIDE;
};
return formIsTablePart;
}
-Node::InsertionNotificationRequest HTMLFormElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLFormElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
document().didAssociateFormControl(this);
return InsertionDone;
}
return root;
}
-void HTMLFormElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLFormElement::removedFrom(ContainerNode& insertionPoint)
{
Node* root = findRoot(this);
Vector<FormAssociatedElement*> associatedElements(m_associatedElements);
HTMLFormElement(const QualifiedName&, Document&);
virtual bool rendererIsNeeded(const RenderStyle&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void finishParsingChildren() OVERRIDE;
virtual void handleLocalEvents(Event*);
openURL();
}
-Node::InsertionNotificationRequest HTMLFrameElementBase::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLFrameElementBase::insertedInto(ContainerNode& insertionPoint)
{
HTMLFrameOwnerElement::insertedInto(insertionPoint);
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
return InsertionShouldCallDidNotifySubtreeInsertions;
return InsertionDone;
}
bool isURLAllowed() const;
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual void didNotifySubtreeInsertions(ContainerNode*) OVERRIDE;
virtual void didAttachRenderers() OVERRIDE;
return true;
}
-Node::InsertionNotificationRequest HTMLFrameSetElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLFrameSetElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
- if (insertionPoint->inDocument()) {
+ if (insertionPoint.inDocument()) {
if (Frame* frame = document().frame())
frame->loader().client().dispatchDidBecomeFrameset(document().isFrameSet());
}
return InsertionDone;
}
-void HTMLFrameSetElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLFrameSetElement::removedFrom(ContainerNode& insertionPoint)
{
HTMLElement::removedFrom(insertionPoint);
- if (insertionPoint->inDocument()) {
+ if (insertionPoint.inDocument()) {
if (Frame* frame = document().frame())
frame->loader().client().dispatchDidBecomeFrameset(document().isFrameSet());
}
virtual bool willRecalcStyle(Style::Change) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
std::unique_ptr<Length[]> m_rowLengths;
std::unique_ptr<Length[]> m_colLengths;
renderImage->setImageSizeForAltText();
}
-Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode& insertionPoint)
{
if (!m_form) { // m_form can be non-null if it was set in constructor.
m_form = HTMLFormElement::findClosestFormAncestor(*this);
// If we have been inserted from a renderer-less document,
// our loader may have not fetched the image, so do it now.
- if (insertionPoint->inDocument() && !m_imageLoader.image())
+ if (insertionPoint.inDocument() && !m_imageLoader.image())
m_imageLoader.updateFromElement();
return HTMLElement::insertedInto(insertionPoint);
}
-void HTMLImageElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLImageElement::removedFrom(ContainerNode& insertionPoint)
{
if (m_form)
m_form->removeImgElement(this);
virtual void addSubresourceAttributeURLs(ListHashSet<URL>&) const;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool isFormAssociatedElement() OVERRIDE FINAL { return false; }
virtual FormNamedItem* asFormNamedItem() OVERRIDE FINAL { return this; }
addToRadioButtonGroup();
}
-Node::InsertionNotificationRequest HTMLInputElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLInputElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLTextFormControlElement::insertedInto(insertionPoint);
- if (insertionPoint->inDocument() && !form())
+ if (insertionPoint.inDocument() && !form())
addToRadioButtonGroup();
#if ENABLE(DATALIST_ELEMENT)
resetListAttributeTargetObserver();
return InsertionDone;
}
-void HTMLInputElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLInputElement::removedFrom(ContainerNode& insertionPoint)
{
- if (insertionPoint->inDocument() && !form())
+ if (insertionPoint.inDocument() && !form())
removeFromRadioButtonGroup();
HTMLTextFormControlElement::removedFrom(insertionPoint);
ASSERT(!inDocument());
virtual void willChangeForm() OVERRIDE;
virtual void didChangeForm() OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void didMoveToNewDocument(Document* oldDocument) OVERRIDE;
virtual bool hasCustomFocusLogic() const OVERRIDE;
m_sheet = 0;
}
-Node::InsertionNotificationRequest HTMLLinkElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLLinkElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
- if (!insertionPoint->inDocument())
+ if (!insertionPoint.inDocument())
return InsertionDone;
m_isInShadowTree = isInShadowTree();
return InsertionDone;
}
-void HTMLLinkElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLLinkElement::removedFrom(ContainerNode& insertionPoint)
{
HTMLElement::removedFrom(insertionPoint);
- if (!insertionPoint->inDocument())
+ if (!insertionPoint.inDocument())
return;
m_linkLoader.released();
static void processCallback(Node*);
void clearSheet();
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
// from CachedResourceClient
virtual void setCSSStyleSheet(const String& href, const URL& baseURL, const String& charset, const CachedCSSStyleSheet* sheet);
return ensureCachedHTMLCollection(MapAreas);
}
-Node::InsertionNotificationRequest HTMLMapElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLMapElement::insertedInto(ContainerNode& insertionPoint)
{
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
treeScope()->addImageMap(this);
return HTMLElement::insertedInto(insertionPoint);
}
-void HTMLMapElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLMapElement::removedFrom(ContainerNode& insertionPoint)
{
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
treeScope()->removeImageMap(this);
HTMLElement::removedFrom(insertionPoint);
}
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
AtomicString m_name;
};
#endif
}
-Node::InsertionNotificationRequest HTMLMediaElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLMediaElement::insertedInto(ContainerNode& insertionPoint)
{
LOG(Media, "HTMLMediaElement::insertedInto");
HTMLElement::insertedInto(insertionPoint);
- if (insertionPoint->inDocument()) {
+ if (insertionPoint.inDocument()) {
m_inActiveDocument = true;
if (m_networkState == NETWORK_EMPTY && !getAttribute(srcAttr).isEmpty())
return InsertionDone;
}
-void HTMLMediaElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLMediaElement::removedFrom(ContainerNode& insertionPoint)
{
LOG(Media, "HTMLMediaElement::removedFrom");
m_inActiveDocument = false;
- if (insertionPoint->inDocument()) {
+ if (insertionPoint.inDocument()) {
configureMediaControls();
if (m_networkState > NETWORK_EMPTY)
pause();
virtual bool rendererIsNeeded(const RenderStyle&);
virtual RenderElement* createRenderer(RenderArena&, RenderStyle&);
virtual bool childShouldCreateRenderer(const Node*) const OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void didRecalcStyle(Style::Change);
virtual void defaultEventHandler(Event*);
HTMLElement::parseAttribute(name, value);
}
-Node::InsertionNotificationRequest HTMLMetaElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLMetaElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
process();
return InsertionDone;
}
HTMLMetaElement(const QualifiedName&, Document&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
void process();
};
renderFallbackContent();
}
-Node::InsertionNotificationRequest HTMLObjectElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLObjectElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLPlugInImageElement::insertedInto(insertionPoint);
FormAssociatedElement::insertedInto(insertionPoint);
return InsertionDone;
}
-void HTMLObjectElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLObjectElement::removedFrom(ContainerNode& insertionPoint)
{
HTMLPlugInImageElement::removedFrom(insertionPoint);
FormAssociatedElement::removedFrom(insertionPoint);
virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE;
virtual void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void didMoveToNewDocument(Document* oldDocument) OVERRIDE;
return isHTMLOptGroupElement(parentElement) && parentElement->isDisabledFormControl();
}
-Node::InsertionNotificationRequest HTMLOptionElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLOptionElement::insertedInto(ContainerNode& insertionPoint)
{
if (HTMLSelectElement* select = ownerSelectElement()) {
select->setRecalcListItems();
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual void accessKeyAction(bool);
virtual void childrenChanged(const ChildChange&) OVERRIDE;
return adoptRef(new HTMLQuoteElement(tagName, document));
}
-Node::InsertionNotificationRequest HTMLQuoteElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLQuoteElement::insertedInto(ContainerNode& insertionPoint)
{
if (hasTagName(qTag))
document().styleSheetCollection().setUsesBeforeAfterRulesOverride(true);
private:
HTMLQuoteElement(const QualifiedName&, Document&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
};
HTMLElement::parseAttribute(name, value);
}
-Node::InsertionNotificationRequest HTMLScriptElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLScriptElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
ScriptElement::insertedInto(insertionPoint);
HTMLScriptElement(const QualifiedName&, Document&, bool wasInsertedByParser, bool alreadyStarted);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
listBoxOnChange();
}
-Node::InsertionNotificationRequest HTMLSelectElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLSelectElement::insertedInto(ContainerNode& insertionPoint)
{
// When the element is created during document parsing, it won't have any
// items yet - but for innerHTML and related methods, this method is called
void typeAheadFind(KeyboardEvent*);
void saveLastSelection();
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual bool isOptionalFormControl() const { return !isRequiredFormControl(); }
virtual bool isRequiredFormControl() const;
return adoptRef(new HTMLSourceElement(tagName, document));
}
-Node::InsertionNotificationRequest HTMLSourceElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLSourceElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
Element* parent = parentElement();
return InsertionDone;
}
-void HTMLSourceElement::removedFrom(ContainerNode* removalRoot)
+void HTMLSourceElement::removedFrom(ContainerNode& removalRoot)
{
Element* parent = parentElement();
- if (!parent && removalRoot->isElementNode())
- parent = toElement(removalRoot);
+ if (!parent && removalRoot.isElementNode())
+ parent = &toElement(removalRoot);
if (parent && parent->isMediaElement())
toHTMLMediaElement(parent)->sourceWasRemoved(this);
HTMLElement::removedFrom(removalRoot);
private:
HTMLSourceElement(const QualifiedName&, Document&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
void errorEventTimerFired(Timer<HTMLSourceElement>*);
HTMLElement::finishParsingChildren();
}
-Node::InsertionNotificationRequest HTMLStyleElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLStyleElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
m_styleSheetOwner.insertedIntoDocument(document(), *this);
return InsertionDone;
}
-void HTMLStyleElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLStyleElement::removedFrom(ContainerNode& insertionPoint)
{
HTMLElement::removedFrom(insertionPoint);
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
m_styleSheetOwner.removedFromDocument(document(), *this);
}
// overload from HTMLElement
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
virtual void finishParsingChildren();
return hasShadowRootParent(child) && HTMLFormControlElementWithState::childShouldCreateRenderer(child);
}
-Node::InsertionNotificationRequest HTMLTextFormControlElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLTextFormControlElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLFormControlElementWithState::insertedInto(insertionPoint);
- if (!insertionPoint->inDocument())
+ if (!insertionPoint.inDocument())
return InsertionDone;
String initialValue = value();
setTextAsOfLastFormControlChangeEvent(initialValue.isNull() ? emptyString() : initialValue);
void forwardEvent(Event*);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
// The derived class should return true if placeholder processing is needed.
virtual bool supportsPlaceholder() const = 0;
return adoptRef(new HTMLTitleElement(tagName, document));
}
-Node::InsertionNotificationRequest HTMLTitleElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLTitleElement::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
if (inDocument() && !isInShadowTree())
return InsertionDone;
}
-void HTMLTitleElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLTitleElement::removedFrom(ContainerNode& insertionPoint)
{
HTMLElement::removedFrom(insertionPoint);
- if (insertionPoint->inDocument() && !insertionPoint->isInShadowTree())
+ if (insertionPoint.inDocument() && !insertionPoint.isInShadowTree())
document().removeTitle(this);
}
private:
HTMLTitleElement(const QualifiedName&, Document&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
StringWithDirection m_title;
return adoptRef(new HTMLTrackElement(tagName, document));
}
-Node::InsertionNotificationRequest HTMLTrackElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest HTMLTrackElement::insertedInto(ContainerNode& insertionPoint)
{
// Since we've moved to a new parent, we may now be able to load.
scheduleLoad();
HTMLElement::insertedInto(insertionPoint);
HTMLMediaElement* parent = mediaElement();
- if (insertionPoint == parent) {
+ if (&insertionPoint == parent) {
ensureTrack();
parent->didAddTextTrack(this);
}
return InsertionDone;
}
-void HTMLTrackElement::removedFrom(ContainerNode* insertionPoint)
+void HTMLTrackElement::removedFrom(ContainerNode& insertionPoint)
{
- if (!parentNode() && WebCore::isMediaElement(insertionPoint))
- toHTMLMediaElement(insertionPoint)->didRemoveTextTrack(this);
+ if (!parentNode() && WebCore::isMediaElement(&insertionPoint))
+ toHTMLMediaElement(insertionPoint).didRemoveTextTrack(this);
HTMLElement::removedFrom(insertionPoint);
}
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
void loadTimerFired(Timer<HTMLTrackElement>*);
root->invalidateDistribution();
}
-Node::InsertionNotificationRequest InsertionPoint::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest InsertionPoint::insertedInto(ContainerNode& insertionPoint)
{
HTMLElement::insertedInto(insertionPoint);
return InsertionDone;
}
-void InsertionPoint::removedFrom(ContainerNode* insertionPoint)
+void InsertionPoint::removedFrom(ContainerNode& insertionPoint)
{
ShadowRoot* root = containingShadowRoot();
if (!root)
- root = insertionPoint->containingShadowRoot();
+ root = insertionPoint.containingShadowRoot();
if (root && root->hostElement()) {
root->invalidateDistribution();
InsertionPoint(const QualifiedName&, Document&);
virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool isInsertionPointNode() const OVERRIDE { return true; }
private:
return adoptRef(new MathMLMathElement(tagName, document));
}
-Node::InsertionNotificationRequest MathMLMathElement::insertedInto(ContainerNode* insertionPoint)
+Node::InsertionNotificationRequest MathMLMathElement::insertedInto(ContainerNode& insertionPoint)
{
// There are sibling rules in the MathML default style.
- if (insertionPoint->inDocument())
+ if (insertionPoint.inDocument())
document().styleSheetCollection().setUsesSiblingRulesOverride(true);
return MathMLInlineContainerElement::insertedInto(insertionPoint);
}
private:
MathMLMathElement(const QualifiedName& tagName, Document&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual RenderElement* createRenderer(RenderArena&, RenderStyle&);
};
setAttribute(XMLNames::baseAttr, value);
}
-void SVGElement::removedFrom(ContainerNode* rootParent)
+void SVGElement::removedFrom(ContainerNode& rootParent)
{
- bool wasInDocument = rootParent->inDocument();
+ bool wasInDocument = rootParent.inDocument();
if (wasInDocument)
updateRelativeLengthsInformation(false, this);
}
}
-Node::InsertionNotificationRequest SVGElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGElement::insertedInto(ContainerNode& rootParent)
{
StyledElement::insertedInto(rootParent);
updateRelativeLengthsInformation();
virtual void finishParsingChildren();
virtual void attributeChanged(const QualifiedName&, const AtomicString&, AttributeModificationReason = ModifiedDirectly) OVERRIDE;
virtual bool childShouldCreateRenderer(const Node*) const OVERRIDE;
-
- virtual void removedFrom(ContainerNode*) OVERRIDE;
SVGElementRareData& ensureSVGRareData();
virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE;
virtual void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
virtual bool selfHasRelativeLengths() const { return false; }
void updateRelativeLengthsInformation() { updateRelativeLengthsInformation(selfHasRelativeLengths(), this); }
ASSERT_NOT_REACHED();
}
-Node::InsertionNotificationRequest SVGFEImageElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGFEImageElement::insertedInto(ContainerNode& rootParent)
{
SVGFilterPrimitiveStandardAttributes::insertedInto(rootParent);
buildPendingResource();
return InsertionDone;
}
-void SVGFEImageElement::removedFrom(ContainerNode* rootParent)
+void SVGFEImageElement::removedFrom(ContainerNode& rootParent)
{
SVGFilterPrimitiveStandardAttributes::removedFrom(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
clearResourceReferences();
}
void requestImageResource();
virtual void buildPendingResource();
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGFEImageElement)
DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
document().styleResolverChanged(DeferRecalcStyle);
}
-Node::InsertionNotificationRequest SVGFontFaceElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGFontFaceElement::insertedInto(ContainerNode& rootParent)
{
SVGElement::insertedInto(rootParent);
- if (!rootParent->inDocument()) {
+ if (!rootParent.inDocument()) {
ASSERT(!m_fontElement);
return InsertionDone;
}
return InsertionDone;
}
-void SVGFontFaceElement::removedFrom(ContainerNode* rootParent)
+void SVGFontFaceElement::removedFrom(ContainerNode& rootParent)
{
SVGElement::removedFrom(rootParent);
- if (rootParent->inDocument()) {
+ if (rootParent.inDocument()) {
m_fontElement = 0;
document().accessSVGExtensions()->unregisterSVGFontFaceElement(this);
m_fontFaceRule->mutableProperties()->clear();
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE { return false; }
toSVGFontFaceElement(grandparent)->rebuildFontFace();
}
-Node::InsertionNotificationRequest SVGFontFaceUriElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGFontFaceUriElement::insertedInto(ContainerNode& rootParent)
{
loadFont();
return SVGElement::insertedInto(rootParent);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE { return false; }
void loadFont();
SVGElement::parseAttribute(name, value);
}
-Node::InsertionNotificationRequest SVGGlyphElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGGlyphElement::insertedInto(ContainerNode& rootParent)
{
invalidateGlyphCache();
return SVGElement::insertedInto(rootParent);
}
-void SVGGlyphElement::removedFrom(ContainerNode* rootParent)
+void SVGGlyphElement::removedFrom(ContainerNode& rootParent)
{
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
invalidateGlyphCache();
SVGElement::removedFrom(rootParent);
}
// FIXME: svgAttributeChanged missing.
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool rendererIsNeeded(const RenderStyle&) { return false; }
return adoptRef(new SVGHKernElement(tagName, document));
}
-Node::InsertionNotificationRequest SVGHKernElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGHKernElement::insertedInto(ContainerNode& rootParent)
{
ContainerNode* fontNode = parentNode();
if (fontNode && isSVGFontElement(fontNode))
return SVGElement::insertedInto(rootParent);
}
-void SVGHKernElement::removedFrom(ContainerNode* rootParent)
+void SVGHKernElement::removedFrom(ContainerNode& rootParent)
{
ContainerNode* fontNode = parentNode();
if (fontNode && isSVGFontElement(fontNode))
private:
SVGHKernElement(const QualifiedName&, Document&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool rendererIsNeeded(const RenderStyle&) { return false; }
};
}
}
-Node::InsertionNotificationRequest SVGImageElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGImageElement::insertedInto(ContainerNode& rootParent)
{
SVGGraphicsElement::insertedInto(rootParent);
- if (!rootParent->inDocument())
+ if (!rootParent.inDocument())
return InsertionDone;
// Update image loader, as soon as we're living in the tree.
// We can only resolve base URIs properly, after that!
virtual void svgAttributeChanged(const QualifiedName&);
virtual void didAttachRenderers() OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual RenderElement* createRenderer(RenderArena&, RenderStyle&);
document().accessSVGExtensions()->removeAllTargetReferencesForElement(this);
}
-Node::InsertionNotificationRequest SVGMPathElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGMPathElement::insertedInto(ContainerNode& rootParent)
{
SVGElement::insertedInto(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
buildPendingResource();
return InsertionDone;
}
-void SVGMPathElement::removedFrom(ContainerNode* rootParent)
+void SVGMPathElement::removedFrom(ContainerNode& rootParent)
{
SVGElement::removedFrom(rootParent);
- notifyParentOfPathChange(rootParent);
- if (rootParent->inDocument())
+ notifyParentOfPathChange(&rootParent);
+ if (rootParent.inDocument())
clearResourceReferences();
}
void buildPendingResource();
void clearResourceReferences();
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- void removedFrom(ContainerNode*);
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
bool isSupportedAttribute(const QualifiedName&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
}
}
-Node::InsertionNotificationRequest SVGPathElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGPathElement::insertedInto(ContainerNode& rootParent)
{
SVGGraphicsElement::insertedInto(rootParent);
invalidateMPathDependencies();
return InsertionDone;
}
-void SVGPathElement::removedFrom(ContainerNode* rootParent)
+void SVGPathElement::removedFrom(ContainerNode& rootParent)
{
SVGGraphicsElement::removedFrom(rootParent);
invalidateMPathDependencies();
virtual RenderElement* createRenderer(RenderArena&, RenderStyle&) OVERRIDE;
- virtual Node::InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual Node::InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
void invalidateMPathDependencies();
return new (arena) RenderSVGViewportContainer(*this);
}
-Node::InsertionNotificationRequest SVGSVGElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGSVGElement::insertedInto(ContainerNode& rootParent)
{
- if (rootParent->inDocument()) {
+ if (rootParent.inDocument()) {
document().accessSVGExtensions()->addTimeContainer(this);
// Animations are started at the end of document parsing and after firing the load event,
return SVGGraphicsElement::insertedInto(rootParent);
}
-void SVGSVGElement::removedFrom(ContainerNode* rootParent)
+void SVGSVGElement::removedFrom(ContainerNode& rootParent)
{
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
document().accessSVGExtensions()->removeTimeContainer(this);
SVGGraphicsElement::removedFrom(rootParent);
}
virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE;
virtual RenderElement* createRenderer(RenderArena&, RenderStyle&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void svgAttributeChanged(const QualifiedName&);
ASSERT_NOT_REACHED();
}
-Node::InsertionNotificationRequest SVGScriptElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGScriptElement::insertedInto(ContainerNode& rootParent)
{
SVGElement::insertedInto(rootParent);
ScriptElement::insertedInto(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
SVGExternalResourcesRequired::insertedIntoDocument(this);
return InsertionDone;
}
bool isSupportedAttribute(const QualifiedName&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
virtual void svgAttributeChanged(const QualifiedName&);
SVGElement::finishParsingChildren();
}
-Node::InsertionNotificationRequest SVGStyleElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGStyleElement::insertedInto(ContainerNode& rootParent)
{
SVGElement::insertedInto(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
m_styleSheetOwner.insertedIntoDocument(document(), *this);
return InsertionDone;
}
-void SVGStyleElement::removedFrom(ContainerNode* rootParent)
+void SVGStyleElement::removedFrom(ContainerNode& rootParent)
{
SVGElement::removedFrom(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
m_styleSheetOwner.removedFromDocument(document(), *this);
}
bool isSupportedAttribute(const QualifiedName&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE { return false; }
updateReferencedText(target.get());
}
-Node::InsertionNotificationRequest SVGTRefElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGTRefElement::insertedInto(ContainerNode& rootParent)
{
SVGElement::insertedInto(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
buildPendingResource();
return InsertionDone;
}
-void SVGTRefElement::removedFrom(ContainerNode* rootParent)
+void SVGTRefElement::removedFrom(ContainerNode& rootParent)
{
SVGElement::removedFrom(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
m_targetListener->detach();
}
virtual bool childShouldCreateRenderer(const Node*) const;
virtual bool rendererIsNeeded(const RenderStyle&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
void updateReferencedText(Element*);
}
}
-Node::InsertionNotificationRequest SVGTextPathElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGTextPathElement::insertedInto(ContainerNode& rootParent)
{
SVGTextContentElement::insertedInto(rootParent);
buildPendingResource();
return InsertionDone;
}
-void SVGTextPathElement::removedFrom(ContainerNode* rootParent)
+void SVGTextPathElement::removedFrom(ContainerNode& rootParent)
{
SVGTextContentElement::removedFrom(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
clearResourceReferences();
}
void clearResourceReferences();
virtual void buildPendingResource();
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
bool isSupportedAttribute(const QualifiedName&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
return adoptRef(new SVGTitleElement(tagName, document));
}
-Node::InsertionNotificationRequest SVGTitleElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGTitleElement::insertedInto(ContainerNode& rootParent)
{
SVGElement::insertedInto(rootParent);
- if (!rootParent->inDocument())
+ if (!rootParent.inDocument())
return InsertionDone;
if (firstChild())
// FIXME: does SVG have a title text direction?
return InsertionDone;
}
-void SVGTitleElement::removedFrom(ContainerNode* rootParent)
+void SVGTitleElement::removedFrom(ContainerNode& rootParent)
{
SVGElement::removedFrom(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
document().removeTitle(this);
}
private:
SVGTitleElement(const QualifiedName&, Document&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void childrenChanged(const ChildChange&) OVERRIDE;
virtual bool rendererIsNeeded(const RenderStyle&) { return false; }
}
#endif
-Node::InsertionNotificationRequest SVGUseElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGUseElement::insertedInto(ContainerNode& rootParent)
{
// This functions exists to assure assumptions made in the code regarding SVGElementInstance creation/destruction are satisfied.
SVGGraphicsElement::insertedInto(rootParent);
- if (!rootParent->inDocument())
+ if (!rootParent.inDocument())
return InsertionDone;
ASSERT(!m_targetElementInstance || !isWellFormedDocument(document()));
ASSERT(!hasPendingResources() || !isWellFormedDocument(document()));
return InsertionDone;
}
-void SVGUseElement::removedFrom(ContainerNode* rootParent)
+void SVGUseElement::removedFrom(ContainerNode& rootParent)
{
SVGGraphicsElement::removedFrom(rootParent);
- if (rootParent->inDocument())
+ if (rootParent.inDocument())
clearResourceReferences();
}
virtual bool isValid() const { return SVGTests::isValid(); }
virtual bool supportsFocus() const OVERRIDE { return true; }
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual void buildPendingResource();
bool isSupportedAttribute(const QualifiedName&);
return adoptRef(new SVGVKernElement(tagName, document));
}
-Node::InsertionNotificationRequest SVGVKernElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGVKernElement::insertedInto(ContainerNode& rootParent)
{
- if (rootParent->inDocument()) {
+ if (rootParent.inDocument()) {
ContainerNode* fontNode = parentNode();
if (fontNode && isSVGFontElement(fontNode))
toSVGFontElement(fontNode)->invalidateGlyphCache();
return SVGElement::insertedInto(rootParent);
}
-void SVGVKernElement::removedFrom(ContainerNode* rootParent)
+void SVGVKernElement::removedFrom(ContainerNode& rootParent)
{
ContainerNode* fontNode = parentNode();
if (fontNode && isSVGFontElement(fontNode))
private:
SVGVKernElement(const QualifiedName&, Document&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool rendererIsNeeded(const RenderStyle&) { return false; }
};
resolveFirstInterval();
}
-Node::InsertionNotificationRequest SVGSMILElement::insertedInto(ContainerNode* rootParent)
+Node::InsertionNotificationRequest SVGSMILElement::insertedInto(ContainerNode& rootParent)
{
SVGElement::insertedInto(rootParent);
- if (!rootParent->inDocument())
+ if (!rootParent.inDocument())
return InsertionDone;
// Verify we are not in <use> instance tree.
return InsertionDone;
}
-void SVGSMILElement::removedFrom(ContainerNode* rootParent)
+void SVGSMILElement::removedFrom(ContainerNode& rootParent)
{
- if (rootParent->inDocument()) {
+ if (rootParent.inDocument()) {
clearResourceReferences();
disconnectConditions();
setTargetElement(0);
bool isSupportedAttribute(const QualifiedName&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
virtual void svgAttributeChanged(const QualifiedName&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode&) OVERRIDE;
+ virtual void removedFrom(ContainerNode&) OVERRIDE;
virtual bool hasValidAttributeType() = 0;
virtual bool hasValidAttributeName();