LayoutTests:
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Jan 2007 16:39:43 +0000 (16:39 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Jan 2007 16:39:43 +0000 (16:39 +0000)
        Reviewed by Darin and Mitz.

        - Test for http://bugs.webkit.org/show_bug.cgi?id=12305
          REGRESSION: Images do not load in video sections on CNN.com homepage

        * fast/dom/HTMLImageElement/image-lowsrc-getset-expected.txt: Added.
        * fast/dom/HTMLImageElement/image-lowsrc-getset.html: Added.

WebCore:

        Reviewed by Darin and Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12305
          REGRESSION: Images do not load in video sections on CNN.com homepage

        <rdar://problem/4931480> REGRESSION: Images do not load in video sections on CNN.com homepage (12305)

        Test: fast/dom/HTMLImageElement/image-lowsrc-getset.html

        * html/HTMLAttributeNames.in: Added lowsrc.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::isURLAttribute): Added lowsrc.
        (WebCore::HTMLImageElement::lowsrc): Added.
        (WebCore::HTMLImageElement::setLowsrc): Added.
        * html/HTMLImageElement.h: Added lowsrc and setLowsrc.
        * html/HTMLImageElement.idl: Added lowsrc.

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

LayoutTests/ChangeLog
LayoutTests/fast/dom/HTMLImageElement/image-lowsrc-getset-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/HTMLImageElement/image-lowsrc-getset.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/html/HTMLAttributeNames.in
WebCore/html/HTMLImageElement.cpp
WebCore/html/HTMLImageElement.h
WebCore/html/HTMLImageElement.idl

index 9cb5563..08ab285 100644 (file)
@@ -1,3 +1,13 @@
+2007-01-18  David Kilzer  <ddkilzer@kilzer.net>
+
+        Reviewed by Darin and Mitz.
+
+        - Test for http://bugs.webkit.org/show_bug.cgi?id=12305
+          REGRESSION: Images do not load in video sections on CNN.com homepage
+
+        * fast/dom/HTMLImageElement/image-lowsrc-getset-expected.txt: Added.
+        * fast/dom/HTMLImageElement/image-lowsrc-getset.html: Added.
+
 2007-01-17  Justin Garcia  <justin.garcia@apple.com>
 
         Reviewed by darin
diff --git a/LayoutTests/fast/dom/HTMLImageElement/image-lowsrc-getset-expected.txt b/LayoutTests/fast/dom/HTMLImageElement/image-lowsrc-getset-expected.txt
new file mode 100644 (file)
index 0000000..254b7c7
--- /dev/null
@@ -0,0 +1,11 @@
+This test checks that the lowsrc attribute of img tags are accessible via JavaScript.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS image.lowsrc is 'http://hostname/lowsrc.png'
+PASS image.lowsrc is 'http://hostname/newlowsrc.png'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/HTMLImageElement/image-lowsrc-getset.html b/LayoutTests/fast/dom/HTMLImageElement/image-lowsrc-getset.html
new file mode 100644 (file)
index 0000000..c4b5c8c
--- /dev/null
@@ -0,0 +1,20 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<img id="image" lowsrc="http://hostname/lowsrc.png" style="visibility: hidden;">
+<script>
+description("This test checks that the lowsrc attribute of img tags are accessible via JavaScript.");
+var image = document.getElementById('image');
+shouldBe("image.lowsrc", "'http://hostname/lowsrc.png'");
+image.lowsrc = "http://hostname/newlowsrc.png";
+shouldBe("image.lowsrc", "'http://hostname/newlowsrc.png'");
+successfullyParsed = true;
+</script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
index a800169..d8ae83f 100644 (file)
@@ -1,3 +1,22 @@
+2007-01-18  David Kilzer  <ddkilzer@kilzer.net>
+
+        Reviewed by Darin and Mitz.
+
+        - fix http://bugs.webkit.org/show_bug.cgi?id=12305
+          REGRESSION: Images do not load in video sections on CNN.com homepage
+
+        <rdar://problem/4931480> REGRESSION: Images do not load in video sections on CNN.com homepage (12305)
+
+        Test: fast/dom/HTMLImageElement/image-lowsrc-getset.html
+
+        * html/HTMLAttributeNames.in: Added lowsrc.
+        * html/HTMLImageElement.cpp:
+        (WebCore::HTMLImageElement::isURLAttribute): Added lowsrc.
+        (WebCore::HTMLImageElement::lowsrc): Added.
+        (WebCore::HTMLImageElement::setLowsrc): Added.
+        * html/HTMLImageElement.h: Added lowsrc and setLowsrc.
+        * html/HTMLImageElement.idl: Added lowsrc.
+
 2007-01-18  Simon Hausmann  <hausmann@kde.org>
 
         Reviewed by Zack.
index 7db17c7..0c10480 100644 (file)
@@ -70,6 +70,7 @@ leftmargin
 link
 longdesc
 loop
+lowsrc
 marginheight
 marginwidth
 max
index 1cf27f0..bed3162 100644 (file)
@@ -20,6 +20,7 @@
  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #include "config.h"
 #include "HTMLImageElement.h"
 
@@ -84,7 +85,7 @@ bool HTMLImageElement::mapToEntry(const QualifiedName& attrName, MappedAttribute
     return HTMLElement::mapToEntry(attrName, result);
 }
 
-void HTMLImageElement::parseMappedAttribute(MappedAttribute *attr)
+void HTMLImageElement::parseMappedAttribute(MappedAttributeattr)
 {
     const QualifiedName& attrName = attr->name();
     if (attrName == altAttr) {
@@ -154,7 +155,7 @@ String HTMLImageElement::altText() const
     return alt;
 }
 
-RenderObject *HTMLImageElement::createRenderer(RenderArena *arena, RenderStyle *style)
+RenderObject* HTMLImageElement::createRenderer(RenderArena* arena, RenderStyle* style)
 {
      if (style->contentData())
         return RenderObject::createObject(this, style);
@@ -209,11 +210,10 @@ int HTMLImageElement::width(bool ignorePendingStylesheets) const
             return m_imageLoader.image()->imageSize().width();
     }
 
-    Document* doc = document();
     if (ignorePendingStylesheets)
-        doc->updateLayoutIgnorePendingStylesheets();
+        document()->updateLayoutIgnorePendingStylesheets();
     else
-        doc->updateLayout();
+        document()->updateLayout();
 
     return renderer() ? renderer()->contentWidth() : 0;
 }
@@ -232,18 +232,19 @@ int HTMLImageElement::height(bool ignorePendingStylesheets) const
             return m_imageLoader.image()->imageSize().height();        
     }
 
-    Document* doc = document();
     if (ignorePendingStylesheets)
-        doc->updateLayoutIgnorePendingStylesheets();
+        document()->updateLayoutIgnorePendingStylesheets();
     else
-        doc->updateLayout();
+        document()->updateLayout();
 
     return renderer() ? renderer()->contentHeight() : 0;
 }
 
-bool HTMLImageElement::isURLAttribute(Attribute *attr) const
+bool HTMLImageElement::isURLAttribute(Attributeattr) const
 {
-    return attr->name() == srcAttr || (attr->name() == usemapAttr && attr->value().domString()[0] != '#');
+    return attr->name() == srcAttr
+        || attr->name() == lowsrcAttr
+        || (attr->name() == usemapAttr && attr->value().domString()[0] != '#');
 }
 
 String HTMLImageElement::name() const
@@ -281,7 +282,7 @@ String HTMLImageElement::border() const
     return getAttribute(borderAttr);
 }
 
-void HTMLImageElement::setBorder(const String &value)
+void HTMLImageElement::setBorder(const Stringvalue)
 {
     setAttribute(borderAttr, value);
 }
@@ -322,6 +323,16 @@ void HTMLImageElement::setLongDesc(const String& value)
     setAttribute(longdescAttr, value);
 }
 
+String HTMLImageElement::lowsrc() const
+{
+    return document()->completeURL(getAttribute(lowsrcAttr));
+}
+
+void HTMLImageElement::setLowsrc(const String& value)
+{
+    setAttribute(lowsrcAttr, value);
+}
+
 String HTMLImageElement::src() const
 {
     return document()->completeURL(getAttribute(srcAttr));
@@ -360,7 +371,7 @@ void HTMLImageElement::setWidth(int value)
 
 int HTMLImageElement::x() const
 {
-    RenderObject *r = renderer();
+    RenderObjectr = renderer();
     if (!r)
         return 0;
     int x, y;
@@ -370,7 +381,7 @@ int HTMLImageElement::x() const
 
 int HTMLImageElement::y() const
 {
-    RenderObject *r = renderer();
+    RenderObjectr = renderer();
     if (!r)
         return 0;
     int x, y;
index cde09d3..253c390 100644 (file)
@@ -91,6 +91,9 @@ public:
     String longDesc() const;
     void setLongDesc(const String&);
 
+    String lowsrc() const;
+    void setLowsrc(const String&);
+
     String src() const;
     void setSrc(const String&);
 
index efdb9c5..0edb50b 100644 (file)
@@ -35,6 +35,7 @@ module html {
         
         // Extensions
         readonly attribute boolean complete;
+                 attribute DOMString lowsrc;
         readonly attribute long x;
         readonly attribute long y;