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

Side by Side Diff: third_party/WebKit/public/web/WebAXObject.h

Issue 2047873002: Add interface to get relative bounding box rect of AX objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Separate out one change that broke existing tests Created 4 years, 6 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 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 46
47 namespace blink { 47 namespace blink {
48 48
49 class AXObject; 49 class AXObject;
50 class ScopedAXObjectCache; 50 class ScopedAXObjectCache;
51 class WebAXObject; 51 class WebAXObject;
52 class WebNode; 52 class WebNode;
53 class WebDocument; 53 class WebDocument;
54 class WebString; 54 class WebString;
55 class WebURL; 55 class WebURL;
56 struct WebFloatRect;
56 struct WebPoint; 57 struct WebPoint;
57 struct WebRect; 58 struct WebRect;
58 59
59 // An instance of this class, while kept alive, indicates that accessibility 60 // An instance of this class, while kept alive, indicates that accessibility
60 // should be temporarily enabled. If accessibility was enabled globally 61 // should be temporarily enabled. If accessibility was enabled globally
61 // (WebSettings::setAccessibilityEnabled), this will have no effect. 62 // (WebSettings::setAccessibilityEnabled), this will have no effect.
62 class WebScopedAXContext { 63 class WebScopedAXContext {
63 public: 64 public:
64 BLINK_EXPORT WebScopedAXContext(WebDocument& rootDocument); 65 BLINK_EXPORT WebScopedAXContext(WebDocument& rootDocument);
65 BLINK_EXPORT ~WebScopedAXContext(); 66 BLINK_EXPORT ~WebScopedAXContext();
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 BLINK_EXPORT WebAXObject ariaActiveDescendant() const; 138 BLINK_EXPORT WebAXObject ariaActiveDescendant() const;
138 BLINK_EXPORT WebString ariaAutoComplete() const; 139 BLINK_EXPORT WebString ariaAutoComplete() const;
139 BLINK_EXPORT bool ariaControls(WebVector<WebAXObject>& controlsElements) con st; 140 BLINK_EXPORT bool ariaControls(WebVector<WebAXObject>& controlsElements) con st;
140 BLINK_EXPORT WebAXAriaCurrentState ariaCurrentState() const; 141 BLINK_EXPORT WebAXAriaCurrentState ariaCurrentState() const;
141 BLINK_EXPORT bool ariaFlowTo(WebVector<WebAXObject>& flowToElements) const; 142 BLINK_EXPORT bool ariaFlowTo(WebVector<WebAXObject>& flowToElements) const;
142 BLINK_EXPORT bool ariaHasPopup() const; 143 BLINK_EXPORT bool ariaHasPopup() const;
143 BLINK_EXPORT bool isEditable() const; 144 BLINK_EXPORT bool isEditable() const;
144 BLINK_EXPORT bool isMultiline() const; 145 BLINK_EXPORT bool isMultiline() const;
145 BLINK_EXPORT bool isRichlyEditable() const; 146 BLINK_EXPORT bool isRichlyEditable() const;
146 BLINK_EXPORT bool ariaOwns(WebVector<WebAXObject>& ownsElements) const; 147 BLINK_EXPORT bool ariaOwns(WebVector<WebAXObject>& ownsElements) const;
147 BLINK_EXPORT WebRect boundingBoxRect() const;
148 BLINK_EXPORT WebString fontFamily() const; 148 BLINK_EXPORT WebString fontFamily() const;
149 BLINK_EXPORT float fontSize() const; 149 BLINK_EXPORT float fontSize() const;
150 BLINK_EXPORT bool canvasHasFallbackContent() const; 150 BLINK_EXPORT bool canvasHasFallbackContent() const;
151 BLINK_EXPORT WebPoint clickPoint() const; 151 BLINK_EXPORT WebPoint clickPoint() const;
152 BLINK_EXPORT WebAXInvalidState invalidState() const; 152 BLINK_EXPORT WebAXInvalidState invalidState() const;
153 // Only used when invalidState() returns WebAXInvalidStateOther. 153 // Only used when invalidState() returns WebAXInvalidStateOther.
154 BLINK_EXPORT WebString ariaInvalidValue() const; 154 BLINK_EXPORT WebString ariaInvalidValue() const;
155 BLINK_EXPORT double estimatedLoadingProgress() const; 155 BLINK_EXPORT double estimatedLoadingProgress() const;
156 BLINK_EXPORT int headingLevel() const; 156 BLINK_EXPORT int headingLevel() const;
157 BLINK_EXPORT int hierarchicalLevel() const; 157 BLINK_EXPORT int hierarchicalLevel() const;
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 BLINK_EXPORT void characterOffsets(WebVector<int>&) const; 282 BLINK_EXPORT void characterOffsets(WebVector<int>&) const;
283 BLINK_EXPORT void wordBoundaries(WebVector<int>& starts, WebVector<int>& end s) const; 283 BLINK_EXPORT void wordBoundaries(WebVector<int>& starts, WebVector<int>& end s) const;
284 284
285 // Scrollable containers. 285 // Scrollable containers.
286 BLINK_EXPORT bool isScrollableContainer() const; 286 BLINK_EXPORT bool isScrollableContainer() const;
287 BLINK_EXPORT WebPoint scrollOffset() const; 287 BLINK_EXPORT WebPoint scrollOffset() const;
288 BLINK_EXPORT WebPoint minimumScrollOffset() const; 288 BLINK_EXPORT WebPoint minimumScrollOffset() const;
289 BLINK_EXPORT WebPoint maximumScrollOffset() const; 289 BLINK_EXPORT WebPoint maximumScrollOffset() const;
290 BLINK_EXPORT void setScrollOffset(const WebPoint&) const; 290 BLINK_EXPORT void setScrollOffset(const WebPoint&) const;
291 291
292 // Old bounds calcualtion interface. DEPRECATED, to be replaced with getRela tiveBounds.
aboxhall 2016/06/09 23:05:30 typo 'calcualtion'
dmazzoni 2016/06/10 16:55:40 Done.
293 BLINK_EXPORT WebRect boundingBoxRect() const;
294
295 // NEW bounds calculation interface. Every object's bounding box is returned
296 // relative to a container object (which is guaranteed to be an ancestor) an d
297 // optionally a transformation matrix that needs to be applied too.
298 // To compute the absolute bounding box of an element, start with its
299 // boundsInContainer and apply the transform. Then as long as its container is
300 // not null, walk up to its container and offset by the container's offset f rom
301 // origin, the container's scroll position if any, and apply the container's transform.
302 // Do this until you reach the root of the tree.
303 BLINK_EXPORT void getRelativeBounds(WebAXObject& offsetContainer, WebFloatRe ct& boundsInContainer, SkMatrix44& containerTransform) const;
304
292 // Transformation relative to the parent frame, if local (otherwise returns identity). 305 // Transformation relative to the parent frame, if local (otherwise returns identity).
306 // DEPRECATED, to be replaced with getRelativeBounds.
293 BLINK_EXPORT SkMatrix44 transformFromLocalParentFrame() const; 307 BLINK_EXPORT SkMatrix44 transformFromLocalParentFrame() const;
294 308
295 // Make this object visible by scrolling as many nested scrollable views as needed. 309 // Make this object visible by scrolling as many nested scrollable views as needed.
296 BLINK_EXPORT void scrollToMakeVisible() const; 310 BLINK_EXPORT void scrollToMakeVisible() const;
297 // Same, but if the whole object can't be made visible, try for this subrect , in local coordinates. 311 // Same, but if the whole object can't be made visible, try for this subrect , in local coordinates.
298 BLINK_EXPORT void scrollToMakeVisibleWithSubFocus(const WebRect&) const; 312 BLINK_EXPORT void scrollToMakeVisibleWithSubFocus(const WebRect&) const;
299 // Scroll this object to a given point in global coordinates of the top-leve l window. 313 // Scroll this object to a given point in global coordinates of the top-leve l window.
300 BLINK_EXPORT void scrollToGlobalPoint(const WebPoint&) const; 314 BLINK_EXPORT void scrollToGlobalPoint(const WebPoint&) const;
301 315
302 #if BLINK_IMPLEMENTATION 316 #if BLINK_IMPLEMENTATION
303 WebAXObject(AXObject*); 317 WebAXObject(AXObject*);
304 WebAXObject& operator=(AXObject*); 318 WebAXObject& operator=(AXObject*);
305 operator AXObject*() const; 319 operator AXObject*() const;
306 #endif 320 #endif
307 321
308 private: 322 private:
309 WebPrivatePtr<AXObject> m_private; 323 WebPrivatePtr<AXObject> m_private;
310 }; 324 };
311 325
312 } // namespace blink 326 } // namespace blink
313 327
314 #endif 328 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698