| Index: Source/core/dom/Element.cpp
|
| diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp
|
| index eed37fbb737fe47d67f6dd8263d62a20e9dfca75..3ed9464d808e40c3b7183cc47e3daffed1bd35ce 100644
|
| --- a/Source/core/dom/Element.cpp
|
| +++ b/Source/core/dom/Element.cpp
|
| @@ -240,9 +240,9 @@ inline ElementRareData* Element::elementRareData() const
|
| return static_cast<ElementRareData*>(rareData());
|
| }
|
|
|
| -inline ElementRareData* Element::ensureElementRareData()
|
| +inline ElementRareData& Element::ensureElementRareData()
|
| {
|
| - return static_cast<ElementRareData*>(ensureRareData());
|
| + return static_cast<ElementRareData&>(ensureRareData());
|
| }
|
|
|
| void Element::clearTabIndexExplicitlyIfNeeded()
|
| @@ -253,7 +253,7 @@ void Element::clearTabIndexExplicitlyIfNeeded()
|
|
|
| void Element::setTabIndexExplicitly(short tabIndex)
|
| {
|
| - ensureElementRareData()->setTabIndexExplicitly(tabIndex);
|
| + ensureElementRareData().setTabIndexExplicitly(tabIndex);
|
| }
|
|
|
| bool Element::supportsFocus() const
|
| @@ -379,12 +379,12 @@ void Element::setBooleanAttribute(const QualifiedName& name, bool value)
|
|
|
| NamedNodeMap* Element::attributes() const
|
| {
|
| - ElementRareData* rareData = const_cast<Element*>(this)->ensureElementRareData();
|
| - if (NamedNodeMap* attributeMap = rareData->attributeMap())
|
| + ElementRareData& rareData = const_cast<Element*>(this)->ensureElementRareData();
|
| + if (NamedNodeMap* attributeMap = rareData.attributeMap())
|
| return attributeMap;
|
|
|
| - rareData->setAttributeMap(NamedNodeMap::create(const_cast<Element*>(this)));
|
| - return rareData->attributeMap();
|
| + rareData.setAttributeMap(NamedNodeMap::create(const_cast<Element*>(this)));
|
| + return rareData.attributeMap();
|
| }
|
|
|
| ActiveAnimations* Element::activeAnimations() const
|
| @@ -396,10 +396,10 @@ ActiveAnimations* Element::activeAnimations() const
|
|
|
| ActiveAnimations* Element::ensureActiveAnimations()
|
| {
|
| - ElementRareData* rareData = ensureElementRareData();
|
| - if (!elementRareData()->activeAnimations())
|
| - rareData->setActiveAnimations(adoptPtr(new ActiveAnimations()));
|
| - return rareData->activeAnimations();
|
| + ElementRareData& rareData = ensureElementRareData();
|
| + if (!rareData.activeAnimations())
|
| + rareData.setActiveAnimations(adoptPtr(new ActiveAnimations()));
|
| + return rareData.activeAnimations();
|
| }
|
|
|
| bool Element::hasActiveAnimations() const
|
| @@ -1679,7 +1679,7 @@ ElementShadow* Element::shadow() const
|
|
|
| ElementShadow* Element::ensureShadow()
|
| {
|
| - return ensureElementRareData()->ensureShadow();
|
| + return ensureElementRareData().ensureShadow();
|
| }
|
|
|
| void Element::didAffectSelector(AffectedSelectorMask mask)
|
| @@ -2129,7 +2129,7 @@ void Element::focus(bool restorePreviousSelection, FocusDirection direction)
|
| doc.updateLayoutIgnorePendingStylesheets();
|
|
|
| if (!isFocusable()) {
|
| - ensureElementRareData()->setNeedsFocusAppearanceUpdateSoonAfterAttach(true);
|
| + ensureElementRareData().setNeedsFocusAppearanceUpdateSoonAfterAttach(true);
|
| return;
|
| }
|
|
|
| @@ -2295,7 +2295,7 @@ void Element::setMinimumSizeForResizing(const LayoutSize& size)
|
| {
|
| if (!hasRareData() && size == defaultMinimumSizeForResizing())
|
| return;
|
| - ensureElementRareData()->setMinimumSizeForResizing(size);
|
| + ensureElementRareData().setMinimumSizeForResizing(size);
|
| }
|
|
|
| RenderStyle* Element::computedStyle(PseudoId pseudoElementSpecifier)
|
| @@ -2319,66 +2319,66 @@ RenderStyle* Element::computedStyle(PseudoId pseudoElementSpecifier)
|
| // document tree and figure out when to destroy the computed style for such elements.
|
| return 0;
|
|
|
| - ElementRareData* data = ensureElementRareData();
|
| - if (!data->computedStyle())
|
| - data->setComputedStyle(document().styleForElementIgnoringPendingStylesheets(this));
|
| - return pseudoElementSpecifier ? data->computedStyle()->getCachedPseudoStyle(pseudoElementSpecifier) : data->computedStyle();
|
| + ElementRareData& rareData = ensureElementRareData();
|
| + if (!rareData.computedStyle())
|
| + rareData.setComputedStyle(document().styleForElementIgnoringPendingStylesheets(this));
|
| + return pseudoElementSpecifier ? rareData.computedStyle()->getCachedPseudoStyle(pseudoElementSpecifier) : rareData.computedStyle();
|
| }
|
|
|
| void Element::setStyleAffectedByEmpty()
|
| {
|
| - ensureElementRareData()->setStyleAffectedByEmpty(true);
|
| + ensureElementRareData().setStyleAffectedByEmpty(true);
|
| }
|
|
|
| void Element::setChildrenAffectedByHover(bool value)
|
| {
|
| if (value || hasRareData())
|
| - ensureElementRareData()->setChildrenAffectedByHover(value);
|
| + ensureElementRareData().setChildrenAffectedByHover(value);
|
| }
|
|
|
| void Element::setChildrenAffectedByActive(bool value)
|
| {
|
| if (value || hasRareData())
|
| - ensureElementRareData()->setChildrenAffectedByActive(value);
|
| + ensureElementRareData().setChildrenAffectedByActive(value);
|
| }
|
|
|
| void Element::setChildrenAffectedByDrag(bool value)
|
| {
|
| if (value || hasRareData())
|
| - ensureElementRareData()->setChildrenAffectedByDrag(value);
|
| + ensureElementRareData().setChildrenAffectedByDrag(value);
|
| }
|
|
|
| void Element::setChildrenAffectedByFirstChildRules()
|
| {
|
| - ensureElementRareData()->setChildrenAffectedByFirstChildRules(true);
|
| + ensureElementRareData().setChildrenAffectedByFirstChildRules(true);
|
| }
|
|
|
| void Element::setChildrenAffectedByLastChildRules()
|
| {
|
| - ensureElementRareData()->setChildrenAffectedByLastChildRules(true);
|
| + ensureElementRareData().setChildrenAffectedByLastChildRules(true);
|
| }
|
|
|
| void Element::setChildrenAffectedByDirectAdjacentRules()
|
| {
|
| - ensureElementRareData()->setChildrenAffectedByDirectAdjacentRules(true);
|
| + ensureElementRareData().setChildrenAffectedByDirectAdjacentRules(true);
|
| }
|
|
|
| void Element::setChildrenAffectedByForwardPositionalRules()
|
| {
|
| - ensureElementRareData()->setChildrenAffectedByForwardPositionalRules(true);
|
| + ensureElementRareData().setChildrenAffectedByForwardPositionalRules(true);
|
| }
|
|
|
| void Element::setChildrenAffectedByBackwardPositionalRules()
|
| {
|
| - ensureElementRareData()->setChildrenAffectedByBackwardPositionalRules(true);
|
| + ensureElementRareData().setChildrenAffectedByBackwardPositionalRules(true);
|
| }
|
|
|
| void Element::setChildIndex(unsigned index)
|
| {
|
| - ElementRareData* rareData = ensureElementRareData();
|
| + ElementRareData& rareData = ensureElementRareData();
|
| if (RenderStyle* style = renderStyle())
|
| style->setUnique();
|
| - rareData->setChildIndex(index);
|
| + rareData.setChildIndex(index);
|
| }
|
|
|
| bool Element::hasFlagsSetDuringStylingOfChildren() const
|
| @@ -2457,7 +2457,7 @@ unsigned Element::rareDataChildIndex() const
|
|
|
| void Element::setIsInCanvasSubtree(bool isInCanvasSubtree)
|
| {
|
| - ensureElementRareData()->setIsInCanvasSubtree(isInCanvasSubtree);
|
| + ensureElementRareData().setIsInCanvasSubtree(isInCanvasSubtree);
|
| }
|
|
|
| bool Element::isInCanvasSubtree() const
|
| @@ -2470,7 +2470,7 @@ void Element::setIsInsideRegion(bool value)
|
| if (value == isInsideRegion())
|
| return;
|
|
|
| - ensureElementRareData()->setIsInsideRegion(value);
|
| + ensureElementRareData().setIsInsideRegion(value);
|
| }
|
|
|
| bool Element::isInsideRegion() const
|
| @@ -2480,7 +2480,7 @@ bool Element::isInsideRegion() const
|
|
|
| void Element::setRegionOversetState(RegionOversetState state)
|
| {
|
| - ensureElementRareData()->setRegionOversetState(state);
|
| + ensureElementRareData().setRegionOversetState(state);
|
| }
|
|
|
| RegionOversetState Element::regionOversetState() const
|
| @@ -2589,7 +2589,7 @@ void Element::createPseudoElement(PseudoId pseudoId)
|
| document().addToTopLayer(element.get(), this);
|
| element->attach();
|
|
|
| - ensureElementRareData()->setPseudoElement(pseudoId, element.release());
|
| + ensureElementRareData().setPseudoElement(pseudoId, element.release());
|
| }
|
|
|
| PseudoElement* Element::pseudoElement(PseudoId pseudoId) const
|
| @@ -2619,18 +2619,18 @@ bool Element::webkitMatchesSelector(const String& selector, ExceptionState& es)
|
|
|
| DOMTokenList* Element::classList()
|
| {
|
| - ElementRareData* data = ensureElementRareData();
|
| - if (!data->classList())
|
| - data->setClassList(ClassList::create(this));
|
| - return data->classList();
|
| + ElementRareData& rareData = ensureElementRareData();
|
| + if (!rareData.classList())
|
| + rareData.setClassList(ClassList::create(this));
|
| + return rareData.classList();
|
| }
|
|
|
| DOMStringMap* Element::dataset()
|
| {
|
| - ElementRareData* data = ensureElementRareData();
|
| - if (!data->dataset())
|
| - data->setDataset(DatasetDOMStringMap::create(this));
|
| - return data->dataset();
|
| + ElementRareData& rareData = ensureElementRareData();
|
| + if (!rareData.dataset())
|
| + rareData.setDataset(DatasetDOMStringMap::create(this));
|
| + return rareData.dataset();
|
| }
|
|
|
| KURL Element::getURLAttribute(const QualifiedName& name) const
|
| @@ -2706,7 +2706,7 @@ bool Element::containsFullScreenElement() const
|
|
|
| void Element::setContainsFullScreenElement(bool flag)
|
| {
|
| - ensureElementRareData()->setContainsFullScreenElement(flag);
|
| + ensureElementRareData().setContainsFullScreenElement(flag);
|
| setNeedsStyleRecalc(SubtreeStyleChange);
|
| }
|
|
|
| @@ -2732,7 +2732,7 @@ void Element::setIsInTopLayer(bool inTopLayer)
|
| {
|
| if (isInTopLayer() == inTopLayer)
|
| return;
|
| - ensureElementRareData()->setIsInTopLayer(inTopLayer);
|
| + ensureElementRareData().setIsInTopLayer(inTopLayer);
|
|
|
| // We must ensure a reattach occurs so the renderer is inserted in the correct sibling order under RenderView according to its
|
| // top layer position, or in its usual place if not in the top layer.
|
| @@ -3013,15 +3013,15 @@ PassRefPtr<HTMLCollection> Element::ensureCachedHTMLCollection(CollectionType ty
|
| RefPtr<HTMLCollection> collection;
|
| if (type == TableRows) {
|
| ASSERT(hasTagName(tableTag));
|
| - return ensureRareData()->ensureNodeLists()->addCacheWithAtomicName<HTMLTableRowsCollection>(this, type);
|
| + return ensureRareData().ensureNodeLists()->addCacheWithAtomicName<HTMLTableRowsCollection>(this, type);
|
| } else if (type == SelectOptions) {
|
| ASSERT(hasTagName(selectTag));
|
| - return ensureRareData()->ensureNodeLists()->addCacheWithAtomicName<HTMLOptionsCollection>(this, type);
|
| + return ensureRareData().ensureNodeLists()->addCacheWithAtomicName<HTMLOptionsCollection>(this, type);
|
| } else if (type == FormControls) {
|
| ASSERT(hasTagName(formTag) || hasTagName(fieldsetTag));
|
| - return ensureRareData()->ensureNodeLists()->addCacheWithAtomicName<HTMLFormControlsCollection>(this, type);
|
| + return ensureRareData().ensureNodeLists()->addCacheWithAtomicName<HTMLFormControlsCollection>(this, type);
|
| }
|
| - return ensureRareData()->ensureNodeLists()->addCacheWithAtomicName<HTMLCollection>(this, type);
|
| + return ensureRareData().ensureNodeLists()->addCacheWithAtomicName<HTMLCollection>(this, type);
|
| }
|
|
|
| static void scheduleLayerUpdateCallback(Node* node)
|
| @@ -3053,7 +3053,7 @@ void Element::setSavedLayerScrollOffset(const IntSize& size)
|
| {
|
| if (size.isZero() && !hasRareData())
|
| return;
|
| - ensureElementRareData()->setSavedLayerScrollOffset(size);
|
| + ensureElementRareData().setSavedLayerScrollOffset(size);
|
| }
|
|
|
| PassRefPtr<Attr> Element::attrIfExists(const QualifiedName& name)
|
| @@ -3190,7 +3190,7 @@ void Element::createUniqueElementData()
|
|
|
| InputMethodContext* Element::inputMethodContext()
|
| {
|
| - return ensureElementRareData()->ensureInputMethodContext(toHTMLElement(this));
|
| + return ensureElementRareData().ensureInputMethodContext(toHTMLElement(this));
|
| }
|
|
|
| bool Element::hasPendingResources() const
|
| @@ -3200,12 +3200,12 @@ bool Element::hasPendingResources() const
|
|
|
| void Element::setHasPendingResources()
|
| {
|
| - ensureElementRareData()->setHasPendingResources(true);
|
| + ensureElementRareData().setHasPendingResources(true);
|
| }
|
|
|
| void Element::clearHasPendingResources()
|
| {
|
| - ensureElementRareData()->setHasPendingResources(false);
|
| + ensureElementRareData().setHasPendingResources(false);
|
| }
|
|
|
| struct PresentationAttributeCacheKey {
|
|
|