Chromium Code Reviews| 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 <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 3313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3324 | 3324 |
| 3325 Send(new FrameMsg_RunFileChooserResponse(routing_id_, files)); | 3325 Send(new FrameMsg_RunFileChooserResponse(routing_id_, files)); |
| 3326 } | 3326 } |
| 3327 | 3327 |
| 3328 bool RenderFrameHostImpl::HasSelection() { | 3328 bool RenderFrameHostImpl::HasSelection() { |
| 3329 return has_selection_; | 3329 return has_selection_; |
| 3330 } | 3330 } |
| 3331 | 3331 |
| 3332 void RenderFrameHostImpl::GetInterfaceProvider( | 3332 void RenderFrameHostImpl::GetInterfaceProvider( |
| 3333 service_manager::mojom::InterfaceProviderRequest interfaces) { | 3333 service_manager::mojom::InterfaceProviderRequest interfaces) { |
| 3334 service_manager::InterfaceProviderSpec browser_spec, renderer_spec; | 3334 service_manager::Identity child_identity = GetProcess()->GetChildIdentity(); |
| 3335 // TODO(beng): CHECK these return true. | 3335 child_identity.set_user_id( |
| 3336 service_manager::GetInterfaceProviderSpec( | 3336 BrowserContext::GetServiceUserIdFor(GetProcess()->GetBrowserContext())); |
|
Ken Rockot(use gerrit already)
2017/04/26 04:32:48
Weird - why wouldn't this already be set correctly
Ben Goodger (Google)
2017/04/26 17:00:07
No it uses kInheritUserID. Remember SM doesn't all
Ken Rockot(use gerrit already)
2017/04/26 17:39:19
Oh right. It's the BrowserContext's content_browse
| |
| 3337 mojom::kNavigation_FrameSpec, browser_info_.interface_provider_specs, | 3337 service_manager::Connector* connector = |
| 3338 &browser_spec); | 3338 BrowserContext::GetConnectorFor(GetProcess()->GetBrowserContext()); |
| 3339 service_manager::GetInterfaceProviderSpec( | 3339 connector->ApplySpec( |
| 3340 mojom::kNavigation_FrameSpec, renderer_info_.interface_provider_specs, | 3340 mojom::kNavigation_FrameSpec, child_identity, std::move(interfaces), |
| 3341 &renderer_spec); | 3341 interface_provider_bindings_.CreateInterfacePtrAndBind(this)); |
| 3342 interface_registry_->Bind(std::move(interfaces), | |
| 3343 browser_info_.identity, browser_spec, | |
| 3344 renderer_info_.identity, renderer_spec); | |
| 3345 } | 3342 } |
| 3346 | 3343 |
| 3347 #if BUILDFLAG(USE_EXTERNAL_POPUP_MENU) | 3344 #if BUILDFLAG(USE_EXTERNAL_POPUP_MENU) |
| 3348 #if defined(OS_MACOSX) | 3345 #if defined(OS_MACOSX) |
| 3349 | 3346 |
| 3350 void RenderFrameHostImpl::DidSelectPopupMenuItem(int selected_index) { | 3347 void RenderFrameHostImpl::DidSelectPopupMenuItem(int selected_index) { |
| 3351 Send(new FrameMsg_SelectPopupMenuItem(routing_id_, selected_index)); | 3348 Send(new FrameMsg_SelectPopupMenuItem(routing_id_, selected_index)); |
| 3352 } | 3349 } |
| 3353 | 3350 |
| 3354 void RenderFrameHostImpl::DidCancelPopupMenu() { | 3351 void RenderFrameHostImpl::DidCancelPopupMenu() { |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3634 this, std::move(request), | 3631 this, std::move(request), |
| 3635 base::Bind(&RenderFrameHostImpl::OnMediaInterfaceFactoryConnectionError, | 3632 base::Bind(&RenderFrameHostImpl::OnMediaInterfaceFactoryConnectionError, |
| 3636 base::Unretained(this)))); | 3633 base::Unretained(this)))); |
| 3637 } | 3634 } |
| 3638 | 3635 |
| 3639 void RenderFrameHostImpl::OnMediaInterfaceFactoryConnectionError() { | 3636 void RenderFrameHostImpl::OnMediaInterfaceFactoryConnectionError() { |
| 3640 DCHECK(media_interface_proxy_); | 3637 DCHECK(media_interface_proxy_); |
| 3641 media_interface_proxy_.reset(); | 3638 media_interface_proxy_.reset(); |
| 3642 } | 3639 } |
| 3643 | 3640 |
| 3641 void RenderFrameHostImpl::GetInterface( | |
| 3642 const std::string& interface_name, | |
| 3643 mojo::ScopedMessagePipeHandle interface_pipe) { | |
| 3644 if (interface_registry_.get()) { | |
| 3645 interface_registry_->BindInterface(interface_name, | |
| 3646 std::move(interface_pipe)); | |
| 3647 } | |
| 3648 } | |
| 3649 | |
| 3644 std::unique_ptr<NavigationHandleImpl> | 3650 std::unique_ptr<NavigationHandleImpl> |
| 3645 RenderFrameHostImpl::TakeNavigationHandleForCommit( | 3651 RenderFrameHostImpl::TakeNavigationHandleForCommit( |
| 3646 const FrameHostMsg_DidCommitProvisionalLoad_Params& params) { | 3652 const FrameHostMsg_DidCommitProvisionalLoad_Params& params) { |
| 3647 bool is_browser_initiated = (params.nav_entry_id != 0); | 3653 bool is_browser_initiated = (params.nav_entry_id != 0); |
| 3648 | 3654 |
| 3649 if (params.was_within_same_document) { | 3655 if (params.was_within_same_document) { |
| 3650 if (IsBrowserSideNavigationEnabled()) { | 3656 if (IsBrowserSideNavigationEnabled()) { |
| 3651 // When browser-side navigation is enabled, a NavigationHandle is created | 3657 // When browser-side navigation is enabled, a NavigationHandle is created |
| 3652 // for browser-initiated same-document navigation. Try to take it if it's | 3658 // for browser-initiated same-document navigation. Try to take it if it's |
| 3653 // still available and matches the current navigation. | 3659 // still available and matches the current navigation. |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3786 } | 3792 } |
| 3787 | 3793 |
| 3788 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame( | 3794 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame( |
| 3789 const std::string& interface_name, | 3795 const std::string& interface_name, |
| 3790 mojo::ScopedMessagePipeHandle pipe) { | 3796 mojo::ScopedMessagePipeHandle pipe) { |
| 3791 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe)); | 3797 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe)); |
| 3792 } | 3798 } |
| 3793 #endif | 3799 #endif |
| 3794 | 3800 |
| 3795 } // namespace content | 3801 } // namespace content |
| OLD | NEW |