Changeset 125985 in webkit


Ignore:
Timestamp:
Aug 19, 2012 6:31:23 PM (12 years ago)
Author:
haraken@chromium.org
Message:

Remove RefPtr from HTMLProgressElement::m_value
https://bugs.webkit.org/show_bug.cgi?id=94336

Reviewed by Kent Tamura.

To avoid reference cycles of RefPtr<Node>s, we want to remove
unnecessary RefPtr<Node>s. The rationale is described in bug 94324.

HTMLProgressElement::m_value does not need to be a RefPtr<Node>, because
it is guaranteed to point to a shadow DOM tree of the HTMLProgressElement
node, which is guaranteed to exist in the subtree of the HTMLProgressElement node.

No tests. No change in behavior.

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::HTMLProgressElement):
(WebCore::HTMLProgressElement::createShadowSubtree):

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

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r125984 r125985  
     12012-08-19  Kentaro Hara  <haraken@chromium.org>
     2
     3        Remove RefPtr from HTMLProgressElement::m_value
     4        https://bugs.webkit.org/show_bug.cgi?id=94336
     5
     6        Reviewed by Kent Tamura.
     7
     8        To avoid reference cycles of RefPtr<Node>s, we want to remove
     9        unnecessary RefPtr<Node>s. The rationale is described in bug 94324.
     10
     11        HTMLProgressElement::m_value does not need to be a RefPtr<Node>, because
     12        it is guaranteed to point to a shadow DOM tree of the HTMLProgressElement
     13        node, which is guaranteed to exist in the subtree of the HTMLProgressElement node.
     14
     15        No tests. No change in behavior.
     16
     17        * html/HTMLProgressElement.cpp:
     18        (WebCore::HTMLProgressElement::HTMLProgressElement):
     19        (WebCore::HTMLProgressElement::createShadowSubtree):
     20        * html/HTMLProgressElement.h:
     21
    1222012-08-19  Kentaro Hara  <haraken@chromium.org>
    223
  • trunk/Source/WebCore/html/HTMLProgressElement.cpp

    r124754 r125985  
    4444HTMLProgressElement::HTMLProgressElement(const QualifiedName& tagName, Document* document)
    4545    : LabelableElement(tagName, document)
     46    , m_value(0)
    4647    , m_hasAuthorShadowRoot(false)
    4748{
     
    165166{
    166167    ASSERT(!userAgentShadowRoot());
     168    ASSERT(!m_value);
    167169           
    168170    RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot, ASSERT_NO_EXCEPTION);
     
    172174
    173175    RefPtr<ProgressBarElement> bar = ProgressBarElement::create(document());
    174     m_value = ProgressValueElement::create(document());
     176    RefPtr<ProgressValueElement> value = ProgressValueElement::create(document());
     177    m_value = value.get();
    175178    bar->appendChild(m_value, ASSERT_NO_EXCEPTION);
    176179
  • trunk/Source/WebCore/html/HTMLProgressElement.h

    r124754 r125985  
    7272    void createShadowSubtree();
    7373
    74     RefPtr<ProgressValueElement> m_value;
     74    ProgressValueElement* m_value;
    7575    bool m_hasAuthorShadowRoot;
    7676};
Note: See TracChangeset for help on using the changeset viewer.