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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/bookmarks/bookmarks_bridge.h" 5 #include "chrome/browser/android/bookmarks/bookmarks_bridge.h"
6 6
7 #include "base/android/jni_string.h" 7 #include "base/android/jni_string.h"
8 #include "base/containers/stack_container.h" 8 #include "base/containers/stack_container.h"
9 #include "base/i18n/string_compare.h" 9 #include "base/i18n/string_compare.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
11 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 11 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
12 #include "chrome/browser/bookmarks/chrome_bookmark_client_factory.h" 12 #include "chrome/browser/bookmarks/chrome_bookmark_client_factory.h"
13 #include "chrome/browser/bookmarks/enhanced_bookmarks_features.h" 13 #include "chrome/browser/bookmarks/enhanced_bookmarks_features.h"
14 #include "chrome/browser/profiles/incognito_helpers.h" 14 #include "chrome/browser/profiles/incognito_helpers.h"
15 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/profiles/profile_android.h" 16 #include "chrome/browser/profiles/profile_android.h"
17 #include "chrome/browser/profiles/profile_manager.h" 17 #include "chrome/browser/profiles/profile_manager.h"
18 #include "chrome/browser/signin/signin_manager_factory.h" 18 #include "chrome/browser/signin/signin_manager_factory.h"
19 #include "chrome/browser/undo/bookmark_undo_service.h"
20 #include "chrome/browser/undo/bookmark_undo_service_factory.h"
21 #include "chrome/browser/undo/undo_manager.h"
19 #include "chrome/common/pref_names.h" 22 #include "chrome/common/pref_names.h"
20 #include "components/bookmarks/browser/bookmark_model.h" 23 #include "components/bookmarks/browser/bookmark_model.h"
21 #include "components/bookmarks/browser/bookmark_utils.h" 24 #include "components/bookmarks/browser/bookmark_utils.h"
25 #include "components/bookmarks/browser/scoped_group_bookmark_actions.h"
22 #include "components/bookmarks/common/android/bookmark_type.h" 26 #include "components/bookmarks/common/android/bookmark_type.h"
23 #include "components/signin/core/browser/signin_manager.h" 27 #include "components/signin/core/browser/signin_manager.h"
24 #include "content/public/browser/browser_thread.h" 28 #include "content/public/browser/browser_thread.h"
25 #include "jni/BookmarksBridge_jni.h" 29 #include "jni/BookmarksBridge_jni.h"
26 30
27 using base::android::AttachCurrentThread; 31 using base::android::AttachCurrentThread;
28 using base::android::ConvertUTF8ToJavaString; 32 using base::android::ConvertUTF8ToJavaString;
29 using base::android::ConvertUTF16ToJavaString; 33 using base::android::ConvertUTF16ToJavaString;
30 using base::android::ScopedJavaLocalRef; 34 using base::android::ScopedJavaLocalRef;
31 using base::android::ScopedJavaGlobalRef; 35 using base::android::ScopedJavaGlobalRef;
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 if (!new_node) { 666 if (!new_node) {
663 NOTREACHED(); 667 NOTREACHED();
664 return ScopedJavaLocalRef<jobject>(); 668 return ScopedJavaLocalRef<jobject>();
665 } 669 }
666 ScopedJavaLocalRef<jobject> new_java_obj = 670 ScopedJavaLocalRef<jobject> new_java_obj =
667 Java_BookmarksBridge_createBookmarkId( 671 Java_BookmarksBridge_createBookmarkId(
668 env, new_node->id(), GetBookmarkType(new_node)); 672 env, new_node->id(), GetBookmarkType(new_node));
669 return new_java_obj; 673 return new_java_obj;
670 } 674 }
671 675
676 void BookmarksBridge::Undo(JNIEnv* env, jobject obj) {
677 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
678 DCHECK(IsLoaded());
679 BookmarkUndoService* undo_service =
680 BookmarkUndoServiceFactory::GetForProfile(profile_);
681 UndoManager* undo_manager = undo_service->undo_manager();
682 undo_manager->Undo();
683 }
684
685 void BookmarksBridge::StartGroupingUndos(JNIEnv* env, jobject obj) {
686 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
687 DCHECK(IsLoaded());
688 DCHECK(!grouped_bookmark_actions_.get()); // shouldn't have started already
689 grouped_bookmark_actions_.reset(
690 new bookmarks::ScopedGroupBookmarkActions(bookmark_model_));
691 }
692
693 void BookmarksBridge::EndGroupingUndos(JNIEnv* env, jobject obj) {
694 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
695 DCHECK(IsLoaded());
696 DCHECK(grouped_bookmark_actions_.get()); // should only call after start
697 grouped_bookmark_actions_.reset();
698 }
699
672 ScopedJavaLocalRef<jobject> BookmarksBridge::CreateJavaBookmark( 700 ScopedJavaLocalRef<jobject> BookmarksBridge::CreateJavaBookmark(
673 const BookmarkNode* node) { 701 const BookmarkNode* node) {
674 JNIEnv* env = AttachCurrentThread(); 702 JNIEnv* env = AttachCurrentThread();
675 703
676 const BookmarkNode* parent = GetParentNode(node); 704 const BookmarkNode* parent = GetParentNode(node);
677 int64 parent_id = parent ? parent->id() : -1; 705 int64 parent_id = parent ? parent->id() : -1;
678 706
679 std::string url; 707 std::string url;
680 if (node->is_url()) 708 if (node->is_url())
681 url = node->url().spec(); 709 url = node->url().spec();
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 BookmarkModelChanged(); 975 BookmarkModelChanged();
948 } 976 }
949 977
950 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) { 978 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) {
951 NotifyIfDoneLoading(); 979 NotifyIfDoneLoading();
952 } 980 }
953 981
954 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) { 982 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) {
955 partner_bookmarks_shim_ = NULL; 983 partner_bookmarks_shim_ = NULL;
956 } 984 }
OLDNEW
« 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