| Index: chrome/renderer/searchbox/searchbox_extension.cc
|
| diff --git a/chrome/renderer/searchbox/searchbox_extension.cc b/chrome/renderer/searchbox/searchbox_extension.cc
|
| index 612287b33774cd27541edfbb3f7eab5becfabc3e..cf63760761ceee1ccd4db7859073f7787a8df795 100644
|
| --- a/chrome/renderer/searchbox/searchbox_extension.cc
|
| +++ b/chrome/renderer/searchbox/searchbox_extension.cc
|
| @@ -333,6 +333,17 @@ static const char kDispatchToggleVoiceSearchScript[] =
|
| " true;"
|
| "}";
|
|
|
| +static const char kDispatchCheckUserSyncHistoryResult[] =
|
| + "if (window.chrome &&"
|
| + " window.chrome.embeddedSearch &&"
|
| + " window.chrome.embeddedSearch.newTabPage &&"
|
| + " window.chrome.embeddedSearch.newTabPage.onusersynchistorydone &&"
|
| + " typeof window.chrome.embeddedSearch.newTabPage"
|
| + " .onusersynchistorydone === 'function') {"
|
| + " window.chrome.embeddedSearch.newTabPage.onusersynchistorydone(%s);"
|
| + " true;"
|
| + "}";
|
| +
|
| // ----------------------------------------------------------------------------
|
|
|
| class SearchBoxExtensionWrapper : public v8::Extension {
|
| @@ -352,6 +363,10 @@ class SearchBoxExtensionWrapper : public v8::Extension {
|
| static void CheckIsUserSignedInToChromeAs(
|
| const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
|
| + // Checks whether the user sync his history.
|
| + static void CheckUserSyncHistory(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args);
|
| +
|
| // Deletes a Most Visited item.
|
| static void DeleteMostVisitedItem(
|
| const v8::FunctionCallbackInfo<v8::Value>& args);
|
| @@ -533,6 +548,16 @@ void SearchBoxExtension::DispatchToggleVoiceSearch(
|
| Dispatch(frame, kDispatchToggleVoiceSearchScript);
|
| }
|
|
|
| +// static
|
| +void SearchBoxExtension::DispatchCheckUserSyncHistoryResult(
|
| + blink::WebFrame* frame,
|
| + bool sync_history) {
|
| + blink::WebString script(base::UTF8ToUTF16(base::StringPrintf(
|
| + kDispatchCheckUserSyncHistoryResult,
|
| + sync_history ? "true" : "false")));
|
| + Dispatch(frame, script);
|
| +}
|
| +
|
| SearchBoxExtensionWrapper::SearchBoxExtensionWrapper(
|
| const base::StringPiece& code)
|
| : v8::Extension(kSearchBoxExtensionName, code.data(), 0, 0, code.size()) {
|
| @@ -545,6 +570,8 @@ SearchBoxExtensionWrapper::GetNativeFunctionTemplate(
|
| if (name->Equals(
|
| v8::String::NewFromUtf8(isolate, "CheckIsUserSignedInToChromeAs")))
|
| return v8::FunctionTemplate::New(isolate, CheckIsUserSignedInToChromeAs);
|
| + if (name->Equals(v8::String::NewFromUtf8(isolate, "CheckUserSyncHistory")))
|
| + return v8::FunctionTemplate::New(isolate, CheckUserSyncHistory);
|
| if (name->Equals(v8::String::NewFromUtf8(isolate, "DeleteMostVisitedItem")))
|
| return v8::FunctionTemplate::New(isolate, DeleteMostVisitedItem);
|
| if (name->Equals(v8::String::NewFromUtf8(isolate, "Focus")))
|
| @@ -630,6 +657,16 @@ void SearchBoxExtensionWrapper::CheckIsUserSignedInToChromeAs(
|
| }
|
|
|
| // static
|
| +void SearchBoxExtensionWrapper::CheckUserSyncHistory(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| + content::RenderView* render_view = GetRenderView();
|
| + if (!render_view) return;
|
| +
|
| + DVLOG(1) << render_view << " CheckUserSyncHistory";
|
| + SearchBox::Get(render_view)->CheckUserSyncHistory();
|
| +}
|
| +
|
| +// static
|
| void SearchBoxExtensionWrapper::DeleteMostVisitedItem(
|
| const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| content::RenderView* render_view = GetRenderView();
|
|
|