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

Unified 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 assertEq instead of assertTrue in testQuerySelectorFromRemovedNode() Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/api/automation.idl
diff --git a/chrome/common/extensions/api/automation.idl b/chrome/common/extensions/api/automation.idl
index 2c48253a86f695ee4cf2d8bf473f5cb6924041dc..c24eed354d42b9feae42cf462008936ced015d38 100644
--- a/chrome/common/extensions/api/automation.idl
+++ b/chrome/common/extensions/api/automation.idl
@@ -220,6 +220,14 @@
long height;
};
+ // The parameters for a <code>query</code>.
+ dictionary QueryInfo {
dmazzoni 2014/10/31 22:02:07 unused?
aboxhall 2014/10/31 22:10:53 Done.
+ DOMString? querySelector;
+ };
+
+ // Called when the result for a <code>query</code> is available.
+ callback QueryCallback = void(AutomationNode node);
+
// An event in the Automation tree.
[nocompile, noinline_doc] dictionary AutomationEvent {
// The $(ref:automation.AutomationNode) to which the event was targeted.
@@ -292,6 +300,22 @@
// Removes a listener for the given event type and event phase.
static void removeEventListener(
EventType eventType, AutomationListener listener, boolean capture);
+
+ // Gets the first node in this node's subtree which matches the given CSS
+ // selector and is within the same DOM context.
+ //
+ // If this node doesn't correspond directly with an HTML node in the DOM,
+ // querySelector will be run on this node's nearest HTML node ancestor. Note
+ // that this may result in the query returning a node which is not a
+ // descendant of this node.
+ //
+ // If the selector matches a node which doesn't directly correspond to an
+ // automation node (for example an element within an ARIA widget, where the
+ // ARIA widget forms one node of the automation tree, or an element which
+ // is hidden from accessibility via hiding it using CSS or using
+ // aria-hidden), this will return the nearest ancestor which does correspond
+ // to an automation node.
+ static void querySelector(DOMString selector, QueryCallback callback);
};
// Called when the <code>AutomationRootNode</code> for the page is available.

Powered by Google App Engine
This is Rietveld 408576698