Commit 7352c303 authored by ianwen's avatar ianwen Committed by Commit bot

Make EnhancedBookmarkBridge initialized with profile

EnhancedBookmarkBridge was previously initialized by a native pointer of
the native BookmarkModel, which was a hack to make it to component
folder.  Now since it has been moved to chrome/browser, it should be
initialized by profile.

BUG=415817

Review URL: https://codereview.chromium.org/598593007

Cr-Commit-Position: refs/heads/master@{#297265}
parent 2e146d74
......@@ -473,13 +473,6 @@ public class BookmarksBridge {
nativeEndGroupingUndos(mNativeBookmarksBridge);
}
/**
* A bridge function to BookmarkModelFactory::GetForProfile.
*/
public static long getNativeBookmarkModel(Profile profile) {
return nativeGetNativeBookmarkModel(profile);
}
public static boolean isEditBookmarksEnabled() {
return nativeIsEditBookmarksEnabled();
}
......@@ -644,7 +637,6 @@ public class BookmarksBridge {
private native void nativeUndo(long nativeBookmarksBridge);
private native void nativeStartGroupingUndos(long nativeBookmarksBridge);
private native void nativeEndGroupingUndos(long nativeBookmarksBridge);
private static native long nativeGetNativeBookmarkModel(Profile profile);
private static native boolean nativeIsEnhancedBookmarksFeatureEnabled(Profile profile);
private native void nativeLoadEmptyPartnerBookmarkShimForTesting(long nativeBookmarksBridge);
......
......@@ -5,6 +5,7 @@
package org.chromium.chrome.browser;
import org.chromium.base.JNINamespace;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.bookmarks.BookmarkId;
/**
......@@ -14,8 +15,8 @@ import org.chromium.components.bookmarks.BookmarkId;
public final class EnhancedBookmarksBridge {
private long mNativeEnhancedBookmarksBridge;
public EnhancedBookmarksBridge(long nativeBookmarkModel) {
mNativeEnhancedBookmarksBridge = nativeInit(nativeBookmarkModel);
public EnhancedBookmarksBridge(Profile profile) {
mNativeEnhancedBookmarksBridge = nativeInit(profile);
}
public void destroy() {
......@@ -34,7 +35,7 @@ public final class EnhancedBookmarksBridge {
description);
}
private native long nativeInit(long bookmarkModelPointer);
private native long nativeInit(Profile profile);
private native void nativeDestroy(long nativeEnhancedBookmarksBridge);
......
......@@ -126,14 +126,6 @@ static jlong Init(JNIEnv* env, jobject obj, jobject j_profile) {
return reinterpret_cast<intptr_t>(delegate);
}
static jlong GetNativeBookmarkModel(JNIEnv* env,
jclass caller,
jobject j_profile) {
Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile);
BookmarkModel *bookmark_model_ = BookmarkModelFactory::GetForProfile(profile);
return reinterpret_cast<jlong>(bookmark_model_);
}
static jboolean IsEnhancedBookmarksFeatureEnabled(JNIEnv* env,
jclass clazz,
jobject j_profile) {
......
......@@ -5,6 +5,8 @@
#include "chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h"
#include "base/android/jni_string.h"
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/profiles/profile_android.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/bookmarks/browser/bookmark_utils.h"
#include "components/bookmarks/common/android/bookmark_type.h"
......@@ -18,8 +20,9 @@ namespace android {
EnhancedBookmarksBridge::EnhancedBookmarksBridge(JNIEnv* env,
jobject obj,
jlong bookmark_model_ptr) {
bookmark_model_ = reinterpret_cast<BookmarkModel*>(bookmark_model_ptr);
Profile* profile) {
profile_ = profile;
bookmark_model_ = BookmarkModelFactory::GetForProfile(profile_);
}
void EnhancedBookmarksBridge::Destroy(JNIEnv*, jobject) {
......@@ -56,9 +59,9 @@ void EnhancedBookmarksBridge::SetBookmarkDescription(JNIEnv* env,
base::android::ConvertJavaStringToUTF8(env, description));
}
static jlong Init(JNIEnv* env, jobject obj, jlong bookmark_model_ptr) {
return reinterpret_cast<jlong>(
new EnhancedBookmarksBridge(env, obj, bookmark_model_ptr));
static jlong Init(JNIEnv* env, jobject obj, jobject j_profile) {
return reinterpret_cast<jlong>(new EnhancedBookmarksBridge(
env, obj, ProfileAndroid::FromProfileAndroid(j_profile)));
}
bool RegisterEnhancedBookmarksBridge(JNIEnv* env) {
......
......@@ -6,15 +6,15 @@
#define CHROME_BROWSER_ANDROID_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARKS_BRIDGE_H_
#include "base/android/jni_android.h"
class BookmarkModel;
#include "chrome/browser/profiles/profile.h"
#include "components/bookmarks/browser/bookmark_model.h"
namespace enhanced_bookmarks {
namespace android {
class EnhancedBookmarksBridge {
public:
EnhancedBookmarksBridge(JNIEnv* env, jobject obj, jlong bookmark_model_ptr);
EnhancedBookmarksBridge(JNIEnv* env, jobject obj, Profile* profile);
void Destroy(JNIEnv*, jobject);
base::android::ScopedJavaLocalRef<jstring> GetBookmarkDescription(
......@@ -31,7 +31,7 @@ class EnhancedBookmarksBridge {
private:
BookmarkModel* bookmark_model_; // weak
Profile* profile_; // weak
DISALLOW_COPY_AND_ASSIGN(EnhancedBookmarksBridge);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment