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

Unified Diff: chrome/browser/android/provider/chrome_browser_provider.cc

Issue 1203713002: Limit access to ChromeBookmarkClient to bookmarks code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cleanup_bookmark_client
Patch Set: Rebase Created 5 years, 6 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
Index: chrome/browser/android/provider/chrome_browser_provider.cc
diff --git a/chrome/browser/android/provider/chrome_browser_provider.cc b/chrome/browser/android/provider/chrome_browser_provider.cc
index 08d23abb848a4fa7f83e53cc464da95d3ef3aaf9..0337a1bac2370124f5ae643c42b0922b824f5efd 100644
--- a/chrome/browser/android/provider/chrome_browser_provider.cc
+++ b/chrome/browser/android/provider/chrome_browser_provider.cc
@@ -20,8 +20,6 @@
#include "chrome/browser/android/provider/bookmark_model_observer_task.h"
#include "chrome/browser/android/provider/run_on_ui_thread_blocking.h"
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
-#include "chrome/browser/bookmarks/chrome_bookmark_client.h"
-#include "chrome/browser/bookmarks/chrome_bookmark_client_factory.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/history/android/sqlite_cursor.h"
@@ -480,18 +478,15 @@ class CreateBookmarksFolderOnceTask : public BookmarkModelTask {
// Creates a Java BookmarkNode object for a node given its id.
class GetEditableBookmarkFoldersTask : public BookmarkModelTask {
public:
- GetEditableBookmarkFoldersTask(ChromeBookmarkClient* client,
- BookmarkModel* model)
- : BookmarkModelTask(model), client_(client) {}
+ explicit GetEditableBookmarkFoldersTask(BookmarkModel* model)
+ : BookmarkModelTask(model) {}
void Run(ScopedJavaGlobalRef<jobject>* jroot) {
- RunOnUIThreadBlocking::Run(
- base::Bind(&GetEditableBookmarkFoldersTask::RunOnUIThread,
- client_, model(), jroot));
+ RunOnUIThreadBlocking::Run(base::Bind(
+ &GetEditableBookmarkFoldersTask::RunOnUIThread, model(), jroot));
}
- static void RunOnUIThread(ChromeBookmarkClient* client,
- BookmarkModel* model,
+ static void RunOnUIThread(BookmarkModel* model,
ScopedJavaGlobalRef<jobject>* jroot) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
const BookmarkNode* root = model->root_node();
@@ -500,12 +495,12 @@ class GetEditableBookmarkFoldersTask : public BookmarkModelTask {
// The iterative approach is not possible because ScopedGlobalJavaRefs
// cannot be copy-constructed, and therefore not used in STL containers.
- ConvertFolderSubtree(client, AttachCurrentThread(), root,
+ ConvertFolderSubtree(model, AttachCurrentThread(), root,
ScopedJavaLocalRef<jobject>(), jroot);
}
private:
- static void ConvertFolderSubtree(ChromeBookmarkClient* client,
+ static void ConvertFolderSubtree(BookmarkModel* model,
JNIEnv* env,
const BookmarkNode* node,
const JavaRef<jobject>& parent_folder,
@@ -520,9 +515,9 @@ class GetEditableBookmarkFoldersTask : public BookmarkModelTask {
for (int i = 0; i < node->child_count(); ++i) {
const BookmarkNode* child = node->GetChild(i);
- if (child->is_folder() && client->CanBeEditedByUser(child)) {
+ if (child->is_folder() && model->CanBeEditedByUser(child)) {
ScopedJavaGlobalRef<jobject> jchild;
- ConvertFolderSubtree(client, env, child, *jfolder, &jchild);
+ ConvertFolderSubtree(model, env, child, *jfolder, &jchild);
Java_BookmarkNode_addChild(env, jfolder->obj(), jchild.obj());
if (ClearException(env)) {
@@ -533,8 +528,6 @@ class GetEditableBookmarkFoldersTask : public BookmarkModelTask {
}
}
- ChromeBookmarkClient* client_;
-
DISALLOW_COPY_AND_ASSIGN(GetEditableBookmarkFoldersTask);
};
@@ -1504,10 +1497,8 @@ ScopedJavaLocalRef<jobject> ChromeBrowserProvider::GetEditableBookmarkFolders(
JNIEnv* env,
jobject obj) {
ScopedJavaGlobalRef<jobject> jroot;
- ChromeBookmarkClient* client =
- ChromeBookmarkClientFactory::GetForProfile(profile_);
BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile_);
- GetEditableBookmarkFoldersTask task(client, model);
+ GetEditableBookmarkFoldersTask task(model);
task.Run(&jroot);
return ScopedJavaLocalRef<jobject>(jroot);
}

Powered by Google App Engine
This is Rietveld 408576698