| OLD | NEW |
| 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_manager_win.h" | 5 #include "content/browser/accessibility/browser_accessibility_manager_win.h" |
| 6 | 6 |
| 7 #include <atlbase.h> | 7 #include <atlbase.h> |
| 8 #include <atlapp.h> | 8 #include <atlapp.h> |
| 9 #include <atlcom.h> | 9 #include <atlcom.h> |
| 10 #include <atlcrack.h> | 10 #include <atlcrack.h> |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 BrowserAccessibilityManagerWin::BrowserAccessibilityManagerWin( | 112 BrowserAccessibilityManagerWin::BrowserAccessibilityManagerWin( |
| 113 HWND parent_hwnd, | 113 HWND parent_hwnd, |
| 114 IAccessible* parent_iaccessible, | 114 IAccessible* parent_iaccessible, |
| 115 const ui::AXNodeData& src, | 115 const ui::AXNodeData& src, |
| 116 BrowserAccessibilityDelegate* delegate, | 116 BrowserAccessibilityDelegate* delegate, |
| 117 BrowserAccessibilityFactory* factory) | 117 BrowserAccessibilityFactory* factory) |
| 118 : BrowserAccessibilityManager(src, delegate, factory), | 118 : BrowserAccessibilityManager(src, delegate, factory), |
| 119 parent_hwnd_(parent_hwnd), | 119 parent_hwnd_(parent_hwnd), |
| 120 parent_iaccessible_(parent_iaccessible), | 120 parent_iaccessible_(parent_iaccessible), |
| 121 tracked_scroll_object_(NULL), | 121 tracked_scroll_object_(NULL), |
| 122 is_chrome_frame_( | |
| 123 CommandLine::ForCurrentProcess()->HasSwitch("chrome-frame")), | |
| 124 accessible_hwnd_(NULL) { | 122 accessible_hwnd_(NULL) { |
| 125 } | 123 } |
| 126 | 124 |
| 127 BrowserAccessibilityManagerWin::~BrowserAccessibilityManagerWin() { | 125 BrowserAccessibilityManagerWin::~BrowserAccessibilityManagerWin() { |
| 128 if (tracked_scroll_object_) { | 126 if (tracked_scroll_object_) { |
| 129 tracked_scroll_object_->Release(); | 127 tracked_scroll_object_->Release(); |
| 130 tracked_scroll_object_ = NULL; | 128 tracked_scroll_object_ = NULL; |
| 131 } | 129 } |
| 132 if (accessible_hwnd_) | 130 if (accessible_hwnd_) |
| 133 accessible_hwnd_->OnManagerDeleted(); | 131 accessible_hwnd_->OnManagerDeleted(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 149 LONG child_id) { | 147 LONG child_id) { |
| 150 // Don't fire events if this view isn't hooked up to its parent. | 148 // Don't fire events if this view isn't hooked up to its parent. |
| 151 if (!parent_iaccessible()) | 149 if (!parent_iaccessible()) |
| 152 return; | 150 return; |
| 153 | 151 |
| 154 #if defined(USE_AURA) | 152 #if defined(USE_AURA) |
| 155 // If this is an Aura build on Win 7 and complete accessibility is | 153 // If this is an Aura build on Win 7 and complete accessibility is |
| 156 // enabled, create a fake child HWND to use as the root of the | 154 // enabled, create a fake child HWND to use as the root of the |
| 157 // accessibility tree. See comments above AccessibleHWND for details. | 155 // accessibility tree. See comments above AccessibleHWND for details. |
| 158 if (BrowserAccessibilityStateImpl::GetInstance()->IsAccessibleBrowser() && | 156 if (BrowserAccessibilityStateImpl::GetInstance()->IsAccessibleBrowser() && |
| 159 !is_chrome_frame_ && | |
| 160 !accessible_hwnd_) { | 157 !accessible_hwnd_) { |
| 161 accessible_hwnd_ = new AccessibleHWND(parent_hwnd_, this); | 158 accessible_hwnd_ = new AccessibleHWND(parent_hwnd_, this); |
| 162 parent_hwnd_ = accessible_hwnd_->hwnd(); | 159 parent_hwnd_ = accessible_hwnd_->hwnd(); |
| 163 parent_iaccessible_ = accessible_hwnd_->window_accessible(); | 160 parent_iaccessible_ = accessible_hwnd_->window_accessible(); |
| 164 } | 161 } |
| 165 #endif | 162 #endif |
| 166 | 163 |
| 167 ::NotifyWinEvent(event, parent_hwnd(), OBJID_CLIENT, child_id); | 164 ::NotifyWinEvent(event, parent_hwnd(), OBJID_CLIENT, child_id); |
| 168 } | 165 } |
| 169 | 166 |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 // |parent_iaccessible_| are no longer valid either, since they were | 313 // |parent_iaccessible_| are no longer valid either, since they were |
| 317 // derived from AccessibleHWND. We don't have to restore them to | 314 // derived from AccessibleHWND. We don't have to restore them to |
| 318 // previous values, though, because this should only happen | 315 // previous values, though, because this should only happen |
| 319 // during the destruct sequence for this window. | 316 // during the destruct sequence for this window. |
| 320 accessible_hwnd_ = NULL; | 317 accessible_hwnd_ = NULL; |
| 321 parent_hwnd_ = NULL; | 318 parent_hwnd_ = NULL; |
| 322 parent_iaccessible_ = NULL; | 319 parent_iaccessible_ = NULL; |
| 323 } | 320 } |
| 324 | 321 |
| 325 } // namespace content | 322 } // namespace content |
| OLD | NEW |