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

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

Issue 1233673002: Fix componentization of chrome/browser/bookmarks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix "gn check" and compilation on Mac Created 5 years, 5 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/chrome_bookmark_client_factory.cc
diff --git a/chrome/browser/bookmarks/chrome_bookmark_client_factory.cc b/chrome/browser/bookmarks/chrome_bookmark_client_factory.cc
index b97488fcb5068384cec552286a664604a4e386bc..2626f78470cf892cce257b3e9c088c0218dfc41e 100644
--- a/chrome/browser/bookmarks/chrome_bookmark_client_factory.cc
+++ b/chrome/browser/bookmarks/chrome_bookmark_client_factory.cc
@@ -6,10 +6,23 @@
#include "base/memory/singleton.h"
#include "chrome/browser/bookmarks/chrome_bookmark_client.h"
+#include "chrome/browser/bookmarks/managed_bookmark_service_factory.h"
#include "chrome/browser/profiles/incognito_helpers.h"
#include "chrome/browser/profiles/profile.h"
+#include "components/bookmarks/managed/managed_bookmark_service.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
+namespace {
+
+scoped_ptr<KeyedService> BuildChromeBookmarkClient(
+ content::BrowserContext* context) {
+ Profile* profile = Profile::FromBrowserContext(context);
+ return make_scoped_ptr(new ChromeBookmarkClient(
+ profile, ManagedBookmarkServiceFactory::GetForProfile(profile)));
+}
+
+} // namespace
+
// static
ChromeBookmarkClient* ChromeBookmarkClientFactory::GetForProfile(
Profile* profile) {
@@ -22,10 +35,17 @@ ChromeBookmarkClientFactory* ChromeBookmarkClientFactory::GetInstance() {
return Singleton<ChromeBookmarkClientFactory>::get();
}
+// static
+BrowserContextKeyedServiceFactory::TestingFactoryFunction
+ChromeBookmarkClientFactory::GetDefaultFactory() {
+ return &BuildChromeBookmarkClient;
+}
+
ChromeBookmarkClientFactory::ChromeBookmarkClientFactory()
: BrowserContextKeyedServiceFactory(
"ChromeBookmarkClient",
BrowserContextDependencyManager::GetInstance()) {
+ DependsOn(ManagedBookmarkServiceFactory::GetInstance());
}
ChromeBookmarkClientFactory::~ChromeBookmarkClientFactory() {
@@ -33,7 +53,7 @@ ChromeBookmarkClientFactory::~ChromeBookmarkClientFactory() {
KeyedService* ChromeBookmarkClientFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
- return new ChromeBookmarkClient(static_cast<Profile*>(context));
+ return BuildChromeBookmarkClient(context).release();
}
content::BrowserContext* ChromeBookmarkClientFactory::GetBrowserContextToUse(
« no previous file with comments | « chrome/browser/bookmarks/chrome_bookmark_client_factory.h ('k') | chrome/browser/bookmarks/chrome_bookmark_client_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698