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

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

Issue 830053004: Suppress accessibility events when user is navigating away. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase, disable test for now Created 5 years, 10 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_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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698