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

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: rearrange gypi 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"
22 #include "components/bookmarks/common/android/bookmark_type.h" 25 #include "components/bookmarks/common/android/bookmark_type.h"
23 #include "components/signin/core/browser/signin_manager.h" 26 #include "components/signin/core/browser/signin_manager.h"
24 #include "content/public/browser/browser_thread.h" 27 #include "content/public/browser/browser_thread.h"
25 #include "jni/BookmarksBridge_jni.h" 28 #include "jni/BookmarksBridge_jni.h"
26 29
27 using base::android::AttachCurrentThread; 30 using base::android::AttachCurrentThread;
28 using base::android::ConvertUTF8ToJavaString; 31 using base::android::ConvertUTF8ToJavaString;
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 if (!new_node) { 665 if (!new_node) {
663 NOTREACHED(); 666 NOTREACHED();
664 return ScopedJavaLocalRef<jobject>(); 667 return ScopedJavaLocalRef<jobject>();
665 } 668 }
666 ScopedJavaLocalRef<jobject> new_java_obj = 669 ScopedJavaLocalRef<jobject> new_java_obj =
667 Java_BookmarksBridge_createBookmarkId( 670 Java_BookmarksBridge_createBookmarkId(
668 env, new_node->id(), GetBookmarkType(new_node)); 671 env, new_node->id(), GetBookmarkType(new_node));
669 return new_java_obj; 672 return new_java_obj;
670 } 673 }
671 674
675 void BookmarksBridge::Undo(JNIEnv* env, jobject obj) {
676 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
677 DCHECK(IsLoaded());
678 BookmarkUndoService* undo_service =
679 BookmarkUndoServiceFactory::GetForProfile(profile_);
680 UndoManager* undo_manager = undo_service->undo_manager();
681 undo_manager->Undo();
682 }
683
684 void BookmarksBridge::UndoStartGrouping(JNIEnv* env, jobject obj) {
685 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
686 DCHECK(IsLoaded());
687 BookmarkUndoService* undo_service =
688 BookmarkUndoServiceFactory::GetForProfile(profile_);
689 UndoManager* undo_manager = undo_service->undo_manager();
690 undo_manager->StartGroupingActions();
Kibeom Kim (inactive) 2014/09/22 17:35:07 Are we supposed to call the grouping API ourselves
691 }
692
693 void BookmarksBridge::UndoEndGrouping(JNIEnv* env, jobject obj) {
694 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
695 DCHECK(IsLoaded());
696 BookmarkUndoService* undo_service =
697 BookmarkUndoServiceFactory::GetForProfile(profile_);
698 UndoManager* undo_manager = undo_service->undo_manager();
699 undo_manager->EndGroupingActions();
700 }
701
672 ScopedJavaLocalRef<jobject> BookmarksBridge::CreateJavaBookmark( 702 ScopedJavaLocalRef<jobject> BookmarksBridge::CreateJavaBookmark(
673 const BookmarkNode* node) { 703 const BookmarkNode* node) {
674 JNIEnv* env = AttachCurrentThread(); 704 JNIEnv* env = AttachCurrentThread();
675 705
676 const BookmarkNode* parent = GetParentNode(node); 706 const BookmarkNode* parent = GetParentNode(node);
677 int64 parent_id = parent ? parent->id() : -1; 707 int64 parent_id = parent ? parent->id() : -1;
678 708
679 std::string url; 709 std::string url;
680 if (node->is_url()) 710 if (node->is_url())
681 url = node->url().spec(); 711 url = node->url().spec();
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 BookmarkModelChanged(); 977 BookmarkModelChanged();
948 } 978 }
949 979
950 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) { 980 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) {
951 NotifyIfDoneLoading(); 981 NotifyIfDoneLoading();
952 } 982 }
953 983
954 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) { 984 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) {
955 partner_bookmarks_shim_ = NULL; 985 partner_bookmarks_shim_ = NULL;
956 } 986 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698