OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "views/controls/native/native_view_host_win.h" | 5 #include "views/controls/native/native_view_host_win.h" |
6 | 6 |
| 7 #include <oleacc.h> |
| 8 |
7 #include "base/logging.h" | 9 #include "base/logging.h" |
8 #include "ui/gfx/canvas.h" | 10 #include "ui/gfx/canvas.h" |
9 #include "views/controls/native/native_view_host.h" | 11 #include "views/controls/native/native_view_host.h" |
10 #include "views/focus/focus_manager.h" | 12 #include "views/focus/focus_manager.h" |
11 #include "views/widget/native_widget.h" | 13 #include "views/widget/native_widget.h" |
12 #include "views/widget/root_view.h" | 14 #include "views/widget/root_view.h" |
13 #include "views/widget/widget.h" | 15 #include "views/widget/widget.h" |
14 | 16 |
15 namespace views { | 17 namespace views { |
16 | 18 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 // it. | 118 // it. |
117 SetWindowPos(host_->native_view(), 0, 0, 0, 0, 0, | 119 SetWindowPos(host_->native_view(), 0, 0, 0, 0, 0, |
118 SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | | 120 SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | |
119 SWP_NOREDRAW | SWP_NOOWNERZORDER); | 121 SWP_NOREDRAW | SWP_NOOWNERZORDER); |
120 } | 122 } |
121 | 123 |
122 void NativeViewHostWin::SetFocus() { | 124 void NativeViewHostWin::SetFocus() { |
123 ::SetFocus(host_->native_view()); | 125 ::SetFocus(host_->native_view()); |
124 } | 126 } |
125 | 127 |
| 128 gfx::NativeViewAccessible NativeViewHostWin::GetNativeViewAccessible() { |
| 129 HWND hwnd = host_->native_view(); |
| 130 if (!IsWindow(hwnd)) |
| 131 return NULL; |
| 132 |
| 133 LRESULT ret = SendMessage(hwnd, WM_GETOBJECT, 0, OBJID_CLIENT); |
| 134 IAccessible* accessible = NULL; |
| 135 HRESULT success = ObjectFromLresult( |
| 136 ret, IID_IDispatch, 0, reinterpret_cast<void**>(accessible)); |
| 137 if (success == S_OK) { |
| 138 return accessible; |
| 139 } else { |
| 140 return NULL; |
| 141 } |
| 142 } |
| 143 |
126 //////////////////////////////////////////////////////////////////////////////// | 144 //////////////////////////////////////////////////////////////////////////////// |
127 // NativeViewHostWrapper, public: | 145 // NativeViewHostWrapper, public: |
128 | 146 |
129 // static | 147 // static |
130 NativeViewHostWrapper* NativeViewHostWrapper::CreateWrapper( | 148 NativeViewHostWrapper* NativeViewHostWrapper::CreateWrapper( |
131 NativeViewHost* host) { | 149 NativeViewHost* host) { |
132 return new NativeViewHostWin(host); | 150 return new NativeViewHostWin(host); |
133 } | 151 } |
134 | 152 |
135 } // namespace views | 153 } // namespace views |
OLD | NEW |