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

Side by Side Diff: content/browser/accessibility/browser_accessibility.cc

Issue 2795543002: Add GetScreenBoundsRect to ui::AXPlatformNodeDelegate (Closed)
Patch Set: Add GetScreenBoundsRect() to ui::AXPlatformNodeDelegate Created 3 years, 8 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 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "content/browser/accessibility/browser_accessibility.h" 5 #include "content/browser/accessibility/browser_accessibility.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <iterator> 10 #include <iterator>
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 FixEmptyBounds(&bounds); 368 FixEmptyBounds(&bounds);
369 return RelativeToAbsoluteBounds(bounds, true); 369 return RelativeToAbsoluteBounds(bounds, true);
370 } 370 }
371 371
372 gfx::Rect BrowserAccessibility::GetPageBoundsRect() const { 372 gfx::Rect BrowserAccessibility::GetPageBoundsRect() const {
373 gfx::RectF bounds = GetLocation(); 373 gfx::RectF bounds = GetLocation();
374 FixEmptyBounds(&bounds); 374 FixEmptyBounds(&bounds);
375 return RelativeToAbsoluteBounds(bounds, false); 375 return RelativeToAbsoluteBounds(bounds, false);
376 } 376 }
377 377
378 gfx::Rect BrowserAccessibility::GetScreenBoundsRect() const {
379 gfx::Rect bounds = GetPageBoundsRect();
380
381 // Adjust the bounds by the top left corner of the containing view's bounds
382 // in screen coordinates.
383 bounds.Offset(manager_->GetViewBounds().OffsetFromOrigin());
384
385 return bounds;
386 }
387
388 gfx::Rect BrowserAccessibility::GetPageBoundsForRange(int start, int len) 378 gfx::Rect BrowserAccessibility::GetPageBoundsForRange(int start, int len)
389 const { 379 const {
390 DCHECK_GE(start, 0); 380 DCHECK_GE(start, 0);
391 DCHECK_GE(len, 0); 381 DCHECK_GE(len, 0);
392 382
393 // Standard text fields such as textarea have an embedded div inside them that 383 // Standard text fields such as textarea have an embedded div inside them that
394 // holds all the text. 384 // holds all the text.
395 // TODO(nektar): This is fragile! Replace with code that flattens tree. 385 // TODO(nektar): This is fragile! Replace with code that flattens tree.
396 if (IsSimpleTextControl() && InternalChildCount() == 1) 386 if (IsSimpleTextControl() && InternalChildCount() == 1)
397 return InternalGetChild(0)->GetPageBoundsForRange(start, len); 387 return InternalGetChild(0)->GetPageBoundsForRange(start, len);
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after
1356 int BrowserAccessibility::GetChildCount() { 1346 int BrowserAccessibility::GetChildCount() {
1357 NOTREACHED(); 1347 NOTREACHED();
1358 return -1; 1348 return -1;
1359 } 1349 }
1360 1350
1361 gfx::NativeViewAccessible BrowserAccessibility::ChildAtIndex(int index) { 1351 gfx::NativeViewAccessible BrowserAccessibility::ChildAtIndex(int index) {
1362 NOTREACHED(); 1352 NOTREACHED();
1363 return nullptr; 1353 return nullptr;
1364 } 1354 }
1365 1355
1366 gfx::Vector2d BrowserAccessibility::GetGlobalCoordinateOffset() { 1356 gfx::Rect BrowserAccessibility::GetScreenBoundsRect() const {
1367 NOTREACHED(); 1357 gfx::Rect bounds = GetPageBoundsRect();
1368 return gfx::Vector2d(); 1358
1359 // Adjust the bounds by the top left corner of the containing view's bounds
1360 // in screen coordinates.
1361 bounds.Offset(manager_->GetViewBounds().OffsetFromOrigin());
1362
1363 return bounds;
1369 } 1364 }
1370 1365
1371 gfx::NativeViewAccessible BrowserAccessibility::HitTestSync(int x, int y) { 1366 gfx::NativeViewAccessible BrowserAccessibility::HitTestSync(int x, int y) {
1372 NOTREACHED(); 1367 NOTREACHED();
1373 return nullptr; 1368 return nullptr;
1374 } 1369 }
1375 1370
1376 gfx::NativeViewAccessible BrowserAccessibility::GetFocus() { 1371 gfx::NativeViewAccessible BrowserAccessibility::GetFocus() {
1377 NOTREACHED(); 1372 NOTREACHED();
1378 return nullptr; 1373 return nullptr;
1379 } 1374 }
1380 1375
1381 gfx::AcceleratedWidget 1376 gfx::AcceleratedWidget
1382 BrowserAccessibility::GetTargetForNativeAccessibilityEvent() { 1377 BrowserAccessibility::GetTargetForNativeAccessibilityEvent() {
1383 NOTREACHED(); 1378 NOTREACHED();
1384 return gfx::kNullAcceleratedWidget; 1379 return gfx::kNullAcceleratedWidget;
1385 } 1380 }
1386 1381
1387 bool BrowserAccessibility::AccessibilityPerformAction( 1382 bool BrowserAccessibility::AccessibilityPerformAction(
1388 const ui::AXActionData& data) { 1383 const ui::AXActionData& data) {
1389 NOTREACHED(); 1384 NOTREACHED();
1390 return false; 1385 return false;
1391 } 1386 }
1392 1387
1393 } // namespace content 1388 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698