Changeset 141066 in webkit


Ignore:
Timestamp:
Jan 28, 2013 11:47:20 PM (11 years ago)
Author:
esprehn@chromium.org
Message:

Handle createShadowSubtree inside of ensureUserAgentShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=108116

Reviewed by Dimitri Glazkov.

Instead of making everyone create the UserAgentShadowRoot manually all
over, centralize it in ensureUserAgentShadowRoot() and add a notification
Element::didAddUserAgentShadowRoot that lets elements fill in the subtree.
This lets us get rid of lots of code duplication.

No new tests, just refactoring.

  • dom/Element.cpp:

(WebCore::Element::ensureUserAgentShadowRoot):

  • dom/Element.h:

(WebCore::Element::didAddUserAgentShadowRoot):
(Element):

  • html/HTMLDetailsElement.cpp:

(WebCore::DetailsSummaryElement::create):
(WebCore::HTMLDetailsElement::create):
(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):

  • html/HTMLDetailsElement.h:

(HTMLDetailsElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::didAddUserAgentShadowRoot):

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::willAddAuthorShadowRoot):
(WebCore::HTMLMediaElement::createMediaControls):

  • html/HTMLMediaElement.h:
  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::create):
(WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):

  • html/HTMLMeterElement.h:

(HTMLMeterElement):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::create):
(WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):

  • html/HTMLProgressElement.h:
  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::create):
(WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):

  • html/HTMLSummaryElement.h:

(HTMLSummaryElement):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::create):
(WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):

  • html/HTMLTextAreaElement.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelMuteButtonElement::create):
(WebCore::MediaControlVolumeSliderMuteButtonElement::create):
(WebCore::MediaControlPlayButtonElement::create):
(WebCore::MediaControlOverlayPlayButtonElement::create):
(WebCore::MediaControlSeekForwardButtonElement::create):
(WebCore::MediaControlSeekBackButtonElement::create):
(WebCore::MediaControlRewindButtonElement::create):
(WebCore::MediaControlReturnToRealtimeButtonElement::create):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlPanelVolumeSliderElement::create):
(WebCore::MediaControlFullscreenVolumeSliderElement::create):
(WebCore::MediaControlFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):

  • html/shadow/MediaControlsBlackBerry.cpp:

(WebCore::MediaControlFullscreenPlayButtonElement::create):
(WebCore::MediaControlFullscreenFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenTimelineElement::create):
(WebCore::MediaControlAudioMuteButtonElement::create):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::create):

  • svg/SVGTRefElement.h:

(SVGTRefElement):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::create):

  • svg/SVGUseElement.h:

(SVGUseElement):

Location:
trunk/Source/WebCore
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r141063 r141066  
     12013-01-28  Elliott Sprehn  <esprehn@chromium.org>
     2
     3        Handle createShadowSubtree inside of ensureUserAgentShadowRoot
     4        https://bugs.webkit.org/show_bug.cgi?id=108116
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        Instead of making everyone create the UserAgentShadowRoot manually all
     9        over, centralize it in ensureUserAgentShadowRoot() and add a notification
     10        Element::didAddUserAgentShadowRoot that lets elements fill in the subtree.
     11        This lets us get rid of lots of code duplication.
     12
     13        No new tests, just refactoring.
     14
     15        * dom/Element.cpp:
     16        (WebCore::Element::ensureUserAgentShadowRoot):
     17        * dom/Element.h:
     18        (WebCore::Element::didAddUserAgentShadowRoot):
     19        (Element):
     20        * html/HTMLDetailsElement.cpp:
     21        (WebCore::DetailsSummaryElement::create):
     22        (WebCore::HTMLDetailsElement::create):
     23        (WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
     24        * html/HTMLDetailsElement.h:
     25        (HTMLDetailsElement):
     26        * html/HTMLInputElement.cpp:
     27        (WebCore::HTMLInputElement::create):
     28        (WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
     29        * html/HTMLInputElement.h:
     30        (HTMLInputElement):
     31        * html/HTMLMediaElement.cpp:
     32        (WebCore::HTMLMediaElement::willAddAuthorShadowRoot):
     33        (WebCore::HTMLMediaElement::createMediaControls):
     34        * html/HTMLMediaElement.h:
     35        * html/HTMLMeterElement.cpp:
     36        (WebCore::HTMLMeterElement::create):
     37        (WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
     38        * html/HTMLMeterElement.h:
     39        (HTMLMeterElement):
     40        * html/HTMLProgressElement.cpp:
     41        (WebCore::HTMLProgressElement::create):
     42        (WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
     43        * html/HTMLProgressElement.h:
     44        * html/HTMLSummaryElement.cpp:
     45        (WebCore::HTMLSummaryElement::create):
     46        (WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
     47        * html/HTMLSummaryElement.h:
     48        (HTMLSummaryElement):
     49        * html/HTMLTextAreaElement.cpp:
     50        (WebCore::HTMLTextAreaElement::create):
     51        (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
     52        * html/HTMLTextAreaElement.h:
     53        * html/shadow/MediaControlElements.cpp:
     54        (WebCore::MediaControlPanelMuteButtonElement::create):
     55        (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
     56        (WebCore::MediaControlPlayButtonElement::create):
     57        (WebCore::MediaControlOverlayPlayButtonElement::create):
     58        (WebCore::MediaControlSeekForwardButtonElement::create):
     59        (WebCore::MediaControlSeekBackButtonElement::create):
     60        (WebCore::MediaControlRewindButtonElement::create):
     61        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
     62        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
     63        (WebCore::MediaControlTimelineElement::create):
     64        (WebCore::MediaControlPanelVolumeSliderElement::create):
     65        (WebCore::MediaControlFullscreenVolumeSliderElement::create):
     66        (WebCore::MediaControlFullscreenButtonElement::create):
     67        (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
     68        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
     69        * html/shadow/MediaControlsBlackBerry.cpp:
     70        (WebCore::MediaControlFullscreenPlayButtonElement::create):
     71        (WebCore::MediaControlFullscreenFullscreenButtonElement::create):
     72        (WebCore::MediaControlFullscreenTimelineElement::create):
     73        (WebCore::MediaControlAudioMuteButtonElement::create):
     74        * svg/SVGTRefElement.cpp:
     75        (WebCore::SVGTRefElement::create):
     76        * svg/SVGTRefElement.h:
     77        (SVGTRefElement):
     78        * svg/SVGUseElement.cpp:
     79        (WebCore::SVGUseElement::create):
     80        * svg/SVGUseElement.h:
     81        (SVGUseElement):
     82
    1832013-01-28   Vineet Chaudhary  <rgf748@motorola.com>
    284
  • trunk/Source/WebCore/dom/Element.cpp

    r141005 r141066  
    14931493    if (ShadowRoot* shadowRoot = userAgentShadowRoot())
    14941494        return shadowRoot;
    1495     return ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot, ASSERT_NO_EXCEPTION).get();
     1495    ShadowRoot* shadowRoot = ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot, ASSERT_NO_EXCEPTION).get();
     1496    didAddUserAgentShadowRoot(shadowRoot);
     1497    return shadowRoot;
    14961498}
    14971499
  • trunk/Source/WebCore/dom/Element.h

    r141005 r141066  
    531531    void setPseudoElement(PseudoId, PassRefPtr<PseudoElement>);
    532532
     533    virtual void didAddUserAgentShadowRoot(ShadowRoot*) { }
     534
    533535    // FIXME: Remove the need for Attr to call willModifyAttribute/didModifyAttribute.
    534536    friend class Attr;
  • trunk/Source/WebCore/html/HTMLDetailsElement.cpp

    r139400 r141066  
    8484PassRefPtr<DetailsSummaryElement> DetailsSummaryElement::create(Document* document)
    8585{
    86     RefPtr<HTMLSummaryElement> defaultSummary = HTMLSummaryElement::create(summaryTag, document);
    87     defaultSummary->appendChild(Text::create(document, defaultDetailsSummaryText()), ASSERT_NO_EXCEPTION);
     86    RefPtr<HTMLSummaryElement> summary = HTMLSummaryElement::create(summaryTag, document);
     87    summary->appendChild(Text::create(document, defaultDetailsSummaryText()), ASSERT_NO_EXCEPTION);
    8888
    89     RefPtr<DetailsSummaryElement> elem = adoptRef(new DetailsSummaryElement(document));
    90     elem->appendChild(defaultSummary);
    91     return elem.release();
     89    RefPtr<DetailsSummaryElement> detailsSummary = adoptRef(new DetailsSummaryElement(document));
     90    detailsSummary->appendChild(summary);
     91    return detailsSummary.release();
    9292}
    9393
    9494PassRefPtr<HTMLDetailsElement> HTMLDetailsElement::create(const QualifiedName& tagName, Document* document)
    9595{
    96     RefPtr<HTMLDetailsElement> elem = adoptRef(new HTMLDetailsElement(tagName, document));
    97     elem->createShadowSubtree();
    98 
    99     return elem.release();
     96    RefPtr<HTMLDetailsElement> details = adoptRef(new HTMLDetailsElement(tagName, document));
     97    details->ensureUserAgentShadowRoot();
     98    return details.release();
    10099}
    101100
     
    112111}
    113112
    114 void HTMLDetailsElement::createShadowSubtree()
     113void HTMLDetailsElement::didAddUserAgentShadowRoot(ShadowRoot* root)
    115114{
    116     ASSERT(!shadow());
    117 
    118     RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot);
    119115    root->appendChild(DetailsSummaryElement::create(document()), ASSERT_NO_EXCEPTION, true);
    120116    root->appendChild(DetailsContentElement::create(document()), ASSERT_NO_EXCEPTION, true);
  • trunk/Source/WebCore/html/HTMLDetailsElement.h

    r135069 r141066  
    4040    virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
    4141
    42     void createShadowSubtree();
     42    virtual void didAddUserAgentShadowRoot(ShadowRoot*) OVERRIDE;
    4343
    4444    bool m_isOpen;
    45 
    4645};
    4746
  • trunk/Source/WebCore/html/HTMLInputElement.cpp

    r140659 r141066  
    139139{
    140140    RefPtr<HTMLInputElement> inputElement = adoptRef(new HTMLInputElement(tagName, document, form, createdByParser));
    141     inputElement->createShadowSubtree();
     141    inputElement->ensureUserAgentShadowRoot();
    142142    return inputElement.release();
    143143}
    144144
    145 void HTMLInputElement::createShadowSubtree()
    146 {
    147     ASSERT(!shadow());
    148     ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot, ASSERT_NO_EXCEPTION);
    149 
     145void HTMLInputElement::didAddUserAgentShadowRoot(ShadowRoot*)
     146{
    150147    m_inputType->createShadowSubtree();
    151148}
  • trunk/Source/WebCore/html/HTMLInputElement.h

    r140097 r141066  
    302302protected:
    303303    HTMLInputElement(const QualifiedName&, Document*, HTMLFormElement*, bool createdByParser);
    304     void createShadowSubtree();
     304
    305305    virtual void defaultEventHandler(Event*);
     306
    306307    // FIXME: Author shadows should be allowed
    307308    // https://bugs.webkit.org/show_bug.cgi?id=92608
     
    310311private:
    311312    enum AutoCompleteSetting { Uninitialized, On, Off };
     313
     314    virtual void didAddUserAgentShadowRoot(ShadowRoot*) OVERRIDE;
    312315
    313316    virtual void willChangeForm() OVERRIDE;
  • trunk/Source/WebCore/html/HTMLMediaElement.cpp

    r141030 r141066  
    19811981}
    19821982
    1983 void HTMLMediaElement::createShadowSubtree()
    1984 {
    1985     ASSERT(!userAgentShadowRoot());
    1986     ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot);
    1987 }
    1988 
    19891983void HTMLMediaElement::willAddAuthorShadowRoot()
    19901984{
    19911985    if (!userAgentShadowRoot())
    1992         createShadowSubtree();
     1986        ensureUserAgentShadowRoot();
    19931987}
    19941988
     
    43074301        mediaControls->enteredFullscreen();
    43084302
    4309     if (!shadow())
    4310         createShadowSubtree();
    4311 
    4312     ASSERT(userAgentShadowRoot());
    4313     userAgentShadowRoot()->appendChild(mediaControls, ASSERT_NO_EXCEPTION);
     4303    ensureUserAgentShadowRoot()->appendChild(mediaControls, ASSERT_NO_EXCEPTION);
    43144304
    43154305    if (!controls() || !inDocument())
  • trunk/Source/WebCore/html/HTMLMediaElement.h

    r140862 r141066  
    8989    MediaPlayer* player() const { return m_player.get(); }
    9090
    91     void createShadowSubtree();
    9291    virtual void willAddAuthorShadowRoot() OVERRIDE;
    9392    virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; }
  • trunk/Source/WebCore/html/HTMLMeterElement.cpp

    r141005 r141066  
    5555{
    5656    RefPtr<HTMLMeterElement> meter = adoptRef(new HTMLMeterElement(tagName, document));
    57     meter->createShadowSubtree();
     57    meter->ensureUserAgentShadowRoot();
    5858    return meter;
    5959}
     
    235235}
    236236
    237 void HTMLMeterElement::createShadowSubtree()
    238 {
    239     ASSERT(!userAgentShadowRoot());
    240            
    241     RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot, ASSERT_NO_EXCEPTION);
     237void HTMLMeterElement::didAddUserAgentShadowRoot(ShadowRoot* root)
     238{
     239    ASSERT(!m_value);
    242240
    243241    RefPtr<MeterInnerElement> inner = MeterInnerElement::create(document());
  • trunk/Source/WebCore/html/HTMLMeterElement.h

    r141005 r141066  
    8080
    8181    void didElementStateChange();
    82     void createShadowSubtree();
     82    virtual void didAddUserAgentShadowRoot(ShadowRoot*) OVERRIDE;
    8383
    8484    RefPtr<MeterValueElement> m_value;
  • trunk/Source/WebCore/html/HTMLProgressElement.cpp

    r141005 r141066  
    5656{
    5757    RefPtr<HTMLProgressElement> progress = adoptRef(new HTMLProgressElement(tagName, document));
    58     progress->createShadowSubtree();
    59     return progress;
     58    progress->ensureUserAgentShadowRoot();
     59    return progress.release();
    6060}
    6161
     
    158158}
    159159
    160 void HTMLProgressElement::createShadowSubtree()
     160void HTMLProgressElement::didAddUserAgentShadowRoot(ShadowRoot* root)
    161161{
    162     ASSERT(!userAgentShadowRoot());
    163162    ASSERT(!m_value);
    164            
    165     RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot, ASSERT_NO_EXCEPTION);
    166163
    167164    RefPtr<ProgressInnerElement> inner = ProgressInnerElement::create(document());
  • trunk/Source/WebCore/html/HTMLProgressElement.h

    r141005 r141066  
    6868
    6969    void didElementStateChange();
    70     void createShadowSubtree();
     70    virtual void didAddUserAgentShadowRoot(ShadowRoot*) OVERRIDE;
    7171
    7272    ProgressValueElement* m_value;
  • trunk/Source/WebCore/html/HTMLSummaryElement.cpp

    r139064 r141066  
    5656PassRefPtr<HTMLSummaryElement> HTMLSummaryElement::create(const QualifiedName& tagName, Document* document)
    5757{
    58     RefPtr<HTMLSummaryElement> result = adoptRef(new HTMLSummaryElement(tagName, document));
    59     result->createShadowSubtree();
    60     return result;
     58    RefPtr<HTMLSummaryElement> summary = adoptRef(new HTMLSummaryElement(tagName, document));
     59    summary->ensureUserAgentShadowRoot();
     60    return summary.release();
    6161}
    6262
     
    7777}
    7878
    79 void HTMLSummaryElement::createShadowSubtree()
     79void HTMLSummaryElement::didAddUserAgentShadowRoot(ShadowRoot* root)
    8080{
    81     ASSERT(!shadow());
    82     RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot);
    8381    root->appendChild(DetailsMarkerControl::create(document()), ASSERT_NO_EXCEPTION, true);
    8482    root->appendChild(SummaryContentElement::create(document()), ASSERT_NO_EXCEPTION, true);
  • trunk/Source/WebCore/html/HTMLSummaryElement.h

    r124022 r141066  
    4141    virtual void defaultEventHandler(Event*);
    4242
    43     void createShadowSubtree();
     43    virtual void didAddUserAgentShadowRoot(ShadowRoot*) OVERRIDE;
    4444    HTMLDetailsElement* detailsElement() const;
    4545
  • trunk/Source/WebCore/html/HTMLTextAreaElement.cpp

    r137284 r141066  
    9999{
    100100    RefPtr<HTMLTextAreaElement> textArea = adoptRef(new HTMLTextAreaElement(tagName, document, form));
    101     textArea->createShadowSubtree();
     101    textArea->ensureUserAgentShadowRoot();
    102102    return textArea.release();
    103103}
    104104
    105 void HTMLTextAreaElement::createShadowSubtree()
    106 {
    107     ASSERT(!shadow());
    108     RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot);
     105void HTMLTextAreaElement::didAddUserAgentShadowRoot(ShadowRoot* root)
     106{
    109107    root->appendChild(TextControlInnerTextElement::create(document()), ASSERT_NO_EXCEPTION);
    110108}
  • trunk/Source/WebCore/html/HTMLTextAreaElement.h

    r137284 r141066  
    6666    enum WrapMethod { NoWrap, SoftWrap, HardWrap };
    6767
    68     void createShadowSubtree();
     68    virtual void didAddUserAgentShadowRoot(ShadowRoot*) OVERRIDE;
    6969    virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; }
    7070
  • trunk/Source/WebCore/html/shadow/MediaControlElements.cpp

    r140505 r141066  
    426426
    427427    RefPtr<MediaControlPanelMuteButtonElement> button = adoptRef(new MediaControlPanelMuteButtonElement(document, controls));
    428     button->createShadowSubtree();
     428    button->ensureUserAgentShadowRoot();
    429429    button->setType("button");
    430430    return button.release();
     
    455455{
    456456    RefPtr<MediaControlVolumeSliderMuteButtonElement> button = adoptRef(new MediaControlVolumeSliderMuteButtonElement(document));
    457     button->createShadowSubtree();
     457    button->ensureUserAgentShadowRoot();
    458458    button->setType("button");
    459459    return button.release();
     
    476476{
    477477    RefPtr<MediaControlPlayButtonElement> button = adoptRef(new MediaControlPlayButtonElement(document));
    478     button->createShadowSubtree();
     478    button->ensureUserAgentShadowRoot();
    479479    button->setType("button");
    480480    return button.release();
     
    515515{
    516516    RefPtr<MediaControlOverlayPlayButtonElement> button = adoptRef(new MediaControlOverlayPlayButtonElement(document));
    517     button->createShadowSubtree();
     517    button->ensureUserAgentShadowRoot();
    518518    button->setType("button");
    519519    return button.release();
     
    555555{
    556556    RefPtr<MediaControlSeekForwardButtonElement> button = adoptRef(new MediaControlSeekForwardButtonElement(document));
    557     button->createShadowSubtree();
     557    button->ensureUserAgentShadowRoot();
    558558    button->setType("button");
    559559    return button.release();
     
    576576{
    577577    RefPtr<MediaControlSeekBackButtonElement> button = adoptRef(new MediaControlSeekBackButtonElement(document));
    578     button->createShadowSubtree();
     578    button->ensureUserAgentShadowRoot();
    579579    button->setType("button");
    580580    return button.release();
     
    597597{
    598598    RefPtr<MediaControlRewindButtonElement> button = adoptRef(new MediaControlRewindButtonElement(document));
    599     button->createShadowSubtree();
     599    button->ensureUserAgentShadowRoot();
    600600    button->setType("button");
    601601    return button.release();
     
    628628{
    629629    RefPtr<MediaControlReturnToRealtimeButtonElement> button = adoptRef(new MediaControlReturnToRealtimeButtonElement(document));
    630     button->createShadowSubtree();
     630    button->ensureUserAgentShadowRoot();
    631631    button->setType("button");
    632632    button->hide();
     
    667667
    668668    RefPtr<MediaControlToggleClosedCaptionsButtonElement> button = adoptRef(new MediaControlToggleClosedCaptionsButtonElement(document, controls));
    669     button->createShadowSubtree();
     669    button->ensureUserAgentShadowRoot();
    670670    button->setType("button");
    671671    button->hide();
     
    955955
    956956    RefPtr<MediaControlTimelineElement> timeline = adoptRef(new MediaControlTimelineElement(document, controls));
    957     timeline->createShadowSubtree();
     957    timeline->ensureUserAgentShadowRoot();
    958958    timeline->setType("range");
    959959    timeline->setAttribute(precisionAttr, "float");
     
    10271027{
    10281028    RefPtr<MediaControlPanelVolumeSliderElement> slider = adoptRef(new MediaControlPanelVolumeSliderElement(document));
    1029     slider->createShadowSubtree();
     1029    slider->ensureUserAgentShadowRoot();
    10301030    slider->setType("range");
    10311031    slider->setAttribute(precisionAttr, "float");
     
    10501050{
    10511051    RefPtr<MediaControlFullscreenVolumeSliderElement> slider = adoptRef(new MediaControlFullscreenVolumeSliderElement(document));
    1052     slider->createShadowSubtree();
     1052    slider->ensureUserAgentShadowRoot();
    10531053    slider->setType("range");
    10541054    slider->setAttribute(precisionAttr, "float");
     
    10731073{
    10741074    RefPtr<MediaControlFullscreenButtonElement> button = adoptRef(new MediaControlFullscreenButtonElement(document));
    1075     button->createShadowSubtree();
     1075    button->ensureUserAgentShadowRoot();
    10761076    button->setType("button");
    10771077    button->hide();
     
    11221122{
    11231123    RefPtr<MediaControlFullscreenVolumeMinButtonElement> button = adoptRef(new MediaControlFullscreenVolumeMinButtonElement(document));
    1124     button->createShadowSubtree();
     1124    button->ensureUserAgentShadowRoot();
    11251125    button->setType("button");
    11261126    return button.release();
     
    11531153{
    11541154    RefPtr<MediaControlFullscreenVolumeMaxButtonElement> button = adoptRef(new MediaControlFullscreenVolumeMaxButtonElement(document));
    1155     button->createShadowSubtree();
     1155    button->ensureUserAgentShadowRoot();
    11561156    button->setType("button");
    11571157    return button.release();
  • trunk/Source/WebCore/html/shadow/MediaControlsBlackBerry.cpp

    r137514 r141066  
    376376{
    377377    RefPtr<MediaControlFullscreenPlayButtonElement> button = adoptRef(new MediaControlFullscreenPlayButtonElement(document));
    378     button->createShadowSubtree();
     378    button->ensureUserAgentShadowRoot();
    379379    button->setType("button");
    380380    return button.release();
     
    413413{
    414414    RefPtr<MediaControlFullscreenFullscreenButtonElement> button = adoptRef(new MediaControlFullscreenFullscreenButtonElement(document));
    415     button->createShadowSubtree();
     415    button->ensureUserAgentShadowRoot();
    416416    button->setType("button");
    417417    button->hide();
     
    481481
    482482    RefPtr<MediaControlFullscreenTimelineElement> timeline = adoptRef(new MediaControlFullscreenTimelineElement(document, controls));
    483     timeline->createShadowSubtree();
     483    timeline->ensureUserAgentShadowRoot();
    484484    timeline->setType("range");
    485485    timeline->setAttribute(precisionAttr, "float");
     
    585585
    586586    RefPtr<MediaControlAudioMuteButtonElement> button = adoptRef(new MediaControlAudioMuteButtonElement(document, controls));
    587     button->createShadowSubtree();
     587    button->ensureUserAgentShadowRoot();
    588588    button->setType("button");
    589589    return button.release();
  • trunk/Source/WebCore/svg/SVGTRefElement.cpp

    r135544 r141066  
    5454{
    5555    RefPtr<SVGTRefElement> element = adoptRef(new SVGTRefElement(tagName, document));
    56     element->createShadowSubtree();
     56    element->ensureUserAgentShadowRoot();
    5757    return element.release();
    5858}
     
    142142{
    143143    m_targetListener->detach();
    144 }
    145 
    146 void SVGTRefElement::createShadowSubtree()
    147 {
    148     ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot, ASSERT_NO_EXCEPTION);
    149144}
    150145
  • trunk/Source/WebCore/svg/SVGTRefElement.h

    r135069 r141066  
    4141    virtual ~SVGTRefElement();
    4242
    43     void createShadowSubtree();
    44 
    4543    bool isSupportedAttribute(const QualifiedName&);
    4644    virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
  • trunk/Source/WebCore/svg/SVGUseElement.cpp

    r140520 r141066  
    103103    // Always build a #shadow-root for SVGUseElement.
    104104    RefPtr<SVGUseElement> use = adoptRef(new SVGUseElement(tagName, document, wasInsertedByParser));
    105     use->createShadowSubtree();
     105    use->ensureUserAgentShadowRoot();
    106106    return use.release();
    107107}
     
    112112
    113113    clearResourceReferences();
    114 }
    115 
    116 void SVGUseElement::createShadowSubtree()
    117 {
    118     ASSERT(!shadow());
    119     ShadowRoot::create(this, ShadowRoot::UserAgentShadowRoot);
    120114}
    121115
  • trunk/Source/WebCore/svg/SVGUseElement.h

    r136541 r141066  
    5656private:
    5757    SVGUseElement(const QualifiedName&, Document*, bool wasInsertedByParser);
    58 
    59     void createShadowSubtree();
    6058
    6159    virtual bool isValid() const { return SVGTests::isValid(); }
Note: See TracChangeset for help on using the changeset viewer.