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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java

Issue 1804813002: Delete ChromeBrowserProviderClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProviderClient.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
index e8155c5166fb14a0648726ff3502e192776d797a..e0ed430bcbe204a868e042bb1ade1639d7746a51 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
@@ -18,7 +18,6 @@ import android.database.MatrixCursor;
import android.net.Uri;
import android.os.Binder;
import android.os.Build;
-import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.UserHandle;
@@ -31,7 +30,6 @@ import android.util.LongSparseArray;
import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
-import org.chromium.base.annotations.CalledByNativeUnchecked;
import org.chromium.base.annotations.SuppressFBWarnings;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException;
@@ -40,7 +38,6 @@ import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.content.app.ContentApplication;
import org.chromium.content.browser.BrowserStartupController;
-import org.chromium.sync.AndroidSyncSettings;
import java.util.ArrayList;
import java.util.Arrays;
@@ -78,21 +75,6 @@ public class ChromeBrowserProvider extends ContentProvider {
// making changes to this permission, also update the permission in AndroidManifest.xml.
private static final String PERMISSION_READ_WRITE_BOOKMARKS = "READ_WRITE_BOOKMARK_FOLDERS";
- // Defines the API methods that the Client can call by name.
- static final String CLIENT_API_BOOKMARK_NODE_EXISTS = "BOOKMARK_NODE_EXISTS";
- static final String CLIENT_API_CREATE_BOOKMARKS_FOLDER_ONCE = "CREATE_BOOKMARKS_FOLDER_ONCE";
- static final String CLIENT_API_GET_EDITABLE_BOOKMARK_FOLDER_HIERARCHY =
- "GET_EDITABLE_BOOKMARK_FOLDER_HIERARCHY";
- static final String CLIENT_API_GET_BOOKMARK_NODE = "GET_BOOKMARK_NODE";
- static final String CLIENT_API_GET_DEFAULT_BOOKMARK_FOLDER = "GET_DEFAULT_BOOKMARK_FOLDER";
- static final String CLIENT_API_GET_MOBILE_BOOKMARKS_FOLDER_ID =
- "GET_MOBILE_BOOKMARKS_FOLDER_ID";
- static final String CLIENT_API_IS_BOOKMARK_IN_MOBILE_BOOKMARKS_BRANCH =
- "IS_BOOKMARK_IN_MOBILE_BOOKMARKS_BRANCH";
- static final String CLIENT_API_DELETE_ALL_USER_BOOKMARKS = "DELETE_ALL_USER_BOOKMARKS";
- static final String CLIENT_API_RESULT_KEY = "result";
-
-
// Defines Chrome's API authority, so it can be run and tested
// independently.
private static final String API_AUTHORITY_SUFFIX = ".browser";
@@ -124,7 +106,6 @@ public class ChromeBrowserProvider extends ContentProvider {
private static final String SEARCHES_PATH = "searches";
private static final String HISTORY_PATH = "history";
private static final String COMBINED_PATH = "combined";
- private static final String BOOKMARK_FOLDER_PATH = "hierarchy";
public static final Uri BROWSER_CONTRACTS_BOOKMAKRS_API_URI = buildContentUri(
BROWSER_CONTRACT_API_AUTHORITY, BOOKMARKS_PATH);
@@ -152,8 +133,7 @@ public class ChromeBrowserProvider extends ContentProvider {
public static final long INVALID_CONTENT_PROVIDER_ID = 0;
// ID used to indicate an invalid id for bookmark nodes.
- // Client API queries should use ChromeBrowserProviderClient.INVALID_BOOKMARK_ID.
- static final long INVALID_BOOKMARK_ID = -1;
+ private static final long INVALID_BOOKMARK_ID = -1;
private static final String LAST_MODIFIED_BOOKMARK_FOLDER_ID_KEY = "last_bookmark_folder_id";
@@ -624,24 +604,12 @@ public class ChromeBrowserProvider extends ContentProvider {
.apply();
}
+ @VisibleForTesting
public static String getApiAuthority(Context context) {
return context.getPackageName() + API_AUTHORITY_SUFFIX;
}
@VisibleForTesting
- public static String getInternalAuthority(Context context) {
- return context.getPackageName() + AUTHORITY_SUFFIX;
- }
-
- public static Uri getBookmarksUri(Context context) {
- return buildContentUri(getInternalAuthority(context), BOOKMARKS_PATH);
- }
-
- public static Uri getBookmarkFolderUri(Context context) {
- return buildContentUri(getInternalAuthority(context), BOOKMARK_FOLDER_PATH);
- }
-
- @VisibleForTesting
public static Uri getBookmarksApiUri(Context context) {
return buildContentUri(getApiAuthority(context), BOOKMARKS_PATH);
}
@@ -651,133 +619,6 @@ public class ChromeBrowserProvider extends ContentProvider {
return buildContentUri(getApiAuthority(context), SEARCHES_PATH);
}
- private boolean bookmarkNodeExists(long nodeId) {
- if (nodeId < 0) return false;
- return nativeBookmarkNodeExists(mNativeChromeBrowserProvider, nodeId);
- }
-
- private long createBookmarksFolderOnce(String title, long parentId) {
- return nativeCreateBookmarksFolderOnce(mNativeChromeBrowserProvider, title, parentId);
- }
-
- private BookmarkNode getEditableBookmarkFolderHierarchy() {
- return nativeGetEditableBookmarkFolders(mNativeChromeBrowserProvider);
- }
-
- private BookmarkNode getBookmarkNode(long nodeId, boolean getParent, boolean getChildren,
- boolean getFavicons, boolean getThumbnails) {
- // Don't allow going up the hierarchy if sync is disabled and the requested node
- // is the Mobile Bookmarks folder.
- if (getParent && nodeId == getMobileBookmarksFolderId()
- && !AndroidSyncSettings.isSyncEnabled(getContext())) {
- getParent = false;
- }
-
- BookmarkNode node = nativeGetBookmarkNode(mNativeChromeBrowserProvider, nodeId, getParent,
- getChildren);
- if (!getFavicons && !getThumbnails) return node;
-
- // Favicons and thumbnails need to be populated separately as they are provided
- // asynchronously by Chromium services other than the bookmark model.
- if (node.parent() != null) populateNodeImages(node.parent(), getFavicons, getThumbnails);
- for (BookmarkNode child : node.children()) {
- populateNodeImages(child, getFavicons, getThumbnails);
- }
-
- return node;
- }
-
- private BookmarkNode getDefaultBookmarkFolder() {
- // Try to access the bookmark folder last modified by us. If it doesn't exist anymore
- // then use the synced node (Mobile Bookmarks).
- BookmarkNode lastModified = getBookmarkNode(getLastModifiedBookmarkFolderId(), false, false,
- false, false);
- if (lastModified == null || lastModified.isUrl()) {
- lastModified = getMobileBookmarksFolder();
- mLastModifiedBookmarkFolderId = lastModified != null ? lastModified.id() :
- INVALID_BOOKMARK_ID;
- }
- return lastModified;
- }
-
- private void populateNodeImages(BookmarkNode node, boolean favicon, boolean thumbnail) {
- if (node == null || node.type() != Type.URL) return;
-
- if (favicon) {
- node.setFavicon(nativeGetFaviconOrTouchIcon(mNativeChromeBrowserProvider, node.url()));
- }
-
- if (thumbnail) {
- node.setThumbnail(nativeGetThumbnail(mNativeChromeBrowserProvider, node.url()));
- }
- }
-
- private BookmarkNode getMobileBookmarksFolder() {
- if (mMobileBookmarksFolder == null) {
- mMobileBookmarksFolder = nativeGetMobileBookmarksFolder(mNativeChromeBrowserProvider);
- }
- return mMobileBookmarksFolder;
- }
-
- private long getMobileBookmarksFolderId() {
- BookmarkNode mobileBookmarks = getMobileBookmarksFolder();
- return mobileBookmarks != null ? mobileBookmarks.id() : INVALID_BOOKMARK_ID;
- }
-
- private boolean isBookmarkInMobileBookmarksBranch(long nodeId) {
- if (nodeId <= 0) return false;
- return nativeIsBookmarkInMobileBookmarksBranch(mNativeChromeBrowserProvider, nodeId);
- }
-
- static String argKey(int i) {
- return "arg" + i;
- }
-
- @Override
- public Bundle call(String method, String arg, Bundle extras) {
- // TODO(shashishekhar): Refactor this code into a separate class.
- // Caller must have the READ_WRITE_BOOKMARK_FOLDERS permission.
- getContext().enforcePermission(getReadWritePermissionNameForBookmarkFolders(),
- Binder.getCallingPid(), Binder.getCallingUid(), TAG);
- if (!canHandleContentProviderApiCall()) return null;
- if (method == null || extras == null) return null;
-
- Bundle result = new Bundle();
- if (CLIENT_API_BOOKMARK_NODE_EXISTS.equals(method)) {
- result.putBoolean(CLIENT_API_RESULT_KEY,
- bookmarkNodeExists(extras.getLong(argKey(0))));
- } else if (CLIENT_API_CREATE_BOOKMARKS_FOLDER_ONCE.equals(method)) {
- result.putLong(CLIENT_API_RESULT_KEY,
- createBookmarksFolderOnce(extras.getString(argKey(0)),
- extras.getLong(argKey(1))));
- } else if (CLIENT_API_GET_EDITABLE_BOOKMARK_FOLDER_HIERARCHY.equals(method)) {
- result.putParcelable(CLIENT_API_RESULT_KEY, getEditableBookmarkFolderHierarchy());
- } else if (CLIENT_API_GET_BOOKMARK_NODE.equals(method)) {
- result.putParcelable(CLIENT_API_RESULT_KEY,
- getBookmarkNode(extras.getLong(argKey(0)),
- extras.getBoolean(argKey(1)),
- extras.getBoolean(argKey(2)),
- extras.getBoolean(argKey(3)),
- extras.getBoolean(argKey(4))));
- } else if (CLIENT_API_GET_DEFAULT_BOOKMARK_FOLDER.equals(method)) {
- result.putParcelable(CLIENT_API_RESULT_KEY, getDefaultBookmarkFolder());
- } else if (method.equals(CLIENT_API_GET_MOBILE_BOOKMARKS_FOLDER_ID)) {
- result.putLong(CLIENT_API_RESULT_KEY, getMobileBookmarksFolderId());
- } else if (CLIENT_API_IS_BOOKMARK_IN_MOBILE_BOOKMARKS_BRANCH.equals(method)) {
- result.putBoolean(CLIENT_API_RESULT_KEY,
- isBookmarkInMobileBookmarksBranch(extras.getLong(argKey(0))));
- } else if (CLIENT_API_DELETE_ALL_USER_BOOKMARKS.equals(method)) {
- android.util.Log.i(TAG, "before nativeRemoveAllUserBookmarks");
- nativeRemoveAllUserBookmarks(mNativeChromeBrowserProvider);
- android.util.Log.i(TAG, "after nativeRemoveAllUserBookmarks");
- } else {
- Log.w(TAG, "Received invalid method " + method);
- return null;
- }
-
- return result;
- }
-
/**
* Checks whether Chrome is sufficiently initialized to handle a call to the
* ChromeBrowserProvider.
@@ -915,7 +756,6 @@ public class ChromeBrowserProvider extends ContentProvider {
* Used solely by the native code.
*/
@VisibleForTesting
- @CalledByNativeUnchecked("BookmarkNode")
public void addChild(BookmarkNode child) {
mChildren.add(child);
}
@@ -959,12 +799,6 @@ public class ChromeBrowserProvider extends ContentProvider {
return Arrays.equals(byte1, byte2);
}
- @CalledByNative("BookmarkNode")
- private static BookmarkNode create(
- long id, int type, String name, String url, BookmarkNode parent) {
- return new BookmarkNode(id, Type.values()[type], name, url, parent);
- }
-
@VisibleForTesting
@SuppressFBWarnings("EI_EXPOSE_REP2")
public void setFavicon(byte[] favicon) {
@@ -1413,26 +1247,4 @@ public class ChromeBrowserProvider extends ContentProvider {
private native int nativeRemoveSearchTermFromAPI(long nativeChromeBrowserProvider,
String selection, String[] selectionArgs);
-
- // Client API native methods.
- private native boolean nativeBookmarkNodeExists(long nativeChromeBrowserProvider, long id);
-
- private native long nativeCreateBookmarksFolderOnce(long nativeChromeBrowserProvider,
- String title, long parentId);
-
- private native BookmarkNode nativeGetEditableBookmarkFolders(long nativeChromeBrowserProvider);
-
- private native void nativeRemoveAllUserBookmarks(long nativeChromeBrowserProvider);
-
- private native BookmarkNode nativeGetBookmarkNode(long nativeChromeBrowserProvider,
- long id, boolean getParent, boolean getChildren);
-
- private native BookmarkNode nativeGetMobileBookmarksFolder(long nativeChromeBrowserProvider);
-
- private native boolean nativeIsBookmarkInMobileBookmarksBranch(long nativeChromeBrowserProvider,
- long id);
-
- private native byte[] nativeGetFaviconOrTouchIcon(long nativeChromeBrowserProvider, String url);
-
- private native byte[] nativeGetThumbnail(long nativeChromeBrowserProvider, String url);
}
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProviderClient.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698