| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/browser/profiles/profile_impl.h" | 5 #include "chrome/browser/profiles/profile_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/environment.h" | 9 #include "base/environment.h" |
| 10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| 11 #include "base/file_util.h" | 11 #include "base/file_util.h" |
| 12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/metrics/histogram.h" | 13 #include "base/metrics/histogram.h" |
| 14 #include "base/path_service.h" | 14 #include "base/path_service.h" |
| 15 #include "base/string_number_conversions.h" | 15 #include "base/string_number_conversions.h" |
| 16 #include "base/string_util.h" | 16 #include "base/string_util.h" |
| 17 #include "chrome/browser/autocomplete/autocomplete_classifier.h" | 17 #include "chrome/browser/autocomplete/autocomplete_classifier.h" |
| 18 #include "chrome/browser/autofill/personal_data_manager.h" | 18 #include "chrome/browser/autofill/personal_data_manager.h" |
| 19 #include "chrome/browser/background_contents_service.h" | 19 #include "chrome/browser/background_contents_service.h" |
| 20 #include "chrome/browser/background_mode_manager.h" | 20 #include "chrome/browser/background_mode_manager.h" |
| 21 #include "chrome/browser/bookmarks/bookmark_model.h" | 21 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 22 #include "chrome/browser/browser_process.h" | 22 #include "chrome/browser/browser_process.h" |
| 23 #include "chrome/browser/browser_signin.h" | 23 #include "chrome/browser/browser_signin.h" |
| 24 #include "chrome/browser/content_settings/host_content_settings_map.h" | 24 #include "chrome/browser/content_settings/host_content_settings_map.h" |
| 25 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 25 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
| 26 #include "chrome/browser/defaults.h" | 26 #include "chrome/browser/defaults.h" |
| 27 #include "chrome/browser/download/download_manager.h" | 27 #include "chrome/browser/download/download_manager.h" |
| 28 #include "chrome/browser/extensions/default_apps.h" | |
| 29 #include "chrome/browser/extensions/extension_devtools_manager.h" | 28 #include "chrome/browser/extensions/extension_devtools_manager.h" |
| 30 #include "chrome/browser/extensions/extension_error_reporter.h" | 29 #include "chrome/browser/extensions/extension_error_reporter.h" |
| 31 #include "chrome/browser/extensions/extension_event_router.h" | 30 #include "chrome/browser/extensions/extension_event_router.h" |
| 32 #include "chrome/browser/extensions/extension_info_map.h" | 31 #include "chrome/browser/extensions/extension_info_map.h" |
| 33 #include "chrome/browser/extensions/extension_message_service.h" | 32 #include "chrome/browser/extensions/extension_message_service.h" |
| 34 #include "chrome/browser/extensions/extension_pref_store.h" | 33 #include "chrome/browser/extensions/extension_pref_store.h" |
| 35 #include "chrome/browser/extensions/extension_process_manager.h" | 34 #include "chrome/browser/extensions/extension_process_manager.h" |
| 36 #include "chrome/browser/extensions/extension_service.h" | 35 #include "chrome/browser/extensions/extension_service.h" |
| 37 #include "chrome/browser/extensions/extension_special_storage_policy.h" | 36 #include "chrome/browser/extensions/extension_special_storage_policy.h" |
| 38 #include "chrome/browser/extensions/user_script_master.h" | 37 #include "chrome/browser/extensions/user_script_master.h" |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 | 230 |
| 232 // static | 231 // static |
| 233 Profile* Profile::CreateProfile(const FilePath& path) { | 232 Profile* Profile::CreateProfile(const FilePath& path) { |
| 234 return new ProfileImpl(path); | 233 return new ProfileImpl(path); |
| 235 } | 234 } |
| 236 | 235 |
| 237 // static | 236 // static |
| 238 void ProfileImpl::RegisterUserPrefs(PrefService* prefs) { | 237 void ProfileImpl::RegisterUserPrefs(PrefService* prefs) { |
| 239 prefs->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false); | 238 prefs->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false); |
| 240 prefs->RegisterBooleanPref(prefs::kClearSiteDataOnExit, false); | 239 prefs->RegisterBooleanPref(prefs::kClearSiteDataOnExit, false); |
| 241 DefaultApps::RegisterUserPrefs(prefs); | |
| 242 } | 240 } |
| 243 | 241 |
| 244 ProfileImpl::ProfileImpl(const FilePath& path) | 242 ProfileImpl::ProfileImpl(const FilePath& path) |
| 245 : path_(path), | 243 : path_(path), |
| 246 visited_link_event_listener_(new VisitedLinkEventListener()), | 244 visited_link_event_listener_(new VisitedLinkEventListener()), |
| 247 extension_devtools_manager_(NULL), | 245 extension_devtools_manager_(NULL), |
| 248 ALLOW_THIS_IN_INITIALIZER_LIST(io_data_(this)), | 246 ALLOW_THIS_IN_INITIALIZER_LIST(io_data_(this)), |
| 249 host_content_settings_map_(NULL), | 247 host_content_settings_map_(NULL), |
| 250 host_zoom_map_(NULL), | 248 host_zoom_map_(NULL), |
| 251 history_service_created_(false), | 249 history_service_created_(false), |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 380 #endif | 378 #endif |
| 381 extensions_service_ = new ExtensionService( | 379 extensions_service_ = new ExtensionService( |
| 382 this, | 380 this, |
| 383 CommandLine::ForCurrentProcess(), | 381 CommandLine::ForCurrentProcess(), |
| 384 GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), | 382 GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), |
| 385 extension_prefs_.get(), | 383 extension_prefs_.get(), |
| 386 autoupdate_enabled); | 384 autoupdate_enabled); |
| 387 | 385 |
| 388 RegisterComponentExtensions(); | 386 RegisterComponentExtensions(); |
| 389 extensions_service_->Init(); | 387 extensions_service_->Init(); |
| 390 InstallDefaultApps(); | |
| 391 | 388 |
| 392 // Load any extensions specified with --load-extension. | 389 // Load any extensions specified with --load-extension. |
| 393 if (command_line->HasSwitch(switches::kLoadExtension)) { | 390 if (command_line->HasSwitch(switches::kLoadExtension)) { |
| 394 FilePath path = command_line->GetSwitchValuePath(switches::kLoadExtension); | 391 FilePath path = command_line->GetSwitchValuePath(switches::kLoadExtension); |
| 395 extensions_service_->LoadExtension(path); | 392 extensions_service_->LoadExtension(path); |
| 396 } | 393 } |
| 397 | 394 |
| 398 // Make the chrome://extension-icon/ resource available. | 395 // Make the chrome://extension-icon/ resource available. |
| 399 GetChromeURLDataManager()->AddDataSource(new ExtensionIconSource(this)); | 396 GetChromeURLDataManager()->AddDataSource(new ExtensionIconSource(this)); |
| 400 } | 397 } |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 .AppendASCII("access_chromevox"); | 475 .AppendASCII("access_chromevox"); |
| 479 std::string manifest = | 476 std::string manifest = |
| 480 ResourceBundle::GetSharedInstance().GetRawDataResource( | 477 ResourceBundle::GetSharedInstance().GetRawDataResource( |
| 481 IDR_CHROMEVOX_MANIFEST).as_string(); | 478 IDR_CHROMEVOX_MANIFEST).as_string(); |
| 482 extensions_service_->register_component_extension( | 479 extensions_service_->register_component_extension( |
| 483 ExtensionService::ComponentExtensionInfo(manifest, path)); | 480 ExtensionService::ComponentExtensionInfo(manifest, path)); |
| 484 } | 481 } |
| 485 #endif | 482 #endif |
| 486 } | 483 } |
| 487 | 484 |
| 488 void ProfileImpl::InstallDefaultApps() { | |
| 489 ExtensionService* extension_service = GetExtensionService(); | |
| 490 DefaultApps* default_apps = extension_service->default_apps(); | |
| 491 | |
| 492 if (!default_apps->ShouldInstallDefaultApps(extension_service->GetAppIds())) | |
| 493 return; | |
| 494 | |
| 495 const ExtensionIdSet& app_ids = default_apps->default_apps(); | |
| 496 PendingExtensionManager* pending_extension_manager = | |
| 497 extension_service->pending_extension_manager(); | |
| 498 for (ExtensionIdSet::const_iterator iter = app_ids.begin(); | |
| 499 iter != app_ids.end(); ++iter) { | |
| 500 pending_extension_manager->AddFromDefaultAppList(*iter); | |
| 501 } | |
| 502 } | |
| 503 | |
| 504 void ProfileImpl::InitPromoResources() { | 485 void ProfileImpl::InitPromoResources() { |
| 505 if (promo_resource_service_) | 486 if (promo_resource_service_) |
| 506 return; | 487 return; |
| 507 | 488 |
| 508 promo_resource_service_ = new PromoResourceService(this); | 489 promo_resource_service_ = new PromoResourceService(this); |
| 509 promo_resource_service_->StartAfterDelay(); | 490 promo_resource_service_->StartAfterDelay(); |
| 510 } | 491 } |
| 511 | 492 |
| 512 void ProfileImpl::InitRegisteredProtocolHandlers() { | 493 void ProfileImpl::InitRegisteredProtocolHandlers() { |
| 513 if (protocol_handler_registry_) | 494 if (protocol_handler_registry_) |
| (...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1498 return pref_proxy_config_tracker_; | 1479 return pref_proxy_config_tracker_; |
| 1499 } | 1480 } |
| 1500 | 1481 |
| 1501 prerender::PrerenderManager* ProfileImpl::GetPrerenderManager() { | 1482 prerender::PrerenderManager* ProfileImpl::GetPrerenderManager() { |
| 1502 if (!prerender::PrerenderManager::IsPrerenderingPossible()) | 1483 if (!prerender::PrerenderManager::IsPrerenderingPossible()) |
| 1503 return NULL; | 1484 return NULL; |
| 1504 if (!prerender_manager_) | 1485 if (!prerender_manager_) |
| 1505 prerender_manager_ = new prerender::PrerenderManager(this); | 1486 prerender_manager_ = new prerender::PrerenderManager(this); |
| 1506 return prerender_manager_; | 1487 return prerender_manager_; |
| 1507 } | 1488 } |
| OLD | NEW |