Reviewed by Kevin.
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Feb 2005 00:00:12 +0000 (00:00 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Feb 2005 00:00:12 +0000 (00:00 +0000)
<rdar://problem/4017066> crash in KJS::ValueImp::dispatchType() every time I load www.nytimes.com/pages/automobiles

When creating option elements, use lowercase "option" instead of
uppercase "OPTION" to create option elements, because only
lowercase works for XHTML.

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLSelectCollection::tryPut):
        (OptionConstructorImp::construct):

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

WebCore/ChangeLog-2005-08-23
WebCore/khtml/ecma/kjs_html.cpp

index ed9c3517aad978892b51731c7b2432fbd7d31b6b..b005e51f86309f6460c508a5dae1040cf0facb9d 100644 (file)
@@ -1,3 +1,17 @@
+2005-02-22  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Kevin.
+
+       <rdar://problem/4017066> crash in KJS::ValueImp::dispatchType() every time I load www.nytimes.com/pages/automobiles
+
+       When creating option elements, use lowercase "option" instead of
+       uppercase "OPTION" to create option elements, because only
+       lowercase works for XHTML.
+       
+        * khtml/ecma/kjs_html.cpp:
+        (KJS::HTMLSelectCollection::tryPut):
+        (OptionConstructorImp::construct):
+
 2005-02-22  Chris Blumenberg  <cblu@apple.com>
 
        WebCore fix for: <rdar://problem/3918056> Mail not line breaking my <pre> formatted emails on replies
index 5735dbdcc514928f23394e051baf662d5e19fdb9..e860967412860a9e55cd88ce1e5443a599e62717 100644 (file)
@@ -3245,7 +3245,7 @@ void KJS::HTMLSelectCollection::tryPut(ExecState *exec, const Identifier &proper
 
     if (diff < 0) { // add dummy elements
       do {
-        element.add(element.ownerDocument().createElement("OPTION"), DOM::HTMLElement());
+        element.add(element.ownerDocument().createElement("option"), DOM::HTMLElement());
       } while (++diff);
     }
     else // remove elements
@@ -3277,7 +3277,7 @@ void KJS::HTMLSelectCollection::tryPut(ExecState *exec, const Identifier &proper
   // out of array bounds ? first insert empty dummies
   if (diff > 0) {
     while (diff--) {
-      element.add(element.ownerDocument().createElement("OPTION"), before);
+      element.add(element.ownerDocument().createElement("option"), before);
     }
     // replace an existing entry ?
   } else if (diff < 0) {
@@ -3308,7 +3308,7 @@ bool OptionConstructorImp::implementsConstruct() const
 
 Object OptionConstructorImp::construct(ExecState *exec, const List &args)
 {
-  DOM::Element el = doc.createElement("OPTION");
+  DOM::Element el = doc.createElement("option");
   DOM::HTMLOptionElement opt = static_cast<DOM::HTMLOptionElement>(el);
   int sz = args.size();
   DOM::Text t = doc.createTextNode("");