| 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 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ | 5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ |
| 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ | 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ |
| 7 | 7 |
| 8 #include <oleacc.h> | 8 #include <oleacc.h> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 // The IAccessible for the parent window. | 36 // The IAccessible for the parent window. |
| 37 IAccessible* GetParentIAccessible(); | 37 IAccessible* GetParentIAccessible(); |
| 38 | 38 |
| 39 // Calls NotifyWinEvent if the parent window's IAccessible pointer is known. | 39 // Calls NotifyWinEvent if the parent window's IAccessible pointer is known. |
| 40 void MaybeCallNotifyWinEvent(DWORD event, BrowserAccessibility* node); | 40 void MaybeCallNotifyWinEvent(DWORD event, BrowserAccessibility* node); |
| 41 | 41 |
| 42 // IAccessible2UsageObserver | 42 // IAccessible2UsageObserver |
| 43 void OnIAccessible2Used() override; | 43 void OnIAccessible2Used() override; |
| 44 | 44 |
| 45 // BrowserAccessibilityManager methods | 45 // BrowserAccessibilityManager methods |
| 46 void OnWindowFocused() override; | |
| 47 void UserIsReloading() override; | 46 void UserIsReloading() override; |
| 48 void NotifyAccessibilityEvent( | 47 void NotifyAccessibilityEvent( |
| 49 ui::AXEvent event_type, BrowserAccessibility* node) override; | 48 ui::AXEvent event_type, BrowserAccessibility* node) override; |
| 49 bool CanFireEvents() override; |
| 50 void FireFocusEvent(BrowserAccessibility* node) override; |
| 50 | 51 |
| 51 // Track this object and post a VISIBLE_DATA_CHANGED notification when | 52 // Track this object and post a VISIBLE_DATA_CHANGED notification when |
| 52 // its container scrolls. | 53 // its container scrolls. |
| 53 // TODO(dmazzoni): remove once http://crbug.com/113483 is fixed. | 54 // TODO(dmazzoni): remove once http://crbug.com/113483 is fixed. |
| 54 void TrackScrollingObject(BrowserAccessibilityWin* node); | 55 void TrackScrollingObject(BrowserAccessibilityWin* node); |
| 55 | 56 |
| 56 // Called when |accessible_hwnd_| is deleted by its parent. | 57 // Called when |accessible_hwnd_| is deleted by its parent. |
| 57 void OnAccessibleHwndDeleted(); | 58 void OnAccessibleHwndDeleted(); |
| 58 | 59 |
| 59 protected: | 60 protected: |
| 60 // AXTree methods. | 61 // AXTree methods. |
| 61 void OnNodeWillBeDeleted(ui::AXTree* tree, ui::AXNode* node) override; | 62 void OnNodeWillBeDeleted(ui::AXTree* tree, ui::AXNode* node) override; |
| 62 void OnNodeCreated(ui::AXTree* tree, ui::AXNode* node) override; | 63 void OnNodeCreated(ui::AXTree* tree, ui::AXNode* node) override; |
| 63 void OnAtomicUpdateFinished( | 64 void OnAtomicUpdateFinished( |
| 64 ui::AXTree* tree, | 65 ui::AXTree* tree, |
| 65 bool root_changed, | 66 bool root_changed, |
| 66 const std::vector<ui::AXTreeDelegate::Change>& changes) override; | 67 const std::vector<ui::AXTreeDelegate::Change>& changes) override; |
| 67 | 68 |
| 68 private: | 69 private: |
| 69 // Give BrowserAccessibilityManager::Create access to our constructor. | 70 // Give BrowserAccessibilityManager::Create access to our constructor. |
| 70 friend class BrowserAccessibilityManager; | 71 friend class BrowserAccessibilityManager; |
| 71 | 72 |
| 72 // Track the most recent object that has been asked to scroll and | 73 // Track the most recent object that has been asked to scroll and |
| 73 // post a notification directly on it when it reaches its destination. | 74 // post a notification directly on it when it reaches its destination. |
| 74 // TODO(dmazzoni): remove once http://crbug.com/113483 is fixed. | 75 // TODO(dmazzoni): remove once http://crbug.com/113483 is fixed. |
| 75 BrowserAccessibilityWin* tracked_scroll_object_; | 76 BrowserAccessibilityWin* tracked_scroll_object_; |
| 76 | 77 |
| 77 // Set to true if we need to fire a focus event on the root as soon as | |
| 78 // possible. | |
| 79 bool focus_event_on_root_needed_; | |
| 80 | |
| 81 // A flag to keep track of if we're inside the OnWindowFocused call stack | |
| 82 // so we don't keep calling it recursively. | |
| 83 bool inside_on_window_focused_; | |
| 84 | |
| 85 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManagerWin); | 78 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManagerWin); |
| 86 }; | 79 }; |
| 87 | 80 |
| 88 } // namespace content | 81 } // namespace content |
| 89 | 82 |
| 90 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ | 83 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ |
| OLD | NEW |