| 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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 #endif | 371 #endif |
| 374 extensions_service_ = new ExtensionService( | 372 extensions_service_ = new ExtensionService( |
| 375 this, | 373 this, |
| 376 CommandLine::ForCurrentProcess(), | 374 CommandLine::ForCurrentProcess(), |
| 377 GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), | 375 GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), |
| 378 extension_prefs_.get(), | 376 extension_prefs_.get(), |
| 379 autoupdate_enabled); | 377 autoupdate_enabled); |
| 380 | 378 |
| 381 RegisterComponentExtensions(); | 379 RegisterComponentExtensions(); |
| 382 extensions_service_->Init(); | 380 extensions_service_->Init(); |
| 383 InstallDefaultApps(); | |
| 384 | 381 |
| 385 // Load any extensions specified with --load-extension. | 382 // Load any extensions specified with --load-extension. |
| 386 if (command_line->HasSwitch(switches::kLoadExtension)) { | 383 if (command_line->HasSwitch(switches::kLoadExtension)) { |
| 387 FilePath path = command_line->GetSwitchValuePath(switches::kLoadExtension); | 384 FilePath path = command_line->GetSwitchValuePath(switches::kLoadExtension); |
| 388 extensions_service_->LoadExtension(path); | 385 extensions_service_->LoadExtension(path); |
| 389 } | 386 } |
| 390 | 387 |
| 391 // Make the chrome://extension-icon/ resource available. | 388 // Make the chrome://extension-icon/ resource available. |
| 392 GetChromeURLDataManager()->AddDataSource(new ExtensionIconSource(this)); | 389 GetChromeURLDataManager()->AddDataSource(new ExtensionIconSource(this)); |
| 393 } | 390 } |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 .AppendASCII("access_chromevox"); | 468 .AppendASCII("access_chromevox"); |
| 472 std::string manifest = | 469 std::string manifest = |
| 473 ResourceBundle::GetSharedInstance().GetRawDataResource( | 470 ResourceBundle::GetSharedInstance().GetRawDataResource( |
| 474 IDR_CHROMEVOX_MANIFEST).as_string(); | 471 IDR_CHROMEVOX_MANIFEST).as_string(); |
| 475 extensions_service_->register_component_extension( | 472 extensions_service_->register_component_extension( |
| 476 ExtensionService::ComponentExtensionInfo(manifest, path)); | 473 ExtensionService::ComponentExtensionInfo(manifest, path)); |
| 477 } | 474 } |
| 478 #endif | 475 #endif |
| 479 } | 476 } |
| 480 | 477 |
| 481 void ProfileImpl::InstallDefaultApps() { | |
| 482 ExtensionService* extension_service = GetExtensionService(); | |
| 483 DefaultApps* default_apps = extension_service->default_apps(); | |
| 484 | |
| 485 if (!default_apps->ShouldInstallDefaultApps(extension_service->GetAppIds())) | |
| 486 return; | |
| 487 | |
| 488 const ExtensionIdSet& app_ids = default_apps->default_apps(); | |
| 489 PendingExtensionManager* pending_extension_manager = | |
| 490 extension_service->pending_extension_manager(); | |
| 491 for (ExtensionIdSet::const_iterator iter = app_ids.begin(); | |
| 492 iter != app_ids.end(); ++iter) { | |
| 493 pending_extension_manager->AddFromDefaultAppList(*iter); | |
| 494 } | |
| 495 } | |
| 496 | |
| 497 void ProfileImpl::InitPromoResources() { | 478 void ProfileImpl::InitPromoResources() { |
| 498 if (promo_resource_service_) | 479 if (promo_resource_service_) |
| 499 return; | 480 return; |
| 500 | 481 |
| 501 promo_resource_service_ = new PromoResourceService(this); | 482 promo_resource_service_ = new PromoResourceService(this); |
| 502 promo_resource_service_->StartAfterDelay(); | 483 promo_resource_service_->StartAfterDelay(); |
| 503 } | 484 } |
| 504 | 485 |
| 505 void ProfileImpl::InitRegisteredProtocolHandlers() { | 486 void ProfileImpl::InitRegisteredProtocolHandlers() { |
| 506 if (protocol_handler_registry_) | 487 if (protocol_handler_registry_) |
| (...skipping 993 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1500 return pref_proxy_config_tracker_; | 1481 return pref_proxy_config_tracker_; |
| 1501 } | 1482 } |
| 1502 | 1483 |
| 1503 prerender::PrerenderManager* ProfileImpl::GetPrerenderManager() { | 1484 prerender::PrerenderManager* ProfileImpl::GetPrerenderManager() { |
| 1504 if (!prerender::PrerenderManager::IsPrerenderingPossible()) | 1485 if (!prerender::PrerenderManager::IsPrerenderingPossible()) |
| 1505 return NULL; | 1486 return NULL; |
| 1506 if (!prerender_manager_) | 1487 if (!prerender_manager_) |
| 1507 prerender_manager_ = new prerender::PrerenderManager(this); | 1488 prerender_manager_ = new prerender::PrerenderManager(this); |
| 1508 return prerender_manager_; | 1489 return prerender_manager_; |
| 1509 } | 1490 } |
| OLD | NEW |