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 "content/browser/android/java/gin_java_bridge_message_filter.h" | 5 #include "content/browser/android/java/gin_java_bridge_message_filter.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
10 #include "content/browser/android/java/gin_java_bridge_dispatcher_host.h" | 10 #include "content/browser/android/java/gin_java_bridge_dispatcher_host.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 // static | 87 // static |
88 scoped_refptr<GinJavaBridgeMessageFilter> GinJavaBridgeMessageFilter::FromHost( | 88 scoped_refptr<GinJavaBridgeMessageFilter> GinJavaBridgeMessageFilter::FromHost( |
89 GinJavaBridgeDispatcherHost* host, bool create_if_not_exists) { | 89 GinJavaBridgeDispatcherHost* host, bool create_if_not_exists) { |
90 RenderProcessHost* rph = host->web_contents()->GetRenderProcessHost(); | 90 RenderProcessHost* rph = host->web_contents()->GetRenderProcessHost(); |
91 scoped_refptr<GinJavaBridgeMessageFilter> filter = | 91 scoped_refptr<GinJavaBridgeMessageFilter> filter = |
92 base::UserDataAdapter<GinJavaBridgeMessageFilter>::Get( | 92 base::UserDataAdapter<GinJavaBridgeMessageFilter>::Get( |
93 rph, kGinJavaBridgeMessageFilterKey); | 93 rph, kGinJavaBridgeMessageFilterKey); |
94 if (!filter && create_if_not_exists) { | 94 if (!filter && create_if_not_exists) { |
95 filter = new GinJavaBridgeMessageFilter(); | 95 filter = new GinJavaBridgeMessageFilter(); |
96 rph->AddFilter(filter.get()); | 96 rph->AddFilter(filter.get()); |
97 rph->SetUserData(kGinJavaBridgeMessageFilterKey, | 97 rph->SetUserData( |
98 new base::UserDataAdapter<GinJavaBridgeMessageFilter>( | 98 kGinJavaBridgeMessageFilterKey, |
99 filter.get())); | 99 base::MakeUnique<base::UserDataAdapter<GinJavaBridgeMessageFilter>>( |
| 100 filter.get())); |
100 } | 101 } |
101 return filter; | 102 return filter; |
102 } | 103 } |
103 | 104 |
104 GinJavaBridgeDispatcherHost* GinJavaBridgeMessageFilter::FindHost() { | 105 GinJavaBridgeDispatcherHost* GinJavaBridgeMessageFilter::FindHost() { |
105 base::AutoLock locker(hosts_lock_); | 106 base::AutoLock locker(hosts_lock_); |
106 auto iter = hosts_.find(current_routing_id_); | 107 auto iter = hosts_.find(current_routing_id_); |
107 if (iter != hosts_.end()) | 108 if (iter != hosts_.end()) |
108 return iter->second; | 109 return iter->second; |
109 // Not being able to find a host is OK -- we can receive messages from | 110 // Not being able to find a host is OK -- we can receive messages from |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 } | 171 } |
171 | 172 |
172 // static | 173 // static |
173 void GinJavaBridgeMessageFilter::RemoveFilter( | 174 void GinJavaBridgeMessageFilter::RemoveFilter( |
174 GinJavaBridgeDispatcherHost* host) { | 175 GinJavaBridgeDispatcherHost* host) { |
175 RenderProcessHost* rph = host->web_contents()->GetRenderProcessHost(); | 176 RenderProcessHost* rph = host->web_contents()->GetRenderProcessHost(); |
176 rph->RemoveUserData(kGinJavaBridgeMessageFilterKey); | 177 rph->RemoveUserData(kGinJavaBridgeMessageFilterKey); |
177 } | 178 } |
178 | 179 |
179 } // namespace content | 180 } // namespace content |
OLD | NEW |