OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/frame_host/render_frame_host_impl.h" | 5 #include "content/browser/frame_host/render_frame_host_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 2232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2243 | 2243 |
2244 mojo::shell::mojom::InterfaceProviderPtr exposed_services; | 2244 mojo::shell::mojom::InterfaceProviderPtr exposed_services; |
2245 service_registry_->Bind(GetProxy(&exposed_services)); | 2245 service_registry_->Bind(GetProxy(&exposed_services)); |
2246 | 2246 |
2247 mojo::shell::mojom::InterfaceProviderPtr services; | 2247 mojo::shell::mojom::InterfaceProviderPtr services; |
2248 setup->ExchangeInterfaceProviders(routing_id_, GetProxy(&services), | 2248 setup->ExchangeInterfaceProviders(routing_id_, GetProxy(&services), |
2249 std::move(exposed_services)); | 2249 std::move(exposed_services)); |
2250 service_registry_->BindRemoteServiceProvider(std::move(services)); | 2250 service_registry_->BindRemoteServiceProvider(std::move(services)); |
2251 | 2251 |
2252 #if defined(OS_ANDROID) | 2252 #if defined(OS_ANDROID) |
2253 service_registry_android_.reset( | 2253 ServiceRegistrarAndroid::RegisterFrameHostServices(service_registry_.get()); |
2254 new ServiceRegistryAndroid(service_registry_.get())); | |
2255 ServiceRegistrarAndroid::RegisterFrameHostServices( | |
2256 service_registry_android_.get()); | |
2257 #endif | 2254 #endif |
2258 } | 2255 } |
2259 | 2256 |
2260 void RenderFrameHostImpl::InvalidateMojoConnection() { | 2257 void RenderFrameHostImpl::InvalidateMojoConnection() { |
2261 #if defined(OS_ANDROID) | |
2262 // The Android-specific service registry has a reference to | |
2263 // |service_registry_| and thus must be torn down first. | |
2264 service_registry_android_.reset(); | |
2265 #endif | |
2266 | |
2267 service_registry_.reset(); | 2258 service_registry_.reset(); |
2268 | 2259 |
2269 // Disconnect with ImageDownloader Mojo service in RenderFrame. | 2260 // Disconnect with ImageDownloader Mojo service in RenderFrame. |
2270 mojo_image_downloader_.reset(); | 2261 mojo_image_downloader_.reset(); |
2271 } | 2262 } |
2272 | 2263 |
2273 bool RenderFrameHostImpl::IsFocused() { | 2264 bool RenderFrameHostImpl::IsFocused() { |
2274 // TODO(mlamouri,kenrb): call GetRenderWidgetHost() directly when it stops | 2265 // TODO(mlamouri,kenrb): call GetRenderWidgetHost() directly when it stops |
2275 // returning nullptr in some cases. See https://crbug.com/455245. | 2266 // returning nullptr in some cases. See https://crbug.com/455245. |
2276 return RenderWidgetHostImpl::From( | 2267 return RenderWidgetHostImpl::From( |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2731 FrameTreeNode* focused_frame_tree_node = frame_tree_->GetFocusedFrame(); | 2722 FrameTreeNode* focused_frame_tree_node = frame_tree_->GetFocusedFrame(); |
2732 if (!focused_frame_tree_node) | 2723 if (!focused_frame_tree_node) |
2733 return; | 2724 return; |
2734 RenderFrameHostImpl* focused_frame = | 2725 RenderFrameHostImpl* focused_frame = |
2735 focused_frame_tree_node->current_frame_host(); | 2726 focused_frame_tree_node->current_frame_host(); |
2736 DCHECK(focused_frame); | 2727 DCHECK(focused_frame); |
2737 dst->focused_tree_id = focused_frame->GetAXTreeID(); | 2728 dst->focused_tree_id = focused_frame->GetAXTreeID(); |
2738 } | 2729 } |
2739 | 2730 |
2740 } // namespace content | 2731 } // namespace content |
OLD | NEW |