| 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 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 | 229 |
| 231 // static | 230 // static |
| 232 Profile* Profile::CreateProfile(const FilePath& path) { | 231 Profile* Profile::CreateProfile(const FilePath& path) { |
| 233 return new ProfileImpl(path); | 232 return new ProfileImpl(path); |
| 234 } | 233 } |
| 235 | 234 |
| 236 // static | 235 // static |
| 237 void ProfileImpl::RegisterUserPrefs(PrefService* prefs) { | 236 void ProfileImpl::RegisterUserPrefs(PrefService* prefs) { |
| 238 prefs->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false); | 237 prefs->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false); |
| 239 prefs->RegisterBooleanPref(prefs::kClearSiteDataOnExit, false); | 238 prefs->RegisterBooleanPref(prefs::kClearSiteDataOnExit, false); |
| 240 DefaultApps::RegisterUserPrefs(prefs); | |
| 241 } | 239 } |
| 242 | 240 |
| 243 ProfileImpl::ProfileImpl(const FilePath& path) | 241 ProfileImpl::ProfileImpl(const FilePath& path) |
| 244 : path_(path), | 242 : path_(path), |
| 245 visited_link_event_listener_(new VisitedLinkEventListener()), | 243 visited_link_event_listener_(new VisitedLinkEventListener()), |
| 246 extension_devtools_manager_(NULL), | 244 extension_devtools_manager_(NULL), |
| 247 ALLOW_THIS_IN_INITIALIZER_LIST(io_data_(this)), | 245 ALLOW_THIS_IN_INITIALIZER_LIST(io_data_(this)), |
| 248 host_content_settings_map_(NULL), | 246 host_content_settings_map_(NULL), |
| 249 host_zoom_map_(NULL), | 247 host_zoom_map_(NULL), |
| 250 history_service_created_(false), | 248 history_service_created_(false), |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 #endif | 370 #endif |
| 373 extensions_service_ = new ExtensionService( | 371 extensions_service_ = new ExtensionService( |
| 374 this, | 372 this, |
| 375 CommandLine::ForCurrentProcess(), | 373 CommandLine::ForCurrentProcess(), |
| 376 GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), | 374 GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), |
| 377 extension_prefs_.get(), | 375 extension_prefs_.get(), |
| 378 autoupdate_enabled); | 376 autoupdate_enabled); |
| 379 | 377 |
| 380 RegisterComponentExtensions(); | 378 RegisterComponentExtensions(); |
| 381 extensions_service_->Init(); | 379 extensions_service_->Init(); |
| 382 InstallDefaultApps(); | |
| 383 | 380 |
| 384 // Load any extensions specified with --load-extension. | 381 // Load any extensions specified with --load-extension. |
| 385 if (command_line->HasSwitch(switches::kLoadExtension)) { | 382 if (command_line->HasSwitch(switches::kLoadExtension)) { |
| 386 FilePath path = command_line->GetSwitchValuePath(switches::kLoadExtension); | 383 FilePath path = command_line->GetSwitchValuePath(switches::kLoadExtension); |
| 387 extensions_service_->LoadExtension(path); | 384 extensions_service_->LoadExtension(path); |
| 388 } | 385 } |
| 389 | 386 |
| 390 // Make the chrome://extension-icon/ resource available. | 387 // Make the chrome://extension-icon/ resource available. |
| 391 GetChromeURLDataManager()->AddDataSource(new ExtensionIconSource(this)); | 388 GetChromeURLDataManager()->AddDataSource(new ExtensionIconSource(this)); |
| 392 } | 389 } |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 .AppendASCII("access_chromevox"); | 467 .AppendASCII("access_chromevox"); |
| 471 std::string manifest = | 468 std::string manifest = |
| 472 ResourceBundle::GetSharedInstance().GetRawDataResource( | 469 ResourceBundle::GetSharedInstance().GetRawDataResource( |
| 473 IDR_CHROMEVOX_MANIFEST).as_string(); | 470 IDR_CHROMEVOX_MANIFEST).as_string(); |
| 474 extensions_service_->register_component_extension( | 471 extensions_service_->register_component_extension( |
| 475 ExtensionService::ComponentExtensionInfo(manifest, path)); | 472 ExtensionService::ComponentExtensionInfo(manifest, path)); |
| 476 } | 473 } |
| 477 #endif | 474 #endif |
| 478 } | 475 } |
| 479 | 476 |
| 480 void ProfileImpl::InstallDefaultApps() { | |
| 481 ExtensionService* extension_service = GetExtensionService(); | |
| 482 DefaultApps* default_apps = extension_service->default_apps(); | |
| 483 | |
| 484 if (!default_apps->ShouldInstallDefaultApps(extension_service->GetAppIds())) | |
| 485 return; | |
| 486 | |
| 487 const ExtensionIdSet& app_ids = default_apps->default_apps(); | |
| 488 PendingExtensionManager* pending_extension_manager = | |
| 489 extension_service->pending_extension_manager(); | |
| 490 for (ExtensionIdSet::const_iterator iter = app_ids.begin(); | |
| 491 iter != app_ids.end(); ++iter) { | |
| 492 pending_extension_manager->AddFromDefaultAppList(*iter); | |
| 493 } | |
| 494 } | |
| 495 | |
| 496 void ProfileImpl::InitPromoResources() { | 477 void ProfileImpl::InitPromoResources() { |
| 497 if (promo_resource_service_) | 478 if (promo_resource_service_) |
| 498 return; | 479 return; |
| 499 | 480 |
| 500 promo_resource_service_ = new PromoResourceService(this); | 481 promo_resource_service_ = new PromoResourceService(this); |
| 501 promo_resource_service_->StartAfterDelay(); | 482 promo_resource_service_->StartAfterDelay(); |
| 502 } | 483 } |
| 503 | 484 |
| 504 void ProfileImpl::InitRegisteredProtocolHandlers() { | 485 void ProfileImpl::InitRegisteredProtocolHandlers() { |
| 505 if (protocol_handler_registry_) | 486 if (protocol_handler_registry_) |
| (...skipping 985 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1491 return pref_proxy_config_tracker_; | 1472 return pref_proxy_config_tracker_; |
| 1492 } | 1473 } |
| 1493 | 1474 |
| 1494 prerender::PrerenderManager* ProfileImpl::GetPrerenderManager() { | 1475 prerender::PrerenderManager* ProfileImpl::GetPrerenderManager() { |
| 1495 if (!prerender::PrerenderManager::IsPrerenderingPossible()) | 1476 if (!prerender::PrerenderManager::IsPrerenderingPossible()) |
| 1496 return NULL; | 1477 return NULL; |
| 1497 if (!prerender_manager_) | 1478 if (!prerender_manager_) |
| 1498 prerender_manager_ = new prerender::PrerenderManager(this); | 1479 prerender_manager_ = new prerender::PrerenderManager(this); |
| 1499 return prerender_manager_; | 1480 return prerender_manager_; |
| 1500 } | 1481 } |
| OLD | NEW |