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

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

Issue 415633002: Simplify access to LegacyRenderWidgetHostHWND. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@render_frame_ax_4
Patch Set: Rebase and fix style issue Created 6 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 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_win.h" 5 #include "content/browser/accessibility/browser_accessibility_win.h"
6 6
7 #include <UIAutomationClient.h> 7 #include <UIAutomationClient.h>
8 #include <UIAutomationCoreApi.h> 8 #include <UIAutomationCoreApi.h>
9 9
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 return E_FAIL; 493 return E_FAIL;
494 494
495 if (!disp_parent) 495 if (!disp_parent)
496 return E_INVALIDARG; 496 return E_INVALIDARG;
497 497
498 IAccessible* parent_obj = GetParent()->ToBrowserAccessibilityWin(); 498 IAccessible* parent_obj = GetParent()->ToBrowserAccessibilityWin();
499 if (parent_obj == NULL) { 499 if (parent_obj == NULL) {
500 // This happens if we're the root of the tree; 500 // This happens if we're the root of the tree;
501 // return the IAccessible for the window. 501 // return the IAccessible for the window.
502 parent_obj = 502 parent_obj =
503 manager()->ToBrowserAccessibilityManagerWin()->parent_iaccessible(); 503 manager()->ToBrowserAccessibilityManagerWin()->GetParentIAccessible();
504 // |parent| can only be NULL if the manager was created before the parent 504 // |parent| can only be NULL if the manager was created before the parent
505 // IAccessible was known and it wasn't subsequently set before a client 505 // IAccessible was known and it wasn't subsequently set before a client
506 // requested it. This has been fixed. |parent| may also be NULL during 506 // requested it. This has been fixed. |parent| may also be NULL during
507 // destruction. Possible cases where this could occur include tabs being 507 // destruction. Possible cases where this could occur include tabs being
508 // dragged to a new window, etc. 508 // dragged to a new window, etc.
509 if (!parent_obj) { 509 if (!parent_obj) {
510 DVLOG(1) << "In Function: " 510 DVLOG(1) << "In Function: "
511 << __FUNCTION__ 511 << __FUNCTION__
512 << ". Parent IAccessible interface is NULL. Returning failure"; 512 << ". Parent IAccessible interface is NULL. Returning failure";
513 return E_FAIL; 513 return E_FAIL;
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 return S_OK; 733 return S_OK;
734 } 734 }
735 735
736 STDMETHODIMP BrowserAccessibilityWin::get_windowHandle(HWND* window_handle) { 736 STDMETHODIMP BrowserAccessibilityWin::get_windowHandle(HWND* window_handle) {
737 if (!instance_active()) 737 if (!instance_active())
738 return E_FAIL; 738 return E_FAIL;
739 739
740 if (!window_handle) 740 if (!window_handle)
741 return E_INVALIDARG; 741 return E_INVALIDARG;
742 742
743 *window_handle = manager()->ToBrowserAccessibilityManagerWin()->parent_hwnd(); 743 *window_handle =
744 manager()->ToBrowserAccessibilityManagerWin()->GetParentHWND();
744 if (!*window_handle) 745 if (!*window_handle)
745 return E_FAIL; 746 return E_FAIL;
746 747
747 return S_OK; 748 return S_OK;
748 } 749 }
749 750
750 STDMETHODIMP BrowserAccessibilityWin::get_indexInParent(LONG* index_in_parent) { 751 STDMETHODIMP BrowserAccessibilityWin::get_indexInParent(LONG* index_in_parent) {
751 if (!instance_active()) 752 if (!instance_active())
752 return E_FAIL; 753 return E_FAIL;
753 754
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
989 LONG* x, 990 LONG* x,
990 LONG* y) { 991 LONG* y) {
991 if (!instance_active()) 992 if (!instance_active())
992 return E_FAIL; 993 return E_FAIL;
993 994
994 if (!x || !y) 995 if (!x || !y)
995 return E_INVALIDARG; 996 return E_INVALIDARG;
996 997
997 if (coordinate_type == IA2_COORDTYPE_SCREEN_RELATIVE) { 998 if (coordinate_type == IA2_COORDTYPE_SCREEN_RELATIVE) {
998 HWND parent_hwnd = 999 HWND parent_hwnd =
999 manager()->ToBrowserAccessibilityManagerWin()->parent_hwnd(); 1000 manager()->ToBrowserAccessibilityManagerWin()->GetParentHWND();
1000 if (!parent_hwnd) 1001 if (!parent_hwnd)
1001 return E_FAIL; 1002 return E_FAIL;
1002 POINT top_left = {0, 0}; 1003 POINT top_left = {0, 0};
1003 ::ClientToScreen(parent_hwnd, &top_left); 1004 ::ClientToScreen(parent_hwnd, &top_left);
1004 *x = GetLocation().x() + top_left.x; 1005 *x = GetLocation().x() + top_left.x;
1005 *y = GetLocation().y() + top_left.y; 1006 *y = GetLocation().y() + top_left.y;
1006 } else if (coordinate_type == IA2_COORDTYPE_PARENT_RELATIVE) { 1007 } else if (coordinate_type == IA2_COORDTYPE_PARENT_RELATIVE) {
1007 *x = GetLocation().x(); 1008 *x = GetLocation().x();
1008 *y = GetLocation().y(); 1009 *y = GetLocation().y();
1009 if (GetParent()) { 1010 if (GetParent()) {
(...skipping 2782 matching lines...) Expand 10 before | Expand all | Expand 10 after
3792 // The role should always be set. 3793 // The role should always be set.
3793 DCHECK(!role_name_.empty() || ia_role_); 3794 DCHECK(!role_name_.empty() || ia_role_);
3794 3795
3795 // If we didn't explicitly set the IAccessible2 role, make it the same 3796 // If we didn't explicitly set the IAccessible2 role, make it the same
3796 // as the MSAA role. 3797 // as the MSAA role.
3797 if (!ia2_role_) 3798 if (!ia2_role_)
3798 ia2_role_ = ia_role_; 3799 ia2_role_ = ia_role_;
3799 } 3800 }
3800 3801
3801 } // namespace content 3802 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698