diff options
author | levin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-23 22:01:25 +0000 |
---|---|---|
committer | levin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-23 22:01:25 +0000 |
commit | 52ded45f70f0defc422d0fcf2b1cd873be839a69 (patch) | |
tree | 941775d84d7f4cf93b60a11324dc955022323a16 /chrome/renderer | |
parent | 36e8db95f83d177c765a4401ad86df822b81efc2 (diff) | |
download | chromium_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.cc | 5 | ||||
-rw-r--r-- | chrome/renderer/render_view.cc | 5 | ||||
-rw-r--r-- | chrome/renderer/render_view.h | 4 |
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, |