Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1559)

Unified Diff: third_party/WebKit/LayoutTests/typedcssom/cssURLImageValue.html

Issue 2220253002: [Typed-OM] Add Image typedom_types to properties and enable them to be set with StyleMap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@CSSURLImageValue
Patch Set: Add comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/typedcssom/cssURLImageValue.html
diff --git a/third_party/WebKit/LayoutTests/typedcssom/cssURLImageValue.html b/third_party/WebKit/LayoutTests/typedcssom/cssURLImageValue.html
index 78ade9865527ba86b52ba56918c79e10b8915398..b9fdd44874c9762c1ce484393c2bdde10f704c7b 100644
--- a/third_party/WebKit/LayoutTests/typedcssom/cssURLImageValue.html
+++ b/third_party/WebKit/LayoutTests/typedcssom/cssURLImageValue.html
@@ -2,11 +2,72 @@
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
+<div id="test-image1"></div>
+<div id="test-image2"></div>
+
<script>
+function imageUrl() {
+ // image that can be used for 'shape-outside' property
+ return "data:image/png;base64,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";
anthonyhkf 2016/08/10 07:02:13 Is it OK to use this image? If so I can just remov
meade_UTC10 2016/08/10 07:16:05 Both! You should test both absolute URLs and base-
anthonyhkf 2016/08/11 03:25:56 Done.
+}
+
test(function() {
- var bg = new CSSURLImageValue("https://s-media-cache-ak0.pinimg.com/736x/b7/49/fa/b749fa790b531d4fb8f2007bf74859f0.jpg");
+ var bg = new CSSURLImageValue(imageUrl);
assert_equals(bg.state, "unloaded");
}, "Can construct a new CSSURLImageValue object with url");
+{
+ // Set each property using styleMap
+ var imageProperties = ["background-image", "border-image-source", "list-style-image", "content", "shape-outside"];
+ var test1 = async_test("Set available properties as CSSURLImageValue using StyleMap");
+ var url1 = imageUrl();
+
+ var imageValue1 = new CSSURLImageValue(url1);
+ var div = document.getElementById("test-image1");
+
+ for (var i = 0; i < imageProperties.length; ++i) {
+ div.styleMap.set(imageProperties[i], imageValue1);
+ }
+
+ // add an Image object to know if the image has been loaded
+ var image1 = new Image();
+ image1.src = url1;
+
+ assert_equals(imageValue1.state, "unloaded");
+
+ image1.addEventListener("load", function() {
+ assert_equals(imageValue1.url, url1);
+ assert_equals(imageValue1.state, "loaded");
+ assert_equals(imageValue1.intrinsicWidth, 42);
+ assert_equals(imageValue1.intrinsicHeight, 42);
+ assert_equals(imageValue1.intrinsicRatio, 1);
+ test1.done();
+ })
+}
+
+{
+ var test2 = async_test("Invalid Image will have get error state");
+ var url2 = document.location.href;
+ var imageValue2 = new CSSURLImageValue(url2);
+
+ document.getElementById("test-image1").styleMap.set("background-image", imageValue2);
+
+ var image2 = new Image();
+ image2.src = url2;
+
+ assert_equals(imageValue1.state, "unloaded");
+
+ image2.onerror = function() {
+ assert_equals(imageValue2.url, url2);
+ assert_equals(imageValue2.state, "error");
+ assert_equals(imageValue2.intrinsicWidth, 0);
+ assert_equals(imageValue2.intrinsicHeight, 0);
+ assert_equals(imageValue2.intrinsicRatio, null);
+ test2.done();
+ }
+}
+
+
+
</script>

Powered by Google App Engine
This is Rietveld 408576698