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

Unified Diff: third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp

Issue 2956053005: Keep track of fixed positioning in accessibility tree.
Patch Set: GetSimpleRelativeBounds, add failing test for fixed with transform Created 3 years, 5 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: third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp
diff --git a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp
index 5976ccf44b0ac11c8c54fd7ffe37b60d541e3fde..7def79a36135ba69b7586494e6065d2321a45ee4 100644
--- a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp
+++ b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp
@@ -2064,13 +2064,14 @@ bool AXNodeObject::NameFromLabelElement() const {
return false;
}
-void AXNodeObject::GetRelativeBounds(
- AXObject** out_container,
- FloatRect& out_bounds_in_container,
- SkMatrix44& out_container_transform) const {
+void AXNodeObject::GetRelativeBounds(AXObject** out_container,
+ FloatRect& out_bounds_in_container,
+ SkMatrix44& out_container_transform,
+ bool& out_is_fixed_positioned) const {
if (LayoutObjectForRelativeBounds()) {
AXObject::GetRelativeBounds(out_container, out_bounds_in_container,
- out_container_transform);
+ out_container_transform,
+ out_is_fixed_positioned);
return;
}
@@ -2099,7 +2100,8 @@ void AXNodeObject::GetRelativeBounds(
if (AXObject* obj = AxObjectCache().Get(&child)) {
AXObject* container;
FloatRect bounds;
- obj->GetRelativeBounds(&container, bounds, out_container_transform);
+ obj->GetRelativeBounds(&container, bounds, out_container_transform,
+ out_is_fixed_positioned);
if (container) {
*out_container = container;
rects.push_back(bounds);
@@ -2122,7 +2124,8 @@ void AXNodeObject::GetRelativeBounds(
position_provider = position_provider->ParentObject()) {
if (position_provider->IsAXLayoutObject()) {
position_provider->GetRelativeBounds(
- out_container, out_bounds_in_container, out_container_transform);
+ out_container, out_bounds_in_container, out_container_transform,
+ out_is_fixed_positioned);
if (*out_container)
out_bounds_in_container.SetSize(
FloatSize(out_bounds_in_container.Width(),

Powered by Google App Engine
This is Rietveld 408576698