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(); |