| Index: chrome/android/java/src/org/chromium/chrome/browser/BookmarksBridge.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/BookmarksBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/BookmarksBridge.java
|
| index 110c3e521b350a4a675e847cb959b944e07b02c0..6a79fa53e79914749a5a5889d7846b479befde4f 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/BookmarksBridge.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/BookmarksBridge.java
|
| @@ -6,8 +6,10 @@ package org.chromium.chrome.browser;
|
|
|
| import org.chromium.base.CalledByNative;
|
| import org.chromium.base.ObserverList;
|
| +import org.chromium.base.VisibleForTesting;
|
| import org.chromium.chrome.browser.profiles.Profile;
|
| import org.chromium.components.bookmarks.BookmarkId;
|
| +import org.chromium.components.bookmarks.BookmarkType;
|
|
|
| import java.util.ArrayList;
|
| import java.util.List;
|
| @@ -162,6 +164,15 @@ public class BookmarksBridge {
|
| }
|
|
|
| /**
|
| + * Load an empty partner bookmark shim for testing. The root node for bookmark will be an
|
| + * empty node.
|
| + */
|
| + @VisibleForTesting
|
| + public void loadEmptyPartnerBookmarkShimForTesting() {
|
| + nativeLoadEmptyPartnerBookmarkShimForTesting(mNativeBookmarksBridge);
|
| + }
|
| +
|
| + /**
|
| * Add an observer to bookmark model changes.
|
| * @param observer The observer to be added.
|
| */
|
| @@ -263,6 +274,24 @@ public class BookmarksBridge {
|
| }
|
|
|
| /**
|
| + * @return Id representing the special "other" folder from bookmark model.
|
| + */
|
| + @VisibleForTesting
|
| + public BookmarkId getOtherFolderId() {
|
| + assert mIsNativeBookmarkModelLoaded;
|
| + return nativeGetOtherFolderId(mNativeBookmarksBridge);
|
| + }
|
| +
|
| + /**
|
| + * @return BokmarkId representing special "desktop" folder, namely "bookmark bar".
|
| + */
|
| + @VisibleForTesting
|
| + public BookmarkId getDesktopFolderId() {
|
| + assert mIsNativeBookmarkModelLoaded;
|
| + return nativeGetDesktopFolderId(mNativeBookmarksBridge);
|
| + }
|
| +
|
| + /**
|
| * Reads sub-folder IDs, sub-bookmark IDs, or both of the given folder.
|
| *
|
| * @param getFolders Whether sub-folders should be returned.
|
| @@ -382,6 +411,46 @@ public class BookmarksBridge {
|
| }
|
|
|
| /**
|
| + * Add a new folder to the given parent folder
|
| + *
|
| + * @param parent Folder where to add. Must be a normal editable folder, instead of a partner
|
| + * bookmark folder or a managed bookomark folder or root node of the entire
|
| + * bookmark model.
|
| + * @param index The position to locate the new folder
|
| + * @param title The title text of the new folder
|
| + * @return Id of the added node. If adding failed (index is invalid, string is null, parent is
|
| + * not editable), returns null.
|
| + */
|
| + public BookmarkId addFolder(BookmarkId parent, int index, String title) {
|
| + assert parent.getType() == BookmarkType.BOOKMARK_TYPE_NORMAL;
|
| + assert index >= 0;
|
| + assert title != null;
|
| +
|
| + return nativeAddFolder(mNativeBookmarksBridge, parent, index, title);
|
| + }
|
| +
|
| + /**
|
| + * Add a new bookmark to a specific position below parent
|
| + *
|
| + * @param parent Folder where to add. Must be a normal editable folder, instead of a partner
|
| + * bookmark folder or a managed bookomark folder or root node of the entire
|
| + * bookmark model.
|
| + * @param index The position where the bookmark will be placed in parent folder
|
| + * @param title Title of the new bookmark
|
| + * @param url Url of the new bookmark
|
| + * @return Id of the added node. If adding failed (index is invalid, string is null, parent is
|
| + * not editable), returns null.
|
| + */
|
| + public BookmarkId addBookmark(BookmarkId parent, int index, String title, String url) {
|
| + assert parent.getType() == BookmarkType.BOOKMARK_TYPE_NORMAL;
|
| + assert index >= 0;
|
| + assert title != null;
|
| + assert url != null;
|
| +
|
| + return nativeAddBookmark(mNativeBookmarksBridge, parent, index, title, url);
|
| + }
|
| +
|
| + /**
|
| * A bridge function to BookmarkModelFactory::GetForProfile.
|
| */
|
| public static long getNativeBookmarkModel(Profile profile) {
|
| @@ -525,6 +594,8 @@ public class BookmarksBridge {
|
| private native void nativeGetAllFoldersWithDepths(long nativeBookmarksBridge,
|
| List<BookmarkId> folderList, List<Integer> depthList);
|
| private native BookmarkId nativeGetMobileFolderId(long nativeBookmarksBridge);
|
| + private native BookmarkId nativeGetOtherFolderId(long nativeBookmarksBridge);
|
| + private native BookmarkId nativeGetDesktopFolderId(long nativeBookmarksBridge);
|
| private native void nativeGetChildIDs(long nativeBookmarksBridge, long id, int type,
|
| boolean getFolders, boolean getBookmarks, List<BookmarkId> bookmarksList);
|
| private native void nativeGetAllBookmarkIDsOrderedByCreationDate(long nativeBookmarksBridge,
|
| @@ -540,11 +611,16 @@ public class BookmarksBridge {
|
| private native void nativeGetCurrentFolderHierarchy(long nativeBookmarksBridge,
|
| BookmarkId folderId, BookmarksCallback callback,
|
| List<BookmarkItem> bookmarksList);
|
| + private native BookmarkId nativeAddFolder(long nativeBookmarksBridge, BookmarkId parent,
|
| + int index, String title);
|
| private native void nativeDeleteBookmark(long nativeBookmarksBridge, BookmarkId bookmarkId);
|
| private native void nativeMoveBookmark(long nativeBookmarksBridge, BookmarkId bookmarkId,
|
| BookmarkId newParentId, int index);
|
| + private native BookmarkId nativeAddBookmark(long nativeBookmarksBridge, BookmarkId parent,
|
| + int index, String title, String url);
|
| private static native long nativeGetNativeBookmarkModel(Profile profile);
|
| private static native boolean nativeIsEnhancedBookmarksFeatureEnabled(Profile profile);
|
| + private native void nativeLoadEmptyPartnerBookmarkShimForTesting(long nativeBookmarksBridge);
|
| private native long nativeInit(Profile profile);
|
| private native boolean nativeIsDoingExtensiveChanges(long nativeBookmarksBridge);
|
| private native void nativeDestroy(long nativeBookmarksBridge);
|
|
|