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

Side by Side Diff: LayoutTests/fast/forms/listbox-onchange.html

Issue 14096013: Implement select element list box with shadow DOM. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@shadowselect
Patch Set: Created 7 years, 8 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
1 <html> 1 <html>
2 <head> 2 <head>
3 <script> 3 <script>
4 function setup() 4 function setup()
5 { 5 {
6 var results = document.createElement('div'); 6 var results = document.createElement('div');
7 results.id = "res"; 7 results.id = "res";
8 results.appendChild(document.createTextNode("Results:")); 8 results.appendChild(document.createTextNode("Results:"));
9 document.body.appendChild(results); 9 document.body.appendChild(results);
10 } 10 }
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 function mouseDownOnSelect(selId, index, shift, metaOrCtrl) 123 function mouseDownOnSelect(selId, index, shift, metaOrCtrl)
124 { 124 {
125 var meta = false; 125 var meta = false;
126 var ctrl = false; 126 var ctrl = false;
127 if (metaOrCtrl) { 127 if (metaOrCtrl) {
128 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) 128 if (navigator.userAgent.search(/\bMac OS X\b/) != -1)
129 meta = true; 129 meta = true;
130 else 130 else
131 ctrl = true; 131 ctrl = true;
132 } 132 }
133 var modifiers = [];
134 if (shift)
135 modifiers.push("shiftKey");
136 if (meta)
137 modifiers.push("metaKey");
138 if (ctrl)
139 modifiers.push("ctrlKey");
133 var sl = document.getElementById(selId); 140 var sl = document.getElementById(selId);
134 var itemHeight = 14; 141 var option = sl.options[index];
135 var border = 1; 142 eventSender.mouseMoveTo(option.offsetLeft, option.offsetTop);
136 var y = border + index * itemHeight - window.pageYOffset; 143 eventSender.mouseDown(0, modifiers);
137 var event = document.createEvent("MouseEvent");
138 event.initMouseEvent("mousedown", true, true, document.defaultVi ew, 1, sl.offsetLeft + border, sl.offsetTop + y, sl.offsetLeft + border, sl.offs etTop + y, ctrl, false, shift, meta, 0, document);
139 sl.dispatchEvent(event);
140 } 144 }
141 145
142 function mouseUpOnSelect(selId, index, shift, metaOrCtrl) 146 function mouseUpOnSelect(selId, index, shift, metaOrCtrl)
143 { 147 {
144 var meta = false; 148 var meta = false;
145 var ctrl = false; 149 var ctrl = false;
146 if (metaOrCtrl) { 150 if (metaOrCtrl) {
147 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) 151 if (navigator.userAgent.search(/\bMac OS X\b/) != -1)
148 meta = true; 152 meta = true;
149 else 153 else
150 ctrl = true; 154 ctrl = true;
151 } 155 }
156 var modifiers = [];
157 if (shift)
158 modifiers.push("shiftKey");
159 if (meta)
160 modifiers.push("metaKey");
161 if (ctrl)
162 modifiers.push("ctrlKey");
152 var sl = document.getElementById(selId); 163 var sl = document.getElementById(selId);
153 var itemHeight = 14; 164 var itemHeight = 14;
154 var border = 1; 165 var border = 1;
155 var y = border + index * itemHeight - window.pageYOffset; 166 var option = sl.options[index];
156 var event = document.createEvent("MouseEvent"); 167 eventSender.mouseMoveTo(option.offsetLeft, option.offsetTop);
157 event.initMouseEvent("mouseup", true, true, document.defaultView , 1, sl.offsetLeft + border, sl.offsetTop + y, sl.offsetLeft + border, sl.offset Top + y, ctrl, false, shift, meta, 0, document); 168 eventSender.mouseUp(0, modifiers);
158 sl.dispatchEvent(event);
159 } 169 }
160 170
161 function keyDownOnSelect(selId, identifier, shift, metaOrCtrl) 171 function keyDownOnSelect(selId, identifier, shift, metaOrCtrl)
162 { 172 {
163 modifiers = []; 173 modifiers = [];
164 if (shift) 174 if (shift)
165 modifiers[0] = "shiftKey"; 175 modifiers[0] = "shiftKey";
166 if (metaOrCtrl) { 176 if (metaOrCtrl) {
167 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) 177 if (navigator.userAgent.search(/\bMac OS X\b/) != -1)
168 modifiers[modifiers.length] = "metaKey"; 178 modifiers[modifiers.length] = "metaKey";
169 else 179 else
170 modifiers[modifiers.length] = "controlKey"; 180 modifiers[modifiers.length] = "ctrlKey";
171 } 181 }
172 182
173 document.getElementById(selId).focus(); 183 document.getElementById(selId).focus();
174 eventSender.keyDown(identifier, modifiers); 184 eventSender.keyDown(identifier, modifiers);
175 } 185 }
176 186
177 function getSelectedOptions(selId) 187 function getSelectedOptions(selId)
178 { 188 {
179 result = new Array; 189 result = new Array;
180 var sl = document.getElementById(selId); 190 var sl = document.getElementById(selId);
(...skipping 12 matching lines...) Expand all
193 </head> 203 </head>
194 <body onload="test()"> 204 <body onload="test()">
195 <select id="sl1" size=5 multiple onchange="log('onChange fired')"> 205 <select id="sl1" size=5 multiple onchange="log('onChange fired')">
196 <option selected value="0">item 0</option> 206 <option selected value="0">item 0</option>
197 <option value="1">item 1 207 <option value="1">item 1
198 <option value="2">item 2 208 <option value="2">item 2
199 <option value="3">item 3 209 <option value="3">item 3
200 </select> 210 </select>
201 </body> 211 </body>
202 </html> 212 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698