[Refactoring] Remove shadowPseudoId() and use setPseudo() in <meter> ElementShadow.
https://bugs.webkit.org/show_bug.cgi?id=101906
Reviewed by Dimitri Glazkov.
Source/WebCore:
We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
setPseudo()/pseudo() instead.
No new tests, covered by existing tests.
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::didElementStateChange): Since shadowPseudoId() was returning pseudo id without setting
it anywhere, we have to set it into pseudo attribute here.
(WebCore::HTMLMeterElement::createShadowSubtree): ditto.
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterInnerElement::MeterInnerElement):
(WebCore::MeterValueElement::valuePseudoId):
* html/shadow/MeterShadowElement.h:
(MeterInnerElement):
(WebCore::MeterBarElement::MeterBarElement):
(MeterBarElement):
(WebCore::MeterValueElement::MeterValueElement):
(WebCore::MeterValueElement::updatePseudo):
(MeterValueElement):
LayoutTests:
* fast/dom/HTMLMeterElement/meter-element-markup-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 8812a30..60e9af1 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,12 @@
+2012-11-13 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Refactoring] Remove shadowPseudoId() and use setPseudo() in <meter> ElementShadow.
+ https://bugs.webkit.org/show_bug.cgi?id=101906
+
+ Reviewed by Dimitri Glazkov.
+
+ * fast/dom/HTMLMeterElement/meter-element-markup-expected.txt:
+
2012-11-13 Stephen Chenney <schenney@chromium.org>
Expectations update for fast/regions/webkit-flow-inlines-dynamic.html
diff --git a/LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt b/LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt
index d68eaa8..04a9026 100644
--- a/LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt
+++ b/LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt
@@ -7,10 +7,13 @@
| value="70"
| <shadow:root>
| <div>
+| pseudo="-webkit-meter-inner-element"
| shadow:pseudoId="-webkit-meter-inner-element"
| <div>
+| pseudo="-webkit-meter-bar"
| shadow:pseudoId="-webkit-meter-bar"
| <div>
+| pseudo="-webkit-meter-optimum-value"
| style="width: 70%;"
| shadow:pseudoId="-webkit-meter-optimum-value"
| "
@@ -24,10 +27,13 @@
| value="10"
| <shadow:root>
| <div>
+| pseudo="-webkit-meter-inner-element"
| shadow:pseudoId="-webkit-meter-inner-element"
| <div>
+| pseudo="-webkit-meter-bar"
| shadow:pseudoId="-webkit-meter-bar"
| <div>
+| pseudo="-webkit-meter-suboptimum-value"
| style="width: 100%;"
| shadow:pseudoId="-webkit-meter-suboptimum-value"
| "
@@ -41,10 +47,13 @@
| value="10"
| <shadow:root>
| <div>
+| pseudo="-webkit-meter-inner-element"
| shadow:pseudoId="-webkit-meter-inner-element"
| <div>
+| pseudo="-webkit-meter-bar"
| shadow:pseudoId="-webkit-meter-bar"
| <div>
+| pseudo="-webkit-meter-even-less-good-value"
| style="width: 100%;"
| shadow:pseudoId="-webkit-meter-even-less-good-value"
| "
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 89e8f81..d2ce263 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,32 @@
2012-11-13 Shinya Kawanaka <shinyak@chromium.org>
+ [Refactoring] Remove shadowPseudoId() and use setPseudo() in <meter> ElementShadow.
+ https://bugs.webkit.org/show_bug.cgi?id=101906
+
+ Reviewed by Dimitri Glazkov.
+
+ We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
+ setPseudo()/pseudo() instead.
+
+ No new tests, covered by existing tests.
+
+ * html/HTMLMeterElement.cpp:
+ (WebCore::HTMLMeterElement::didElementStateChange): Since shadowPseudoId() was returning pseudo id without setting
+ it anywhere, we have to set it into pseudo attribute here.
+ (WebCore::HTMLMeterElement::createShadowSubtree): ditto.
+ * html/shadow/MeterShadowElement.cpp:
+ (WebCore::MeterInnerElement::MeterInnerElement):
+ (WebCore::MeterValueElement::valuePseudoId):
+ * html/shadow/MeterShadowElement.h:
+ (MeterInnerElement):
+ (WebCore::MeterBarElement::MeterBarElement):
+ (MeterBarElement):
+ (WebCore::MeterValueElement::MeterValueElement):
+ (WebCore::MeterValueElement::updatePseudo):
+ (MeterValueElement):
+
+2012-11-13 Shinya Kawanaka <shinyak@chromium.org>
+
Changing pseudoClass (:indeterminate) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101903
diff --git a/Source/WebCore/html/HTMLMeterElement.cpp b/Source/WebCore/html/HTMLMeterElement.cpp
index 54b7e40..a7c6698 100644
--- a/Source/WebCore/html/HTMLMeterElement.cpp
+++ b/Source/WebCore/html/HTMLMeterElement.cpp
@@ -220,6 +220,7 @@
void HTMLMeterElement::didElementStateChange()
{
m_value->setWidthPercentage(valueRatio()*100);
+ m_value->updatePseudo();
if (RenderMeter* render = renderMeter())
render->updateFromElement();
}
@@ -251,6 +252,7 @@
RefPtr<MeterBarElement> bar = MeterBarElement::create(document());
m_value = MeterValueElement::create(document());
m_value->setWidthPercentage(0);
+ m_value->updatePseudo();
bar->appendChild(m_value, ASSERT_NO_EXCEPTION);
inner->appendChild(bar, ASSERT_NO_EXCEPTION);
diff --git a/Source/WebCore/html/shadow/MeterShadowElement.cpp b/Source/WebCore/html/shadow/MeterShadowElement.cpp
index 3c48b5f..fa2a24e 100644
--- a/Source/WebCore/html/shadow/MeterShadowElement.cpp
+++ b/Source/WebCore/html/shadow/MeterShadowElement.cpp
@@ -63,6 +63,8 @@
MeterInnerElement::MeterInnerElement(Document* document)
: MeterShadowElement(document)
{
+ DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-meter-inner-element", AtomicString::ConstructFromLiteral));
+ setPseudo(pseudoId);
}
bool MeterInnerElement::rendererIsNeeded(const NodeRenderingContext& context)
@@ -79,38 +81,26 @@
return new (arena) RenderMeter(this);
}
-const AtomicString& MeterInnerElement::shadowPseudoId() const
+const AtomicString& MeterValueElement::valuePseudoId() const
{
- DEFINE_STATIC_LOCAL(AtomicString, pseudId, ("-webkit-meter-inner-element", AtomicString::ConstructFromLiteral));
- return pseudId;
-}
-
-const AtomicString& MeterBarElement::shadowPseudoId() const
-{
- DEFINE_STATIC_LOCAL(AtomicString, pseudId, ("-webkit-meter-bar", AtomicString::ConstructFromLiteral));
- return pseudId;
-}
-
-const AtomicString& MeterValueElement::shadowPseudoId() const
-{
- DEFINE_STATIC_LOCAL(AtomicString, optimumPseudId, ("-webkit-meter-optimum-value", AtomicString::ConstructFromLiteral));
- DEFINE_STATIC_LOCAL(AtomicString, suboptimumPseudId, ("-webkit-meter-suboptimum-value", AtomicString::ConstructFromLiteral));
- DEFINE_STATIC_LOCAL(AtomicString, evenLessGoodPseudId, ("-webkit-meter-even-less-good-value", AtomicString::ConstructFromLiteral));
+ DEFINE_STATIC_LOCAL(AtomicString, optimumPseudoId, ("-webkit-meter-optimum-value", AtomicString::ConstructFromLiteral));
+ DEFINE_STATIC_LOCAL(AtomicString, suboptimumPseudoId, ("-webkit-meter-suboptimum-value", AtomicString::ConstructFromLiteral));
+ DEFINE_STATIC_LOCAL(AtomicString, evenLessGoodPseudoId, ("-webkit-meter-even-less-good-value", AtomicString::ConstructFromLiteral));
HTMLMeterElement* meter = meterElement();
if (!meter)
- return optimumPseudId;
+ return optimumPseudoId;
switch (meter->gaugeRegion()) {
case HTMLMeterElement::GaugeRegionOptimum:
- return optimumPseudId;
+ return optimumPseudoId;
case HTMLMeterElement::GaugeRegionSuboptimal:
- return suboptimumPseudId;
+ return suboptimumPseudoId;
case HTMLMeterElement::GaugeRegionEvenLessGood:
- return evenLessGoodPseudId;
+ return evenLessGoodPseudoId;
default:
ASSERT_NOT_REACHED();
- return optimumPseudId;
+ return optimumPseudoId;
}
}
@@ -119,7 +109,6 @@
setInlineStyleProperty(CSSPropertyWidth, width, CSSPrimitiveValue::CSS_PERCENTAGE);
}
-
}
#endif
diff --git a/Source/WebCore/html/shadow/MeterShadowElement.h b/Source/WebCore/html/shadow/MeterShadowElement.h
index b67e0c1..fcf962b 100644
--- a/Source/WebCore/html/shadow/MeterShadowElement.h
+++ b/Source/WebCore/html/shadow/MeterShadowElement.h
@@ -57,7 +57,6 @@
private:
virtual bool rendererIsNeeded(const NodeRenderingContext&) OVERRIDE;
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) OVERRIDE;
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
};
inline PassRefPtr<MeterInnerElement> MeterInnerElement::create(Document* document)
@@ -70,10 +69,11 @@
MeterBarElement(Document* document)
: MeterShadowElement(document)
{
+ DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-meter-bar", AtomicString::ConstructFromLiteral));
+ setPseudo(pseudoId);
}
static PassRefPtr<MeterBarElement> create(Document*);
- virtual const AtomicString& shadowPseudoId() const;
};
inline PassRefPtr<MeterBarElement> MeterBarElement::create(Document* document)
@@ -86,11 +86,15 @@
MeterValueElement(Document* document)
: MeterShadowElement(document)
{
+ updatePseudo();
}
- virtual const AtomicString& shadowPseudoId() const;
static PassRefPtr<MeterValueElement> create(Document*);
void setWidthPercentage(double);
+ void updatePseudo() { setPseudo(valuePseudoId()); }
+
+private:
+ const AtomicString& valuePseudoId() const;
};
inline PassRefPtr<MeterValueElement> MeterValueElement::create(Document* document)