Add ForeignSessionHelper.triggerSessionSync()
We need a way to manually trigger a session sync on Android.
BUG=378035
Review URL: https://codereview.chromium.org/702153004
Cr-Commit-Position: refs/heads/master@{#302931}
diff --git a/chrome/browser/android/foreign_session_helper.cc b/chrome/browser/android/foreign_session_helper.cc
index 3d61357..2f3d0ac 100644
--- a/chrome/browser/android/foreign_session_helper.cc
+++ b/chrome/browser/android/foreign_session_helper.cc
@@ -20,6 +20,8 @@
#include "chrome/browser/ui/android/tab_model/tab_model_list.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
+#include "content/public/browser/notification_details.h"
+#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_source.h"
#include "content/public/browser/web_contents.h"
#include "jni/ForeignSessionHelper_jni.h"
@@ -164,6 +166,14 @@
return service && service->GetActiveDataTypes().Has(syncer::PROXY_TABS);
}
+void ForeignSessionHelper::TriggerSessionSync(JNIEnv* env, jobject obj) {
+ const syncer::ModelTypeSet types(syncer::SESSIONS);
+ content::NotificationService::current()->Notify(
+ chrome::NOTIFICATION_SYNC_REFRESH_LOCAL,
+ content::Source<Profile>(profile_),
+ content::Details<const syncer::ModelTypeSet>(&types));
+}
+
void ForeignSessionHelper::SetOnForeignSessionCallback(JNIEnv* env,
jobject obj,
jobject callback) {