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.h" | 5 #include "content/browser/accessibility/browser_accessibility_manager.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "content/browser/accessibility/browser_accessibility.h" | 8 #include "content/browser/accessibility/browser_accessibility.h" |
9 #include "content/common/accessibility_messages.h" | 9 #include "content/common/accessibility_messages.h" |
10 #include "ui/accessibility/ax_tree_serializer.h" | 10 #include "ui/accessibility/ax_tree_serializer.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 } | 72 } |
73 #endif | 73 #endif |
74 | 74 |
75 BrowserAccessibilityManager::BrowserAccessibilityManager( | 75 BrowserAccessibilityManager::BrowserAccessibilityManager( |
76 BrowserAccessibilityDelegate* delegate, | 76 BrowserAccessibilityDelegate* delegate, |
77 BrowserAccessibilityFactory* factory) | 77 BrowserAccessibilityFactory* factory) |
78 : delegate_(delegate), | 78 : delegate_(delegate), |
79 factory_(factory), | 79 factory_(factory), |
80 tree_(new ui::AXSerializableTree()), | 80 tree_(new ui::AXSerializableTree()), |
81 focus_(NULL), | 81 focus_(NULL), |
| 82 user_is_navigating_away_(false), |
82 osk_state_(OSK_ALLOWED) { | 83 osk_state_(OSK_ALLOWED) { |
83 tree_->SetDelegate(this); | 84 tree_->SetDelegate(this); |
84 } | 85 } |
85 | 86 |
86 BrowserAccessibilityManager::BrowserAccessibilityManager( | 87 BrowserAccessibilityManager::BrowserAccessibilityManager( |
87 const ui::AXTreeUpdate& initial_tree, | 88 const ui::AXTreeUpdate& initial_tree, |
88 BrowserAccessibilityDelegate* delegate, | 89 BrowserAccessibilityDelegate* delegate, |
89 BrowserAccessibilityFactory* factory) | 90 BrowserAccessibilityFactory* factory) |
90 : delegate_(delegate), | 91 : delegate_(delegate), |
91 factory_(factory), | 92 factory_(factory), |
92 tree_(new ui::AXSerializableTree()), | 93 tree_(new ui::AXSerializableTree()), |
93 focus_(NULL), | 94 focus_(NULL), |
| 95 user_is_navigating_away_(false), |
94 osk_state_(OSK_ALLOWED) { | 96 osk_state_(OSK_ALLOWED) { |
95 tree_->SetDelegate(this); | 97 tree_->SetDelegate(this); |
96 Initialize(initial_tree); | 98 Initialize(initial_tree); |
97 } | 99 } |
98 | 100 |
99 BrowserAccessibilityManager::~BrowserAccessibilityManager() { | 101 BrowserAccessibilityManager::~BrowserAccessibilityManager() { |
100 tree_.reset(NULL); | 102 tree_.reset(NULL); |
101 } | 103 } |
102 | 104 |
103 void BrowserAccessibilityManager::Initialize( | 105 void BrowserAccessibilityManager::Initialize( |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 void BrowserAccessibilityManager::OnWindowFocused() { | 147 void BrowserAccessibilityManager::OnWindowFocused() { |
146 if (focus_) | 148 if (focus_) |
147 NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, GetFromAXNode(focus_)); | 149 NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, GetFromAXNode(focus_)); |
148 } | 150 } |
149 | 151 |
150 void BrowserAccessibilityManager::OnWindowBlurred() { | 152 void BrowserAccessibilityManager::OnWindowBlurred() { |
151 if (focus_) | 153 if (focus_) |
152 NotifyAccessibilityEvent(ui::AX_EVENT_BLUR, GetFromAXNode(focus_)); | 154 NotifyAccessibilityEvent(ui::AX_EVENT_BLUR, GetFromAXNode(focus_)); |
153 } | 155 } |
154 | 156 |
| 157 void BrowserAccessibilityManager::UserIsNavigatingAway() { |
| 158 user_is_navigating_away_ = true; |
| 159 } |
| 160 |
| 161 void BrowserAccessibilityManager::UserIsReloading() { |
| 162 user_is_navigating_away_ = true; |
| 163 } |
| 164 |
| 165 void BrowserAccessibilityManager::NavigationSucceeded() { |
| 166 user_is_navigating_away_ = false; |
| 167 } |
| 168 |
| 169 void BrowserAccessibilityManager::NavigationFailed() { |
| 170 user_is_navigating_away_ = false; |
| 171 } |
| 172 |
155 void BrowserAccessibilityManager::GotMouseDown() { | 173 void BrowserAccessibilityManager::GotMouseDown() { |
156 osk_state_ = OSK_ALLOWED_WITHIN_FOCUSED_OBJECT; | 174 osk_state_ = OSK_ALLOWED_WITHIN_FOCUSED_OBJECT; |
157 NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, GetFromAXNode(focus_)); | 175 NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, GetFromAXNode(focus_)); |
158 } | 176 } |
159 | 177 |
160 bool BrowserAccessibilityManager::UseRootScrollOffsetsWhenComputingBounds() { | 178 bool BrowserAccessibilityManager::UseRootScrollOffsetsWhenComputingBounds() { |
161 return true; | 179 return true; |
162 } | 180 } |
163 | 181 |
164 void BrowserAccessibilityManager::OnAccessibilityEvents( | 182 void BrowserAccessibilityManager::OnAccessibilityEvents( |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 ui::AXTreeUpdate BrowserAccessibilityManager::SnapshotAXTreeForTesting() { | 469 ui::AXTreeUpdate BrowserAccessibilityManager::SnapshotAXTreeForTesting() { |
452 scoped_ptr<ui::AXTreeSource<const ui::AXNode*> > tree_source( | 470 scoped_ptr<ui::AXTreeSource<const ui::AXNode*> > tree_source( |
453 tree_->CreateTreeSource()); | 471 tree_->CreateTreeSource()); |
454 ui::AXTreeSerializer<const ui::AXNode*> serializer(tree_source.get()); | 472 ui::AXTreeSerializer<const ui::AXNode*> serializer(tree_source.get()); |
455 ui::AXTreeUpdate update; | 473 ui::AXTreeUpdate update; |
456 serializer.SerializeChanges(tree_->GetRoot(), &update); | 474 serializer.SerializeChanges(tree_->GetRoot(), &update); |
457 return update; | 475 return update; |
458 } | 476 } |
459 | 477 |
460 } // namespace content | 478 } // namespace content |
OLD | NEW |