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

Side by Side Diff: chrome/common/extensions/api/automation.idl

Issue 655273005: Implement AutomationNode.querySelector(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Use enums instead of strings for error messages Created 6 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // The <code>chrome.automation</code> API allows developers to access the 5 // The <code>chrome.automation</code> API allows developers to access the
6 // automation (accessibility) tree for the browser. The tree resembles the DOM 6 // automation (accessibility) tree for the browser. The tree resembles the DOM
7 // tree, but only exposes the <em>semantic</em> structure of a page. It can be 7 // tree, but only exposes the <em>semantic</em> structure of a page. It can be
8 // used to programmatically interact with a page by examining names, roles, and 8 // used to programmatically interact with a page by examining names, roles, and
9 // states, listening for events, and performing actions on nodes. 9 // states, listening for events, and performing actions on nodes.
10 [nocompile] namespace automation { 10 [nocompile] namespace automation {
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 visited 213 visited
214 }; 214 };
215 215
216 dictionary Rect { 216 dictionary Rect {
217 long left; 217 long left;
218 long top; 218 long top;
219 long width; 219 long width;
220 long height; 220 long height;
221 }; 221 };
222 222
223 // Called when the result for a <code>query</code> is available.
224 callback QueryCallback = void(AutomationNode node);
225
223 // An event in the Automation tree. 226 // An event in the Automation tree.
224 [nocompile, noinline_doc] dictionary AutomationEvent { 227 [nocompile, noinline_doc] dictionary AutomationEvent {
225 // The $(ref:automation.AutomationNode) to which the event was targeted. 228 // The $(ref:automation.AutomationNode) to which the event was targeted.
226 AutomationNode target; 229 AutomationNode target;
227 230
228 // The type of the event. 231 // The type of the event.
229 EventType type; 232 EventType type;
230 233
231 // Stops this event from further processing except for any remaining 234 // Stops this event from further processing except for any remaining
232 // listeners on $(ref:AutomationEvent.target). 235 // listeners on $(ref:AutomationEvent.target).
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 // Sets selection within a text field. 288 // Sets selection within a text field.
286 static void setSelection(long startIndex, long endIndex); 289 static void setSelection(long startIndex, long endIndex);
287 290
288 // Adds a listener for the given event type and event phase. 291 // Adds a listener for the given event type and event phase.
289 static void addEventListener( 292 static void addEventListener(
290 EventType eventType, AutomationListener listener, boolean capture); 293 EventType eventType, AutomationListener listener, boolean capture);
291 294
292 // Removes a listener for the given event type and event phase. 295 // Removes a listener for the given event type and event phase.
293 static void removeEventListener( 296 static void removeEventListener(
294 EventType eventType, AutomationListener listener, boolean capture); 297 EventType eventType, AutomationListener listener, boolean capture);
298
299 // Gets the first node in this node's subtree which matches the given CSS
300 // selector and is within the same DOM context.
301 //
302 // If this node doesn't correspond directly with an HTML node in the DOM,
303 // querySelector will be run on this node's nearest HTML node ancestor. Note
304 // that this may result in the query returning a node which is not a
305 // descendant of this node.
306 //
307 // If the selector matches a node which doesn't directly correspond to an
308 // automation node (for example an element within an ARIA widget, where the
309 // ARIA widget forms one node of the automation tree, or an element which
310 // is hidden from accessibility via hiding it using CSS or using
311 // aria-hidden), this will return the nearest ancestor which does correspond
312 // to an automation node.
313 static void querySelector(DOMString selector, QueryCallback callback);
295 }; 314 };
296 315
297 // Called when the <code>AutomationRootNode</code> for the page is available. 316 // Called when the <code>AutomationRootNode</code> for the page is available.
298 callback RootCallback = void(AutomationRootNode rootNode); 317 callback RootCallback = void(AutomationRootNode rootNode);
299 318
300 // The root node of the automation tree for a single frame or desktop. 319 // The root node of the automation tree for a single frame or desktop.
301 // This may be: 320 // This may be:
302 // <ul> 321 // <ul>
303 // <li> The desktop 322 // <li> The desktop
304 // <li> The top frame of a page 323 // <li> The top frame of a page
(...skipping 25 matching lines...) Expand all
330 // tree with a placeholder root node; listen for the "loadComplete" event to 349 // tree with a placeholder root node; listen for the "loadComplete" event to
331 // get a notification that the tree has fully loaded (the previous root node 350 // get a notification that the tree has fully loaded (the previous root node
332 // reference will stop working at or before this point). 351 // reference will stop working at or before this point).
333 [nocompile] static void getTree(optional long tabId, RootCallback callback); 352 [nocompile] static void getTree(optional long tabId, RootCallback callback);
334 353
335 // Get the automation tree for the whole desktop which consists of all on 354 // Get the automation tree for the whole desktop which consists of all on
336 // screen views. Note this API is currently only supported on Chrome OS. 355 // screen views. Note this API is currently only supported on Chrome OS.
337 [nocompile] static void getDesktop(RootCallback callback); 356 [nocompile] static void getDesktop(RootCallback callback);
338 }; 357 };
339 }; 358 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698