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

Side by Side Diff: components/keyed_service/content/refcounted_browser_context_keyed_service_factory.cc

Issue 196783002: Export a private webstore API to call into the new inline sign-in flow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove a spurious diff Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/keyed_service/content/refcounted_browser_context_keyed_serv ice_factory.h" 5 #include "components/keyed_service/content/refcounted_browser_context_keyed_serv ice_factory.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "components/keyed_service/content/refcounted_browser_context_keyed_serv ice.h" 9 #include "components/keyed_service/content/refcounted_browser_context_keyed_serv ice.h"
10 #include "components/keyed_service/core/keyed_service.h" 10 #include "components/keyed_service/core/keyed_service.h"
11 #include "content/public/browser/browser_context.h" 11 #include "content/public/browser/browser_context.h"
12 12
13 void RefcountedBrowserContextKeyedServiceFactory::SetTestingFactory( 13 void RefcountedBrowserContextKeyedServiceFactory::SetTestingFactory(
14 content::BrowserContext* context, 14 content::BrowserContext* context,
15 TestingFactoryFunction testing_factory) { 15 TestingFactoryFunction testing_factory) {
16 if (!context) {
17 testing_factories_[NULL] = testing_factory;
18 return;
19 }
20
16 // Destroying the context may cause us to lose data about whether |context| 21 // Destroying the context may cause us to lose data about whether |context|
17 // has our preferences registered on it (since the context object itself 22 // has our preferences registered on it (since the context object itself
18 // isn't dead). See if we need to readd it once we've gone through normal 23 // isn't dead). See if we need to readd it once we've gone through normal
19 // destruction. 24 // destruction.
20 bool add_context = ArePreferencesSetOn(context); 25 bool add_context = ArePreferencesSetOn(context);
21 26
22 // We have to go through the shutdown and destroy mechanisms because there 27 // We have to go through the shutdown and destroy mechanisms because there
23 // are unit tests that create a service on a context and then change the 28 // are unit tests that create a service on a context and then change the
24 // testing service mid-test. 29 // testing service mid-test.
25 BrowserContextShutdown(context); 30 BrowserContextShutdown(context);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 RefCountedStorage::const_iterator it = mapping_.find(context); 69 RefCountedStorage::const_iterator it = mapping_.find(context);
65 if (it != mapping_.end()) 70 if (it != mapping_.end())
66 return it->second; 71 return it->second;
67 72
68 // Object not found. 73 // Object not found.
69 if (!create) 74 if (!create)
70 return NULL; // And we're forbidden from creating one. 75 return NULL; // And we're forbidden from creating one.
71 76
72 // Create new object. 77 // Create new object.
73 // Check to see if we have a per-BrowserContext testing factory that we should 78 // Check to see if we have a per-BrowserContext testing factory that we should
74 // use instead of default behavior. 79 // use instead of default behavior. Check for a global factory as well.
75 scoped_refptr<RefcountedBrowserContextKeyedService> service; 80 scoped_refptr<RefcountedBrowserContextKeyedService> service;
76 BrowserContextOverriddenTestingFunctions::const_iterator jt = 81 BrowserContextOverriddenTestingFunctions::const_iterator jt =
77 testing_factories_.find(context); 82 testing_factories_.find(context);
83 if (jt == testing_factories_.end())
84 jt = testing_factories_.find(NULL);
78 if (jt != testing_factories_.end()) { 85 if (jt != testing_factories_.end()) {
79 if (jt->second) { 86 if (jt->second) {
80 if (!context->IsOffTheRecord()) 87 if (!context->IsOffTheRecord())
81 RegisterUserPrefsOnBrowserContextForTest(context); 88 RegisterUserPrefsOnBrowserContextForTest(context);
82 service = jt->second(context); 89 service = jt->second(context);
83 } 90 }
84 } else { 91 } else {
85 service = BuildServiceInstanceFor(context); 92 service = BuildServiceInstanceFor(context);
86 } 93 }
87 94
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 127
121 void RefcountedBrowserContextKeyedServiceFactory::SetEmptyTestingFactory( 128 void RefcountedBrowserContextKeyedServiceFactory::SetEmptyTestingFactory(
122 content::BrowserContext* context) { 129 content::BrowserContext* context) {
123 SetTestingFactory(context, NULL); 130 SetTestingFactory(context, NULL);
124 } 131 }
125 132
126 void RefcountedBrowserContextKeyedServiceFactory::CreateServiceNow( 133 void RefcountedBrowserContextKeyedServiceFactory::CreateServiceNow(
127 content::BrowserContext* context) { 134 content::BrowserContext* context) {
128 GetServiceForBrowserContext(context, true); 135 GetServiceForBrowserContext(context, true);
129 } 136 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698