Changeset 96496 in webkit


Ignore:
Timestamp:
Oct 3, 2011 7:16:46 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Shrink HTMLLIElement.
https://bugs.webkit.org/show_bug.cgi?id=69250

Patch by Andreas Kling <kling@webkit.org> on 2011-10-03
Reviewed by Antti Koivisto.

Don't cache the explicit "value" attribute on the HTMLLIElement,
but fetch it with fastGetAttribute when needed.
This shrinks HTMLLIElement by one CPU word.

  • html/HTMLLIElement.cpp:

(WebCore::HTMLLIElement::HTMLLIElement):
(WebCore::HTMLLIElement::parseMappedAttribute):
(WebCore::HTMLLIElement::attach):

  • html/HTMLLIElement.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r96491 r96496  
     12011-10-03  Andreas Kling  <kling@webkit.org>
     2
     3        Shrink HTMLLIElement.
     4        https://bugs.webkit.org/show_bug.cgi?id=69250
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Don't cache the explicit "value" attribute on the HTMLLIElement,
     9        but fetch it with fastGetAttribute when needed.
     10        This shrinks HTMLLIElement by one CPU word.
     11
     12        * html/HTMLLIElement.cpp:
     13        (WebCore::HTMLLIElement::HTMLLIElement):
     14        (WebCore::HTMLLIElement::parseMappedAttribute):
     15        (WebCore::HTMLLIElement::attach):
     16        * html/HTMLLIElement.h:
     17
    1182011-10-03  Vsevolod Vlasov  <vsevik@chromium.org>
    219
  • trunk/Source/WebCore/html/HTMLLIElement.cpp

    r61959 r96496  
    3636HTMLLIElement::HTMLLIElement(const QualifiedName& tagName, Document* document)
    3737    : HTMLElement(tagName, document)
    38     , m_requestedValue(0)
    3938{
    4039    ASSERT(hasTagName(liTag));
     
    6463{
    6564    if (attr->name() == valueAttr) {
    66         m_requestedValue = attr->value().toInt();
    6765        if (renderer() && renderer()->isListItem()) {
    68             if (m_requestedValue > 0)
    69                 toRenderListItem(renderer())->setExplicitValue(m_requestedValue);
     66            int requestedValue = attr->value().toInt();
     67            if (requestedValue > 0)
     68                toRenderListItem(renderer())->setExplicitValue(requestedValue);
    7069            else
    7170                toRenderListItem(renderer())->clearExplicitValue();
     
    110109            render->setNotInList(true);
    111110
    112         if (m_requestedValue > 0)
    113             render->setExplicitValue(m_requestedValue);
    114         else
     111        const AtomicString& requestedValueString = fastGetAttribute(valueAttr);
     112        if (requestedValueString.isNull())
    115113            render->clearExplicitValue();
     114        else {
     115            int requestedValue = requestedValueString.toInt();
     116            if (requestedValue > 0)
     117                render->setExplicitValue(requestedValue);
     118            else
     119                render->clearExplicitValue();
     120        }
    116121    }
    117122}
  • trunk/Source/WebCore/html/HTMLLIElement.h

    r66057 r96496  
    4040
    4141    virtual void attach();
    42 
    43     int m_requestedValue;
    4442};
    4543
Note: See TracChangeset for help on using the changeset viewer.