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

Side by Side Diff: chrome/test/data/webui/md_bookmarks/test_util.js

Issue 2872163002: MD Bookmarks: Add 'Open' command, to open in either the BMM or in new tabs (Closed)
Patch Set: Rebase Created 3 years, 7 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * Replace the current body of the test with a new element. 6 * Replace the current body of the test with a new element.
7 * @param {Element} element 7 * @param {Element} element
8 */ 8 */
9 function replaceBody(element) { 9 function replaceBody(element) {
10 PolymerTest.clearBody(); 10 PolymerTest.clearBody();
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 * @template T 87 * @template T
88 */ 88 */
89 function normalizeSet(set) { 89 function normalizeSet(set) {
90 return Array.from(set).sort(); 90 return Array.from(set).sort();
91 } 91 }
92 92
93 /** 93 /**
94 * Sends a custom click event to |element|. 94 * Sends a custom click event to |element|.
95 * @param {HTMLElement} element 95 * @param {HTMLElement} element
96 * @param {Object=} config 96 * @param {Object=} config
97 * @param {string=} eventname
97 */ 98 */
98 function customClick(element, config) { 99 function customClick(element, config, eventname) {
99 var props = { 100 var props = {
100 bubbles: true, 101 bubbles: true,
101 cancelable: true, 102 cancelable: true,
103 button: 0,
102 buttons: 1, 104 buttons: 1,
103 shiftKey: false, 105 shiftKey: false,
104 ctrlKey: false, 106 ctrlKey: false,
107 detail: 1,
105 }; 108 };
106 109
107 if (config) { 110 if (config) {
108 for (var key in config) 111 for (var key in config)
109 props[key] = config[key]; 112 props[key] = config[key];
110 } 113 }
111 114
115 eventname = eventname || 'click';
116
112 element.dispatchEvent(new MouseEvent('mousedown', props)); 117 element.dispatchEvent(new MouseEvent('mousedown', props));
113 element.dispatchEvent(new MouseEvent('mouseup', props)); 118 element.dispatchEvent(new MouseEvent('mouseup', props));
114 element.dispatchEvent(new MouseEvent('click', props)); 119 element.dispatchEvent(new MouseEvent(eventname, props));
115 } 120 }
116 121
117 /** 122 /**
118 * Returns a folder node beneath |rootNode| which matches |id|. 123 * Returns a folder node beneath |rootNode| which matches |id|.
119 * @param {BookmarksFolderNodeElement} rootNode 124 * @param {BookmarksFolderNodeElement} rootNode
120 * @param {string} id 125 * @param {string} id
121 * @return {BookmarksFolderNodeElement} 126 * @return {BookmarksFolderNodeElement}
122 */ 127 */
123 function findFolderNode(rootNode, id) { 128 function findFolderNode(rootNode, id) {
124 var nodes = [rootNode]; 129 var nodes = [rootNode];
125 var node; 130 var node;
126 while (nodes.length) { 131 while (nodes.length) {
127 node = nodes.pop(); 132 node = nodes.pop();
128 if (node.itemId == id) 133 if (node.itemId == id)
129 return node; 134 return node;
130 135
131 node.root.querySelectorAll('bookmarks-folder-node') 136 node.root.querySelectorAll('bookmarks-folder-node')
132 .forEach((x) => {nodes.unshift(x)}); 137 .forEach((x) => {nodes.unshift(x)});
133 } 138 }
134 } 139 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698