Eliminate bind callback that doesn't take a BindSourceInfo parameter.
R=rockot@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel
Review-Url: https://codereview.chromium.org/2851173004
Cr-Commit-Position: refs/heads/master@{#469241}
diff --git a/content/browser/background_fetch/background_fetch_service_impl.cc b/content/browser/background_fetch/background_fetch_service_impl.cc
index 68293310..923ad1b 100644
--- a/content/browser/background_fetch/background_fetch_service_impl.cc
+++ b/content/browser/background_fetch/background_fetch_service_impl.cc
@@ -34,6 +34,7 @@
void BackgroundFetchServiceImpl::Create(
int render_process_id,
scoped_refptr<BackgroundFetchContext> background_fetch_context,
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::BackgroundFetchServiceRequest request) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
mojo::MakeStrongBinding(
diff --git a/content/browser/background_fetch/background_fetch_service_impl.h b/content/browser/background_fetch/background_fetch_service_impl.h
index c2d6f32..2fcc1c8 100644
--- a/content/browser/background_fetch/background_fetch_service_impl.h
+++ b/content/browser/background_fetch/background_fetch_service_impl.h
@@ -15,6 +15,10 @@
#include "content/common/content_export.h"
#include "third_party/WebKit/public/platform/modules/background_fetch/background_fetch.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace url {
class Origin;
}
@@ -36,6 +40,7 @@
static void Create(
int render_process_id,
scoped_refptr<BackgroundFetchContext> background_fetch_context,
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::BackgroundFetchServiceRequest request);
// blink::mojom::BackgroundFetchService implementation.
diff --git a/content/browser/background_sync/background_sync_context.cc b/content/browser/background_sync/background_sync_context.cc
index c1b920f..fcd80be 100644
--- a/content/browser/background_sync/background_sync_context.cc
+++ b/content/browser/background_sync/background_sync_context.cc
@@ -44,7 +44,8 @@
}
void BackgroundSyncContext::CreateService(
- mojo::InterfaceRequest<blink::mojom::BackgroundSyncService> request) {
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::BackgroundSyncServiceRequest request) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
BrowserThread::PostTask(
diff --git a/content/browser/background_sync/background_sync_context.h b/content/browser/background_sync/background_sync_context.h
index 4d3ecf32..453299b3 100644
--- a/content/browser/background_sync/background_sync_context.h
+++ b/content/browser/background_sync/background_sync_context.h
@@ -13,6 +13,10 @@
#include "content/common/content_export.h"
#include "third_party/WebKit/public/platform/modules/background_sync/background_sync.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class BackgroundSyncManager;
@@ -36,8 +40,8 @@
// Create a BackgroundSyncServiceImpl that is owned by this. Call on the UI
// thread.
- void CreateService(
- mojo::InterfaceRequest<blink::mojom::BackgroundSyncService> request);
+ void CreateService(const service_manager::BindSourceInfo& source_info,
+ blink::mojom::BackgroundSyncServiceRequest request);
// Called by BackgroundSyncServiceImpl objects so that they can
// be deleted. Call on the IO thread.
diff --git a/content/browser/background_sync/background_sync_service_impl_unittest.cc b/content/browser/background_sync/background_sync_service_impl_unittest.cc
index 197cf17..1924a17 100644
--- a/content/browser/background_sync/background_sync_service_impl_unittest.cc
+++ b/content/browser/background_sync/background_sync_service_impl_unittest.cc
@@ -26,6 +26,7 @@
#include "content/test/test_background_sync_context.h"
#include "mojo/public/cpp/bindings/interface_ptr.h"
#include "net/base/network_change_notifier.h"
+#include "services/service_manager/public/cpp/bind_source_info.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace content {
@@ -181,7 +182,8 @@
mojo::InterfaceRequest<blink::mojom::BackgroundSyncService>
service_request = mojo::MakeRequest(&service_ptr_);
// Create a new BackgroundSyncServiceImpl bound to the dummy channel.
- background_sync_context_->CreateService(std::move(service_request));
+ background_sync_context_->CreateService(service_manager::BindSourceInfo(),
+ std::move(service_request));
base::RunLoop().RunUntilIdle();
service_impl_ = background_sync_context_->services_.begin()->first;
diff --git a/content/browser/broadcast_channel/broadcast_channel_provider.cc b/content/browser/broadcast_channel/broadcast_channel_provider.cc
index eacaa64f..9c15120 100644
--- a/content/browser/broadcast_channel/broadcast_channel_provider.cc
+++ b/content/browser/broadcast_channel/broadcast_channel_provider.cc
@@ -66,7 +66,8 @@
BroadcastChannelProvider::BroadcastChannelProvider() {}
void BroadcastChannelProvider::Connect(
- mojo::InterfaceRequest<blink::mojom::BroadcastChannelProvider> request) {
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::BroadcastChannelProviderRequest request) {
bindings_.AddBinding(this, std::move(request));
}
diff --git a/content/browser/broadcast_channel/broadcast_channel_provider.h b/content/browser/broadcast_channel/broadcast_channel_provider.h
index b4fd021..9998f41 100644
--- a/content/browser/broadcast_channel/broadcast_channel_provider.h
+++ b/content/browser/broadcast_channel/broadcast_channel_provider.h
@@ -12,6 +12,10 @@
#include "third_party/WebKit/public/platform/modules/broadcastchannel/broadcast_channel.mojom.h"
#include "url/origin.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class BroadcastChannelProvider
@@ -19,8 +23,8 @@
public blink::mojom::BroadcastChannelProvider {
public:
BroadcastChannelProvider();
- void Connect(
- mojo::InterfaceRequest<blink::mojom::BroadcastChannelProvider> request);
+ void Connect(const service_manager::BindSourceInfo& source_info,
+ blink::mojom::BroadcastChannelProviderRequest request);
void ConnectToChannel(
const url::Origin& origin,
diff --git a/content/browser/field_trial_recorder.cc b/content/browser/field_trial_recorder.cc
index 2dc77e9..41995ea 100644
--- a/content/browser/field_trial_recorder.cc
+++ b/content/browser/field_trial_recorder.cc
@@ -15,7 +15,9 @@
FieldTrialRecorder::~FieldTrialRecorder() = default;
// static
-void FieldTrialRecorder::Create(mojom::FieldTrialRecorderRequest request) {
+void FieldTrialRecorder::Create(
+ const service_manager::BindSourceInfo& source_info,
+ mojom::FieldTrialRecorderRequest request) {
mojo::MakeStrongBinding(base::MakeUnique<FieldTrialRecorder>(),
std::move(request));
}
diff --git a/content/browser/field_trial_recorder.h b/content/browser/field_trial_recorder.h
index ab425d5..6abe143 100644
--- a/content/browser/field_trial_recorder.h
+++ b/content/browser/field_trial_recorder.h
@@ -8,6 +8,10 @@
#include "base/threading/thread_checker.h"
#include "content/common/field_trial_recorder.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class FieldTrialRecorder : public mojom::FieldTrialRecorder {
@@ -15,7 +19,8 @@
FieldTrialRecorder();
~FieldTrialRecorder() override;
- static void Create(mojom::FieldTrialRecorderRequest request);
+ static void Create(const service_manager::BindSourceInfo& source_info,
+ mojom::FieldTrialRecorderRequest request);
private:
// content::mojom::FieldTrialRecorder:
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index c9a6d11..15283cb 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -235,7 +235,9 @@
RemoterFactoryImpl(int process_id, int routing_id)
: process_id_(process_id), routing_id_(routing_id) {}
- static void Bind(int process_id, int routing_id,
+ static void Bind(int process_id,
+ int routing_id,
+ const service_manager::BindSourceInfo& source_info,
media::mojom::RemoterFactoryRequest request) {
mojo::MakeStrongBinding(
base::MakeUnique<RemoterFactoryImpl>(process_id, routing_id),
@@ -259,7 +261,8 @@
#endif // BUILDFLAG(ENABLE_MEDIA_REMOTING)
template <typename Interface>
-void IgnoreInterfaceRequest(mojo::InterfaceRequest<Interface> request) {
+void IgnoreInterfaceRequest(const service_manager::BindSourceInfo& source_info,
+ mojo::InterfaceRequest<Interface> request) {
// Intentionally ignore the interface request.
}
@@ -323,7 +326,8 @@
void CreateMediaPlayerRenderer(
content::RenderFrameHost* render_frame_host,
- mojo::InterfaceRequest<media::mojom::Renderer> request) {
+ const service_manager::BindSourceInfo& source_info,
+ media::mojom::RendererRequest request) {
std::unique_ptr<MediaPlayerRenderer> renderer =
base::MakeUnique<MediaPlayerRenderer>(render_frame_host);
@@ -2672,16 +2676,9 @@
base::Unretained(geolocation_service_context)));
}
- device::mojom::WakeLockContext* wake_lock_service_context =
- delegate_ ? delegate_->GetWakeLockServiceContext() : nullptr;
- if (wake_lock_service_context) {
- // WakeLockServiceContext is owned by WebContentsImpl so it will outlive
- // this RenderFrameHostImpl, hence a raw pointer can be bound to service
- // factory callback.
- GetInterfaceRegistry()->AddInterface<device::mojom::WakeLockService>(
- base::Bind(&device::mojom::WakeLockContext::GetWakeLock,
- base::Unretained(wake_lock_service_context)));
- }
+ GetInterfaceRegistry()->AddInterface<device::mojom::WakeLockService>(
+ base::Bind(&RenderFrameHostImpl::BindWakeLockServiceRequest,
+ base::Unretained(this)));
if (!permission_service_context_)
permission_service_context_.reset(new PermissionServiceContext(this));
@@ -3670,6 +3667,7 @@
}
WebBluetoothServiceImpl* RenderFrameHostImpl::CreateWebBluetoothService(
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::WebBluetoothServiceRequest request) {
// RFHI owns |web_bluetooth_services_| and |web_bluetooth_service| owns the
// |binding_| which may run the error handler. |binding_| can't run the error
@@ -3720,6 +3718,15 @@
media_interface_proxy_.reset();
}
+void RenderFrameHostImpl::BindWakeLockServiceRequest(
+ const service_manager::BindSourceInfo& source_info,
+ device::mojom::WakeLockServiceRequest request) {
+ device::mojom::WakeLockContext* wake_lock_service_context =
+ delegate_ ? delegate_->GetWakeLockServiceContext() : nullptr;
+ if (wake_lock_service_context)
+ wake_lock_service_context->GetWakeLock(std::move(request));
+}
+
void RenderFrameHostImpl::GetInterface(
const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe) {
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
index 95e7999..7485678 100644
--- a/content/browser/frame_host/render_frame_host_impl.h
+++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -44,12 +44,14 @@
#include "content/public/browser/render_frame_host.h"
#include "content/public/common/javascript_dialog_type.h"
#include "content/public/common/previews_state.h"
+#include "device/wake_lock/public/interfaces/wake_lock_context.mojom.h"
#include "media/mojo/interfaces/interface_factory.mojom.h"
#include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/system/data_pipe.h"
#include "net/http/http_response_headers.h"
#include "third_party/WebKit/public/platform/WebFocusType.h"
#include "third_party/WebKit/public/platform/WebInsecureRequestPolicy.h"
+#include "third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom.h"
#include "third_party/WebKit/public/web/WebTextDirection.h"
#include "third_party/WebKit/public/web/WebTreeScopeType.h"
#include "ui/accessibility/ax_node_data.h"
@@ -72,12 +74,6 @@
class ListValue;
}
-namespace blink {
-namespace mojom {
-class WebBluetoothService;
-}
-}
-
namespace gfx {
class Range;
}
@@ -903,7 +899,8 @@
// Creates Web Bluetooth Service owned by the frame. Returns a raw pointer
// to it.
WebBluetoothServiceImpl* CreateWebBluetoothService(
- mojo::InterfaceRequest<blink::mojom::WebBluetoothService> request);
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::WebBluetoothServiceRequest request);
// Deletes the Web Bluetooth Service owned by the frame.
void DeleteWebBluetoothService(
@@ -916,6 +913,10 @@
// Callback for connection error on the media::mojom::InterfaceFactory client.
void OnMediaInterfaceFactoryConnectionError();
+ void BindWakeLockServiceRequest(
+ const service_manager::BindSourceInfo& source_info,
+ device::mojom::WakeLockServiceRequest request);
+
// service_manager::mojom::InterfaceProvider:
void GetInterface(const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe) override;
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
index 0c3f7908..4977be2 100644
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -331,7 +331,8 @@
#if defined(OS_ANDROID)
template <typename Interface>
-void BindJavaInterface(mojo::InterfaceRequest<Interface> request) {
+void BindJavaInterface(const service_manager::BindSourceInfo& source_info,
+ mojo::InterfaceRequest<Interface> request) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
content::GetGlobalJavaInterfaces()->GetInterface(std::move(request));
}
diff --git a/content/browser/hyphenation/hyphenation_impl.cc b/content/browser/hyphenation/hyphenation_impl.cc
index c4d020f..cea977084 100644
--- a/content/browser/hyphenation/hyphenation_impl.cc
+++ b/content/browser/hyphenation/hyphenation_impl.cc
@@ -60,7 +60,8 @@
HyphenationImpl::~HyphenationImpl() {}
// static
-void HyphenationImpl::Create(blink::mojom::HyphenationRequest request) {
+void HyphenationImpl::Create(const service_manager::BindSourceInfo& source_info,
+ blink::mojom::HyphenationRequest request) {
mojo::MakeStrongBinding(base::MakeUnique<HyphenationImpl>(),
std::move(request));
}
diff --git a/content/browser/hyphenation/hyphenation_impl.h b/content/browser/hyphenation/hyphenation_impl.h
index 5847439..3c578d6 100644
--- a/content/browser/hyphenation/hyphenation_impl.h
+++ b/content/browser/hyphenation/hyphenation_impl.h
@@ -9,6 +9,10 @@
#include "mojo/public/cpp/bindings/interface_request.h"
#include "third_party/WebKit/public/platform/modules/hyphenation/hyphenation.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace hyphenation {
class HyphenationImpl : public blink::mojom::Hyphenation {
@@ -16,7 +20,8 @@
HyphenationImpl();
~HyphenationImpl() override;
- static void Create(blink::mojom::HyphenationRequest);
+ static void Create(const service_manager::BindSourceInfo& source_info,
+ blink::mojom::HyphenationRequest);
// Hyphenation:
void OpenDictionary(const std::string& locale,
diff --git a/content/browser/image_capture/image_capture_impl.cc b/content/browser/image_capture/image_capture_impl.cc
index 3ce15a8..e84a2a28 100644
--- a/content/browser/image_capture/image_capture_impl.cc
+++ b/content/browser/image_capture/image_capture_impl.cc
@@ -128,7 +128,9 @@
ImageCaptureImpl::~ImageCaptureImpl() {}
// static
-void ImageCaptureImpl::Create(media::mojom::ImageCaptureRequest request) {
+void ImageCaptureImpl::Create(
+ const service_manager::BindSourceInfo& source_info,
+ media::mojom::ImageCaptureRequest request) {
mojo::MakeStrongBinding(base::MakeUnique<ImageCaptureImpl>(),
std::move(request));
}
diff --git a/content/browser/image_capture/image_capture_impl.h b/content/browser/image_capture/image_capture_impl.h
index 7ea8c320..7a6adfb 100644
--- a/content/browser/image_capture/image_capture_impl.h
+++ b/content/browser/image_capture/image_capture_impl.h
@@ -7,6 +7,10 @@
#include "media/capture/mojo/image_capture.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class ImageCaptureImpl : public media::mojom::ImageCapture {
@@ -14,7 +18,8 @@
ImageCaptureImpl();
~ImageCaptureImpl() override;
- static void Create(media::mojom::ImageCaptureRequest request);
+ static void Create(const service_manager::BindSourceInfo& source_info,
+ media::mojom::ImageCaptureRequest request);
void GetCapabilities(const std::string& source_id,
const GetCapabilitiesCallback& callback) override;
diff --git a/content/browser/installedapp/installed_app_provider_impl_default.cc b/content/browser/installedapp/installed_app_provider_impl_default.cc
index 10e512a..ee5de28 100644
--- a/content/browser/installedapp/installed_app_provider_impl_default.cc
+++ b/content/browser/installedapp/installed_app_provider_impl_default.cc
@@ -22,7 +22,8 @@
// static
void InstalledAppProviderImplDefault::Create(
- mojo::InterfaceRequest<blink::mojom::InstalledAppProvider> request) {
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::InstalledAppProviderRequest request) {
mojo::MakeStrongBinding(base::MakeUnique<InstalledAppProviderImplDefault>(),
std::move(request));
}
diff --git a/content/browser/installedapp/installed_app_provider_impl_default.h b/content/browser/installedapp/installed_app_provider_impl_default.h
index 78c1e0d..bc42a7f 100644
--- a/content/browser/installedapp/installed_app_provider_impl_default.h
+++ b/content/browser/installedapp/installed_app_provider_impl_default.h
@@ -11,6 +11,10 @@
#include "third_party/WebKit/public/platform/modules/installedapp/installed_app_provider.mojom.h"
#include "third_party/WebKit/public/platform/modules/installedapp/related_application.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
// The default (no-op) implementation of the InstalledAppProvider Mojo service.
@@ -27,6 +31,7 @@
const FilterInstalledAppsCallback& callback) override;
static void Create(
+ const service_manager::BindSourceInfo& source_info,
mojo::InterfaceRequest<blink::mojom::InstalledAppProvider> request);
};
diff --git a/content/browser/keyboard_lock/keyboard_lock_service_impl.cc b/content/browser/keyboard_lock/keyboard_lock_service_impl.cc
index 727bd49..f03fc6e 100644
--- a/content/browser/keyboard_lock/keyboard_lock_service_impl.cc
+++ b/content/browser/keyboard_lock/keyboard_lock_service_impl.cc
@@ -18,6 +18,7 @@
// static
void KeyboardLockServiceImpl::CreateMojoService(
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::KeyboardLockServiceRequest request) {
mojo::MakeStrongBinding(
base::MakeUnique<KeyboardLockServiceImpl>(),
diff --git a/content/browser/keyboard_lock/keyboard_lock_service_impl.h b/content/browser/keyboard_lock/keyboard_lock_service_impl.h
index 96d5694..bc89444 100644
--- a/content/browser/keyboard_lock/keyboard_lock_service_impl.h
+++ b/content/browser/keyboard_lock/keyboard_lock_service_impl.h
@@ -9,6 +9,10 @@
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "third_party/WebKit/public/platform/modules/keyboard_lock/keyboard_lock.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class CONTENT_EXPORT KeyboardLockServiceImpl
@@ -18,6 +22,7 @@
~KeyboardLockServiceImpl() override;
static void CreateMojoService(
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::KeyboardLockServiceRequest request);
// blink::mojom::KeyboardLockService implementations.
diff --git a/content/browser/media/session/media_session_service_impl.cc b/content/browser/media/session/media_session_service_impl.cc
index 524399df..f9586e33 100644
--- a/content/browser/media/session/media_session_service_impl.cc
+++ b/content/browser/media/session/media_session_service_impl.cc
@@ -32,6 +32,7 @@
// static
void MediaSessionServiceImpl::Create(
RenderFrameHost* render_frame_host,
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::MediaSessionServiceRequest request) {
MediaSessionServiceImpl* impl =
new MediaSessionServiceImpl(render_frame_host);
diff --git a/content/browser/media/session/media_session_service_impl.h b/content/browser/media/session/media_session_service_impl.h
index edcca6d..38131be 100644
--- a/content/browser/media/session/media_session_service_impl.h
+++ b/content/browser/media/session/media_session_service_impl.h
@@ -10,6 +10,10 @@
#include "mojo/public/cpp/bindings/binding.h"
#include "third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class RenderFrameHost;
@@ -24,6 +28,7 @@
~MediaSessionServiceImpl() override;
static void Create(RenderFrameHost* render_frame_host,
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::MediaSessionServiceRequest request);
const blink::mojom::MediaSessionClientPtr& GetClient() { return client_; }
RenderFrameHost* GetRenderFrameHost();
diff --git a/content/browser/mime_registry_impl.cc b/content/browser/mime_registry_impl.cc
index e2dadbb..f46161e 100644
--- a/content/browser/mime_registry_impl.cc
+++ b/content/browser/mime_registry_impl.cc
@@ -17,7 +17,9 @@
MimeRegistryImpl::~MimeRegistryImpl() = default;
// static
-void MimeRegistryImpl::Create(blink::mojom::MimeRegistryRequest request) {
+void MimeRegistryImpl::Create(
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::MimeRegistryRequest request) {
DCHECK_CURRENTLY_ON(BrowserThread::FILE);
mojo::MakeStrongBinding(base::MakeUnique<MimeRegistryImpl>(),
std::move(request));
diff --git a/content/browser/mime_registry_impl.h b/content/browser/mime_registry_impl.h
index 733faa4..31f1df3 100644
--- a/content/browser/mime_registry_impl.h
+++ b/content/browser/mime_registry_impl.h
@@ -7,6 +7,10 @@
#include "third_party/WebKit/public/platform/mime_registry.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class MimeRegistryImpl : public blink::mojom::MimeRegistry {
@@ -14,7 +18,8 @@
MimeRegistryImpl();
~MimeRegistryImpl() override;
- static void Create(blink::mojom::MimeRegistryRequest request);
+ static void Create(const service_manager::BindSourceInfo& source_info,
+ blink::mojom::MimeRegistryRequest request);
private:
void GetMimeTypeFromExtension(
diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc
index 0fd4ed5..8ef474c6 100644
--- a/content/browser/notifications/platform_notification_context_impl.cc
+++ b/content/browser/notifications/platform_notification_context_impl.cc
@@ -126,7 +126,8 @@
void PlatformNotificationContextImpl::CreateService(
int render_process_id,
- mojo::InterfaceRequest<blink::mojom::NotificationService> request) {
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::NotificationServiceRequest request) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h
index 1193cc6..67405dc0 100644
--- a/content/browser/notifications/platform_notification_context_impl.h
+++ b/content/browser/notifications/platform_notification_context_impl.h
@@ -29,6 +29,10 @@
class SequencedTaskRunner;
}
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class BlinkNotificationServiceImpl;
@@ -63,9 +67,9 @@
// Creates a BlinkNotificationServiceImpl that is owned by this context. Must
// be called on the UI thread, although the service will be created on and
// bound to the IO thread.
- void CreateService(
- int render_process_id,
- mojo::InterfaceRequest<blink::mojom::NotificationService> request);
+ void CreateService(int render_process_id,
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::NotificationServiceRequest request);
// Removes |service| from the list of owned services, for example because the
// Mojo pipe disconnected. Must be called on the IO thread.
diff --git a/content/browser/payments/payment_app_content_unittest_base.cc b/content/browser/payments/payment_app_content_unittest_base.cc
index 6f9ce5a..c4f73ab1 100644
--- a/content/browser/payments/payment_app_content_unittest_base.cc
+++ b/content/browser/payments/payment_app_content_unittest_base.cc
@@ -21,6 +21,7 @@
#include "content/public/test/test_browser_thread_bundle.h"
#include "mojo/public/cpp/bindings/associated_interface_ptr.h"
#include "mojo/public/cpp/bindings/interface_request.h"
+#include "services/service_manager/public/cpp/bind_source_info.h"
namespace content {
@@ -132,7 +133,8 @@
mojo::InterfaceRequest<payments::mojom::PaymentManager> request =
mojo::MakeRequest(&manager);
payment_managers_.push_back(std::move(manager));
- payment_app_context()->CreatePaymentManager(std::move(request));
+ payment_app_context()->CreatePaymentManager(service_manager::BindSourceInfo(),
+ std::move(request));
base::RunLoop().RunUntilIdle();
// Find a last registered payment manager.
diff --git a/content/browser/payments/payment_app_context_impl.cc b/content/browser/payments/payment_app_context_impl.cc
index c065a8ce..e699660 100644
--- a/content/browser/payments/payment_app_context_impl.cc
+++ b/content/browser/payments/payment_app_context_impl.cc
@@ -39,7 +39,8 @@
}
void PaymentAppContextImpl::CreatePaymentManager(
- mojo::InterfaceRequest<payments::mojom::PaymentManager> request) {
+ const service_manager::BindSourceInfo& source_info,
+ payments::mojom::PaymentManagerRequest request) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
BrowserThread::PostTask(
diff --git a/content/browser/payments/payment_app_context_impl.h b/content/browser/payments/payment_app_context_impl.h
index 259b53da..e6b99af 100644
--- a/content/browser/payments/payment_app_context_impl.h
+++ b/content/browser/payments/payment_app_context_impl.h
@@ -14,6 +14,10 @@
#include "content/browser/payments/payment_app_database.h"
#include "content/common/content_export.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class PaymentAppDatabase;
@@ -54,8 +58,8 @@
// Create a PaymentManager that is owned by this. Call on the UI
// thread.
- void CreatePaymentManager(
- mojo::InterfaceRequest<payments::mojom::PaymentManager> request);
+ void CreatePaymentManager(const service_manager::BindSourceInfo& source_info,
+ payments::mojom::PaymentManagerRequest request);
// Called by PaymentManager objects so that they can
// be deleted. Call on the IO thread.
diff --git a/content/browser/permissions/permission_service_context.cc b/content/browser/permissions/permission_service_context.cc
index 717fdd2..7f0a370 100644
--- a/content/browser/permissions/permission_service_context.cc
+++ b/content/browser/permissions/permission_service_context.cc
@@ -72,7 +72,8 @@
}
void PermissionServiceContext::CreateService(
- mojo::InterfaceRequest<blink::mojom::PermissionService> request) {
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::PermissionServiceRequest request) {
services_.push_back(
base::MakeUnique<PermissionServiceImpl>(this, std::move(request)));
}
diff --git a/content/browser/permissions/permission_service_context.h b/content/browser/permissions/permission_service_context.h
index c2fc55a..87b7592 100644
--- a/content/browser/permissions/permission_service_context.h
+++ b/content/browser/permissions/permission_service_context.h
@@ -9,12 +9,10 @@
#include "content/public/browser/permission_type.h"
#include "content/public/browser/web_contents_observer.h"
#include "mojo/public/cpp/bindings/interface_request.h"
+#include "third_party/WebKit/public/platform/modules/permissions/permission.mojom.h"
-namespace blink {
-namespace mojom {
-class PermissionObserver;
-class PermissionService;
-}
+namespace service_manager {
+struct BindSourceInfo;
}
namespace url {
@@ -38,8 +36,8 @@
explicit PermissionServiceContext(RenderProcessHost* render_process_host);
~PermissionServiceContext() override;
- void CreateService(
- mojo::InterfaceRequest<blink::mojom::PermissionService> request);
+ void CreateService(const service_manager::BindSourceInfo& source_info,
+ blink::mojom::PermissionServiceRequest request);
void CreateSubscription(
PermissionType permission_type,
diff --git a/content/browser/presentation/presentation_service_impl.cc b/content/browser/presentation/presentation_service_impl.cc
index 4499ea22..ea75760 100644
--- a/content/browser/presentation/presentation_service_impl.cc
+++ b/content/browser/presentation/presentation_service_impl.cc
@@ -76,7 +76,8 @@
// static
void PresentationServiceImpl::CreateMojoService(
RenderFrameHost* render_frame_host,
- mojo::InterfaceRequest<blink::mojom::PresentationService> request) {
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::PresentationServiceRequest request) {
DVLOG(2) << "CreateMojoService";
WebContents* web_contents =
WebContents::FromRenderFrameHost(render_frame_host);
@@ -101,7 +102,7 @@
}
void PresentationServiceImpl::Bind(
- mojo::InterfaceRequest<blink::mojom::PresentationService> request) {
+ blink::mojom::PresentationServiceRequest request) {
binding_.reset(new mojo::Binding<blink::mojom::PresentationService>(
this, std::move(request)));
}
diff --git a/content/browser/presentation/presentation_service_impl.h b/content/browser/presentation/presentation_service_impl.h
index 4381b4a9..7f318404 100644
--- a/content/browser/presentation/presentation_service_impl.h
+++ b/content/browser/presentation/presentation_service_impl.h
@@ -29,6 +29,10 @@
#include "third_party/WebKit/public/platform/modules/presentation/presentation.mojom.h"
#include "url/gurl.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
struct PresentationConnectionMessage;
@@ -58,6 +62,7 @@
// |request|: The instance will be bound to this request. Used for Mojo setup.
static void CreateMojoService(
RenderFrameHost* render_frame_host,
+ const service_manager::BindSourceInfo& source_info,
mojo::InterfaceRequest<blink::mojom::PresentationService> request);
private:
@@ -179,7 +184,7 @@
override;
// Creates a binding between this object and |request|.
- void Bind(mojo::InterfaceRequest<blink::mojom::PresentationService> request);
+ void Bind(blink::mojom::PresentationServiceRequest request);
// WebContentsObserver override.
void DidFinishNavigation(NavigationHandle* navigation_handle) override;
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
index 1a79fc2b..33ee69c 100644
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc
@@ -268,7 +268,9 @@
PushMessagingManager::~PushMessagingManager() {}
-void PushMessagingManager::BindRequest(mojom::PushMessagingRequest request) {
+void PushMessagingManager::BindRequest(
+ const service_manager::BindSourceInfo& source_info,
+ mojom::PushMessagingRequest request) {
bindings_.AddBinding(this, std::move(request));
}
diff --git a/content/browser/push_messaging/push_messaging_manager.h b/content/browser/push_messaging/push_messaging_manager.h
index 12df9b4..d89c75e2 100644
--- a/content/browser/push_messaging/push_messaging_manager.h
+++ b/content/browser/push_messaging/push_messaging_manager.h
@@ -20,6 +20,10 @@
#include "mojo/public/cpp/bindings/binding_set.h"
#include "url/gurl.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class PushMessagingService;
@@ -35,7 +39,8 @@
PushMessagingManager(int render_process_id,
ServiceWorkerContextWrapper* service_worker_context);
- void BindRequest(mojom::PushMessagingRequest request);
+ void BindRequest(const service_manager::BindSourceInfo& source_info,
+ mojom::PushMessagingRequest request);
// mojom::PushMessaging impl, run on IO thread.
void Subscribe(int32_t render_frame_id,
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
index 406bf95..05e47ec 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
@@ -98,6 +98,7 @@
int render_frame_id,
const std::string& device_id_salt,
MediaStreamManager* media_stream_manager,
+ const service_manager::BindSourceInfo& source_info,
::mojom::MediaDevicesDispatcherHostRequest request) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
mojo::MakeStrongBinding(base::MakeUnique<MediaDevicesDispatcherHost>(
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host.h b/content/browser/renderer_host/media/media_devices_dispatcher_host.h
index 0085491..fd06fed 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host.h
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host.h
@@ -18,6 +18,10 @@
using ::mojom::MediaDeviceType;
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace url {
class Origin;
}
@@ -40,6 +44,7 @@
int render_frame_id,
const std::string& device_id_salt,
MediaStreamManager* media_stream_manager,
+ const service_manager::BindSourceInfo& source_info,
::mojom::MediaDevicesDispatcherHostRequest request);
// ::mojom::MediaDevicesDispatcherHost implementation.
diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc
index a51f00e5..78782180d 100644
--- a/content/browser/renderer_host/media/video_capture_host.cc
+++ b/content/browser/renderer_host/media/video_capture_host.cc
@@ -25,8 +25,10 @@
}
// static
-void VideoCaptureHost::Create(MediaStreamManager* media_stream_manager,
- mojom::VideoCaptureHostRequest request) {
+void VideoCaptureHost::Create(
+ MediaStreamManager* media_stream_manager,
+ const service_manager::BindSourceInfo& source_info,
+ mojom::VideoCaptureHostRequest request) {
DVLOG(1) << __func__;
DCHECK_CURRENTLY_ON(BrowserThread::IO);
mojo::MakeStrongBinding(
diff --git a/content/browser/renderer_host/media/video_capture_host.h b/content/browser/renderer_host/media/video_capture_host.h
index 9669c35..4ae55e46 100644
--- a/content/browser/renderer_host/media/video_capture_host.h
+++ b/content/browser/renderer_host/media/video_capture_host.h
@@ -16,6 +16,10 @@
#include "content/common/content_export.h"
#include "content/common/video_capture.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class MediaStreamManager;
@@ -31,6 +35,7 @@
explicit VideoCaptureHost(MediaStreamManager* media_stream_manager);
static void Create(MediaStreamManager* media_stream_manager,
+ const service_manager::BindSourceInfo& source_info,
mojom::VideoCaptureHostRequest request);
~VideoCaptureHost() override;
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 5f24093..1234f79 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -451,6 +451,7 @@
void CreateMemoryCoordinatorHandle(
int render_process_id,
+ const service_manager::BindSourceInfo& source_info,
mojom::MemoryCoordinatorHandleRequest request) {
MemoryCoordinatorImpl::GetInstance()->CreateHandle(render_process_id,
std::move(request));
@@ -459,7 +460,9 @@
// Forwards service requests to Service Manager since the renderer cannot launch
// out-of-process services on is own.
template <typename R>
-void ForwardShapeDetectionRequest(R request) {
+void ForwardShapeDetectionRequest(const service_manager::BindSourceInfo&,
+ R request) {
+ // TODO(beng): This should really be using the per-profile connector.
service_manager::Connector* connector =
ServiceManagerConnection::GetForProcess()->GetConnector();
connector->BindInterface(shape_detection::mojom::kServiceName,
@@ -473,6 +476,7 @@
int render_process_id,
scoped_refptr<ResourceMessageFilter> resource_message_filter,
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
+ const service_manager::BindSourceInfo& source_info,
mojom::WorkerURLLoaderFactoryProviderRequest request) {
DCHECK(base::FeatureList::IsEnabled(features::kOffMainThreadFetch));
mojo::MakeStrongBinding(
@@ -1336,9 +1340,9 @@
// This is to support usage of WebSockets in cases in which there is no
// associated RenderFrame (e.g., Shared Workers).
- AddUIThreadInterface(
- registry.get(), base::Bind(&WebSocketManager::CreateWebSocket, GetID(),
- MSG_ROUTING_NONE));
+ AddUIThreadInterface(registry.get(),
+ base::Bind(&WebSocketManager::CreateWebSocket, GetID(),
+ MSG_ROUTING_NONE));
// Chrome browser process only provides DiscardableSharedMemory service when
// Chrome is not running in mus+ash.
@@ -1401,7 +1405,9 @@
listener->OnAssociatedInterfaceRequest(name, request.PassHandle());
}
-void RenderProcessHostImpl::CreateMusGpuRequest(ui::mojom::GpuRequest request) {
+void RenderProcessHostImpl::CreateMusGpuRequest(
+ const service_manager::BindSourceInfo& source_info,
+ ui::mojom::GpuRequest request) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!gpu_client_)
gpu_client_.reset(new GpuClient(GetID()));
@@ -1409,6 +1415,7 @@
}
void RenderProcessHostImpl::CreateOffscreenCanvasProvider(
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::OffscreenCanvasProviderRequest request) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
if (!offscreen_canvas_provider_) {
@@ -1421,12 +1428,14 @@
}
void RenderProcessHostImpl::BindFrameSinkProvider(
+ const service_manager::BindSourceInfo& source_info,
mojom::FrameSinkProviderRequest request) {
frame_sink_provider_.Bind(std::move(request));
}
void RenderProcessHostImpl::CreateStoragePartitionService(
- mojo::InterfaceRequest<mojom::StoragePartitionService> request) {
+ const service_manager::BindSourceInfo& source_info,
+ mojom::StoragePartitionServiceRequest request) {
// DO NOT REMOVE THIS COMMAND LINE CHECK WITHOUT SECURITY REVIEW!
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMojoLocalStorage)) {
diff --git a/content/browser/renderer_host/render_process_host_impl.h b/content/browser/renderer_host/render_process_host_impl.h
index 5a18d33..05c8c7c 100644
--- a/content/browser/renderer_host/render_process_host_impl.h
+++ b/content/browser/renderer_host/render_process_host_impl.h
@@ -31,6 +31,7 @@
#include "content/common/content_export.h"
#include "content/common/indexed_db/indexed_db.mojom.h"
#include "content/common/renderer.mojom.h"
+#include "content/common/storage_partition_service.mojom.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/common/service_manager_connection.h"
#include "ipc/ipc_channel_proxy.h"
@@ -78,10 +79,6 @@
class StoragePartition;
class StoragePartitionImpl;
-namespace mojom {
-class StoragePartitionService;
-} // namespace mojom
-
typedef base::Thread* (*RendererMainThreadFactoryFunction)(
const InProcessChildThreadParams& params);
@@ -347,12 +344,16 @@
void BindRouteProvider(mojom::RouteProviderAssociatedRequest request);
- void CreateMusGpuRequest(ui::mojom::GpuRequest request);
+ void CreateMusGpuRequest(const service_manager::BindSourceInfo& source_info,
+ ui::mojom::GpuRequest request);
void CreateOffscreenCanvasProvider(
+ const service_manager::BindSourceInfo& source_info,
blink::mojom::OffscreenCanvasProviderRequest request);
- void BindFrameSinkProvider(mojom::FrameSinkProviderRequest request);
+ void BindFrameSinkProvider(const service_manager::BindSourceInfo& source_info,
+ mojom::FrameSinkProviderRequest request);
void CreateStoragePartitionService(
- mojo::InterfaceRequest<mojom::StoragePartitionService> request);
+ const service_manager::BindSourceInfo& source_info,
+ mojom::StoragePartitionServiceRequest request);
// Control message handlers.
void OnShutdownRequest();
@@ -405,7 +406,8 @@
template <typename InterfaceType>
using AddInterfaceCallback =
- base::Callback<void(mojo::InterfaceRequest<InterfaceType>)>;
+ base::Callback<void(const service_manager::BindSourceInfo&,
+ mojo::InterfaceRequest<InterfaceType>)>;
template <typename CallbackType>
struct InterfaceGetter;
@@ -415,10 +417,11 @@
static void GetInterfaceOnUIThread(
base::WeakPtr<RenderProcessHostImpl> weak_host,
const AddInterfaceCallback<InterfaceType>& callback,
+ const service_manager::BindSourceInfo& source_info,
mojo::InterfaceRequest<InterfaceType> request) {
if (!weak_host)
return;
- callback.Run(std::move(request));
+ callback.Run(source_info, std::move(request));
}
};
diff --git a/content/browser/websockets/websocket_manager.cc b/content/browser/websockets/websocket_manager.cc
index 8f40b37..db68bbf8 100644
--- a/content/browser/websockets/websocket_manager.cc
+++ b/content/browser/websockets/websocket_manager.cc
@@ -54,8 +54,11 @@
};
// static
-void WebSocketManager::CreateWebSocket(int process_id, int frame_id,
- blink::mojom::WebSocketRequest request) {
+void WebSocketManager::CreateWebSocket(
+ int process_id,
+ int frame_id,
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::WebSocketRequest request) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
RenderProcessHost* host = RenderProcessHost::FromID(process_id);
diff --git a/content/browser/websockets/websocket_manager.h b/content/browser/websockets/websocket_manager.h
index 8f1b9c9..5fd6bc17 100644
--- a/content/browser/websockets/websocket_manager.h
+++ b/content/browser/websockets/websocket_manager.h
@@ -16,6 +16,10 @@
#include "net/url_request/url_request_context_getter.h"
#include "net/url_request/url_request_context_getter_observer.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class StoragePartition;
@@ -28,8 +32,11 @@
NON_EXPORTED_BASE(public net::URLRequestContextGetterObserver) {
public:
// Called on the UI thread:
- static void CreateWebSocket(int process_id, int frame_id,
- blink::mojom::WebSocketRequest request);
+ static void CreateWebSocket(
+ int process_id,
+ int frame_id,
+ const service_manager::BindSourceInfo& source_info,
+ blink::mojom::WebSocketRequest request);
// net::URLRequestContextGetterObserver implementation.
void OnContextShuttingDown() override;
diff --git a/content/browser/webui/web_ui_mojo_browsertest.cc b/content/browser/webui/web_ui_mojo_browsertest.cc
index d829b2ab..457d831 100644
--- a/content/browser/webui/web_ui_mojo_browsertest.cc
+++ b/content/browser/webui/web_ui_mojo_browsertest.cc
@@ -33,6 +33,7 @@
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/interface_request.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
+#include "services/service_manager/public/cpp/bind_source_info.h"
#include "services/service_manager/public/cpp/binder_registry.h"
namespace content {
@@ -134,7 +135,8 @@
base::Unretained(this)));
}
- void CreateHandler(mojo::InterfaceRequest<mojom::BrowserTarget> request) {
+ void CreateHandler(const service_manager::BindSourceInfo& source_info,
+ mojom::BrowserTargetRequest request) {
browser_target_ =
base::MakeUnique<BrowserTargetImpl>(run_loop_, std::move(request));
}
diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc
index 6f5591d..91f1fcb 100644
--- a/content/gpu/gpu_child_thread.cc
+++ b/content/gpu/gpu_child_thread.cc
@@ -296,6 +296,7 @@
}
void GpuChildThread::BindServiceFactoryRequest(
+ const service_manager::BindSourceInfo& source_info,
service_manager::mojom::ServiceFactoryRequest request) {
DVLOG(1) << "GPU: Binding service_manager::mojom::ServiceFactoryRequest";
DCHECK(service_factory_);
diff --git a/content/gpu/gpu_child_thread.h b/content/gpu/gpu_child_thread.h
index 55c5f0e..cfc258d 100644
--- a/content/gpu/gpu_child_thread.h
+++ b/content/gpu/gpu_child_thread.h
@@ -40,6 +40,10 @@
class GpuWatchdogThread;
}
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class GpuServiceFactory;
@@ -104,6 +108,7 @@
const std::string& group_name) override;
void BindServiceFactoryRequest(
+ const service_manager::BindSourceInfo& source_info,
service_manager::mojom::ServiceFactoryRequest request);
gpu::GpuChannelManager* gpu_channel_manager() {
diff --git a/content/public/browser/provision_fetcher_impl.cc b/content/public/browser/provision_fetcher_impl.cc
index 98e06b1b..1663f3e 100644
--- a/content/public/browser/provision_fetcher_impl.cc
+++ b/content/public/browser/provision_fetcher_impl.cc
@@ -14,6 +14,7 @@
// static
void ProvisionFetcherImpl::Create(
net::URLRequestContextGetter* context_getter,
+ const service_manager::BindSourceInfo& source_info,
media::mojom::ProvisionFetcherRequest request) {
DCHECK(context_getter);
mojo::MakeStrongBinding(base::MakeUnique<ProvisionFetcherImpl>(
diff --git a/content/public/browser/provision_fetcher_impl.h b/content/public/browser/provision_fetcher_impl.h
index 5151b39..b3d63023 100644
--- a/content/public/browser/provision_fetcher_impl.h
+++ b/content/public/browser/provision_fetcher_impl.h
@@ -18,6 +18,10 @@
class URLRequestContextGetter;
}
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
// A media::mojom::ProvisionFetcher implementation based on
@@ -26,6 +30,7 @@
: NON_EXPORTED_BASE(public media::mojom::ProvisionFetcher) {
public:
static void Create(net::URLRequestContextGetter* context_getter,
+ const service_manager::BindSourceInfo& source_info,
media::mojom::ProvisionFetcherRequest request);
explicit ProvisionFetcherImpl(
diff --git a/content/renderer/image_downloader/image_downloader_impl.cc b/content/renderer/image_downloader/image_downloader_impl.cc
index 0cb07d3..d40dd30 100644
--- a/content/renderer/image_downloader/image_downloader_impl.cc
+++ b/content/renderer/image_downloader/image_downloader_impl.cc
@@ -99,6 +99,7 @@
// static
void ImageDownloaderImpl::CreateMojoService(
RenderFrame* render_frame,
+ const service_manager::BindSourceInfo& source_info,
mojom::ImageDownloaderRequest request) {
DVLOG(1) << "ImageDownloaderImpl::CreateMojoService";
DCHECK(render_frame);
diff --git a/content/renderer/image_downloader/image_downloader_impl.h b/content/renderer/image_downloader/image_downloader_impl.h
index e244dc4..9836ab3 100644
--- a/content/renderer/image_downloader/image_downloader_impl.h
+++ b/content/renderer/image_downloader/image_downloader_impl.h
@@ -9,6 +9,10 @@
#include "content/renderer/image_downloader/image_downloader_base.h"
#include "mojo/public/cpp/bindings/binding.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class ImageDownloaderImpl : public mojom::ImageDownloader,
@@ -16,8 +20,10 @@
public:
~ImageDownloaderImpl() override;
- static void CreateMojoService(RenderFrame* render_frame,
- mojom::ImageDownloaderRequest request);
+ static void CreateMojoService(
+ RenderFrame* render_frame,
+ const service_manager::BindSourceInfo& source_info,
+ mojom::ImageDownloaderRequest request);
private:
ImageDownloaderImpl(RenderFrame* render_frame,
diff --git a/content/renderer/media/media_devices_listener_impl.cc b/content/renderer/media/media_devices_listener_impl.cc
index 8588036..40bc61b 100644
--- a/content/renderer/media/media_devices_listener_impl.cc
+++ b/content/renderer/media/media_devices_listener_impl.cc
@@ -16,6 +16,7 @@
// static
void MediaDevicesListenerImpl::Create(
int render_frame_id,
+ const service_manager::BindSourceInfo& source_info,
::mojom::MediaDevicesListenerRequest request) {
mojo::MakeStrongBinding(
base::MakeUnique<MediaDevicesListenerImpl>(render_frame_id),
diff --git a/content/renderer/media/media_devices_listener_impl.h b/content/renderer/media/media_devices_listener_impl.h
index 5198457a..29b05f6 100644
--- a/content/renderer/media/media_devices_listener_impl.h
+++ b/content/renderer/media/media_devices_listener_impl.h
@@ -11,6 +11,10 @@
#include "content/common/media/media_devices.h"
#include "content/common/media/media_devices.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
// This class implements a Mojo object that receives notifications about changes
@@ -19,6 +23,7 @@
: public ::mojom::MediaDevicesListener {
public:
static void Create(int render_frame_id,
+ const service_manager::BindSourceInfo& source_info,
::mojom::MediaDevicesListenerRequest request);
explicit MediaDevicesListenerImpl(int render_frame_id);
~MediaDevicesListenerImpl() override;
diff --git a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
index 7de9b33..4240771 100644
--- a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
+++ b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
@@ -31,7 +31,8 @@
// static
void EmbeddedWorkerInstanceClientImpl::Create(
- mojo::InterfaceRequest<mojom::EmbeddedWorkerInstanceClient> request) {
+ const service_manager::BindSourceInfo& source_info,
+ mojom::EmbeddedWorkerInstanceClientRequest request) {
// This won't be leaked because the lifetime will be managed internally.
new EmbeddedWorkerInstanceClientImpl(std::move(request));
}
diff --git a/content/renderer/service_worker/embedded_worker_instance_client_impl.h b/content/renderer/service_worker/embedded_worker_instance_client_impl.h
index cdc7aef2..097f32f 100644
--- a/content/renderer/service_worker/embedded_worker_instance_client_impl.h
+++ b/content/renderer/service_worker/embedded_worker_instance_client_impl.h
@@ -21,6 +21,10 @@
} // namespace blink
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class EmbeddedWorkerDevToolsAgent;
@@ -31,8 +35,8 @@
class EmbeddedWorkerInstanceClientImpl
: public mojom::EmbeddedWorkerInstanceClient {
public:
- static void Create(
- mojo::InterfaceRequest<mojom::EmbeddedWorkerInstanceClient> request);
+ static void Create(const service_manager::BindSourceInfo& source_info,
+ mojom::EmbeddedWorkerInstanceClientRequest request);
~EmbeddedWorkerInstanceClientImpl() override;
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc b/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc
index 60be3f3..fa83b6a 100644
--- a/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc
+++ b/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc
@@ -22,6 +22,7 @@
// static
void LayoutTestBluetoothFakeAdapterSetterImpl::Create(
+ const service_manager::BindSourceInfo& source_info,
mojom::LayoutTestBluetoothFakeAdapterSetterRequest request) {
mojo::MakeStrongBinding(
base::MakeUnique<LayoutTestBluetoothFakeAdapterSetterImpl>(),
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.h b/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.h
index 4ae6fa9..ead71d14 100644
--- a/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.h
+++ b/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.h
@@ -8,6 +8,10 @@
#include "base/macros.h"
#include "content/shell/common/layout_test/layout_test_bluetooth_fake_adapter_setter.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class LayoutTestBluetoothFakeAdapterSetterImpl
@@ -17,6 +21,7 @@
~LayoutTestBluetoothFakeAdapterSetterImpl() override;
static void Create(
+ const service_manager::BindSourceInfo& source_info,
mojom::LayoutTestBluetoothFakeAdapterSetterRequest request);
private:
diff --git a/content/shell/browser/layout_test/layout_test_content_browser_client.cc b/content/shell/browser/layout_test/layout_test_content_browser_client.cc
index d4dd8452..1ed77c5 100644
--- a/content/shell/browser/layout_test/layout_test_content_browser_client.cc
+++ b/content/shell/browser/layout_test/layout_test_content_browser_client.cc
@@ -22,6 +22,7 @@
#include "content/shell/common/shell_messages.h"
#include "content/shell/renderer/layout_test/blink_test_helpers.h"
#include "device/bluetooth/test/fake_bluetooth.h"
+#include "services/service_manager/public/cpp/bind_source_info.h"
#include "services/service_manager/public/cpp/binder_registry.h"
namespace content {
diff --git a/content/shell/renderer/shell_content_renderer_client.cc b/content/shell/renderer/shell_content_renderer_client.cc
index a9e11d6b..89545ff 100644
--- a/content/shell/renderer/shell_content_renderer_client.cc
+++ b/content/shell/renderer/shell_content_renderer_client.cc
@@ -91,7 +91,8 @@
DISALLOW_COPY_AND_ASSIGN(TestServiceImpl);
};
-void CreateTestService(mojom::TestServiceRequest request) {
+void CreateTestService(const service_manager::BindSourceInfo& source_info,
+ mojom::TestServiceRequest request) {
// Owns itself.
new TestServiceImpl(std::move(request));
}
diff --git a/content/shell/utility/shell_content_utility_client.cc b/content/shell/utility/shell_content_utility_client.cc
index 1ac9f8d..429a152 100644
--- a/content/shell/utility/shell_content_utility_client.cc
+++ b/content/shell/utility/shell_content_utility_client.cc
@@ -30,7 +30,8 @@
class TestServiceImpl : public mojom::TestService {
public:
- static void Create(mojom::TestServiceRequest request) {
+ static void Create(const service_manager::BindSourceInfo&,
+ mojom::TestServiceRequest request) {
mojo::MakeStrongBinding(base::WrapUnique(new TestServiceImpl),
std::move(request));
}
@@ -130,10 +131,12 @@
void ShellContentUtilityClient::RegisterNetworkBinders(
service_manager::BinderRegistry* registry) {
registry->AddInterface<mojom::NetworkServiceTest>(
- base::Bind(&ShellContentUtilityClient::Create, base::Unretained(this)));
+ base::Bind(&ShellContentUtilityClient::BindNetworkServiceTestRequest,
+ base::Unretained(this)));
}
-void ShellContentUtilityClient::Create(
+void ShellContentUtilityClient::BindNetworkServiceTestRequest(
+ const service_manager::BindSourceInfo& source_info,
mojom::NetworkServiceTestRequest request) {
DCHECK(!network_service_test_);
network_service_test_ =
diff --git a/content/shell/utility/shell_content_utility_client.h b/content/shell/utility/shell_content_utility_client.h
index afb566ae..e14bd70 100644
--- a/content/shell/utility/shell_content_utility_client.h
+++ b/content/shell/utility/shell_content_utility_client.h
@@ -9,6 +9,10 @@
#include "content/public/common/network_service_test.mojom.h"
#include "content/public/utility/content_utility_client.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class ShellContentUtilityClient : public ContentUtilityClient {
@@ -23,7 +27,9 @@
service_manager::BinderRegistry* registry) override;
private:
- void Create(mojom::NetworkServiceTestRequest request);
+ void BindNetworkServiceTestRequest(
+ const service_manager::BindSourceInfo& source_info,
+ mojom::NetworkServiceTestRequest request);
std::unique_ptr<mojom::NetworkServiceTest> network_service_test_;
diff --git a/content/test/test_render_frame_host.cc b/content/test/test_render_frame_host.cc
index faf7ec1..8924bc2 100644
--- a/content/test/test_render_frame_host.cc
+++ b/content/test/test_render_frame_host.cc
@@ -511,6 +511,7 @@
TestRenderFrameHost::CreateWebBluetoothServiceForTesting() {
WebBluetoothServiceImpl* service =
RenderFrameHostImpl::CreateWebBluetoothService(
+ service_manager::BindSourceInfo(),
blink::mojom::WebBluetoothServiceRequest());
return service;
}
diff --git a/content/utility/utility_thread_impl.cc b/content/utility/utility_thread_impl.cc
index d85cd22..ec50aba8 100644
--- a/content/utility/utility_thread_impl.cc
+++ b/content/utility/utility_thread_impl.cc
@@ -128,6 +128,7 @@
}
void UtilityThreadImpl::BindServiceFactoryRequest(
+ const service_manager::BindSourceInfo& source_info,
service_manager::mojom::ServiceFactoryRequest request) {
DCHECK(service_factory_);
service_factory_bindings_.AddBinding(service_factory_.get(),
diff --git a/content/utility/utility_thread_impl.h b/content/utility/utility_thread_impl.h
index bd05414..6293e08e 100644
--- a/content/utility/utility_thread_impl.h
+++ b/content/utility/utility_thread_impl.h
@@ -18,6 +18,10 @@
#include "mojo/public/cpp/bindings/binding_set.h"
#include "services/service_manager/public/interfaces/service_factory.mojom.h"
+namespace service_manager {
+struct BindSourceInfo;
+}
+
namespace content {
class UtilityBlinkPlatformImpl;
class UtilityServiceFactory;
@@ -52,6 +56,7 @@
void OnBatchModeFinished();
void BindServiceFactoryRequest(
+ const service_manager::BindSourceInfo& source_info,
service_manager::mojom::ServiceFactoryRequest request);
// True when we're running in batch mode.