Commit 120d9832 authored by Orsi Batiz's avatar Orsi Batiz Committed by Commit Bot

Changing src attribute of HTMLXXXElement from USVString to URLString

Attribute src of HTMLIFrameElement changed from USVString to URLString
Attribute src of HTMLTrackElement changed from USVString to URLString
Attribute src of HTMLInputElement changed from USVString to URLString
Attribute src of HTMLFrameElement changed from USVString to URLString
Tests created for assignment to src

Bug: 739170
Change-Id: I52254462ab7325264420aac989f08a30adfe4933
Reviewed-on: https://chromium-review.googlesource.com/1139062
Commit-Queue: Orsolya Bernadett Batiz <orsibatiz@google.com>
Reviewed-by: default avatarMike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576452}
parent 66ee3b7d
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('iframe');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('iframe');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('iframe');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('iframe');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('iframe');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('frame');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('frame');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('frame');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('input');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('input');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('input');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('track');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('track');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('track');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('frame');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('frame');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('input');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('input');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('track');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('track');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
...@@ -21,6 +21,9 @@ ...@@ -21,6 +21,9 @@
// https://html.spec.whatwg.org/#the-input-element // https://html.spec.whatwg.org/#the-input-element
// The `URLString` reference below is from Trusted Types:
// https://github.com/WICG/trusted-types/, which is still WIP.
// https://crbug.com/739170.
enum SelectionMode { "select", "start", "end", "preserve" }; enum SelectionMode { "select", "start", "end", "preserve" };
[ [
...@@ -58,7 +61,7 @@ enum SelectionMode { "select", "start", "end", "preserve" }; ...@@ -58,7 +61,7 @@ enum SelectionMode { "select", "start", "end", "preserve" };
[CEReactions, Reflect] attribute boolean readOnly; [CEReactions, Reflect] attribute boolean readOnly;
[CEReactions, Reflect] attribute boolean required; [CEReactions, Reflect] attribute boolean required;
[CEReactions, RaisesException=Setter, CustomElementCallbacks] attribute unsigned long size; [CEReactions, RaisesException=Setter, CustomElementCallbacks] attribute unsigned long size;
[CEReactions, Reflect, URL] attribute DOMString src; [CEReactions, Reflect, URL, RaisesException=Setter] attribute URLString src;
[CEReactions, Reflect] attribute DOMString step; [CEReactions, Reflect] attribute DOMString step;
[CEReactions, CustomElementCallbacks] attribute DOMString type; [CEReactions, CustomElementCallbacks] attribute DOMString type;
[CEReactions, Reflect=value, CustomElementCallbacks] attribute DOMString defaultValue; [CEReactions, Reflect=value, CustomElementCallbacks] attribute DOMString defaultValue;
......
...@@ -19,11 +19,15 @@ ...@@ -19,11 +19,15 @@
*/ */
// https://html.spec.whatwg.org/#htmlframeelement // https://html.spec.whatwg.org/#htmlframeelement
// The `URLString` reference below is from Trusted Types:
// https://github.com/WICG/trusted-types/, which is still WIP.
// https://crbug.com/739170.
[HTMLConstructor] [HTMLConstructor]
interface HTMLFrameElement : HTMLElement { interface HTMLFrameElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString name; [CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect] attribute DOMString scrolling; [CEReactions, Reflect] attribute DOMString scrolling;
[CEReactions, Reflect, URL] attribute USVString src; [CEReactions, Reflect, URL, RaisesException=Setter] attribute URLString src;
[CEReactions, Reflect] attribute DOMString frameBorder; [CEReactions, Reflect] attribute DOMString frameBorder;
[CEReactions, Reflect, URL] attribute USVString longDesc; [CEReactions, Reflect, URL] attribute USVString longDesc;
[CEReactions, Reflect] attribute boolean noResize; [CEReactions, Reflect] attribute boolean noResize;
......
...@@ -19,9 +19,13 @@ ...@@ -19,9 +19,13 @@
*/ */
// https://html.spec.whatwg.org/#the-iframe-element // https://html.spec.whatwg.org/#the-iframe-element
// The `HTMLString` and `URLString` references below are from Trusted Types:
// https://github.com/WICG/trusted-types/, which is still WIP.
// https://crbug.com/739170.
[HTMLConstructor] [HTMLConstructor]
interface HTMLIFrameElement : HTMLElement { interface HTMLIFrameElement : HTMLElement {
[CEReactions, Reflect, URL] attribute USVString src; [CEReactions, Reflect, URL, RaisesException=Setter] attribute URLString src;
[CEReactions, Reflect, RaisesException=Setter] attribute HTMLString srcdoc; [CEReactions, Reflect, RaisesException=Setter] attribute HTMLString srcdoc;
[CEReactions, Reflect] attribute DOMString name; [CEReactions, Reflect] attribute DOMString name;
[PutForwards=value] readonly attribute DOMTokenList sandbox; [PutForwards=value] readonly attribute DOMTokenList sandbox;
......
...@@ -24,10 +24,14 @@ ...@@ -24,10 +24,14 @@
*/ */
// https://html.spec.whatwg.org/#the-track-element // https://html.spec.whatwg.org/#the-track-element
// The `URLString` reference below is from Trusted Types:
// https://github.com/WICG/trusted-types/, which is still WIP.
// https://crbug.com/739170.
[HTMLConstructor] [HTMLConstructor]
interface HTMLTrackElement : HTMLElement { interface HTMLTrackElement : HTMLElement {
[CEReactions] attribute DOMString kind; [CEReactions] attribute DOMString kind;
[CEReactions, Reflect, URL] attribute DOMString src; [CEReactions, Reflect, URL, RaisesException=Setter] attribute URLString src;
[CEReactions, Reflect] attribute DOMString srclang; [CEReactions, Reflect] attribute DOMString srclang;
[CEReactions, Reflect] attribute DOMString label; [CEReactions, Reflect] attribute DOMString label;
[CEReactions, Reflect] attribute boolean default; [CEReactions, Reflect] attribute boolean default;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment