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

Side by Side Diff: chrome/browser/browser_process_impl.cc

Issue 7230052: Make kClearSiteDataOnExit work correctly for Flash in multi-profile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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
« no previous file with comments | « no previous file | chrome/browser/chrome_content_browser_client.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/browser_process_impl.h" 5 #include "chrome/browser/browser_process_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 created_safe_browsing_service_(false), 132 created_safe_browsing_service_(false),
133 created_safe_browsing_detection_service_(false), 133 created_safe_browsing_detection_service_(false),
134 module_ref_count_(0), 134 module_ref_count_(0),
135 did_start_(false), 135 did_start_(false),
136 checked_for_new_frames_(false), 136 checked_for_new_frames_(false),
137 using_new_frames_(false) { 137 using_new_frames_(false) {
138 g_browser_process = this; 138 g_browser_process = this;
139 clipboard_.reset(new ui::Clipboard); 139 clipboard_.reset(new ui::Clipboard);
140 main_notification_service_.reset(new NotificationService); 140 main_notification_service_.reset(new NotificationService);
141 141
142 notification_registrar_.Add(this,
143 NotificationType::APP_TERMINATING,
144 NotificationService::AllSources());
145
146 // Must be created after the NotificationService. 142 // Must be created after the NotificationService.
147 print_job_manager_.reset(new printing::PrintJobManager); 143 print_job_manager_.reset(new printing::PrintJobManager);
148 144
149 net_log_.reset(new ChromeNetLog); 145 net_log_.reset(new ChromeNetLog);
150 146
151 extension_event_router_forwarder_ = new ExtensionEventRouterForwarder; 147 extension_event_router_forwarder_ = new ExtensionEventRouterForwarder;
152 148
153 ExtensionTabIdMap::GetInstance()->Init(); 149 ExtensionTabIdMap::GetInstance()->Init();
154 } 150 }
155 151
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 return safe_browsing_detection_service_.get(); 628 return safe_browsing_detection_service_.get();
633 } 629 }
634 630
635 bool BrowserProcessImpl::plugin_finder_disabled() const { 631 bool BrowserProcessImpl::plugin_finder_disabled() const {
636 return *plugin_finder_disabled_pref_; 632 return *plugin_finder_disabled_pref_;
637 } 633 }
638 634
639 void BrowserProcessImpl::Observe(NotificationType type, 635 void BrowserProcessImpl::Observe(NotificationType type,
640 const NotificationSource& source, 636 const NotificationSource& source,
641 const NotificationDetails& details) { 637 const NotificationDetails& details) {
642 if (type == NotificationType::APP_TERMINATING) { 638 if (type == NotificationType::PREF_CHANGED) {
643 Profile* profile = ProfileManager::GetDefaultProfile();
644 if (profile) {
645 PrefService* prefs = profile->GetPrefs();
646 if (prefs->GetBoolean(prefs::kClearSiteDataOnExit) &&
647 local_state()->GetBoolean(prefs::kClearPluginLSODataEnabled)) {
648 plugin_data_remover_ = new PluginDataRemover();
649 if (!plugin_data_remover_mime_type().empty())
650 plugin_data_remover_->set_mime_type(plugin_data_remover_mime_type());
651 plugin_data_remover_->StartRemoving(base::Time());
652 }
653 }
654 } else if (type == NotificationType::PREF_CHANGED) {
655 std::string* pref = Details<std::string>(details).ptr(); 639 std::string* pref = Details<std::string>(details).ptr();
656 if (*pref == prefs::kDefaultBrowserSettingEnabled) { 640 if (*pref == prefs::kDefaultBrowserSettingEnabled) {
657 if (local_state_->GetBoolean(prefs::kDefaultBrowserSettingEnabled)) 641 if (local_state_->GetBoolean(prefs::kDefaultBrowserSettingEnabled))
658 ShellIntegration::SetAsDefaultBrowser(); 642 ShellIntegration::SetAsDefaultBrowser();
659 } else if (*pref == prefs::kDisabledSchemes) { 643 } else if (*pref == prefs::kDisabledSchemes) {
660 ApplyDisabledSchemesPolicy(); 644 ApplyDisabledSchemesPolicy();
661 } else if (*pref == prefs::kAllowCrossOriginAuthPrompt) { 645 } else if (*pref == prefs::kAllowCrossOriginAuthPrompt) {
662 ApplyAllowCrossOriginAuthPromptPolicy(); 646 ApplyAllowCrossOriginAuthPromptPolicy();
663 } 647 }
664 } else { 648 } else {
665 NOTREACHED(); 649 NOTREACHED();
666 } 650 }
667 } 651 }
668 652
669 void BrowserProcessImpl::WaitForPluginDataRemoverToFinish() { 653 void BrowserProcessImpl::WaitForPluginDataRemoverToFinish() {
Bernhard Bauer 2011/06/30 13:47:29 This method (and the whole |plugin_data_remover_|)
Miranda Callahan 2011/06/30 14:07:39 Done.
670 if (plugin_data_remover_.get()) 654 if (plugin_data_remover_.get())
671 plugin_data_remover_->Wait(); 655 plugin_data_remover_->Wait();
672 } 656 }
673 657
674 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) 658 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
675 void BrowserProcessImpl::StartAutoupdateTimer() { 659 void BrowserProcessImpl::StartAutoupdateTimer() {
676 autoupdate_timer_.Start( 660 autoupdate_timer_.Start(
677 base::TimeDelta::FromHours(kUpdateCheckIntervalHours), 661 base::TimeDelta::FromHours(kUpdateCheckIntervalHours),
678 this, 662 this,
679 &BrowserProcessImpl::OnAutoupdateTimer); 663 &BrowserProcessImpl::OnAutoupdateTimer);
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 } 1117 }
1134 1118
1135 void BrowserProcessImpl::OnAutoupdateTimer() { 1119 void BrowserProcessImpl::OnAutoupdateTimer() {
1136 if (CanAutorestartForUpdate()) { 1120 if (CanAutorestartForUpdate()) {
1137 DLOG(WARNING) << "Detected update. Restarting browser."; 1121 DLOG(WARNING) << "Detected update. Restarting browser.";
1138 RestartPersistentInstance(); 1122 RestartPersistentInstance();
1139 } 1123 }
1140 } 1124 }
1141 1125
1142 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) 1126 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chrome_content_browser_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698