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

Unified Diff: chrome/browser/bookmarks/bookmark_model_factory.cc

Issue 306293006: Introduce ChromeBookmarkClientFactory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@364865
Patch Set: Created 6 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/bookmarks/bookmark_model_factory.cc
diff --git a/chrome/browser/bookmarks/bookmark_model_factory.cc b/chrome/browser/bookmarks/bookmark_model_factory.cc
index 6000d8039cce6a00fe5f529ecda03d5fff10bf9c..4019a0fa378a51ac93e97a93d21167d73dabcc39 100644
--- a/chrome/browser/bookmarks/bookmark_model_factory.cc
+++ b/chrome/browser/bookmarks/bookmark_model_factory.cc
@@ -10,6 +10,7 @@
#include "base/prefs/pref_service.h"
#include "base/values.h"
#include "chrome/browser/bookmarks/chrome_bookmark_client.h"
+#include "chrome/browser/bookmarks/chrome_bookmark_client_factory.h"
#include "chrome/browser/omnibox/omnibox_field_trial.h"
#include "chrome/browser/profiles/incognito_helpers.h"
#include "chrome/browser/profiles/profile.h"
@@ -27,15 +28,13 @@
// static
BookmarkModel* BookmarkModelFactory::GetForProfile(Profile* profile) {
- ChromeBookmarkClient* bookmark_client = static_cast<ChromeBookmarkClient*>(
+ return static_cast<BookmarkModel*>(
GetInstance()->GetServiceForBrowserContext(profile, true));
- return bookmark_client ? bookmark_client->model() : NULL;
}
BookmarkModel* BookmarkModelFactory::GetForProfileIfExists(Profile* profile) {
- ChromeBookmarkClient* bookmark_client = static_cast<ChromeBookmarkClient*>(
+ return static_cast<BookmarkModel*>(
GetInstance()->GetServiceForBrowserContext(profile, false));
- return bookmark_client ? bookmark_client->model() : NULL;
}
// static
@@ -47,23 +46,28 @@ BookmarkModelFactory::BookmarkModelFactory()
: BrowserContextKeyedServiceFactory(
"BookmarkModel",
BrowserContextDependencyManager::GetInstance()) {
+ DependsOn(ChromeBookmarkClientFactory::GetInstance());
+ DependsOn(StartupTaskRunnerServiceFactory::GetInstance());
}
-BookmarkModelFactory::~BookmarkModelFactory() {}
+BookmarkModelFactory::~BookmarkModelFactory() {
+}
KeyedService* BookmarkModelFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
Profile* profile = static_cast<Profile*>(context);
- ChromeBookmarkClient* bookmark_client = new ChromeBookmarkClient(
- profile, OmniboxFieldTrial::BookmarksIndexURLsValue());
- bookmark_client->model()->Load(
- profile->GetPrefs(),
- profile->GetPrefs()->GetString(prefs::kAcceptLanguages),
- profile->GetPath(),
- StartupTaskRunnerServiceFactory::GetForProfile(profile)
- ->GetBookmarkTaskRunner(),
- content::BrowserThread::GetMessageLoopProxyForThread(
- content::BrowserThread::UI));
+ ChromeBookmarkClient* bookmark_client =
+ ChromeBookmarkClientFactory::GetForProfile(profile);
+ BookmarkModel* bookmark_model = new BookmarkModel(
+ bookmark_client, OmniboxFieldTrial::BookmarksIndexURLsValue());
+ bookmark_client->Init(bookmark_model);
+ bookmark_model->Load(profile->GetPrefs(),
+ profile->GetPrefs()->GetString(prefs::kAcceptLanguages),
+ profile->GetPath(),
+ StartupTaskRunnerServiceFactory::GetForProfile(profile)
+ ->GetBookmarkTaskRunner(),
+ content::BrowserThread::GetMessageLoopProxyForThread(
+ content::BrowserThread::UI));
#if !defined(OS_ANDROID)
bool register_bookmark_undo_service_as_observer = true;
#if !defined(OS_IOS)
@@ -72,7 +76,7 @@ KeyedService* BookmarkModelFactory::BuildServiceInstanceFor(
switches::kEnableBookmarkUndo);
#endif // !defined(OS_IOS)
if (register_bookmark_undo_service_as_observer) {
- bookmark_client->model()->AddObserver(
+ bookmark_model->AddObserver(
BookmarkUndoServiceFactory::GetForProfile(profile));
}
#endif // !defined(OS_ANDROID)

Powered by Google App Engine
This is Rietveld 408576698