Title: [133268] trunk
Revision
133268
Author
shin...@chromium.org
Date
2012-11-01 23:35:27 -0700 (Thu, 01 Nov 2012)

Log Message

[Shadow] Element should have getter and setter of attribute 'pseudo'
https://bugs.webkit.org/show_bug.cgi?id=100831

Reviewed by Hajime Morita.

Source/WebCore:

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:

LayoutTests:

* fast/dom/shadow/pseudo-attribute-expected.txt: Added.
* fast/dom/shadow/pseudo-attribute.html: Added.

Modified Paths

Added Paths

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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to