Title: [181954] releases/WebKitGTK/webkit-2.8
Revision
181954
Author
[email protected]
Date
2015-03-25 05:48:35 -0700 (Wed, 25 Mar 2015)

Log Message

Merge r181897 - Stop image from displaying when src attribute is removed or emptied
https://bugs.webkit.org/show_bug.cgi?id=142677

Reviewed by Chris Dumez.

Source/WebCore:

Previously, we ignored empty attribute as failed URL, and didn't update the
renderer when an image was removed. This patch fixes that.

Tests: fast/dom/HTMLImageElement/image-empty-src.html
       fast/dom/HTMLImageElement/image-remove-src.html

* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):

LayoutTests:

* fast/dom/HTMLImageElement/image-empty-src-expected.html: Added.
* fast/dom/HTMLImageElement/image-empty-src.html: Added.
* fast/dom/HTMLImageElement/image-remove-src-expected.html: Added.
* fast/dom/HTMLImageElement/image-remove-src.html: Added.
* fast/dom/HTMLImageElement/image-empty-srcset-expected.html: Added.
* fast/dom/HTMLImageElement/image-empty-srcset.html: Added.
* fast/dom/HTMLImageElement/image-remove-srcset-expected.html: Added.
* fast/dom/HTMLImageElement/image-remove-srcset.html: Added.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/ChangeLog (181953 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/ChangeLog	2015-03-25 11:53:21 UTC (rev 181953)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/ChangeLog	2015-03-25 12:48:35 UTC (rev 181954)
@@ -1,3 +1,19 @@
+2015-03-24  Yoav Weiss  <[email protected]>
+
+        Stop image from displaying when src attribute is removed or emptied
+        https://bugs.webkit.org/show_bug.cgi?id=142677
+
+        Reviewed by Chris Dumez.
+
+        * fast/dom/HTMLImageElement/image-empty-src-expected.html: Added.
+        * fast/dom/HTMLImageElement/image-empty-src.html: Added.
+        * fast/dom/HTMLImageElement/image-remove-src-expected.html: Added.
+        * fast/dom/HTMLImageElement/image-remove-src.html: Added.
+        * fast/dom/HTMLImageElement/image-empty-srcset-expected.html: Added.
+        * fast/dom/HTMLImageElement/image-empty-srcset.html: Added.
+        * fast/dom/HTMLImageElement/image-remove-srcset-expected.html: Added.
+        * fast/dom/HTMLImageElement/image-remove-srcset.html: Added.
+
 2015-03-23  Yoav Weiss  <[email protected]>
 
         Update empty image canvas tests and fix a related bug

Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/canvas/philip/tests/2d.drawImage.image.incomplete.omitted-expected.txt (181953 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/canvas/philip/tests/2d.drawImage.image.incomplete.omitted-expected.txt	2015-03-25 11:53:21 UTC (rev 181953)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/canvas/philip/tests/2d.drawImage.image.incomplete.omitted-expected.txt	2015-03-25 12:48:35 UTC (rev 181954)
@@ -1 +1,2 @@
 Passed
+

Added: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-src-expected.html (0 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-src-expected.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-src-expected.html	2015-03-25 12:48:35 UTC (rev 181954)
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<img id=image alt="We should see alt" width="75" height="25">

Added: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-src.html (0 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-src.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-src.html	2015-03-25 12:48:35 UTC (rev 181954)
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<img id=image src="" alt="We should see alt">
+<script>
+    window._onload_ = function() {
+        var img = document.querySelector("#image");
+        img.src = ""
+    }
+</script>
+
+

Added: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-srcset-expected.html (0 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-srcset-expected.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-srcset-expected.html	2015-03-25 12:48:35 UTC (rev 181954)
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<img id=image alt="We should see alt" width="75" height="25">

Added: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-srcset.html (0 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-srcset.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-empty-srcset.html	2015-03-25 12:48:35 UTC (rev 181954)
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<img id=image srcset="resources/blue_rect.jpg" alt="We should see alt">
+<script>
+    window._onload_ = function() {
+        var img = document.querySelector("#image");
+        img.srcset = "";
+    }
+</script>
+
+

Added: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-src-expected.html (0 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-src-expected.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-src-expected.html	2015-03-25 12:48:35 UTC (rev 181954)
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<img id=image alt="We should see alt" width="75" height="25">

Added: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-src.html (0 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-src.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-src.html	2015-03-25 12:48:35 UTC (rev 181954)
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<img id=image src="" alt="We should see alt">
+<script>
+    window._onload_ = function() {
+        var img = document.querySelector("#image");
+        img.removeAttribute("src");
+    }
+</script>
+
+

Added: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-srcset-expected.html (0 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-srcset-expected.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-srcset-expected.html	2015-03-25 12:48:35 UTC (rev 181954)
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<img id=image alt="We should see alt" width="75" height="25">

Added: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-srcset.html (0 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-srcset.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/dom/HTMLImageElement/image-remove-srcset.html	2015-03-25 12:48:35 UTC (rev 181954)
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<img id=image srcset="resources/blue_rect.jpg" alt="We should see alt">
+<script>
+    window._onload_ = function() {
+        var img = document.querySelector("#image");
+        img.removeAttribute("srcset");
+    }
+</script>
+
+

Deleted: releases/WebKitGTK/webkit-2.8/LayoutTests/platform/mac/canvas/philip/tests/2d.drawImage.image.incomplete.omitted-expected.txt (181953 => 181954)


--- releases/WebKitGTK/webkit-2.8/LayoutTests/platform/mac/canvas/philip/tests/2d.drawImage.image.incomplete.omitted-expected.txt	2015-03-25 11:53:21 UTC (rev 181953)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/platform/mac/canvas/philip/tests/2d.drawImage.image.incomplete.omitted-expected.txt	2015-03-25 12:48:35 UTC (rev 181954)
@@ -1,2 +0,0 @@
-Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
-

Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog (181953 => 181954)


--- releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog	2015-03-25 11:53:21 UTC (rev 181953)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog	2015-03-25 12:48:35 UTC (rev 181954)
@@ -1,3 +1,19 @@
+2015-03-24  Yoav Weiss  <[email protected]>
+
+        Stop image from displaying when src attribute is removed or emptied
+        https://bugs.webkit.org/show_bug.cgi?id=142677
+
+        Reviewed by Chris Dumez.
+
+        Previously, we ignored empty attribute as failed URL, and didn't update the
+        renderer when an image was removed. This patch fixes that.
+
+        Tests: fast/dom/HTMLImageElement/image-empty-src.html
+               fast/dom/HTMLImageElement/image-remove-src.html
+
+        * loader/ImageLoader.cpp:
+        (WebCore::ImageLoader::updateFromElement):
+
 2015-03-23 Yoav Weiss  <[email protected]>
 
         Update empty image canvas tests and fix a related bug

Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/loader/ImageLoader.cpp (181953 => 181954)


--- releases/WebKitGTK/webkit-2.8/Source/WebCore/loader/ImageLoader.cpp	2015-03-25 11:53:21 UTC (rev 181953)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/loader/ImageLoader.cpp	2015-03-25 12:48:35 UTC (rev 181954)
@@ -171,7 +171,8 @@
 
     AtomicString attr = element().imageSourceURL();
 
-    if (attr == m_failedLoadURL)
+    // Avoid loading a URL we already failed to load.
+    if (!m_failedLoadURL.isEmpty() && attr == m_failedLoadURL)
         return;
 
     // Do not load any image if the 'src' attribute is missing or if it is
@@ -254,8 +255,10 @@
             // dispatched.
             newImage->addClient(this);
         }
-        if (oldImage)
+        if (oldImage) {
             oldImage->removeClient(this);
+            updateRenderer();
+        }
     }
 
     if (RenderImageResource* imageResource = renderImageResource())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to