OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/searchbox_extension.h" | 5 #include "chrome/renderer/searchbox_extension.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
11 #include "base/string_split.h" | 11 #include "base/string_split.h" |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 return RenderView::FromWebView(webview); | 209 return RenderView::FromWebView(webview); |
210 } | 210 } |
211 | 211 |
212 // static | 212 // static |
213 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetValue( | 213 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetValue( |
214 const v8::Arguments& args) { | 214 const v8::Arguments& args) { |
215 RenderView* render_view = GetRenderView(); | 215 RenderView* render_view = GetRenderView(); |
216 if (!render_view) return v8::Undefined(); | 216 if (!render_view) return v8::Undefined(); |
217 return v8::String::New( | 217 return v8::String::New( |
218 reinterpret_cast<const uint16_t*>( | 218 reinterpret_cast<const uint16_t*>( |
219 render_view->searchbox()->value().c_str()), | 219 SearchBox::Get(render_view)->value().c_str()), |
220 render_view->searchbox()->value().length()); | 220 SearchBox::Get(render_view)->value().length()); |
221 } | 221 } |
222 | 222 |
223 // static | 223 // static |
224 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetVerbatim( | 224 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetVerbatim( |
225 const v8::Arguments& args) { | 225 const v8::Arguments& args) { |
226 RenderView* render_view = GetRenderView(); | 226 RenderView* render_view = GetRenderView(); |
227 if (!render_view) return v8::Undefined(); | 227 if (!render_view) return v8::Undefined(); |
228 return v8::Boolean::New(render_view->searchbox()->verbatim()); | 228 return v8::Boolean::New(SearchBox::Get(render_view)->verbatim()); |
229 } | 229 } |
230 | 230 |
231 // static | 231 // static |
232 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetSelectionStart( | 232 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetSelectionStart( |
233 const v8::Arguments& args) { | 233 const v8::Arguments& args) { |
234 RenderView* render_view = GetRenderView(); | 234 RenderView* render_view = GetRenderView(); |
235 if (!render_view) return v8::Undefined(); | 235 if (!render_view) return v8::Undefined(); |
236 return v8::Int32::New(render_view->searchbox()->selection_start()); | 236 return v8::Int32::New(SearchBox::Get(render_view)->selection_start()); |
237 } | 237 } |
238 | 238 |
239 // static | 239 // static |
240 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetSelectionEnd( | 240 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetSelectionEnd( |
241 const v8::Arguments& args) { | 241 const v8::Arguments& args) { |
242 RenderView* render_view = GetRenderView(); | 242 RenderView* render_view = GetRenderView(); |
243 if (!render_view) return v8::Undefined(); | 243 if (!render_view) return v8::Undefined(); |
244 return v8::Int32::New(render_view->searchbox()->selection_end()); | 244 return v8::Int32::New(SearchBox::Get(render_view)->selection_end()); |
245 } | 245 } |
246 | 246 |
247 // static | 247 // static |
248 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetX( | 248 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetX( |
249 const v8::Arguments& args) { | 249 const v8::Arguments& args) { |
250 RenderView* render_view = GetRenderView(); | 250 RenderView* render_view = GetRenderView(); |
251 if (!render_view) return v8::Undefined(); | 251 if (!render_view) return v8::Undefined(); |
252 return v8::Int32::New(render_view->searchbox()->rect().x()); | 252 return v8::Int32::New(SearchBox::Get(render_view)->rect().x()); |
253 } | 253 } |
254 | 254 |
255 // static | 255 // static |
256 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetY( | 256 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetY( |
257 const v8::Arguments& args) { | 257 const v8::Arguments& args) { |
258 RenderView* render_view = GetRenderView(); | 258 RenderView* render_view = GetRenderView(); |
259 if (!render_view) return v8::Undefined(); | 259 if (!render_view) return v8::Undefined(); |
260 return v8::Int32::New(render_view->searchbox()->rect().y()); | 260 return v8::Int32::New(SearchBox::Get(render_view)->rect().y()); |
261 } | 261 } |
262 | 262 |
263 // static | 263 // static |
264 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetWidth( | 264 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetWidth( |
265 const v8::Arguments& args) { | 265 const v8::Arguments& args) { |
266 RenderView* render_view = GetRenderView(); | 266 RenderView* render_view = GetRenderView(); |
267 if (!render_view) return v8::Undefined(); | 267 if (!render_view) return v8::Undefined(); |
268 return v8::Int32::New(render_view->searchbox()->rect().width()); | 268 return v8::Int32::New(SearchBox::Get(render_view)->rect().width()); |
269 } | 269 } |
270 | 270 |
271 // static | 271 // static |
272 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetHeight( | 272 v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetHeight( |
273 const v8::Arguments& args) { | 273 const v8::Arguments& args) { |
274 RenderView* render_view = GetRenderView(); | 274 RenderView* render_view = GetRenderView(); |
275 if (!render_view) return v8::Undefined(); | 275 if (!render_view) return v8::Undefined(); |
276 return v8::Int32::New(render_view->searchbox()->rect().height()); | 276 return v8::Int32::New(SearchBox::Get(render_view)->rect().height()); |
277 } | 277 } |
278 | 278 |
279 // Accepts a single argument in form: | 279 // Accepts a single argument in form: |
280 // { | 280 // { |
281 // suggestions: [ | 281 // suggestions: [ |
282 // { | 282 // { |
283 // value: "..." | 283 // value: "..." |
284 // } | 284 // } |
285 // ] | 285 // ] |
286 // } | 286 // } |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 if (complete_value->IsString()) { | 335 if (complete_value->IsString()) { |
336 if (complete_value->Equals(v8::String::New("never"))) | 336 if (complete_value->Equals(v8::String::New("never"))) |
337 behavior = INSTANT_COMPLETE_NEVER; | 337 behavior = INSTANT_COMPLETE_NEVER; |
338 else if (complete_value->Equals(v8::String::New("delayed"))) | 338 else if (complete_value->Equals(v8::String::New("delayed"))) |
339 behavior = INSTANT_COMPLETE_DELAYED; | 339 behavior = INSTANT_COMPLETE_DELAYED; |
340 } | 340 } |
341 } | 341 } |
342 } | 342 } |
343 | 343 |
344 if (RenderView* render_view = GetRenderView()) | 344 if (RenderView* render_view = GetRenderView()) |
345 render_view->searchbox()->SetSuggestions(suggestions, behavior); | 345 SearchBox::Get(render_view)->SetSuggestions(suggestions, behavior); |
346 return v8::Undefined(); | 346 return v8::Undefined(); |
347 } | 347 } |
348 | 348 |
349 // static | 349 // static |
350 bool Dispatch(WebFrame* frame, const std::string& event_name) { | 350 bool Dispatch(WebFrame* frame, const std::string& event_name) { |
351 DCHECK(frame) << "Dispatch requires frame"; | 351 DCHECK(frame) << "Dispatch requires frame"; |
352 if (!frame) return false; | 352 if (!frame) return false; |
353 | 353 |
354 v8::HandleScope handle_scope; | 354 v8::HandleScope handle_scope; |
355 v8::Local<v8::Context> context = frame->mainWorldScriptContext(); | 355 v8::Local<v8::Context> context = frame->mainWorldScriptContext(); |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 | 426 |
427 return supports_searchbox_api || supports_deprecated_api; | 427 return supports_searchbox_api || supports_deprecated_api; |
428 } | 428 } |
429 | 429 |
430 // static | 430 // static |
431 v8::Extension* SearchBoxExtension::Get() { | 431 v8::Extension* SearchBoxExtension::Get() { |
432 return new SearchBoxExtensionWrapper(); | 432 return new SearchBoxExtensionWrapper(); |
433 } | 433 } |
434 | 434 |
435 } // namespace extensions_v8 | 435 } // namespace extensions_v8 |
OLD | NEW |