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

Side by Side Diff: chrome/browser/extensions/api/automation_internal/automation_event_router.cc

Issue 1155183006: Reimplement automation API on top of C++-backed AXTree. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@automation_faster_2
Patch Set: Address most feedback Created 5 years, 6 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/extensions/api/automation_internal/automation_event_rou ter.h" 5 #include "chrome/browser/extensions/api/automation_internal/automation_event_rou ter.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 void AutomationEventRouter::DispatchAccessibilityEvent( 55 void AutomationEventRouter::DispatchAccessibilityEvent(
56 const ExtensionMsg_AccessibilityEventParams& params) { 56 const ExtensionMsg_AccessibilityEventParams& params) {
57 for (const auto& listener : listeners_) { 57 for (const auto& listener : listeners_) {
58 if (!listener.desktop && 58 if (!listener.desktop &&
59 listener.tree_ids.find(params.tree_id) == listener.tree_ids.end()) { 59 listener.tree_ids.find(params.tree_id) == listener.tree_ids.end()) {
60 continue; 60 continue;
61 } 61 }
62 62
63 content::RenderProcessHost* rph = 63 content::RenderProcessHost* rph =
64 content::RenderProcessHost::FromID(listener.process_id); 64 content::RenderProcessHost::FromID(listener.process_id);
65 rph->Send(new ExtensionMsg_AccessibilityEvent(listener.routing_id, params)); 65 if (rph) {
aboxhall 2015/06/11 20:32:42 Could you add a comment as to why rph may not exis
dmazzoni 2015/06/12 17:51:36 I was wrong. It should always exist because we exp
66 rph->Send(new ExtensionMsg_AccessibilityEvent(listener.routing_id,
67 params));
68 }
66 } 69 }
67 } 70 }
68 71
69 void AutomationEventRouter::DispatchTreeDestroyedEvent( 72 void AutomationEventRouter::DispatchTreeDestroyedEvent(
70 int tree_id, 73 int tree_id,
71 content::BrowserContext* browser_context) { 74 content::BrowserContext* browser_context) {
72 std::string event_name( 75 std::string event_name(
73 api::automation_internal::OnAccessibilityTreeDestroyed::kEventName); 76 api::automation_internal::OnAccessibilityTreeDestroyed::kEventName);
74 scoped_ptr<base::ListValue> args( 77 scoped_ptr<base::ListValue> args(
75 api::automation_internal::OnAccessibilityTreeDestroyed::Create(tree_id)); 78 api::automation_internal::OnAccessibilityTreeDestroyed::Create(tree_id));
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 int process_id = rph->GetID(); 133 int process_id = rph->GetID();
131 std::remove_if( 134 std::remove_if(
132 listeners_.begin(), 135 listeners_.begin(),
133 listeners_.end(), 136 listeners_.end(),
134 [process_id](AutomationListener& item) { 137 [process_id](AutomationListener& item) {
135 return item.process_id = process_id; 138 return item.process_id = process_id;
136 }); 139 });
137 } 140 }
138 141
139 } // namespace extensions 142 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698