| Index: chrome/renderer/searchbox/searchbox_extension.cc
|
| diff --git a/chrome/renderer/searchbox/searchbox_extension.cc b/chrome/renderer/searchbox/searchbox_extension.cc
|
| index c687b063c6475597cf0a603eb8e1c135312f285b..5ff90824b7f1d4cafc606f35151b53875dd2a401 100644
|
| --- a/chrome/renderer/searchbox/searchbox_extension.cc
|
| +++ b/chrome/renderer/searchbox/searchbox_extension.cc
|
| @@ -404,6 +404,17 @@
|
| " true;"
|
| "}";
|
|
|
| +static const char kDispatchToggleVoiceSearchScript[] =
|
| + "if (window.chrome &&"
|
| + " window.chrome.embeddedSearch &&"
|
| + " window.chrome.embeddedSearch.searchBox &&"
|
| + " window.chrome.embeddedSearch.searchBox.ontogglevoicesearch &&"
|
| + " typeof window.chrome.embeddedSearch.searchBox.ontogglevoicesearch =="
|
| + " 'function') {"
|
| + " window.chrome.embeddedSearch.searchBox.ontogglevoicesearch();"
|
| + " true;"
|
| + "}";
|
| +
|
| // ----------------------------------------------------------------------------
|
|
|
| class SearchBoxExtensionWrapper : public v8::Extension {
|
| @@ -503,6 +514,10 @@
|
|
|
| // Pastes provided value or clipboard's content into the omnibox.
|
| static void Paste(const v8::FunctionCallbackInfo<v8::Value>& args);
|
| +
|
| + // Indicates whether the page supports voice search.
|
| + static void SetVoiceSearchSupported(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
|
| // Start capturing user key strokes.
|
| static void StartCapturingKeyStrokes(
|
| @@ -610,6 +625,12 @@
|
| // static
|
| void SearchBoxExtension::DispatchThemeChange(blink::WebFrame* frame) {
|
| Dispatch(frame, kDispatchThemeChangeEventScript);
|
| +}
|
| +
|
| +// static
|
| +void SearchBoxExtension::DispatchToggleVoiceSearch(
|
| + blink::WebFrame* frame) {
|
| + Dispatch(frame, kDispatchToggleVoiceSearchScript);
|
| }
|
|
|
| SearchBoxExtensionWrapper::SearchBoxExtensionWrapper(
|
| @@ -671,6 +692,8 @@
|
| return v8::FunctionTemplate::New(isolate, NavigateContentWindow);
|
| if (name->Equals(v8::String::NewFromUtf8(isolate, "Paste")))
|
| return v8::FunctionTemplate::New(isolate, Paste);
|
| + if (name->Equals(v8::String::NewFromUtf8(isolate, "SetVoiceSearchSupported")))
|
| + return v8::FunctionTemplate::New(isolate, SetVoiceSearchSupported);
|
| if (name->Equals(
|
| v8::String::NewFromUtf8(isolate, "StartCapturingKeyStrokes")))
|
| return v8::FunctionTemplate::New(isolate, StartCapturingKeyStrokes);
|
| @@ -1237,6 +1260,22 @@
|
| }
|
|
|
| // static
|
| +void SearchBoxExtensionWrapper::SetVoiceSearchSupported(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| + content::RenderView* render_view = GetRenderView();
|
| + if (!render_view) {
|
| + return;
|
| + }
|
| + if (!args.Length()) {
|
| + ThrowInvalidParameters(args);
|
| + return;
|
| + }
|
| +
|
| + DVLOG(1) << render_view << " SetVoiceSearchSupported";
|
| + SearchBox::Get(render_view)->SetVoiceSearchSupported(args[0]->BooleanValue());
|
| +}
|
| +
|
| +// static
|
| void SearchBoxExtensionWrapper::UndoAllMostVisitedDeletions(
|
| const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| content::RenderView* render_view = GetRenderView();
|
|
|