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

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: Created 5 years, 11 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(bool is_reload) {
nasko 2015/02/03 17:28:05 This is unused. Why add this parameter now?
dmazzoni 2015/02/03 17:40:54 I added it here to let you know it's something I'd
158 user_is_navigating_away_ = true;
159 }
160
161 void BrowserAccessibilityManager::NavigationSucceeded() {
162 user_is_navigating_away_ = false;
163 }
164
165 void BrowserAccessibilityManager::NavigationFailed() {
166 user_is_navigating_away_ = false;
167 }
168
155 void BrowserAccessibilityManager::GotMouseDown() { 169 void BrowserAccessibilityManager::GotMouseDown() {
156 osk_state_ = OSK_ALLOWED_WITHIN_FOCUSED_OBJECT; 170 osk_state_ = OSK_ALLOWED_WITHIN_FOCUSED_OBJECT;
157 NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, GetFromAXNode(focus_)); 171 NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, GetFromAXNode(focus_));
158 } 172 }
159 173
160 bool BrowserAccessibilityManager::UseRootScrollOffsetsWhenComputingBounds() { 174 bool BrowserAccessibilityManager::UseRootScrollOffsetsWhenComputingBounds() {
161 return true; 175 return true;
162 } 176 }
163 177
164 void BrowserAccessibilityManager::OnAccessibilityEvents( 178 void BrowserAccessibilityManager::OnAccessibilityEvents(
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 ui::AXTreeUpdate BrowserAccessibilityManager::SnapshotAXTreeForTesting() { 450 ui::AXTreeUpdate BrowserAccessibilityManager::SnapshotAXTreeForTesting() {
437 scoped_ptr<ui::AXTreeSource<const ui::AXNode*> > tree_source( 451 scoped_ptr<ui::AXTreeSource<const ui::AXNode*> > tree_source(
438 tree_->CreateTreeSource()); 452 tree_->CreateTreeSource());
439 ui::AXTreeSerializer<const ui::AXNode*> serializer(tree_source.get()); 453 ui::AXTreeSerializer<const ui::AXNode*> serializer(tree_source.get());
440 ui::AXTreeUpdate update; 454 ui::AXTreeUpdate update;
441 serializer.SerializeChanges(tree_->GetRoot(), &update); 455 serializer.SerializeChanges(tree_->GetRoot(), &update);
442 return update; 456 return update;
443 } 457 }
444 458
445 } // namespace content 459 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698