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

Side by Side Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 2865653002: [Device Service] Decouple NFC implementation from //content (Closed)
Patch Set: Rebase Created 3 years, 7 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 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"
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/containers/hash_tables.h" 12 #include "base/containers/hash_tables.h"
13 #include "base/feature_list.h"
13 #include "base/lazy_instance.h" 14 #include "base/lazy_instance.h"
14 #include "base/memory/ptr_util.h" 15 #include "base/memory/ptr_util.h"
15 #include "base/metrics/histogram_macros.h" 16 #include "base/metrics/histogram_macros.h"
16 #include "base/metrics/user_metrics.h" 17 #include "base/metrics/user_metrics.h"
17 #include "base/process/kill.h" 18 #include "base/process/kill.h"
18 #include "base/time/time.h" 19 #include "base/time/time.h"
19 #include "build/build_config.h" 20 #include "build/build_config.h"
20 #include "content/browser/accessibility/browser_accessibility_manager.h" 21 #include "content/browser/accessibility/browser_accessibility_manager.h"
21 #include "content/browser/accessibility/browser_accessibility_state_impl.h" 22 #include "content/browser/accessibility/browser_accessibility_state_impl.h"
22 #include "content/browser/bluetooth/web_bluetooth_service_impl.h" 23 #include "content/browser/bluetooth/web_bluetooth_service_impl.h"
(...skipping 2658 matching lines...) Expand 10 before | Expand all | Expand 10 after
2681 // pointer. 2682 // pointer.
2682 GetInterfaceRegistry()->AddInterface( 2683 GetInterfaceRegistry()->AddInterface(
2683 base::Bind(&device::GeolocationServiceContext::CreateService, 2684 base::Bind(&device::GeolocationServiceContext::CreateService,
2684 base::Unretained(geolocation_service_context))); 2685 base::Unretained(geolocation_service_context)));
2685 } 2686 }
2686 2687
2687 GetInterfaceRegistry()->AddInterface<device::mojom::WakeLockService>( 2688 GetInterfaceRegistry()->AddInterface<device::mojom::WakeLockService>(
2688 base::Bind(&RenderFrameHostImpl::BindWakeLockServiceRequest, 2689 base::Bind(&RenderFrameHostImpl::BindWakeLockServiceRequest,
2689 base::Unretained(this))); 2690 base::Unretained(this)));
2690 2691
2692 #if defined(OS_ANDROID)
2693 if (base::FeatureList::IsEnabled(features::kWebNfc)) {
2694 GetInterfaceRegistry()->AddInterface<device::nfc::mojom::NFC>(base::Bind(
2695 &RenderFrameHostImpl::BindNFCRequest, base::Unretained(this)));
2696 }
2697 #endif
2698
2691 if (!permission_service_context_) 2699 if (!permission_service_context_)
2692 permission_service_context_.reset(new PermissionServiceContext(this)); 2700 permission_service_context_.reset(new PermissionServiceContext(this));
2693 2701
2694 GetInterfaceRegistry()->AddInterface( 2702 GetInterfaceRegistry()->AddInterface(
2695 base::Bind(&PermissionServiceContext::CreateService, 2703 base::Bind(&PermissionServiceContext::CreateService,
2696 base::Unretained(permission_service_context_.get()))); 2704 base::Unretained(permission_service_context_.get())));
2697 2705
2698 GetInterfaceRegistry()->AddInterface(base::Bind( 2706 GetInterfaceRegistry()->AddInterface(base::Bind(
2699 &PresentationServiceImpl::CreateMojoService, base::Unretained(this))); 2707 &PresentationServiceImpl::CreateMojoService, base::Unretained(this)));
2700 2708
(...skipping 1035 matching lines...) Expand 10 before | Expand all | Expand 10 after
3736 3744
3737 void RenderFrameHostImpl::BindWakeLockServiceRequest( 3745 void RenderFrameHostImpl::BindWakeLockServiceRequest(
3738 const service_manager::BindSourceInfo& source_info, 3746 const service_manager::BindSourceInfo& source_info,
3739 device::mojom::WakeLockServiceRequest request) { 3747 device::mojom::WakeLockServiceRequest request) {
3740 device::mojom::WakeLockService* renderer_wake_lock = 3748 device::mojom::WakeLockService* renderer_wake_lock =
3741 delegate_ ? delegate_->GetRendererWakeLock() : nullptr; 3749 delegate_ ? delegate_->GetRendererWakeLock() : nullptr;
3742 if (renderer_wake_lock) 3750 if (renderer_wake_lock)
3743 renderer_wake_lock->AddClient(std::move(request)); 3751 renderer_wake_lock->AddClient(std::move(request));
3744 } 3752 }
3745 3753
3754 #if defined(OS_ANDROID)
3755 void RenderFrameHostImpl::BindNFCRequest(
3756 const service_manager::BindSourceInfo& source_info,
3757 device::nfc::mojom::NFCRequest request) {
3758 if (delegate_)
3759 delegate_->GetNFC(std::move(request));
3760 }
3761 #endif
3762
3746 void RenderFrameHostImpl::GetInterface( 3763 void RenderFrameHostImpl::GetInterface(
3747 const std::string& interface_name, 3764 const std::string& interface_name,
3748 mojo::ScopedMessagePipeHandle interface_pipe) { 3765 mojo::ScopedMessagePipeHandle interface_pipe) {
3749 if (interface_registry_.get()) { 3766 if (interface_registry_.get()) {
3750 service_manager::BindSourceInfo source_info( 3767 service_manager::BindSourceInfo source_info(
3751 GetProcess()->GetChildIdentity(), service_manager::CapabilitySet()); 3768 GetProcess()->GetChildIdentity(), service_manager::CapabilitySet());
3752 interface_registry_->BindInterface(source_info, interface_name, 3769 interface_registry_->BindInterface(source_info, interface_name,
3753 std::move(interface_pipe)); 3770 std::move(interface_pipe));
3754 } 3771 }
3755 } 3772 }
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
3917 } 3934 }
3918 3935
3919 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame( 3936 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame(
3920 const std::string& interface_name, 3937 const std::string& interface_name,
3921 mojo::ScopedMessagePipeHandle pipe) { 3938 mojo::ScopedMessagePipeHandle pipe) {
3922 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe)); 3939 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe));
3923 } 3940 }
3924 #endif 3941 #endif
3925 3942
3926 } // namespace content 3943 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_frame_host_impl.h ('k') | content/browser/service_manager/service_manager_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698