Index: chrome/renderer/search_extension.cc |
diff --git a/chrome/renderer/search_extension.cc b/chrome/renderer/search_extension.cc |
deleted file mode 100644 |
index 01e3a7d7dbe826cc5f37b8c641716f3d53a586d0..0000000000000000000000000000000000000000 |
--- a/chrome/renderer/search_extension.cc |
+++ /dev/null |
@@ -1,94 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/renderer/search_extension.h" |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/command_line.h" |
-#include "chrome/renderer/searchbox.h" |
-#include "content/public/renderer/render_view.h" |
-#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
-#include "v8/include/v8.h" |
- |
-using WebKit::WebFrame; |
-using WebKit::WebView; |
- |
-namespace extensions_v8 { |
- |
-const char* const kSearchExtensionName = "v8/InstantSearch"; |
- |
-class SearchExtensionWrapper : public v8::Extension { |
- public: |
- SearchExtensionWrapper(); |
- |
- // Allows v8's javascript code to call the native functions defined |
- // in this class for window.chrome. |
- virtual v8::Handle<v8::FunctionTemplate> GetNativeFunction( |
- v8::Handle<v8::String> name); |
- |
- // Helper function to find the RenderView. May return NULL. |
- static content::RenderView* GetRenderView(); |
- |
- // Implementation of window.chrome.setSuggestResult. |
- static v8::Handle<v8::Value> SetSuggestResult(const v8::Arguments& args); |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(SearchExtensionWrapper); |
-}; |
- |
-SearchExtensionWrapper::SearchExtensionWrapper() |
- : v8::Extension(kSearchExtensionName, |
- "var chrome;" |
- "if (!chrome)" |
- " chrome = {};" |
- "chrome.setSuggestResult = function(text) {" |
- " native function NativeSetSuggestResult();" |
- " NativeSetSuggestResult(text);" |
- "};") { |
-} |
- |
-v8::Handle<v8::FunctionTemplate> SearchExtensionWrapper::GetNativeFunction( |
- v8::Handle<v8::String> name) { |
- if (name->Equals(v8::String::New("NativeSetSuggestResult"))) { |
- return v8::FunctionTemplate::New(SetSuggestResult); |
- } |
- |
- return v8::Handle<v8::FunctionTemplate>(); |
-} |
- |
-// static |
-content::RenderView* SearchExtensionWrapper::GetRenderView() { |
- WebFrame* webframe = WebFrame::frameForEnteredContext(); |
- DCHECK(webframe) << "There should be an active frame since we just got " |
- "a native function called."; |
- if (!webframe) return NULL; |
- |
- WebView* webview = webframe->view(); |
- if (!webview) return NULL; // can happen during closing |
- |
- return content::RenderView::FromWebView(webview); |
-} |
- |
-// static |
-v8::Handle<v8::Value> SearchExtensionWrapper::SetSuggestResult( |
- const v8::Arguments& args) { |
- if (!args.Length() || !args[0]->IsString()) return v8::Undefined(); |
- |
- content::RenderView* render_view = GetRenderView(); |
- if (!render_view) return v8::Undefined(); |
- |
- std::vector<std::string> suggestions; |
- suggestions.push_back(std::string(*v8::String::Utf8Value(args[0]))); |
- SearchBox::Get(render_view)->SetSuggestions(suggestions, |
- INSTANT_COMPLETE_NOW); |
- return v8::Undefined(); |
-} |
- |
-v8::Extension* SearchExtension::Get() { |
- return new SearchExtensionWrapper(); |
-} |
- |
-} // namespace extensions_v8 |