Fix http://bugs.webkit.org/show_bug.cgi?id=16074
authormrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Nov 2007 21:36:34 +0000 (21:36 +0000)
committermrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Nov 2007 21:36:34 +0000 (21:36 +0000)
Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted

For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
not result in an id being set.

Reviewed by Sam Weinig.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27931 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/editing/execCommand/arguments-combinations-expected.txt
LayoutTests/editing/execCommand/arguments-combinations.html
WebCore/ChangeLog
WebCore/editing/JSEditor.cpp

index b816979a09676bfad1d78ca619b6d6de1cea7b48..52c2df462968bde3a2f3ffe8456f55f9cb81209d 100644 (file)
@@ -1,3 +1,13 @@
+2007-11-20  Mark Rowe  <mrowe@apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Tests for http://bugs.webkit.org/show_bug.cgi?id=16074
+        Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
+
+        * editing/execCommand/arguments-combinations-expected.txt:
+        * editing/execCommand/arguments-combinations.html:
+
 2007-11-20  Lars Knoll  <lars@trolltech.com>
 
         Reviewed by Simon.
index 52551d2003721b1715582b230afaa1187e23b71c..977f7b84597646cb3241cbc2806afff4819a0117 100644 (file)
@@ -6,7 +6,7 @@ PASS <hr></hr> is <hr></hr>
 PASS <hr></hr> is <hr></hr>
 PASS <hr id="foo"></hr> is <hr id="foo"></hr>
 PASS <hr id="foo"></hr> is <hr id="foo"></hr>
-PASS <hr id=""></hr> is <hr id=""></hr>
+PASS <hr></hr> is <hr></hr>
 PASS <hr></hr> is <hr></hr>
 PASS <hr></hr> is <hr></hr>
 PASS <hr id="0"></hr> is <hr id="0"></hr>
index 0cf2fd28d3949e917c6056efe319c321e6643658..dec1c4d6dcf98ccf2bd7c75c16c5282ec042487f 100644 (file)
@@ -66,8 +66,8 @@
                 // Test with 4 arguments. (should ignore the fourth argument silently)
                 test('document.execCommand("InsertHorizontalRule", false, "foo", "bar")', '<hr id="foo"></hr>');
 
-                // Test empty String 3rd parameter. (adds emprty id value)
-                test('document.execCommand("InsertHorizontalRule", false, "")', '<hr id=""></hr>');
+                // Test empty String 3rd parameter. (should not add an empty id value)
+                test('document.execCommand("InsertHorizontalRule", false, "")', '<hr></hr>');
 
                 // Test null 3rd parameter. (should treat as if only two arguments were passed, same as undefined)
                 test('document.execCommand("InsertHorizontalRule", false, null)', '<hr></hr>');
index aabad874a73f9938887d684e2a0584906f99a53d..c46f912a5148d9261af304089ef22fa867e2d00b 100644 (file)
@@ -1,3 +1,15 @@
+2007-11-20  Mark Rowe  <mrowe@apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Fix http://bugs.webkit.org/show_bug.cgi?id=16074
+        Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
+
+        For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
+        not result in an id being set.
+
+        * editing/JSEditor.cpp: Don't set the id attribute if value is empty.
+
 2007-11-20  Dan Bernstein  <mitz@apple.com>
 
         Reviewed by Adam Roben.
index 6178eec162c9b183e0413b92e92f7043a2342d99..932e53443865a9b378a50d0812c7f47b21889f3c 100644 (file)
@@ -286,7 +286,8 @@ bool execFormatBlock(Frame* frame, bool, const String& value)
 bool execInsertHorizontalRule(Frame* frame, bool userInterface, const String& value)
 {
     RefPtr<HTMLElement> hr = new HTMLElement(hrTag, frame->document());
-    hr->setId(value);
+    if (!value.isEmpty())
+        hr->setId(value);
     RefPtr<DocumentFragment> fragment = new DocumentFragment(frame->document());
     ExceptionCode ec = 0;
     fragment->appendChild(hr, ec);