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

Unified Diff: ios/web/web_state/web_state_impl.mm

Issue 2847743003: Eliminate InterfaceRegistry (Closed)
Patch Set: . Created 3 years, 8 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: ios/web/web_state/web_state_impl.mm
diff --git a/ios/web/web_state/web_state_impl.mm b/ios/web/web_state/web_state_impl.mm
index 5b8cc73659a090aac16b6e51df19a041ced32163..c997e58c145e429fd8710a37e4e684c6e7a75b89 100644
--- a/ios/web/web_state/web_state_impl.mm
+++ b/ios/web/web_state/web_state_impl.mm
@@ -36,10 +36,24 @@
#include "ios/web/webui/web_ui_ios_controller_factory_registry.h"
#include "ios/web/webui/web_ui_ios_impl.h"
#include "net/http/http_response_headers.h"
-#include "services/service_manager/public/cpp/interface_registry.h"
namespace web {
+WebStateInterfaceProvider::WebStateInterfaceProvider() : binding_(this) {}
+WebStateInterfaceProvider::~WebStateInterfaceProvider() = default;
+
+void WebStateInterfaceProvider::Bind(
+ service_manager::mojom::InterfaceProviderRequest request) {
+ binding_.Bind(std::move(request));
+}
+
+void WebStateInterfaceProvider::GetInterface(
+ const std::string& interface_name,
+ mojo::ScopedMessagePipeHandle handle) override {
+ registry_.BindInterface(service_manager::Identity(), interface_name,
+ std::move(handle));
+}
+
/* static */
std::unique_ptr<WebState> WebState::Create(const CreateParams& params) {
std::unique_ptr<WebStateImpl> web_state(new WebStateImpl(params));
@@ -540,12 +554,12 @@ bool WebStateImpl::ShouldAllowResponse(NSURLResponse* response) {
#pragma mark - RequestTracker management
-service_manager::InterfaceRegistry* WebStateImpl::GetMojoInterfaceRegistry() {
- if (!mojo_interface_registry_) {
- mojo_interface_registry_ =
- base::MakeUnique<service_manager::InterfaceRegistry>(std::string());
+WebStateInterfaceProvider* WebStateImpl::GetWebStateInterfaceProvider() {
+ if (!web_state_interface_provider_) {
+ web_state_interface_provider_ =
+ base::MakeUnique<WebStateInterfaceProvider>();
}
- return mojo_interface_registry_.get();
+ return web_state_interface_provider_.get();
}
base::WeakPtr<WebState> WebStateImpl::AsWeakPtr() {

Powered by Google App Engine
This is Rietveld 408576698