OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |