| 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 |