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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_impl.cc
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index 24bdcd12a1e460e8a3056f973c77d940a96a78e7..4b35a18caf4cf2822ef5984ae939dbae9cce6855 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -10,6 +10,7 @@
#include "base/bind.h"
#include "base/command_line.h"
#include "base/containers/hash_tables.h"
+#include "base/feature_list.h"
#include "base/lazy_instance.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
@@ -2688,6 +2689,13 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
base::Bind(&RenderFrameHostImpl::BindWakeLockServiceRequest,
base::Unretained(this)));
+#if defined(OS_ANDROID)
+ if (base::FeatureList::IsEnabled(features::kWebNfc)) {
+ GetInterfaceRegistry()->AddInterface<device::nfc::mojom::NFC>(base::Bind(
+ &RenderFrameHostImpl::BindNFCRequest, base::Unretained(this)));
+ }
+#endif
+
if (!permission_service_context_)
permission_service_context_.reset(new PermissionServiceContext(this));
@@ -3743,6 +3751,15 @@ void RenderFrameHostImpl::BindWakeLockServiceRequest(
renderer_wake_lock->AddClient(std::move(request));
}
+#if defined(OS_ANDROID)
+void RenderFrameHostImpl::BindNFCRequest(
+ const service_manager::BindSourceInfo& source_info,
+ device::nfc::mojom::NFCRequest request) {
+ if (delegate_)
+ delegate_->GetNFC(std::move(request));
+}
+#endif
+
void RenderFrameHostImpl::GetInterface(
const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe) {
« 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