OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/test/base/testing_profile.h" | 5 #include "chrome/test/base/testing_profile.h" |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 | 8 |
9 #include "base/base_paths.h" | 9 #include "base/base_paths.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 #else | 165 #else |
166 const char TestingProfile::kTestUserProfileDir[] = "Default"; | 166 const char TestingProfile::kTestUserProfileDir[] = "Default"; |
167 #endif | 167 #endif |
168 | 168 |
169 TestingProfile::TestingProfile() | 169 TestingProfile::TestingProfile() |
170 : start_time_(Time::Now()), | 170 : start_time_(Time::Now()), |
171 testing_prefs_(NULL), | 171 testing_prefs_(NULL), |
172 incognito_(false), | 172 incognito_(false), |
173 original_profile_(NULL), | 173 original_profile_(NULL), |
174 last_session_exited_cleanly_(true), | 174 last_session_exited_cleanly_(true), |
175 profile_dependency_manager_( | 175 browser_context_dependency_manager_( |
176 BrowserContextDependencyManager::GetInstance()), | 176 BrowserContextDependencyManager::GetInstance()), |
177 delegate_(NULL) { | 177 delegate_(NULL) { |
178 CreateTempProfileDir(); | 178 CreateTempProfileDir(); |
179 profile_path_ = temp_dir_.path(); | 179 profile_path_ = temp_dir_.path(); |
180 | 180 |
181 Init(); | 181 Init(); |
182 FinishInit(); | 182 FinishInit(); |
183 } | 183 } |
184 | 184 |
185 TestingProfile::TestingProfile(const base::FilePath& path) | 185 TestingProfile::TestingProfile(const base::FilePath& path) |
186 : start_time_(Time::Now()), | 186 : start_time_(Time::Now()), |
187 testing_prefs_(NULL), | 187 testing_prefs_(NULL), |
188 incognito_(false), | 188 incognito_(false), |
189 original_profile_(NULL), | 189 original_profile_(NULL), |
190 last_session_exited_cleanly_(true), | 190 last_session_exited_cleanly_(true), |
191 profile_path_(path), | 191 profile_path_(path), |
192 profile_dependency_manager_( | 192 browser_context_dependency_manager_( |
193 BrowserContextDependencyManager::GetInstance()), | 193 BrowserContextDependencyManager::GetInstance()), |
194 delegate_(NULL) { | 194 delegate_(NULL) { |
195 Init(); | 195 Init(); |
196 FinishInit(); | 196 FinishInit(); |
197 } | 197 } |
198 | 198 |
199 TestingProfile::TestingProfile(const base::FilePath& path, | 199 TestingProfile::TestingProfile(const base::FilePath& path, |
200 Delegate* delegate) | 200 Delegate* delegate) |
201 : start_time_(Time::Now()), | 201 : start_time_(Time::Now()), |
202 testing_prefs_(NULL), | 202 testing_prefs_(NULL), |
203 incognito_(false), | 203 incognito_(false), |
204 original_profile_(NULL), | 204 original_profile_(NULL), |
205 last_session_exited_cleanly_(true), | 205 last_session_exited_cleanly_(true), |
206 profile_path_(path), | 206 profile_path_(path), |
207 profile_dependency_manager_( | 207 browser_context_dependency_manager_( |
208 BrowserContextDependencyManager::GetInstance()), | 208 BrowserContextDependencyManager::GetInstance()), |
209 delegate_(delegate) { | 209 delegate_(delegate) { |
210 Init(); | 210 Init(); |
211 if (delegate_) { | 211 if (delegate_) { |
212 base::MessageLoop::current()->PostTask( | 212 base::MessageLoop::current()->PostTask( |
213 FROM_HERE, | 213 FROM_HERE, |
214 base::Bind(&TestingProfile::FinishInit, base::Unretained(this))); | 214 base::Bind(&TestingProfile::FinishInit, base::Unretained(this))); |
215 } else { | 215 } else { |
216 FinishInit(); | 216 FinishInit(); |
217 } | 217 } |
218 } | 218 } |
219 | 219 |
220 TestingProfile::TestingProfile( | 220 TestingProfile::TestingProfile( |
221 const base::FilePath& path, | 221 const base::FilePath& path, |
222 Delegate* delegate, | 222 Delegate* delegate, |
223 scoped_refptr<ExtensionSpecialStoragePolicy> extension_policy, | 223 scoped_refptr<ExtensionSpecialStoragePolicy> extension_policy, |
224 scoped_ptr<PrefServiceSyncable> prefs) | 224 scoped_ptr<PrefServiceSyncable> prefs) |
225 : start_time_(Time::Now()), | 225 : start_time_(Time::Now()), |
226 prefs_(prefs.release()), | 226 prefs_(prefs.release()), |
227 testing_prefs_(NULL), | 227 testing_prefs_(NULL), |
228 incognito_(false), | 228 incognito_(false), |
229 original_profile_(NULL), | 229 original_profile_(NULL), |
230 last_session_exited_cleanly_(true), | 230 last_session_exited_cleanly_(true), |
231 extension_special_storage_policy_(extension_policy), | 231 extension_special_storage_policy_(extension_policy), |
232 profile_path_(path), | 232 profile_path_(path), |
233 profile_dependency_manager_( | 233 browser_context_dependency_manager_( |
234 BrowserContextDependencyManager::GetInstance()), | 234 BrowserContextDependencyManager::GetInstance()), |
235 delegate_(delegate) { | 235 delegate_(delegate) { |
236 | 236 |
237 // If no profile path was supplied, create one. | 237 // If no profile path was supplied, create one. |
238 if (profile_path_.empty()) { | 238 if (profile_path_.empty()) { |
239 CreateTempProfileDir(); | 239 CreateTempProfileDir(); |
240 profile_path_ = temp_dir_.path(); | 240 profile_path_ = temp_dir_.path(); |
241 } | 241 } |
242 | 242 |
243 Init(); | 243 Init(); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 file_util::CreateDirectory(profile_path_); | 296 file_util::CreateDirectory(profile_path_); |
297 | 297 |
298 // TODO(joaodasilva): remove this once this PKS isn't created in ProfileImpl | 298 // TODO(joaodasilva): remove this once this PKS isn't created in ProfileImpl |
299 // anymore, after converting the PrefService to a PKS. Until then it must | 299 // anymore, after converting the PrefService to a PKS. Until then it must |
300 // be associated with a TestingProfile too. | 300 // be associated with a TestingProfile too. |
301 CreateProfilePolicyConnector(); | 301 CreateProfilePolicyConnector(); |
302 | 302 |
303 extensions::ExtensionSystemFactory::GetInstance()->SetTestingFactory( | 303 extensions::ExtensionSystemFactory::GetInstance()->SetTestingFactory( |
304 this, extensions::TestExtensionSystem::Build); | 304 this, extensions::TestExtensionSystem::Build); |
305 | 305 |
306 profile_dependency_manager_->CreateBrowserContextServices(this, true); | 306 browser_context_dependency_manager_->CreateBrowserContextServices(this, true); |
307 | 307 |
308 #if defined(ENABLE_NOTIFICATIONS) | 308 #if defined(ENABLE_NOTIFICATIONS) |
309 // Install profile keyed service factory hooks for dummy/test services | 309 // Install profile keyed service factory hooks for dummy/test services |
310 DesktopNotificationServiceFactory::GetInstance()->SetTestingFactory( | 310 DesktopNotificationServiceFactory::GetInstance()->SetTestingFactory( |
311 this, CreateTestDesktopNotificationService); | 311 this, CreateTestDesktopNotificationService); |
312 #endif | 312 #endif |
313 } | 313 } |
314 | 314 |
315 void TestingProfile::FinishInit() { | 315 void TestingProfile::FinishInit() { |
316 DCHECK(content::NotificationService::current()); | 316 DCHECK(content::NotificationService::current()); |
317 content::NotificationService::current()->Notify( | 317 content::NotificationService::current()->Notify( |
318 chrome::NOTIFICATION_PROFILE_CREATED, | 318 chrome::NOTIFICATION_PROFILE_CREATED, |
319 content::Source<Profile>(static_cast<Profile*>(this)), | 319 content::Source<Profile>(static_cast<Profile*>(this)), |
320 content::NotificationService::NoDetails()); | 320 content::NotificationService::NoDetails()); |
321 | 321 |
322 if (delegate_) | 322 if (delegate_) |
323 delegate_->OnProfileCreated(this, true, false); | 323 delegate_->OnProfileCreated(this, true, false); |
324 } | 324 } |
325 | 325 |
326 TestingProfile::~TestingProfile() { | 326 TestingProfile::~TestingProfile() { |
327 MaybeSendDestroyedNotification(); | 327 MaybeSendDestroyedNotification(); |
328 | 328 |
329 profile_dependency_manager_->DestroyBrowserContextServices(this); | 329 browser_context_dependency_manager_->DestroyBrowserContextServices(this); |
330 | 330 |
331 if (host_content_settings_map_) | 331 if (host_content_settings_map_) |
332 host_content_settings_map_->ShutdownOnUIThread(); | 332 host_content_settings_map_->ShutdownOnUIThread(); |
333 | 333 |
334 DestroyTopSites(); | 334 DestroyTopSites(); |
335 | 335 |
336 if (pref_proxy_config_tracker_.get()) | 336 if (pref_proxy_config_tracker_.get()) |
337 pref_proxy_config_tracker_->DetachFromPrefService(); | 337 pref_proxy_config_tracker_->DetachFromPrefService(); |
338 } | 338 } |
339 | 339 |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 | 808 |
809 scoped_ptr<TestingProfile> TestingProfile::Builder::Build() { | 809 scoped_ptr<TestingProfile> TestingProfile::Builder::Build() { |
810 DCHECK(!build_called_); | 810 DCHECK(!build_called_); |
811 build_called_ = true; | 811 build_called_ = true; |
812 return scoped_ptr<TestingProfile>(new TestingProfile( | 812 return scoped_ptr<TestingProfile>(new TestingProfile( |
813 path_, | 813 path_, |
814 delegate_, | 814 delegate_, |
815 extension_policy_, | 815 extension_policy_, |
816 pref_service_.Pass())); | 816 pref_service_.Pass())); |
817 } | 817 } |
OLD | NEW |