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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/shadow/shadowdom-for-input-checkbox.html

Issue 1751953003: Remove the support of multiple shadow roots with a user agent shadow root (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix failing tests Created 4 years, 9 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 unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <body>
3
4 <form>
5 <input type="checkbox" name="foo" id="cb1" value="Shadow">
6 <input type="submit">
7 </form>
8
9 <style>
10 #cb1 {
11 -webkit-appearance: none;
12 border: outset;
13 padding: 2px;
14 font-family: monospace;
15 font-size: 20px;
16 white-space: pre;
17 width: 30px;
18 height: 30px;
19 margin: 0;
20 }
21
22 #cb1:focus {
23 outline: none;
24 }
25 </style>
26 <script>
27 cb1.updateAppearance_ = function() {
28 if (this.checked)
29 this.root_.innerHTML = '<span style="color:red;">&#x2714;</span>';
30 else
31 this.root_.innerHTML = '<span> </span>';
32 };
33
34 cb1.init = function() {
35 this.root_ = this.createShadowRoot();
36 this.checked_ = this.hasAttribute('checked');
37 this.updateAppearance_();
38
39 this.addEventListener('DOMActivate', function() {
40 this.checked = !cb1.checked;
41 this.dispatchEvent(new CustomEvent('change', true, false));
42 }, false);
43
44 this.__defineSetter__('checked', function(value) {
45 this.checked_ = !!value;
46 this.updateAppearance_();
47 // FIXME: We'd like to update HTMLInputElement.prototype.checked, but it
48 // seems there are no ways to do it. Updating 'checked' HTML attribute
49 // (the default value) works for form submission because the checkbox is
50 // never dirty.
51 if (this.checked_)
52 this.setAttribute('checked', '');
53 else
54 this.removeAttribute('checked', '');
55 });
56
57 this.__defineGetter__('checked', function() { return this.checked_; });
58 };
59
60 cb1.init();
61
62 window.onload = function() {
63 if (!window.eventSender)
64 return;
65 eventSender.mouseMoveTo(cb1.offsetLeft + 10, cb1.offsetTop + 10);
66 eventSender.mouseDown();
67 eventSender.mouseUp();
68 };
69 </script>
70 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698