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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/forms/access-key-for-all-elements.html

Issue 2619963002: Improve performance of access-key-for-all-elements.html. (Closed)
Patch Set: Created 3 years, 11 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 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 </head>
6 <body> 2 <body>
3 <script src="../../resources/testharness.js"></script>
4 <script src="../../resources/testharnessreport.js"></script>
7 <script> 5 <script>
8 description('This test checks to see if accesskey attributes works on all elemen ts.'); 6 var modifiers;
kochi 2017/01/10 03:53:31 nit: how about using 'const' instead of 'var'?
kochi 2017/01/10 03:53:31 nit: maybe 'use strict'; ?
tkent 2017/01/10 05:15:53 Done
7 if (/\bMac OS X\b/.test(navigator.userAgent))
8 modifiers = ["ctrlKey", "altKey"];
kochi 2017/01/10 03:53:31 nit: looks like this file contains both 2 and 4 ta
tkent 2017/01/10 05:15:53 Done.
9 else
10 modifiers = ["altKey"];
9 11
10 function pressKey(key) 12 function pressKey(key)
11 { 13 {
12 if (/\bMac OS X\b/.test(navigator.userAgent))
13 modifiers = ["ctrlKey", "altKey"];
14 else
15 modifiers = ["altKey"];
16 eventSender.keyDown(key, modifiers); 14 eventSender.keyDown(key, modifiers);
17 } 15 }
18 16
19 var tagNames = ["a","abbr","acronym","address","applet","area","article","aside" ,"audio","b","base","basefont","bdo","bgsound","big","blockquote", 17 var tagNames = ["a","abbr","acronym","address", "area","article","aside","audio" ,"b","base","basefont","bdo","bgsound","big","blockquote",
20 "body","br","canvas","caption","center","cite","code","col","colgroup","comm and","datalist","dd","del","details","dfn","dir","div","dl","dt", 18 "body","br","canvas","caption","center","cite","code","col","colgroup", "dat alist","dd","del","details","dfn","dir","div","dl","dt",
21 "em","embed","fieldset","figcaption","figure","font","footer","form","frame" ,"frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html", 19 "em","embed","fieldset","figcaption","figure","font","footer","form","frame" ,"frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html",
22 "i","iframe","img","ins","kbd","keygen","label","layer","li","link","listing ","main","map","mark","marquee","menu","meta","meter","nav", 20 "i","iframe","img","ins","kbd", "label","layer","li","link","listing","main" ,"map","mark","marquee","menu","meta","meter","nav",
23 "nobr","noembed","noframes","nolayer","noscript","object","ol","output","p", "param","plaintext","pre","progress","q","rp","rt","ruby","s", 21 "nobr","noembed","noframes","nolayer","noscript","object","ol","output","p", "param","plaintext","pre","progress","q","rp","rt","ruby","s",
24 "samp","script","section","small","source","span","strike","strong","style", "sub","summary","sup","table","tbody","td","tfoot","th","thead", 22 "samp","script","section","small","source","span","strike","strong","style", "sub","summary","sup","table","tbody","td","tfoot","th","thead",
25 "title","tr","track","tt","u","ul","var","video","wbr","xmp"]; 23 "title","tr","track","tt","u","ul","var","video","wbr","xmp"];
26 24
27 for (var i = 0 ; i < tagNames.length; i++) { 25 for (var i = 0 ; i < tagNames.length; i++) {
kochi 2017/01/10 03:53:31 nit: tagNames.forEach((name) => {...}); ?
tkent 2017/01/10 05:15:53 Done.
28 var testElement = document.createElement(tagNames[i]); 26 var name = tagNames[i];
27 test(() => {
28 var testElement = document.createElement(name);
29 document.body.appendChild(testElement); 29 document.body.appendChild(testElement);
30 var clicked = false; 30 var clicked = false;
31 testElement.onclick = function () { clicked = true; } 31 testElement.onclick = () => { clicked = true; }
32 var focused = false; 32 var focused = false;
33 testElement.onfocus = function () { focused = true; } 33 testElement.onfocus = () => { focused = true; }
34 debug('Check for ' + testElement.tagName + ' tag'); 34
35 shouldBeDefined('testElement.accessKey'); 35 assert_not_equals(testElement.accessKey, undefined);
36 shouldBeTrue("testElement.accessKey ='k'; testElement.accessKey == 'k'"); 36
37 shouldBe("pressKey(testElement.accessKey);[clicked, focused]", "[true, false ]"); 37 testElement.accessKey = 'k';
38 debug(''); 38 assert_equals(testElement.accessKey, 'k');
39
40 pressKey(testElement.accessKey);
41 assert_true(clicked, 'Pressing access key should trigger click handler.');
42 assert_false(focused, 'Pressing access key should not focus on the element.' );
43
44 document.body.removeChild(testElement);
45 }, 'Check for ' + name + ' tag');
39 } 46 }
40 </script> 47 </script>
41 <div id="console"></div>
42 </body> 48 </body>
43 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698