Title: [133428] trunk
- Revision
- 133428
- Author
- shin...@chromium.org
- Date
- 2012-11-04 19:04:57 -0800 (Sun, 04 Nov 2012)
Log Message
[Shadow] Implement custom pseudo-elements styling
https://bugs.webkit.org/show_bug.cgi?id=100812
Reviewed by Hajime Morita.
Source/WebCore:
Instead of using ElementRareData::m_shadowPseudoId, we use 'pseudo' attribute.
Later we would like to remove Element::shadowPseudoId and Element::setShadowPseudoId
and use pseudo()/setPseudo() instead (Bug 101171).
Test: fast/dom/shadow/styling-pseudo-attribute.html
* dom/Element.cpp:
(WebCore::Element::shadowPseudoId):
(WebCore::Element::setShadowPseudoId):
* dom/ElementRareData.cpp:
(WebCore::ElementRareData::reportMemoryUsage):
* dom/ElementRareData.h:
(ElementRareData):
LayoutTests:
* fast/dom/shadow/styling-pseudo-attribute-expected.html: Added.
* fast/dom/shadow/styling-pseudo-attribute.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (133427 => 133428)
--- trunk/LayoutTests/ChangeLog 2012-11-04 23:16:13 UTC (rev 133427)
+++ trunk/LayoutTests/ChangeLog 2012-11-05 03:04:57 UTC (rev 133428)
@@ -1,3 +1,13 @@
+2012-11-04 Shinya Kawanaka <shin...@chromium.org>
+
+ [Shadow] Implement custom pseudo-elements styling
+ https://bugs.webkit.org/show_bug.cgi?id=100812
+
+ Reviewed by Hajime Morita.
+
+ * fast/dom/shadow/styling-pseudo-attribute-expected.html: Added.
+ * fast/dom/shadow/styling-pseudo-attribute.html: Added.
+
2012-11-04 Sheriff Bot <webkit.review....@gmail.com>
Unreviewed, rolling out r133416.
Added: trunk/LayoutTests/fast/dom/shadow/styling-pseudo-attribute-expected.html (0 => 133428)
--- trunk/LayoutTests/fast/dom/shadow/styling-pseudo-attribute-expected.html (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/styling-pseudo-attribute-expected.html 2012-11-05 03:04:57 UTC (rev 133428)
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<style>
+#target {
+ color: red;
+}
+</style>
+<div><div id="target">foo bar</div></div>
+
+</html>
Added: trunk/LayoutTests/fast/dom/shadow/styling-pseudo-attribute.html (0 => 133428)
--- trunk/LayoutTests/fast/dom/shadow/styling-pseudo-attribute.html (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/styling-pseudo-attribute.html 2012-11-05 03:04:57 UTC (rev 133428)
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<style>
+#host1::x-foo {
+ color: red;
+}
+</style>
+<div id="host1"></div>
+
+<script>
+var shadowRoot1 = new WebKitShadowRoot(host1);
+var div = document.createElement('div');
+div.setAttribute('pseudo', 'x-foo');
+div.appendChild(document.createTextNode('foo bar'));
+
+shadowRoot1.appendChild(div);
+</script>
+
+
+</html>
Modified: trunk/Source/WebCore/ChangeLog (133427 => 133428)
--- trunk/Source/WebCore/ChangeLog 2012-11-04 23:16:13 UTC (rev 133427)
+++ trunk/Source/WebCore/ChangeLog 2012-11-05 03:04:57 UTC (rev 133428)
@@ -1,3 +1,25 @@
+2012-11-04 Shinya Kawanaka <shin...@chromium.org>
+
+ [Shadow] Implement custom pseudo-elements styling
+ https://bugs.webkit.org/show_bug.cgi?id=100812
+
+ Reviewed by Hajime Morita.
+
+ Instead of using ElementRareData::m_shadowPseudoId, we use 'pseudo' attribute.
+
+ Later we would like to remove Element::shadowPseudoId and Element::setShadowPseudoId
+ and use pseudo()/setPseudo() instead (Bug 101171).
+
+ Test: fast/dom/shadow/styling-pseudo-attribute.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::shadowPseudoId):
+ (WebCore::Element::setShadowPseudoId):
+ * dom/ElementRareData.cpp:
+ (WebCore::ElementRareData::reportMemoryUsage):
+ * dom/ElementRareData.h:
+ (ElementRareData):
+
2012-11-04 Kent Tamura <tk...@chromium.org>
BaseChooserOnlyDateAndTimeInputType should have BaseClickableWithKeyInputType behavior
Modified: trunk/Source/WebCore/dom/Element.cpp (133427 => 133428)
--- trunk/Source/WebCore/dom/Element.cpp 2012-11-04 23:16:13 UTC (rev 133427)
+++ trunk/Source/WebCore/dom/Element.cpp 2012-11-05 03:04:57 UTC (rev 133428)
@@ -1354,20 +1354,17 @@
const AtomicString& Element::shadowPseudoId() const
{
- return hasRareData() ? elementRareData()->m_shadowPseudoId : nullAtom;
+ return pseudo();
}
void Element::setShadowPseudoId(const AtomicString& id, ExceptionCode& ec)
{
- if (!hasRareData() && id == nullAtom)
- return;
-
if (!CSSSelector::isUnknownPseudoType(id)) {
ec = SYNTAX_ERR;
return;
}
- ensureElementRareData()->m_shadowPseudoId = id;
+ setPseudo(id);
}
bool Element::childTypeAllowed(NodeType type) const
Modified: trunk/Source/WebCore/dom/ElementRareData.cpp (133427 => 133428)
--- trunk/Source/WebCore/dom/ElementRareData.cpp 2012-11-04 23:16:13 UTC (rev 133427)
+++ trunk/Source/WebCore/dom/ElementRareData.cpp 2012-11-05 03:04:57 UTC (rev 133428)
@@ -42,7 +42,6 @@
NodeRareData::reportMemoryUsage(memoryObjectInfo);
info.addMember(m_cachedCollections);
info.addMember(m_computedStyle);
- info.addMember(m_shadowPseudoId);
info.addMember(m_datasetDOMStringMap);
info.addMember(m_classList);
Modified: trunk/Source/WebCore/dom/ElementRareData.h (133427 => 133428)
--- trunk/Source/WebCore/dom/ElementRareData.h 2012-11-04 23:16:13 UTC (rev 133427)
+++ trunk/Source/WebCore/dom/ElementRareData.h 2012-11-05 03:04:57 UTC (rev 133428)
@@ -114,7 +114,6 @@
LayoutSize m_minimumSizeForResizing;
RefPtr<RenderStyle> m_computedStyle;
- AtomicString m_shadowPseudoId;
OwnPtr<DatasetDOMStringMap> m_datasetDOMStringMap;
OwnPtr<ClassList> m_classList;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes