Diff
Modified: trunk/LayoutTests/ChangeLog (133267 => 133268)
--- trunk/LayoutTests/ChangeLog 2012-11-02 06:29:05 UTC (rev 133267)
+++ trunk/LayoutTests/ChangeLog 2012-11-02 06:35:27 UTC (rev 133268)
@@ -1,3 +1,13 @@
+2012-11-01 Shinya Kawanaka <shin...@chromium.org>
+
+ [Shadow] Element should have getter and setter of attribute 'pseudo'
+ https://bugs.webkit.org/show_bug.cgi?id=100831
+
+ Reviewed by Hajime Morita.
+
+ * fast/dom/shadow/pseudo-attribute-expected.txt: Added.
+ * fast/dom/shadow/pseudo-attribute.html: Added.
+
2012-11-01 Seonae Kim <sunaeluv....@samsung.com>
[EFL][DRT] Support Geolocation
Added: trunk/LayoutTests/fast/dom/shadow/pseudo-attribute-expected.txt (0 => 133268)
--- trunk/LayoutTests/fast/dom/shadow/pseudo-attribute-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/pseudo-attribute-expected.txt 2012-11-02 06:35:27 UTC (rev 133268)
@@ -0,0 +1,13 @@
+This test checks pseudo attribute is exposed correctly.
+
+PASS div.pseudo is null
+PASS div.getAttribute('pseudo') is null
+PASS div.pseudo is 'foo'
+PASS div.getAttribute('pseudo') is 'foo'
+PASS div.pseudo is 'bar'
+PASS div.getAttribute('pseudo') is 'bar'
+PASS div.pseudo is 'first-letter'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/fast/dom/shadow/pseudo-attribute.html (0 => 133268)
--- trunk/LayoutTests/fast/dom/shadow/pseudo-attribute.html (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/pseudo-attribute.html 2012-11-02 06:35:27 UTC (rev 133268)
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<body>
+<script src=""
+
+<p>This test checks pseudo attribute is exposed correctly.</p>
+
+<pre id="console"></pre>
+
+<script>
+var div = document.createElement('div');
+
+shouldBe("div.pseudo", "null");
+shouldBe("div.getAttribute('pseudo')", "null");
+
+div.setAttribute("pseudo", "foo");
+shouldBe("div.pseudo", "'foo'");
+shouldBe("div.getAttribute('pseudo')", "'foo'");
+
+div.pseudo = "bar";
+shouldBe("div.pseudo", "'bar'");
+shouldBe("div.getAttribute('pseudo')", "'bar'");
+
+// Checks pseudo accepts known pseudo-element word.
+div.pseudo = 'first-letter';
+shouldBe("div.pseudo", "'first-letter'");
+
+finishJSTest();
+</script>
+<script src=""
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (133267 => 133268)
--- trunk/Source/WebCore/ChangeLog 2012-11-02 06:29:05 UTC (rev 133267)
+++ trunk/Source/WebCore/ChangeLog 2012-11-02 06:35:27 UTC (rev 133268)
@@ -1,3 +1,23 @@
+2012-11-01 Shinya Kawanaka <shin...@chromium.org>
+
+ [Shadow] Element should have getter and setter of attribute 'pseudo'
+ https://bugs.webkit.org/show_bug.cgi?id=100831
+
+ Reviewed by Hajime Morita.
+
+ We expose 'pseudo' attribute in Element. When nothing is assigned to 'pseudo', it should return null.
+
+ Test: fast/dom/shadow/pseudo-attribute.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::pseudo):
+ (WebCore):
+ (WebCore::Element::setPseudo):
+ * dom/Element.h:
+ (Element):
+ * dom/Element.idl:
+ * html/HTMLAttributeNames.in:
+
2012-11-01 Roger Fong <roger_f...@apple.com>
Build fix. http://trac.webkit.org/changeset/133252 broke the Windows build.
Modified: trunk/Source/WebCore/dom/Element.cpp (133267 => 133268)
--- trunk/Source/WebCore/dom/Element.cpp 2012-11-02 06:29:05 UTC (rev 133267)
+++ trunk/Source/WebCore/dom/Element.cpp 2012-11-02 06:35:27 UTC (rev 133268)
@@ -1774,6 +1774,16 @@
return String();
}
+const AtomicString& Element::pseudo() const
+{
+ return getAttribute(pseudoAttr);
+}
+
+void Element::setPseudo(const AtomicString& value)
+{
+ setAttribute(pseudoAttr, value);
+}
+
LayoutSize Element::minimumSizeForResizing() const
{
return hasRareData() ? elementRareData()->m_minimumSizeForResizing : defaultMinimumSizeForResizing();
Modified: trunk/Source/WebCore/dom/Element.h (133267 => 133268)
--- trunk/Source/WebCore/dom/Element.h 2012-11-02 06:29:05 UTC (rev 133267)
+++ trunk/Source/WebCore/dom/Element.h 2012-11-02 06:35:27 UTC (rev 133268)
@@ -312,6 +312,9 @@
virtual String title() const;
+ const AtomicString& pseudo() const;
+ void setPseudo(const AtomicString&);
+
void updateId(const AtomicString& oldId, const AtomicString& newId);
void updateId(TreeScope*, const AtomicString& oldId, const AtomicString& newId);
void updateName(const AtomicString& oldName, const AtomicString& newName);
Modified: trunk/Source/WebCore/dom/Element.idl (133267 => 133268)
--- trunk/Source/WebCore/dom/Element.idl 2012-11-02 06:29:05 UTC (rev 133267)
+++ trunk/Source/WebCore/dom/Element.idl 2012-11-02 06:35:27 UTC (rev 133268)
@@ -118,6 +118,10 @@
readonly attribute Element nextElementSibling;
readonly attribute unsigned long childElementCount;
+#if defined(ENABLE_SHADOW_DOM)
+ [TreatReturnedNullStringAs=Null, V8EnabledAtRuntime=shadowDOM] attribute DOMString pseudo;
+#endif
+
// DOM 4
void remove()
raises(DOMException);
Modified: trunk/Source/WebCore/html/HTMLAttributeNames.in (133267 => 133268)
--- trunk/Source/WebCore/html/HTMLAttributeNames.in 2012-11-02 06:29:05 UTC (rev 133267)
+++ trunk/Source/WebCore/html/HTMLAttributeNames.in 2012-11-02 06:35:27 UTC (rev 133268)
@@ -272,6 +272,7 @@
profile
progress
prompt
+pseudo
readonly
rel
required