summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-23 22:01:25 +0000
committerlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-23 22:01:25 +0000
commit52ded45f70f0defc422d0fcf2b1cd873be839a69 (patch)
tree941775d84d7f4cf93b60a11324dc955022323a16 /chrome/renderer
parent36e8db95f83d177c765a4401ad86df822b81efc2 (diff)
downloadchromium_src-52ded45f70f0defc422d0fcf2b1cd873be839a69.zip
chromium_src-52ded45f70f0defc422d0fcf2b1cd873be839a69.tar.gz
chromium_src-52ded45f70f0defc422d0fcf2b1cd873be839a69.tar.bz2
Skeleton of sync handler on the I/O thread for GetSearchProviderInstallState.
BUG=38475 TEST=Not fully testable yet (but the test is unit_test --gtest_filter=SearchProviderTest.TestIsSearchProviderInstalled Review URL: http://codereview.chromium.org/3117034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57114 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/external_extension.cc5
-rw-r--r--chrome/renderer/render_view.cc5
-rw-r--r--chrome/renderer/render_view.h4
3 files changed, 11 insertions, 3 deletions
diff --git a/chrome/renderer/external_extension.cc b/chrome/renderer/external_extension.cc
index 8a1b6ec..251a12a 100644
--- a/chrome/renderer/external_extension.cc
+++ b/chrome/renderer/external_extension.cc
@@ -124,8 +124,11 @@ v8::Handle<v8::Value> ExternalExtensionWrapper::IsSearchProviderInstalled(
RenderView* render_view = GetRenderView();
if (!render_view) return v8::Undefined();
+ WebFrame* webframe = WebFrame::frameForEnteredContext();
+ if (!webframe) return v8::Undefined();
+
ViewHostMsg_GetSearchProviderInstallState_Params install
- = render_view->GetSearchProviderInstallState(name);
+ = render_view->GetSearchProviderInstallState(webframe, name);
if (install.state ==
ViewHostMsg_GetSearchProviderInstallState_Params::DENIED) {
// FIXME: throw access denied exception.
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 2e66fc7..8ab971c 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -1609,12 +1609,15 @@ void RenderView::AddSearchProvider(const std::string& url) {
}
ViewHostMsg_GetSearchProviderInstallState_Params
-RenderView::GetSearchProviderInstallState(const std::string& url) {
+RenderView::GetSearchProviderInstallState(WebFrame* frame,
+ const std::string& url) {
GURL inquiry_url = GURL(url);
if (inquiry_url.is_empty())
return ViewHostMsg_GetSearchProviderInstallState_Params::Denied();
+
ViewHostMsg_GetSearchProviderInstallState_Params install;
Send(new ViewHostMsg_GetSearchProviderInstallState(routing_id_,
+ frame->url(),
inquiry_url,
&install));
return install;
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 7000d2a..46b6bae 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -104,6 +104,7 @@ class WebApplicationCacheHostClient;
class WebDataSource;
class WebDocument;
class WebDragData;
+class WebFrame;
class WebGeolocationServiceInterface;
class WebImage;
class WebInputElement;
@@ -214,7 +215,8 @@ class RenderView : public RenderWidget,
// Returns the install state for the given search provider url.
ViewHostMsg_GetSearchProviderInstallState_Params
- GetSearchProviderInstallState(const std::string& url);
+ GetSearchProviderInstallState(WebKit::WebFrame* frame,
+ const std::string& url);
// Evaluates a string of JavaScript in a particular frame.
void EvaluateScript(const std::wstring& frame_xpath,