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

Side by Side Diff: chrome/renderer/external_extension.cc

Issue 3117034: Skeleton of sync handler on the I/O thread for GetSearchProviderInstallState. (Closed)
Patch Set: Created 10 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/external_extension.h" 5 #include "chrome/renderer/external_extension.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "chrome/common/chrome_switches.h" 8 #include "chrome/common/chrome_switches.h"
9 #include "chrome/renderer/render_view.h" 9 #include "chrome/renderer/render_view.h"
10 #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h" 10 #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 v8::Handle<v8::Value> ExternalExtensionWrapper::IsSearchProviderInstalled( 117 v8::Handle<v8::Value> ExternalExtensionWrapper::IsSearchProviderInstalled(
118 const v8::Arguments& args) { 118 const v8::Arguments& args) {
119 if (!args.Length()) return v8::Undefined(); 119 if (!args.Length()) return v8::Undefined();
120 120
121 std::string name = std::string(*v8::String::Utf8Value(args[0])); 121 std::string name = std::string(*v8::String::Utf8Value(args[0]));
122 if (!name.length()) return v8::Undefined(); 122 if (!name.length()) return v8::Undefined();
123 123
124 RenderView* render_view = GetRenderView(); 124 RenderView* render_view = GetRenderView();
125 if (!render_view) return v8::Undefined(); 125 if (!render_view) return v8::Undefined();
126 126
127 WebFrame* webframe = WebFrame::frameForEnteredContext();
128 if (!webframe) return v8::Undefined();
129
127 ViewHostMsg_GetSearchProviderInstallState_Params install 130 ViewHostMsg_GetSearchProviderInstallState_Params install
128 = render_view->GetSearchProviderInstallState(name); 131 = render_view->GetSearchProviderInstallState(webframe, name);
129 if (install.state == 132 if (install.state ==
130 ViewHostMsg_GetSearchProviderInstallState_Params::DENIED) { 133 ViewHostMsg_GetSearchProviderInstallState_Params::DENIED) {
131 // FIXME: throw access denied exception. 134 // FIXME: throw access denied exception.
132 return v8::ThrowException(v8::Exception::Error(v8::String::Empty())); 135 return v8::ThrowException(v8::Exception::Error(v8::String::Empty()));
133 } 136 }
134 return v8::Integer::New(install.state); 137 return v8::Integer::New(install.state);
135 } 138 }
136 139
137 v8::Extension* ExternalExtension::Get() { 140 v8::Extension* ExternalExtension::Get() {
138 return new ExternalExtensionWrapper(); 141 return new ExternalExtensionWrapper();
139 } 142 }
140 143
141 } // namespace extensions_v8 144 } // namespace extensions_v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698