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

Unified Diff: chrome/renderer/external_extension.cc

Issue 2072613003: Convert GetSearchProviderInstallState to Mojo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge Created 4 years, 5 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: chrome/renderer/external_extension.cc
diff --git a/chrome/renderer/external_extension.cc b/chrome/renderer/external_extension.cc
index ff616dca7353cc6e378d0010cc77f9a914699f98..b0f81753bbababa39a03200394ad62e0d43efd66 100644
--- a/chrome/renderer/external_extension.cc
+++ b/chrome/renderer/external_extension.cc
@@ -7,17 +7,15 @@
#include <stdint.h>
#include "base/macros.h"
-#include "chrome/common/render_messages.h"
-#include "chrome/common/search_provider.h"
-#include "content/public/renderer/render_view.h"
+#include "chrome/common/search_provider.mojom.h"
+#include "content/public/renderer/render_thread.h"
+#include "services/shell/public/cpp/interface_provider.h"
#include "third_party/WebKit/public/web/WebDocument.h"
#include "third_party/WebKit/public/web/WebLocalFrame.h"
-#include "third_party/WebKit/public/web/WebView.h"
#include "v8/include/v8.h"
using blink::WebLocalFrame;
using blink::WebView;
-using content::RenderView;
namespace extensions_v8 {
@@ -46,9 +44,6 @@ class ExternalExtensionWrapper : public v8::Extension {
v8::Isolate* isolate,
v8::Local<v8::String> name) override;
- // Helper function to find the RenderView. May return NULL.
- static RenderView* GetRenderView();
-
// Implementation of window.external.IsSearchProviderInstalled.
static void IsSearchProviderInstalled(
const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -74,21 +69,6 @@ ExternalExtensionWrapper::GetNativeFunctionTemplate(
}
// static
-RenderView* ExternalExtensionWrapper::GetRenderView() {
- WebLocalFrame* webframe = WebLocalFrame::frameForCurrentContext();
- DCHECK(webframe) << "There should be an active frame since we just got "
- "a native function called.";
- if (!webframe)
- return NULL;
-
- WebView* webview = webframe->view();
- if (!webview)
- return NULL; // can happen during closing
-
- return RenderView::FromWebView(webview);
-}
-
-// static
void ExternalExtensionWrapper::IsSearchProviderInstalled(
const v8::FunctionCallbackInfo<v8::Value>& args) {
if (!args.Length() || !args[0]->IsString())
@@ -99,24 +79,25 @@ void ExternalExtensionWrapper::IsSearchProviderInstalled(
return;
std::string name(*utf8name);
- RenderView* render_view = GetRenderView();
- if (!render_view)
- return;
WebLocalFrame* webframe = WebLocalFrame::frameForCurrentContext();
if (!webframe)
return;
- search_provider::InstallState install = search_provider::DENIED;
+ chrome::mojom::InstallState install = chrome::mojom::InstallState::DENIED;
GURL inquiry_url = GURL(webframe->document().url()).Resolve(name);
if (!inquiry_url.is_empty()) {
webframe->didCallIsSearchProviderInstalled();
- render_view->Send(new ChromeViewHostMsg_GetSearchProviderInstallState(
- render_view->GetRoutingID(), webframe->document().url(), inquiry_url,
- &install));
+ chrome::mojom::SearchProviderInstallStatePtr search_provider_service;
+ content::RenderThread::Get()->GetRemoteInterfaces()->GetInterface(
+ mojo::GetProxy(&search_provider_service));
+ if (!search_provider_service->GetInstallState(webframe->document().url(),
+ inquiry_url, &install)) {
+ DLOG(ERROR) << "Can't fetch search provider install state";
+ }
}
- if (install == search_provider::DENIED) {
+ if (install == chrome::mojom::InstallState::DENIED) {
// FIXME: throw access denied exception.
v8::Isolate* isolate = args.GetIsolate();
isolate->ThrowException(v8::Exception::Error(v8::String::Empty(isolate)));

Powered by Google App Engine
This is Rietveld 408576698