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

Side by Side Diff: chrome/browser/browsing_data/browsing_data_remover.cc

Issue 562423002: Clear GCM data when the user clears cookies and other site data (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 6 years, 3 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
OLDNEW
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/browser/browsing_data/browsing_data_remover.h" 5 #include "chrome/browser/browsing_data/browsing_data_remover.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 17 matching lines...) Expand all
28 #include "chrome/browser/net/predictor.h" 28 #include "chrome/browser/net/predictor.h"
29 #include "chrome/browser/password_manager/password_store_factory.h" 29 #include "chrome/browser/password_manager/password_store_factory.h"
30 #include "chrome/browser/predictors/logged_in_predictor_table.h" 30 #include "chrome/browser/predictors/logged_in_predictor_table.h"
31 #include "chrome/browser/predictors/predictor_database.h" 31 #include "chrome/browser/predictors/predictor_database.h"
32 #include "chrome/browser/predictors/predictor_database_factory.h" 32 #include "chrome/browser/predictors/predictor_database_factory.h"
33 #include "chrome/browser/prerender/prerender_manager.h" 33 #include "chrome/browser/prerender/prerender_manager.h"
34 #include "chrome/browser/prerender/prerender_manager_factory.h" 34 #include "chrome/browser/prerender/prerender_manager_factory.h"
35 #include "chrome/browser/profiles/profile.h" 35 #include "chrome/browser/profiles/profile.h"
36 #include "chrome/browser/safe_browsing/safe_browsing_service.h" 36 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
37 #include "chrome/browser/search_engines/template_url_service_factory.h" 37 #include "chrome/browser/search_engines/template_url_service_factory.h"
38 #include "chrome/browser/services/gcm/gcm_profile_service.h"
39 #include "chrome/browser/services/gcm/gcm_profile_service_factory.h"
38 #include "chrome/browser/sessions/session_service.h" 40 #include "chrome/browser/sessions/session_service.h"
39 #include "chrome/browser/sessions/session_service_factory.h" 41 #include "chrome/browser/sessions/session_service_factory.h"
40 #include "chrome/browser/sessions/tab_restore_service.h" 42 #include "chrome/browser/sessions/tab_restore_service.h"
41 #include "chrome/browser/sessions/tab_restore_service_factory.h" 43 #include "chrome/browser/sessions/tab_restore_service_factory.h"
42 #include "chrome/browser/webdata/web_data_service_factory.h" 44 #include "chrome/browser/webdata/web_data_service_factory.h"
43 #include "chrome/common/pref_names.h" 45 #include "chrome/common/pref_names.h"
44 #include "chrome/common/url_constants.h" 46 #include "chrome/common/url_constants.h"
45 #include "components/autofill/core/browser/personal_data_manager.h" 47 #include "components/autofill/core/browser/personal_data_manager.h"
46 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" 48 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
47 #include "components/domain_reliability/service.h" 49 #include "components/domain_reliability/service.h"
50 #include "components/gcm_driver/gcm_driver.h"
48 #include "components/nacl/browser/nacl_browser.h" 51 #include "components/nacl/browser/nacl_browser.h"
49 #include "components/nacl/browser/pnacl_host.h" 52 #include "components/nacl/browser/pnacl_host.h"
50 #include "components/password_manager/core/browser/password_store.h" 53 #include "components/password_manager/core/browser/password_store.h"
51 #include "components/search_engines/template_url_service.h" 54 #include "components/search_engines/template_url_service.h"
52 #include "components/web_cache/browser/web_cache_manager.h" 55 #include "components/web_cache/browser/web_cache_manager.h"
53 #include "content/public/browser/browser_thread.h" 56 #include "content/public/browser/browser_thread.h"
54 #include "content/public/browser/dom_storage_context.h" 57 #include "content/public/browser/dom_storage_context.h"
55 #include "content/public/browser/download_manager.h" 58 #include "content/public/browser/download_manager.h"
56 #include "content/public/browser/local_storage_usage_info.h" 59 #include "content/public/browser/local_storage_usage_info.h"
57 #include "content/public/browser/notification_service.h" 60 #include "content/public/browser/notification_service.h"
(...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 } 528 }
526 #endif 529 #endif
527 530
528 #if defined(OS_ANDROID) 531 #if defined(OS_ANDROID)
529 if (remove_mask & REMOVE_APP_BANNER_DATA) { 532 if (remove_mask & REMOVE_APP_BANNER_DATA) {
530 profile_->GetHostContentSettingsMap()->ClearSettingsForOneType( 533 profile_->GetHostContentSettingsMap()->ClearSettingsForOneType(
531 CONTENT_SETTINGS_TYPE_APP_BANNER); 534 CONTENT_SETTINGS_TYPE_APP_BANNER);
532 } 535 }
533 #endif 536 #endif
534 537
538 #if !defined(OS_ANDROID)
539 if (remove_mask & REMOVE_GCM) {
540 gcm::GCMProfileService* gcm_profile_service =
541 gcm::GCMProfileServiceFactory::GetForProfile(profile_);
542 if (gcm_profile_service)
543 gcm_profile_service->driver()->Purge();
544 }
545 #endif
546
535 if (remove_mask & REMOVE_PASSWORDS) { 547 if (remove_mask & REMOVE_PASSWORDS) {
536 content::RecordAction(UserMetricsAction("ClearBrowsingData_Passwords")); 548 content::RecordAction(UserMetricsAction("ClearBrowsingData_Passwords"));
537 password_manager::PasswordStore* password_store = 549 password_manager::PasswordStore* password_store =
538 PasswordStoreFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS) 550 PasswordStoreFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS)
539 .get(); 551 .get();
540 552
541 if (password_store) 553 if (password_store)
542 password_store->RemoveLoginsCreatedBetween(delete_begin_, delete_end_); 554 password_store->RemoveLoginsCreatedBetween(delete_begin_, delete_end_);
543 } 555 }
544 556
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
1183 waiting_for_clear_webrtc_logs_ = false; 1195 waiting_for_clear_webrtc_logs_ = false;
1184 NotifyAndDeleteIfDone(); 1196 NotifyAndDeleteIfDone();
1185 } 1197 }
1186 #endif 1198 #endif
1187 1199
1188 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { 1200 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() {
1189 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1201 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1190 waiting_for_clear_domain_reliability_monitor_ = false; 1202 waiting_for_clear_domain_reliability_monitor_ = false;
1191 NotifyAndDeleteIfDone(); 1203 NotifyAndDeleteIfDone();
1192 } 1204 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698