| Index: content/shell/test_runner/web_ax_object_proxy.cc
|
| diff --git a/content/shell/test_runner/web_ax_object_proxy.cc b/content/shell/test_runner/web_ax_object_proxy.cc
|
| index e9a49191218860385a7c246a9ad6342c3524c327..03ade01f59858b2253de37a0165a63445bb12b56 100644
|
| --- a/content/shell/test_runner/web_ax_object_proxy.cc
|
| +++ b/content/shell/test_runner/web_ax_object_proxy.cc
|
| @@ -327,17 +327,20 @@ blink::WebFloatRect BoundsForObject(const blink::WebAXObject& object) {
|
| blink::WebAXObject container;
|
| blink::WebFloatRect bounds;
|
| SkMatrix44 matrix;
|
| - object.GetRelativeBounds(container, bounds, matrix);
|
| + bool is_fixed_positioned;
|
| + object.GetRelativeBounds(container, bounds, matrix, is_fixed_positioned);
|
| gfx::RectF computedBounds(0, 0, bounds.width, bounds.height);
|
| while (!container.IsDetached()) {
|
| computedBounds.Offset(bounds.x, bounds.y);
|
| - computedBounds.Offset(-container.GetScrollOffset().x,
|
| - -container.GetScrollOffset().y);
|
| + if (!is_fixed_positioned) {
|
| + computedBounds.Offset(-container.GetScrollOffset().x,
|
| + -container.GetScrollOffset().y);
|
| + }
|
| if (!matrix.isIdentity()) {
|
| gfx::Transform transform(matrix);
|
| transform.TransformRect(&computedBounds);
|
| }
|
| - container.GetRelativeBounds(container, bounds, matrix);
|
| + container.GetRelativeBounds(container, bounds, matrix, is_fixed_positioned);
|
| }
|
| return blink::WebFloatRect(computedBounds.x(), computedBounds.y(),
|
| computedBounds.width(), computedBounds.height());
|
| @@ -1810,7 +1813,9 @@ v8::Local<v8::Object> WebAXObjectProxy::OffsetContainer() {
|
| blink::WebAXObject container;
|
| blink::WebFloatRect bounds;
|
| SkMatrix44 matrix;
|
| - accessibility_object_.GetRelativeBounds(container, bounds, matrix);
|
| + bool is_fixed_positioned;
|
| + accessibility_object_.GetRelativeBounds(container, bounds, matrix,
|
| + is_fixed_positioned);
|
| return factory_->GetOrCreate(container);
|
| }
|
|
|
| @@ -1819,7 +1824,9 @@ float WebAXObjectProxy::BoundsInContainerX() {
|
| blink::WebAXObject container;
|
| blink::WebFloatRect bounds;
|
| SkMatrix44 matrix;
|
| - accessibility_object_.GetRelativeBounds(container, bounds, matrix);
|
| + bool is_fixed_positioned;
|
| + accessibility_object_.GetRelativeBounds(container, bounds, matrix,
|
| + is_fixed_positioned);
|
| return bounds.x;
|
| }
|
|
|
| @@ -1828,7 +1835,9 @@ float WebAXObjectProxy::BoundsInContainerY() {
|
| blink::WebAXObject container;
|
| blink::WebFloatRect bounds;
|
| SkMatrix44 matrix;
|
| - accessibility_object_.GetRelativeBounds(container, bounds, matrix);
|
| + bool is_fixed_positioned;
|
| + accessibility_object_.GetRelativeBounds(container, bounds, matrix,
|
| + is_fixed_positioned);
|
| return bounds.y;
|
| }
|
|
|
| @@ -1837,7 +1846,9 @@ float WebAXObjectProxy::BoundsInContainerWidth() {
|
| blink::WebAXObject container;
|
| blink::WebFloatRect bounds;
|
| SkMatrix44 matrix;
|
| - accessibility_object_.GetRelativeBounds(container, bounds, matrix);
|
| + bool is_fixed_positioned;
|
| + accessibility_object_.GetRelativeBounds(container, bounds, matrix,
|
| + is_fixed_positioned);
|
| return bounds.width;
|
| }
|
|
|
| @@ -1846,7 +1857,9 @@ float WebAXObjectProxy::BoundsInContainerHeight() {
|
| blink::WebAXObject container;
|
| blink::WebFloatRect bounds;
|
| SkMatrix44 matrix;
|
| - accessibility_object_.GetRelativeBounds(container, bounds, matrix);
|
| + bool is_fixed_positioned;
|
| + accessibility_object_.GetRelativeBounds(container, bounds, matrix,
|
| + is_fixed_positioned);
|
| return bounds.height;
|
| }
|
|
|
| @@ -1856,7 +1869,9 @@ bool WebAXObjectProxy::HasNonIdentityTransform() {
|
| blink::WebAXObject container;
|
| blink::WebFloatRect bounds;
|
| SkMatrix44 matrix;
|
| - accessibility_object_.GetRelativeBounds(container, bounds, matrix);
|
| + bool is_fixed_positioned;
|
| + accessibility_object_.GetRelativeBounds(container, bounds, matrix,
|
| + is_fixed_positioned);
|
| return !matrix.isIdentity();
|
| }
|
|
|
|
|