Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Unified Diff: chrome/browser/android/bookmarks/bookmarks_bridge.cc

Issue 586913002: Add BookmarkUndoService to Android build (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: suspend undo service during sync changes Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/bookmarks/bookmarks_bridge.cc
diff --git a/chrome/browser/android/bookmarks/bookmarks_bridge.cc b/chrome/browser/android/bookmarks/bookmarks_bridge.cc
index fe7c99b8705f3875d8efe909c142e79de101aca7..6dcb559dc2072fedf67af9f42bc0ec79788f001b 100644
--- a/chrome/browser/android/bookmarks/bookmarks_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmarks_bridge.cc
@@ -16,9 +16,13 @@
#include "chrome/browser/profiles/profile_android.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/signin/signin_manager_factory.h"
+#include "chrome/browser/undo/bookmark_undo_service.h"
+#include "chrome/browser/undo/bookmark_undo_service_factory.h"
+#include "chrome/browser/undo/undo_manager.h"
#include "chrome/common/pref_names.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/bookmarks/browser/bookmark_utils.h"
+#include "components/bookmarks/browser/scoped_group_bookmark_actions.h"
#include "components/bookmarks/common/android/bookmark_type.h"
#include "components/signin/core/browser/signin_manager.h"
#include "content/public/browser/browser_thread.h"
@@ -669,6 +673,30 @@ ScopedJavaLocalRef<jobject> BookmarksBridge::AddBookmark(
return new_java_obj;
}
+void BookmarksBridge::Undo(JNIEnv* env, jobject obj) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(IsLoaded());
+ BookmarkUndoService* undo_service =
+ BookmarkUndoServiceFactory::GetForProfile(profile_);
+ UndoManager* undo_manager = undo_service->undo_manager();
+ undo_manager->Undo();
+}
+
+void BookmarksBridge::StartGroupingUndos(JNIEnv* env, jobject obj) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(IsLoaded());
+ DCHECK(!grouped_bookmark_actions_.get()); // shouldn't have started already
+ grouped_bookmark_actions_.reset(
+ new bookmarks::ScopedGroupBookmarkActions(bookmark_model_));
+}
+
+void BookmarksBridge::EndGroupingUndos(JNIEnv* env, jobject obj) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(IsLoaded());
+ DCHECK(grouped_bookmark_actions_.get()); // should only call after start
+ grouped_bookmark_actions_.reset();
+}
+
ScopedJavaLocalRef<jobject> BookmarksBridge::CreateJavaBookmark(
const BookmarkNode* node) {
JNIEnv* env = AttachCurrentThread();
« no previous file with comments | « chrome/browser/android/bookmarks/bookmarks_bridge.h ('k') | chrome/browser/bookmarks/bookmark_model_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698