From e61011805c390be724561010b295cfafdeabad86 Mon Sep 17 00:00:00 2001 From: "dglazkov@chromium.org" Date: Wed, 26 Jan 2011 23:26:36 +0000 Subject: [PATCH] 2011-01-25 Dimitri Glazkov Reviewed by Kent Tamura. Reduce ref-count churn in shadowPseudoId. https://bugs.webkit.org/show_bug.cgi?id=53136 Refactoring, so no new tests. * dom/Element.h: (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString& * html/ValidationMessage.cpp: (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto. * html/shadow/SliderThumbElement.cpp: (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file. * html/shadow/SliderThumbElement.h: Ditto. * rendering/MediaControlElements.cpp: (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto. (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto. (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto. (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto. (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto. (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto. (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto. (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto. (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto. (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto. (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto. * rendering/MediaControlElements.h: Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76727 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 30 +++++++++++++++++++ Source/WebCore/dom/Element.h | 6 ++-- Source/WebCore/html/ValidationMessage.cpp | 2 +- .../html/shadow/SliderThumbElement.cpp | 6 ++++ .../WebCore/html/shadow/SliderThumbElement.h | 8 +---- 5 files changed, 41 insertions(+), 11 deletions(-) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 7a603570b966..b16e581fa6b4 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,33 @@ +2011-01-25 Dimitri Glazkov + + Reviewed by Kent Tamura. + + Reduce ref-count churn in shadowPseudoId. + https://bugs.webkit.org/show_bug.cgi?id=53136 + + Refactoring, so no new tests. + + * dom/Element.h: + (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString& + * html/ValidationMessage.cpp: + (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto. + * html/shadow/SliderThumbElement.cpp: + (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file. + * html/shadow/SliderThumbElement.h: Ditto. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto. + (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto. + (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto. + * rendering/MediaControlElements.h: Ditto. + 2011-01-26 Dave Hyatt Reviewed by Dan Bernstein. diff --git a/Source/WebCore/dom/Element.h b/Source/WebCore/dom/Element.h index 45104787f6d6..de42a5f99503 100644 --- a/Source/WebCore/dom/Element.h +++ b/Source/WebCore/dom/Element.h @@ -232,7 +232,7 @@ public: Node* shadowRoot(); void setShadowRoot(PassRefPtr); - virtual AtomicString shadowPseudoId() const; + virtual const AtomicString& shadowPseudoId() const; RenderStyle* computedStyle(PseudoId = NOPSEUDO); @@ -510,9 +510,9 @@ inline void Element::setIdAttribute(const AtomicString& value) setAttribute(document()->idAttributeName(), value); } -inline AtomicString Element::shadowPseudoId() const +inline const AtomicString& Element::shadowPseudoId() const { - return AtomicString(); + return nullAtom; } } // namespace diff --git a/Source/WebCore/html/ValidationMessage.cpp b/Source/WebCore/html/ValidationMessage.cpp index 2c441c744700..f772b92428dc 100644 --- a/Source/WebCore/html/ValidationMessage.cpp +++ b/Source/WebCore/html/ValidationMessage.cpp @@ -105,7 +105,7 @@ protected: ElementWithPseudoId(Document* doc, const AtomicString& pseudoName) : HTMLElement(divTag, doc) , m_pseudoName(pseudoName) { }; - virtual AtomicString shadowPseudoId() const { return m_pseudoName; } + virtual const AtomicString& shadowPseudoId() const { return m_pseudoName; } private: AtomicString m_pseudoName; diff --git a/Source/WebCore/html/shadow/SliderThumbElement.cpp b/Source/WebCore/html/shadow/SliderThumbElement.cpp index 762edda449b5..83148d0c5e96 100644 --- a/Source/WebCore/html/shadow/SliderThumbElement.cpp +++ b/Source/WebCore/html/shadow/SliderThumbElement.cpp @@ -184,5 +184,11 @@ void SliderThumbElement::detach() HTMLDivElement::detach(); } +const AtomicString& SliderThumbElement::shadowPseudoId() const +{ + DEFINE_STATIC_LOCAL(AtomicString, sliderThumb, ("-webkit-slider-thumb")); + return sliderThumb; +} + } diff --git a/Source/WebCore/html/shadow/SliderThumbElement.h b/Source/WebCore/html/shadow/SliderThumbElement.h index 1f1c869e51de..7c4c179a6077 100644 --- a/Source/WebCore/html/shadow/SliderThumbElement.h +++ b/Source/WebCore/html/shadow/SliderThumbElement.h @@ -53,7 +53,7 @@ public: void dragFrom(const IntPoint&); virtual void defaultEventHandler(Event*); virtual void detach(); - virtual AtomicString shadowPseudoId() const; + virtual const AtomicString& shadowPseudoId() const; private: SliderThumbElement(Document*); @@ -77,12 +77,6 @@ inline PassRefPtr SliderThumbElement::create(Document* docum return adoptRef(new SliderThumbElement(document)); } -inline AtomicString SliderThumbElement::shadowPseudoId() const -{ - DEFINE_STATIC_LOCAL(AtomicString, sliderThumb, ("-webkit-slider-thumb")); - return sliderThumb; -} - inline SliderThumbElement* toSliderThumbElement(Node* node) { ASSERT(!node || node->isHTMLElement()); -- 2.36.0