Changeset 106819 in webkit


Ignore:
Timestamp:
Feb 6, 2012 10:35:54 AM (12 years ago)
Author:
caio.oliveira@openbossa.org
Message:

Move style related functions from NamedNodeMap to ElementAttributeData
https://bugs.webkit.org/show_bug.cgi?id=77879

Reviewed by Ryosuke Niwa.

This commit also removes the NamedNodeMap::mappedAttributeCount(),
which is a leftover from removal of mapped attributes.

  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::ensureInlineStyleDecl):
(WebCore):
(WebCore::ElementAttributeData::destroyInlineStyleDecl):
(WebCore::ElementAttributeData::ensureAttributeStyle):

  • dom/ElementAttributeData.h:

(WebCore::ElementAttributeData::inlineStyleDecl):
(ElementAttributeData):
(WebCore::ElementAttributeData::attributeStyle):

  • dom/NamedNodeMap.cpp:
  • dom/NamedNodeMap.h:
  • dom/StyledElement.h:

(StyledElement):
(WebCore::StyledElement::inlineStyleDecl):
(WebCore::StyledElement::ensureInlineStyleDecl):
(WebCore::StyledElement::attributeStyle):
(WebCore::StyledElement::ensureAttributeStyle):
(WebCore::StyledElement::destroyInlineStyleDecl):

Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r106818 r106819  
     12012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
     2
     3        Move style related functions from NamedNodeMap to ElementAttributeData
     4        https://bugs.webkit.org/show_bug.cgi?id=77879
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        This commit also removes the NamedNodeMap::mappedAttributeCount(),
     9        which is a leftover from removal of mapped attributes.
     10
     11        * dom/ElementAttributeData.cpp:
     12        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
     13        (WebCore):
     14        (WebCore::ElementAttributeData::destroyInlineStyleDecl):
     15        (WebCore::ElementAttributeData::ensureAttributeStyle):
     16        * dom/ElementAttributeData.h:
     17        (WebCore::ElementAttributeData::inlineStyleDecl):
     18        (ElementAttributeData):
     19        (WebCore::ElementAttributeData::attributeStyle):
     20        * dom/NamedNodeMap.cpp:
     21        * dom/NamedNodeMap.h:
     22        * dom/StyledElement.h:
     23        (StyledElement):
     24        (WebCore::StyledElement::inlineStyleDecl):
     25        (WebCore::StyledElement::ensureInlineStyleDecl):
     26        (WebCore::StyledElement::attributeStyle):
     27        (WebCore::StyledElement::ensureAttributeStyle):
     28        (WebCore::StyledElement::destroyInlineStyleDecl):
     29
    1302012-02-06  Abhishek Arya  <inferno@chromium.org>
    231
  • trunk/Source/WebCore/dom/ElementAttributeData.cpp

    r106323 r106819  
    2727#include "ElementAttributeData.h"
    2828
     29#include "StyledElement.h"
     30
    2931namespace WebCore {
    3032
     
    3436}
    3537
     38StylePropertySet* ElementAttributeData::ensureInlineStyleDecl(Element* element)
     39{
     40    if (!m_inlineStyleDecl) {
     41        ASSERT(element->isStyledElement());
     42        m_inlineStyleDecl = StylePropertySet::createInline(static_cast<StyledElement*>(element));
     43        m_inlineStyleDecl->setStrictParsing(element->isHTMLElement() && !element->document()->inQuirksMode());
     44    }
     45    return m_inlineStyleDecl.get();
    3646}
     47
     48void ElementAttributeData::destroyInlineStyleDecl()
     49{
     50    if (!m_inlineStyleDecl)
     51        return;
     52    m_inlineStyleDecl->clearParentElement();
     53    m_inlineStyleDecl = 0;
     54}
     55
     56StylePropertySet* ElementAttributeData::ensureAttributeStyle()
     57{
     58    if (!m_attributeStyle) {
     59        m_attributeStyle = StylePropertySet::create();
     60        m_attributeStyle->setStrictParsing(false);
     61    }
     62    return m_attributeStyle.get();
     63}
     64
     65}
  • trunk/Source/WebCore/dom/ElementAttributeData.h

    r106756 r106819  
    4343    void setIdForStyleResolution(const AtomicString& newId) { m_idForStyleResolution = newId; }
    4444
     45    StylePropertySet* inlineStyleDecl() { return m_inlineStyleDecl.get(); }
     46    StylePropertySet* ensureInlineStyleDecl(Element*);
     47    void destroyInlineStyleDecl();
     48
     49    StylePropertySet* attributeStyle() const { return m_attributeStyle.get(); }
     50    StylePropertySet* ensureAttributeStyle();
     51
    4552private:
    4653    friend class NamedNodeMap;
  • trunk/Source/WebCore/dom/NamedNodeMap.cpp

    r106756 r106819  
    3131#include "ExceptionCode.h"
    3232#include "HTMLNames.h"
    33 #include "StyledElement.h"
    3433
    3534namespace WebCore {
     
    319318}
    320319
    321 StylePropertySet* NamedNodeMap::ensureInlineStyleDecl()
    322 {
    323     if (!attributeData()->m_inlineStyleDecl) {
    324         ASSERT(m_element->isStyledElement());
    325         attributeData()->m_inlineStyleDecl = StylePropertySet::createInline(static_cast<StyledElement*>(m_element));
    326         attributeData()->m_inlineStyleDecl->setStrictParsing(m_element->isHTMLElement() && !m_element->document()->inQuirksMode());
    327     }
    328     return attributeData()->m_inlineStyleDecl.get();
    329 }
    330 
    331 void NamedNodeMap::destroyInlineStyleDecl()
    332 {
    333     if (!attributeData()->m_inlineStyleDecl)
    334         return;
    335     attributeData()->m_inlineStyleDecl->clearParentElement();
    336     attributeData()->m_inlineStyleDecl = 0;
    337 }
    338 
    339 StylePropertySet* NamedNodeMap::ensureAttributeStyle()
    340 {
    341     if (!attributeData()->m_attributeStyle) {
    342         attributeData()->m_attributeStyle = StylePropertySet::create();
    343         attributeData()->m_attributeStyle->setStrictParsing(false);
    344     }
    345     return attributeData()->m_attributeStyle.get();
    346 }
    347 
    348320} // namespace WebCore
  • trunk/Source/WebCore/dom/NamedNodeMap.h

    r106756 r106819  
    2727
    2828#include "Attribute.h"
    29 #include "CSSPropertyNames.h"
    3029#include "ElementAttributeData.h"
    3130#include "SpaceSplitString.h"
     
    9695    Element* element() const { return m_element; }
    9796
    98     size_t mappedAttributeCount() const;
    99 
    10097    ElementAttributeData* attributeData() { return &m_attributeData; }
    10198    const ElementAttributeData* attributeData() const { return &m_attributeData; }
    102 
    103     StylePropertySet* inlineStyleDecl() { return attributeData()->m_inlineStyleDecl.get(); }
    104     StylePropertySet* ensureInlineStyleDecl();
    105     void destroyInlineStyleDecl();
    106 
    107     StylePropertySet* attributeStyle() const { return attributeData()->m_attributeStyle.get(); }
    108     StylePropertySet* ensureAttributeStyle();
    10999
    110100private:
  • trunk/Source/WebCore/dom/StyledElement.h

    r106770 r106819  
    3737    virtual ~StyledElement();
    3838
    39     size_t mappedAttributeCount() const { return attributeMap() ? attributeMap()->mappedAttributeCount() : 0; }
    40 
    4139    void addCSSLength(int id, const String& value);
    4240    void addCSSProperty(int id, const String& value);
     
    5048    void invalidateStyleAttribute();
    5149
    52     StylePropertySet* inlineStyleDecl() const { return attributeMap() ? attributeMap()->inlineStyleDecl() : 0; }
    53     StylePropertySet* ensureInlineStyleDecl() { return ensureAttributeMap()->ensureInlineStyleDecl(); }
     50    StylePropertySet* inlineStyleDecl() const { return attributeData() ? attributeData()->inlineStyleDecl() : 0; }
     51    StylePropertySet* ensureInlineStyleDecl() { return ensureAttributeData()->ensureInlineStyleDecl(this); }
    5452    virtual CSSStyleDeclaration* style() OVERRIDE { return ensureInlineStyleDecl()->ensureCSSStyleDeclaration(); }
    5553
    56     StylePropertySet* attributeStyle() const { return attributeMap() ? attributeMap()->attributeStyle() : 0; }
    57     StylePropertySet* ensureAttributeStyle() { return ensureAttributeMap()->ensureAttributeStyle(); }
     54    StylePropertySet* attributeStyle() const { return attributeData() ? attributeData()->attributeStyle() : 0; }
     55    StylePropertySet* ensureAttributeStyle() { return ensureAttributeData()->ensureAttributeStyle(); }
    5856
    5957    const SpaceSplitString& classNames() const;
     
    8179    void destroyInlineStyleDecl()
    8280    {
    83         if (attributeMap())
    84             attributeMap()->destroyInlineStyleDecl();
     81        if (attributeData())
     82            attributeData()->destroyInlineStyleDecl();
    8583    }
    8684};
Note: See TracChangeset for help on using the changeset viewer.