From cb3b0166adacdb4a5d7c9b40dfc1b228b9d6f8c6 Mon Sep 17 00:00:00 2001 From: ianwen Date: Wed, 24 Sep 2014 15:54:55 -0700 Subject: Migrate EnhancedBookmarkBridge from component folder to chrome/browser folder. EnhancedBookmarkBridge is only used in android platform and should be moved to chrome/browser folder, bacause most bookmark services going through this bridge requires profile. BUG=415774 Review URL: https://codereview.chromium.org/597253003 Cr-Commit-Position: refs/heads/master@{#296547} --- .../chrome/browser/EnhancedBookmarksBridge.java | 45 ++++++++++++++ chrome/browser/android/chrome_jni_registrar.cc | 6 +- .../enhanced_bookmarks_bridge.cc | 69 ++++++++++++++++++++++ .../enhanced_bookmarks/enhanced_bookmarks_bridge.h | 43 ++++++++++++++ chrome/chrome.gyp | 1 - chrome/chrome_browser.gypi | 3 + components/enhanced_bookmarks.gypi | 39 ------------ components/enhanced_bookmarks/android/OWNERS | 3 - .../android/component_jni_registrar.cc | 29 --------- .../android/component_jni_registrar.h | 18 ------ .../android/enhanced_bookmarks_bridge.cc | 69 ---------------------- .../android/enhanced_bookmarks_bridge.h | 43 -------------- .../enhancedbookmarks/EnhancedBookmarksBridge.java | 45 -------------- 13 files changed, 163 insertions(+), 250 deletions(-) create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java create mode 100644 chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc create mode 100644 chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h delete mode 100644 components/enhanced_bookmarks/android/OWNERS delete mode 100644 components/enhanced_bookmarks/android/component_jni_registrar.cc delete mode 100644 components/enhanced_bookmarks/android/component_jni_registrar.h delete mode 100644 components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.cc delete mode 100644 components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.h delete mode 100644 components/enhanced_bookmarks/android/java/src/org/chromium/components/enhancedbookmarks/EnhancedBookmarksBridge.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java new file mode 100644 index 0000000..fe6c28d --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java @@ -0,0 +1,45 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser; + +import org.chromium.base.JNINamespace; +import org.chromium.components.bookmarks.BookmarkId; + +/** + * Access gate to C++ side enhanced bookmarks functionalities. + */ +@JNINamespace("enhanced_bookmarks::android") +public final class EnhancedBookmarksBridge { + private long mNativeEnhancedBookmarksBridge; + + public EnhancedBookmarksBridge(long nativeBookmarkModel) { + mNativeEnhancedBookmarksBridge = nativeInit(nativeBookmarkModel); + } + + public void destroy() { + assert mNativeEnhancedBookmarksBridge != 0; + nativeDestroy(mNativeEnhancedBookmarksBridge); + mNativeEnhancedBookmarksBridge = 0; + } + + public String getBookmarkDescription(BookmarkId id) { + return nativeGetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), + id.getType()); + } + + public void setBookmarkDescription(BookmarkId id, String description) { + nativeSetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), id.getType(), + description); + } + + private native long nativeInit(long bookmarkModelPointer); + + private native void nativeDestroy(long nativeEnhancedBookmarksBridge); + + private native String nativeGetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id, + int type); + private native void nativeSetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id, + int type, String description); +} diff --git a/chrome/browser/android/chrome_jni_registrar.cc b/chrome/browser/android/chrome_jni_registrar.cc index 6ba5968..da7f67b 100644 --- a/chrome/browser/android/chrome_jni_registrar.cc +++ b/chrome/browser/android/chrome_jni_registrar.cc @@ -17,6 +17,7 @@ #include "chrome/browser/android/content_view_util.h" #include "chrome/browser/android/dev_tools_server.h" #include "chrome/browser/android/dom_distiller/feedback_reporter_android.h" +#include "chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h" #include "chrome/browser/android/favicon_helper.h" #include "chrome/browser/android/foreign_session_helper.h" #include "chrome/browser/android/intent_helper.h" @@ -74,7 +75,6 @@ #include "chrome/browser/ui/android/website_settings_popup_android.h" #include "components/bookmarks/common/android/component_jni_registrar.h" #include "components/dom_distiller/android/component_jni_registrar.h" -#include "components/enhanced_bookmarks/android/component_jni_registrar.h" #include "components/gcm_driver/android/component_jni_registrar.h" #include "components/navigation_interception/component_jni_registrar.h" #include "components/variations/android/component_jni_registrar.h" @@ -93,8 +93,6 @@ static base::android::RegistrationMethod kChromeRegisteredMethods[] = { // Register JNI for components we depend on. { "Bookmarks", bookmarks::android::RegisterBookmarks }, { "DomDistiller", dom_distiller::android::RegisterDomDistiller }, - { "EnhancedBookmarks", - enhanced_bookmarks::android::RegisterEnhancedBookmarks }, { "GCMDriver", gcm::android::RegisterGCMDriverJni }, { "NavigationInterception", navigation_interception::RegisterNavigationInterceptionJni }, @@ -139,6 +137,8 @@ static base::android::RegistrationMethod kChromeRegisteredMethods[] = { { "DomDistillerServiceFactory", dom_distiller::android::DomDistillerServiceFactoryAndroid::Register }, { "DomDistillerTabUtils", RegisterDomDistillerTabUtils }, + { "EnhancedBookmarksBridge", + enhanced_bookmarks::android::RegisterEnhancedBookmarksBridge}, { "ExternalPrerenderRequestHandler", prerender::ExternalPrerenderHandlerAndroid:: RegisterExternalPrerenderHandlerAndroid }, diff --git a/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc b/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc new file mode 100644 index 0000000..37d172d --- /dev/null +++ b/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc @@ -0,0 +1,69 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h" + +#include "base/android/jni_string.h" +#include "components/bookmarks/browser/bookmark_model.h" +#include "components/bookmarks/browser/bookmark_utils.h" +#include "components/bookmarks/common/android/bookmark_type.h" +#include "components/enhanced_bookmarks/metadata_accessor.h" +#include "jni/EnhancedBookmarksBridge_jni.h" + +using bookmarks::BookmarkType; + +namespace enhanced_bookmarks { +namespace android { + +EnhancedBookmarksBridge::EnhancedBookmarksBridge(JNIEnv* env, + jobject obj, + jlong bookmark_model_ptr) { + bookmark_model_ = reinterpret_cast(bookmark_model_ptr); +} + +void EnhancedBookmarksBridge::Destroy(JNIEnv*, jobject) { + delete this; +} + +ScopedJavaLocalRef EnhancedBookmarksBridge::GetBookmarkDescription( + JNIEnv* env, jobject obj, jlong id, jint type) { + DCHECK(bookmark_model_->loaded()); + DCHECK_EQ(type, BookmarkType::NORMAL); + + const BookmarkNode* node = bookmarks::GetBookmarkNodeByID( + bookmark_model_, static_cast(id)); + + return node ? + base::android::ConvertUTF8ToJavaString( + env, enhanced_bookmarks::DescriptionFromBookmark(node)) : + ScopedJavaLocalRef(); +} + +void EnhancedBookmarksBridge::SetBookmarkDescription(JNIEnv* env, + jobject obj, + jlong id, + jint type, + jstring description) { + DCHECK(bookmark_model_->loaded()); + DCHECK_EQ(type, BookmarkType::NORMAL); + + const BookmarkNode* node = bookmarks::GetBookmarkNodeByID( + bookmark_model_, static_cast(id)); + + enhanced_bookmarks::SetDescriptionForBookmark( + bookmark_model_, node, + base::android::ConvertJavaStringToUTF8(env, description)); +} + +static jlong Init(JNIEnv* env, jobject obj, jlong bookmark_model_ptr) { + return reinterpret_cast( + new EnhancedBookmarksBridge(env, obj, bookmark_model_ptr)); +} + +bool RegisterEnhancedBookmarksBridge(JNIEnv* env) { + return RegisterNativesImpl(env); +} + +} // namespace android +} // namespace enhanced_bookmarks diff --git a/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h b/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h new file mode 100644 index 0000000..eeffbc66 --- /dev/null +++ b/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h @@ -0,0 +1,43 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_ANDROID_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARKS_BRIDGE_H_ +#define CHROME_BROWSER_ANDROID_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARKS_BRIDGE_H_ + +#include "base/android/jni_android.h" + +class BookmarkModel; + +namespace enhanced_bookmarks { +namespace android { + +class EnhancedBookmarksBridge { + public: + EnhancedBookmarksBridge(JNIEnv* env, jobject obj, jlong bookmark_model_ptr); + void Destroy(JNIEnv*, jobject); + + base::android::ScopedJavaLocalRef GetBookmarkDescription( + JNIEnv* env, + jobject obj, + jlong id, + jint type); + + void SetBookmarkDescription(JNIEnv* env, + jobject obj, + jlong id, + jint type, + jstring description); + + private: + BookmarkModel* bookmark_model_; // weak + + DISALLOW_COPY_AND_ASSIGN(EnhancedBookmarksBridge); +}; + +bool RegisterEnhancedBookmarksBridge(JNIEnv* env); + +} // namespace android +} // namespace enhanced_bookmarks + +#endif // CHROME_BROWSER_ANDROID_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARKS_BRIDGE_H_ diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 9a4f10d..32ee38e 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -643,7 +643,6 @@ '../base/base.gyp:base', '../components/components.gyp:bookmarks_java', '../components/components.gyp:dom_distiller_core_java', - '../components/components.gyp:enhanced_bookmarks_java', '../components/components.gyp:gcm_driver_java', '../components/components.gyp:navigation_interception_java', '../components/components.gyp:sessions', diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 40b0083..1ff559e 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -49,6 +49,8 @@ 'browser/android/dev_tools_manager_delegate_android.h', 'browser/android/dom_distiller/feedback_reporter_android.cc', 'browser/android/dom_distiller/feedback_reporter_android.h', + 'browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc', + 'browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h', 'browser/android/favicon_helper.cc', 'browser/android/favicon_helper.h', 'browser/android/foreign_session_helper.cc', @@ -2723,6 +2725,7 @@ 'android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerFeedbackReporter.java', 'android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerServiceFactory.java', 'android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerTabUtils.java', + 'android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java', 'android/java/src/org/chromium/chrome/browser/favicon/FaviconHelper.java', 'android/java/src/org/chromium/chrome/browser/ForeignSessionHelper.java', 'android/java/src/org/chromium/chrome/browser/LogoBridge.java', diff --git a/components/enhanced_bookmarks.gypi b/components/enhanced_bookmarks.gypi index 719529f..787a4f3 100644 --- a/components/enhanced_bookmarks.gypi +++ b/components/enhanced_bookmarks.gypi @@ -47,17 +47,6 @@ 'enhanced_bookmarks/persistent_image_store.h', ], 'conditions': [ - ['OS=="android"', { - 'sources': [ - 'enhanced_bookmarks/android/component_jni_registrar.cc', - 'enhanced_bookmarks/android/component_jni_registrar.h', - 'enhanced_bookmarks/android/enhanced_bookmarks_bridge.cc', - 'enhanced_bookmarks/android/enhanced_bookmarks_bridge.h', - ], - 'dependencies': [ - 'enhanced_bookmarks_jni_headers', - ], - }], ['OS=="ios"', { 'sources!': [ 'enhanced_bookmarks/image_store_util.cc', @@ -94,32 +83,4 @@ 'includes': [ '../build/protoc.gypi' ], }, ], - 'conditions' : [ - ['OS=="android"', { - 'targets': [ - { - 'target_name': 'enhanced_bookmarks_java', - 'type': 'none', - 'dependencies': [ - 'components.gyp:bookmarks_java' - ], - 'variables': { - 'java_in_dir': 'enhanced_bookmarks/android/java', - }, - 'includes': [ '../build/java.gypi' ], - }, - { - 'target_name': 'enhanced_bookmarks_jni_headers', - 'type': 'none', - 'sources': [ - 'enhanced_bookmarks/android/java/src/org/chromium/components/enhancedbookmarks/EnhancedBookmarksBridge.java', - ], - 'variables': { - 'jni_gen_package': 'enhanced_bookmarks', - }, - 'includes': [ '../build/jni_generator.gypi' ], - }, - ], - }] - ], } diff --git a/components/enhanced_bookmarks/android/OWNERS b/components/enhanced_bookmarks/android/OWNERS deleted file mode 100644 index 3df886e..0000000 --- a/components/enhanced_bookmarks/android/OWNERS +++ /dev/null @@ -1,3 +0,0 @@ -yfriedman@chromium.org -tedchoc@chromium.org -kkimlabs@chromium.org diff --git a/components/enhanced_bookmarks/android/component_jni_registrar.cc b/components/enhanced_bookmarks/android/component_jni_registrar.cc deleted file mode 100644 index ab4440d..0000000 --- a/components/enhanced_bookmarks/android/component_jni_registrar.cc +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/enhanced_bookmarks/android/component_jni_registrar.h" - -#include "base/android/jni_android.h" -#include "base/android/jni_registrar.h" -#include "base/basictypes.h" -#include "components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.h" - -using base::android::RegistrationMethod; - -namespace enhanced_bookmarks { -namespace android { - -static RegistrationMethod kEnhancedBookmarksRegisteredMethods[] = { - {"EnhancedBookmarksBridge", RegisterEnhancedBookmarksBridge}, -}; - -bool RegisterEnhancedBookmarks(JNIEnv* env) { - return base::android::RegisterNativeMethods( - env, - kEnhancedBookmarksRegisteredMethods, - arraysize(kEnhancedBookmarksRegisteredMethods)); -} - -} // namespace android -} // namespace enhanced_bookmarks diff --git a/components/enhanced_bookmarks/android/component_jni_registrar.h b/components/enhanced_bookmarks/android/component_jni_registrar.h deleted file mode 100644 index d02d626..0000000 --- a/components/enhanced_bookmarks/android/component_jni_registrar.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef COMPONENTS_ENHANCED_BOOKMARKS_ANDROID_COMPONENT_JNI_REGISTRAR_H_ -#define COMPONENTS_ENHANCED_BOOKMARKS_ANDROID_COMPONENT_JNI_REGISTRAR_H_ - -#include - -namespace enhanced_bookmarks { -namespace android { - -bool RegisterEnhancedBookmarks(JNIEnv* env); - -} // namespace android -} // namespace enhanced_bookmarks - -#endif // COMPONENTS_ENHANCED_BOOKMARKS_ANDROID_COMPONENT_JNI_REGISTRAR_H_ diff --git a/components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.cc b/components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.cc deleted file mode 100644 index 445f746..0000000 --- a/components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.cc +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.h" - -#include "base/android/jni_string.h" -#include "components/bookmarks/browser/bookmark_model.h" -#include "components/bookmarks/browser/bookmark_utils.h" -#include "components/bookmarks/common/android/bookmark_type.h" -#include "components/enhanced_bookmarks/metadata_accessor.h" -#include "jni/EnhancedBookmarksBridge_jni.h" - -using bookmarks::BookmarkType; - -namespace enhanced_bookmarks { -namespace android { - -EnhancedBookmarksBridge::EnhancedBookmarksBridge(JNIEnv* env, - jobject obj, - jlong bookmark_model_ptr) { - bookmark_model_ = reinterpret_cast(bookmark_model_ptr); -} - -void EnhancedBookmarksBridge::Destroy(JNIEnv*, jobject) { - delete this; -} - -ScopedJavaLocalRef EnhancedBookmarksBridge::GetBookmarkDescription( - JNIEnv* env, jobject obj, jlong id, jint type) { - DCHECK(bookmark_model_->loaded()); - DCHECK_EQ(type, BookmarkType::NORMAL); - - const BookmarkNode* node = bookmarks::GetBookmarkNodeByID( - bookmark_model_, static_cast(id)); - - return node ? - base::android::ConvertUTF8ToJavaString( - env, enhanced_bookmarks::DescriptionFromBookmark(node)) : - ScopedJavaLocalRef(); -} - -void EnhancedBookmarksBridge::SetBookmarkDescription(JNIEnv* env, - jobject obj, - jlong id, - jint type, - jstring description) { - DCHECK(bookmark_model_->loaded()); - DCHECK_EQ(type, BookmarkType::NORMAL); - - const BookmarkNode* node = bookmarks::GetBookmarkNodeByID( - bookmark_model_, static_cast(id)); - - enhanced_bookmarks::SetDescriptionForBookmark( - bookmark_model_, node, - base::android::ConvertJavaStringToUTF8(env, description)); -} - -static jlong Init(JNIEnv* env, jobject obj, jlong bookmark_model_ptr) { - return reinterpret_cast( - new EnhancedBookmarksBridge(env, obj, bookmark_model_ptr)); -} - -bool RegisterEnhancedBookmarksBridge(JNIEnv* env) { - return RegisterNativesImpl(env); -} - -} // namespace android -} // namespace enhanced_bookmarks diff --git a/components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.h b/components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.h deleted file mode 100644 index 13196869..0000000 --- a/components/enhanced_bookmarks/android/enhanced_bookmarks_bridge.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef COMPONENTS_ENHANCED_BOOKMARKS_ANDROID_ENHANCED_BOOKMARKS_BRIDGE_H_ -#define COMPONENTS_ENHANCED_BOOKMARKS_ANDROID_ENHANCED_BOOKMARKS_BRIDGE_H_ - -#include "base/android/jni_android.h" - -class BookmarkModel; - -namespace enhanced_bookmarks { -namespace android { - -class EnhancedBookmarksBridge { - public: - EnhancedBookmarksBridge(JNIEnv* env, jobject obj, jlong bookmark_model_ptr); - void Destroy(JNIEnv*, jobject); - - base::android::ScopedJavaLocalRef GetBookmarkDescription( - JNIEnv* env, - jobject obj, - jlong id, - jint type); - - void SetBookmarkDescription(JNIEnv* env, - jobject obj, - jlong id, - jint type, - jstring description); - - private: - BookmarkModel* bookmark_model_; // weak - - DISALLOW_COPY_AND_ASSIGN(EnhancedBookmarksBridge); -}; - -bool RegisterEnhancedBookmarksBridge(JNIEnv* env); - -} // namespace android -} // namespace enhanced_bookmarks - -#endif // COMPONENTS_ENHANCED_BOOKMARKS_ANDROID_ENHANCED_BOOKMARKS_BRIDGE_H_ diff --git a/components/enhanced_bookmarks/android/java/src/org/chromium/components/enhancedbookmarks/EnhancedBookmarksBridge.java b/components/enhanced_bookmarks/android/java/src/org/chromium/components/enhancedbookmarks/EnhancedBookmarksBridge.java deleted file mode 100644 index c244cb5..0000000 --- a/components/enhanced_bookmarks/android/java/src/org/chromium/components/enhancedbookmarks/EnhancedBookmarksBridge.java +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package org.chromium.components.enhancedbookmarks; - -import org.chromium.base.JNINamespace; -import org.chromium.components.bookmarks.BookmarkId; - -/** - * Access gate to C++ side enhanced bookmarks functionalities. - */ -@JNINamespace("enhanced_bookmarks::android") -public final class EnhancedBookmarksBridge { - private long mNativeEnhancedBookmarksBridge; - - public EnhancedBookmarksBridge(long nativeBookmarkModel) { - mNativeEnhancedBookmarksBridge = nativeInit(nativeBookmarkModel); - } - - public void destroy() { - assert mNativeEnhancedBookmarksBridge != 0; - nativeDestroy(mNativeEnhancedBookmarksBridge); - mNativeEnhancedBookmarksBridge = 0; - } - - public String getBookmarkDescription(BookmarkId id) { - return nativeGetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), - id.getType()); - } - - public void setBookmarkDescription(BookmarkId id, String description) { - nativeSetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), id.getType(), - description); - } - - private native long nativeInit(long bookmarkModelPointer); - - private native void nativeDestroy(long nativeEnhancedBookmarksBridge); - - private native String nativeGetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id, - int type); - private native void nativeSetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id, - int type, String description); -} -- cgit v1.1