Move hasAuthorShadowRoot to Element
https://bugs.webkit.org/show_bug.cgi?id=108071
Reviewed by Dimitri Glazkov.
Move hasAuthorShadowRoot to Element and get rid of unneccesary booleans
in HTMLProgressElement and HTMLMeterElement. Also get rid of
ShadowRoot::isAccessible since it obfuscates what's actually happening
inside of Element::shadowRoot().
No new tests, just refactoring.
* dom/Element.cpp:
(WebCore::Element::shadowRoot):
(WebCore::Element::hasAuthorShadowRoot):
* dom/Element.h:
(Element):
* dom/ShadowRoot.h:
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::HTMLMeterElement):
* html/HTMLMeterElement.h:
(HTMLMeterElement):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::HTMLProgressElement):
* html/HTMLProgressElement.h:
(HTMLProgressElement):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 07d9f4c..ef689bd 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,34 @@
2013-01-28 Elliott Sprehn <esprehn@chromium.org>
+ Move hasAuthorShadowRoot to Element
+ https://bugs.webkit.org/show_bug.cgi?id=108071
+
+ Reviewed by Dimitri Glazkov.
+
+ Move hasAuthorShadowRoot to Element and get rid of unneccesary booleans
+ in HTMLProgressElement and HTMLMeterElement. Also get rid of
+ ShadowRoot::isAccessible since it obfuscates what's actually happening
+ inside of Element::shadowRoot().
+
+ No new tests, just refactoring.
+
+ * dom/Element.cpp:
+ (WebCore::Element::shadowRoot):
+ (WebCore::Element::hasAuthorShadowRoot):
+ * dom/Element.h:
+ (Element):
+ * dom/ShadowRoot.h:
+ * html/HTMLMeterElement.cpp:
+ (WebCore::HTMLMeterElement::HTMLMeterElement):
+ * html/HTMLMeterElement.h:
+ (HTMLMeterElement):
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::HTMLProgressElement):
+ * html/HTMLProgressElement.h:
+ (HTMLProgressElement):
+
+2013-01-28 Elliott Sprehn <esprehn@chromium.org>
+
Move ensureUserAgentShadowRoot to Element
https://bugs.webkit.org/show_bug.cgi?id=108070
diff --git a/Source/WebCore/dom/Element.cpp b/Source/WebCore/dom/Element.cpp
index 204b707..72f602c 100644
--- a/Source/WebCore/dom/Element.cpp
+++ b/Source/WebCore/dom/Element.cpp
@@ -1471,9 +1471,9 @@
if (!elementShadow)
return 0;
ShadowRoot* shadowRoot = elementShadow->youngestShadowRoot();
- if (!shadowRoot->isAccessible())
- return 0;
- return shadowRoot;
+ if (shadowRoot->type() == ShadowRoot::AuthorShadowRoot)
+ return shadowRoot;
+ return 0;
}
ShadowRoot* Element::userAgentShadowRoot() const
diff --git a/Source/WebCore/dom/Element.h b/Source/WebCore/dom/Element.h
index e953d27..e071222 100644
--- a/Source/WebCore/dom/Element.h
+++ b/Source/WebCore/dom/Element.h
@@ -293,6 +293,7 @@
PassRefPtr<ShadowRoot> createShadowRoot(ExceptionCode&);
ShadowRoot* shadowRoot() const;
+ bool hasAuthorShadowRoot() const { return shadowRoot(); }
virtual void willAddAuthorShadowRoot() { }
virtual bool areAuthorShadowsAllowed() const { return true; }
diff --git a/Source/WebCore/dom/ShadowRoot.h b/Source/WebCore/dom/ShadowRoot.h
index 1526938..83e9bf3 100644
--- a/Source/WebCore/dom/ShadowRoot.h
+++ b/Source/WebCore/dom/ShadowRoot.h
@@ -93,7 +93,6 @@
ScopeContentDistribution* ensureScopeDistribution();
ShadowRootType type() const { return m_isAuthorShadowRoot ? AuthorShadowRoot : UserAgentShadowRoot; }
- bool isAccessible() const { return type() == AuthorShadowRoot; }
PassRefPtr<Node> cloneNode(bool, ExceptionCode&);
diff --git a/Source/WebCore/html/HTMLMeterElement.cpp b/Source/WebCore/html/HTMLMeterElement.cpp
index f59d79e..465d0ff 100644
--- a/Source/WebCore/html/HTMLMeterElement.cpp
+++ b/Source/WebCore/html/HTMLMeterElement.cpp
@@ -43,7 +43,6 @@
HTMLMeterElement::HTMLMeterElement(const QualifiedName& tagName, Document* document)
: LabelableElement(tagName, document)
- , m_hasAuthorShadowRoot(false)
{
ASSERT(hasTagName(meterTag));
}
@@ -225,11 +224,6 @@
render->updateFromElement();
}
-void HTMLMeterElement::willAddAuthorShadowRoot()
-{
- m_hasAuthorShadowRoot = true;
-}
-
RenderMeter* HTMLMeterElement::renderMeter() const
{
if (renderer() && renderer()->isMeter())
diff --git a/Source/WebCore/html/HTMLMeterElement.h b/Source/WebCore/html/HTMLMeterElement.h
index d1107a4..f58e351 100644
--- a/Source/WebCore/html/HTMLMeterElement.h
+++ b/Source/WebCore/html/HTMLMeterElement.h
@@ -39,8 +39,6 @@
GaugeRegionEvenLessGood
};
- bool hasAuthorShadowRoot() const { return m_hasAuthorShadowRoot; }
-
double min() const;
void setMin(double, ExceptionCode&);
@@ -68,7 +66,6 @@
HTMLMeterElement(const QualifiedName&, Document*);
virtual ~HTMLMeterElement();
- virtual void willAddAuthorShadowRoot() OVERRIDE;
virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; }
RenderMeter* renderMeter() const;
@@ -85,7 +82,6 @@
void createShadowSubtree();
RefPtr<MeterValueElement> m_value;
- bool m_hasAuthorShadowRoot;
};
inline bool isHTMLMeterElement(Node* node)
diff --git a/Source/WebCore/html/HTMLProgressElement.cpp b/Source/WebCore/html/HTMLProgressElement.cpp
index 6ae809f..84b2e89 100644
--- a/Source/WebCore/html/HTMLProgressElement.cpp
+++ b/Source/WebCore/html/HTMLProgressElement.cpp
@@ -44,7 +44,6 @@
HTMLProgressElement::HTMLProgressElement(const QualifiedName& tagName, Document* document)
: LabelableElement(tagName, document)
, m_value(0)
- , m_hasAuthorShadowRoot(false)
{
ASSERT(hasTagName(progressTag));
}
@@ -83,11 +82,6 @@
return static_cast<RenderProgress*>(renderObject);
}
-void HTMLProgressElement::willAddAuthorShadowRoot()
-{
- m_hasAuthorShadowRoot = true;
-}
-
bool HTMLProgressElement::supportsFocus() const
{
return HTMLElement::supportsFocus() && !disabled();
diff --git a/Source/WebCore/html/HTMLProgressElement.h b/Source/WebCore/html/HTMLProgressElement.h
index c39e8dd..33c96143 100644
--- a/Source/WebCore/html/HTMLProgressElement.h
+++ b/Source/WebCore/html/HTMLProgressElement.h
@@ -36,8 +36,6 @@
static PassRefPtr<HTMLProgressElement> create(const QualifiedName&, Document*);
- bool hasAuthorShadowRoot() const { return m_hasAuthorShadowRoot; }
-
double value() const;
void setValue(double, ExceptionCode&);
@@ -54,7 +52,6 @@
HTMLProgressElement(const QualifiedName&, Document*);
virtual ~HTMLProgressElement();
- virtual void willAddAuthorShadowRoot() OVERRIDE;
virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; }
virtual bool supportLabels() const OVERRIDE { return true; }
@@ -73,7 +70,6 @@
void createShadowSubtree();
ProgressValueElement* m_value;
- bool m_hasAuthorShadowRoot;
};
inline bool isHTMLProgressElement(Node* node)