| 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/browsing_data_remover.h" | 5 #include "chrome/browser/browsing_data_remover.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "chrome/browser/prerender/prerender_manager.h" | 24 #include "chrome/browser/prerender/prerender_manager.h" |
| 25 #include "chrome/browser/profiles/profile.h" | 25 #include "chrome/browser/profiles/profile.h" |
| 26 #include "chrome/browser/renderer_host/web_cache_manager.h" | 26 #include "chrome/browser/renderer_host/web_cache_manager.h" |
| 27 #include "chrome/browser/search_engines/template_url_service.h" | 27 #include "chrome/browser/search_engines/template_url_service.h" |
| 28 #include "chrome/browser/search_engines/template_url_service_factory.h" | 28 #include "chrome/browser/search_engines/template_url_service_factory.h" |
| 29 #include "chrome/browser/sessions/session_service.h" | 29 #include "chrome/browser/sessions/session_service.h" |
| 30 #include "chrome/browser/sessions/session_service_factory.h" | 30 #include "chrome/browser/sessions/session_service_factory.h" |
| 31 #include "chrome/browser/sessions/tab_restore_service.h" | 31 #include "chrome/browser/sessions/tab_restore_service.h" |
| 32 #include "chrome/browser/sessions/tab_restore_service_factory.h" | 32 #include "chrome/browser/sessions/tab_restore_service_factory.h" |
| 33 #include "chrome/browser/webdata/web_data_service.h" | 33 #include "chrome/browser/webdata/web_data_service.h" |
| 34 #include "chrome/common/chrome_notification_types.h" |
| 34 #include "chrome/common/url_constants.h" | 35 #include "chrome/common/url_constants.h" |
| 35 #include "content/browser/browser_thread.h" | 36 #include "content/browser/browser_thread.h" |
| 36 #include "content/browser/in_process_webkit/webkit_context.h" | 37 #include "content/browser/in_process_webkit/webkit_context.h" |
| 37 #include "content/browser/user_metrics.h" | 38 #include "content/browser/user_metrics.h" |
| 38 #include "content/common/notification_source.h" | 39 #include "content/common/notification_source.h" |
| 39 #include "net/base/cookie_monster.h" | 40 #include "net/base/cookie_monster.h" |
| 40 #include "net/base/net_errors.h" | 41 #include "net/base/net_errors.h" |
| 41 #include "net/base/transport_security_state.h" | 42 #include "net/base/transport_security_state.h" |
| 42 #include "net/disk_cache/disk_cache.h" | 43 #include "net/disk_cache/disk_cache.h" |
| 43 #include "net/http/http_cache.h" | 44 #include "net/http/http_cache.h" |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 NewRunnableMethod( | 147 NewRunnableMethod( |
| 147 this, | 148 this, |
| 148 &BrowsingDataRemover::ClearNetworkingHistory, | 149 &BrowsingDataRemover::ClearNetworkingHistory, |
| 149 g_browser_process->io_thread())); | 150 g_browser_process->io_thread())); |
| 150 } | 151 } |
| 151 | 152 |
| 152 // As part of history deletion we also delete the auto-generated keywords. | 153 // As part of history deletion we also delete the auto-generated keywords. |
| 153 TemplateURLService* keywords_model = | 154 TemplateURLService* keywords_model = |
| 154 TemplateURLServiceFactory::GetForProfile(profile_); | 155 TemplateURLServiceFactory::GetForProfile(profile_); |
| 155 if (keywords_model && !keywords_model->loaded()) { | 156 if (keywords_model && !keywords_model->loaded()) { |
| 156 registrar_.Add(this, NotificationType::TEMPLATE_URL_SERVICE_LOADED, | 157 registrar_.Add(this, chrome::NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED, |
| 157 Source<TemplateURLService>(keywords_model)); | 158 Source<TemplateURLService>(keywords_model)); |
| 158 keywords_model->Load(); | 159 keywords_model->Load(); |
| 159 } else if (keywords_model) { | 160 } else if (keywords_model) { |
| 160 keywords_model->RemoveAutoGeneratedBetween(delete_begin_, delete_end_); | 161 keywords_model->RemoveAutoGeneratedBetween(delete_begin_, delete_end_); |
| 161 } | 162 } |
| 162 | 163 |
| 163 // We also delete the list of recently closed tabs. Since these expire, | 164 // We also delete the list of recently closed tabs. Since these expire, |
| 164 // they can't be more than a day old, so we can simply clear them all. | 165 // they can't be more than a day old, so we can simply clear them all. |
| 165 TabRestoreService* tab_service = | 166 TabRestoreService* tab_service = |
| 166 TabRestoreServiceFactory::GetForProfile(profile_); | 167 TabRestoreServiceFactory::GetForProfile(profile_); |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 case EVERYTHING: | 355 case EVERYTHING: |
| 355 delete_begin_time = base::Time(); | 356 delete_begin_time = base::Time(); |
| 356 break; | 357 break; |
| 357 default: | 358 default: |
| 358 NOTREACHED() << L"Missing item"; | 359 NOTREACHED() << L"Missing item"; |
| 359 break; | 360 break; |
| 360 } | 361 } |
| 361 return delete_begin_time - diff; | 362 return delete_begin_time - diff; |
| 362 } | 363 } |
| 363 | 364 |
| 364 void BrowsingDataRemover::Observe(NotificationType type, | 365 void BrowsingDataRemover::Observe(int type, |
| 365 const NotificationSource& source, | 366 const NotificationSource& source, |
| 366 const NotificationDetails& details) { | 367 const NotificationDetails& details) { |
| 367 // TODO(brettw) bug 1139736: This should also observe session | 368 // TODO(brettw) bug 1139736: This should also observe session |
| 368 // clearing (what about other things such as passwords, etc.?) and wait for | 369 // clearing (what about other things such as passwords, etc.?) and wait for |
| 369 // them to complete before continuing. | 370 // them to complete before continuing. |
| 370 DCHECK(type == NotificationType::TEMPLATE_URL_SERVICE_LOADED); | 371 DCHECK(type == chrome::NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED); |
| 371 TemplateURLService* model = Source<TemplateURLService>(source).ptr(); | 372 TemplateURLService* model = Source<TemplateURLService>(source).ptr(); |
| 372 if (model->profile() == profile_->GetOriginalProfile()) { | 373 if (model->profile() == profile_->GetOriginalProfile()) { |
| 373 registrar_.RemoveAll(); | 374 registrar_.RemoveAll(); |
| 374 model->RemoveAutoGeneratedBetween(delete_begin_, delete_end_); | 375 model->RemoveAutoGeneratedBetween(delete_begin_, delete_end_); |
| 375 NotifyAndDeleteIfDone(); | 376 NotifyAndDeleteIfDone(); |
| 376 } | 377 } |
| 377 } | 378 } |
| 378 | 379 |
| 379 void BrowsingDataRemover::NotifyAndDeleteIfDone() { | 380 void BrowsingDataRemover::NotifyAndDeleteIfDone() { |
| 380 // TODO(brettw) bug 1139736: see TODO in Observe() above. | 381 // TODO(brettw) bug 1139736: see TODO in Observe() above. |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 | 626 |
| 626 ClearGearsData(profile_dir); | 627 ClearGearsData(profile_dir); |
| 627 OnClearedGearsData(); | 628 OnClearedGearsData(); |
| 628 } | 629 } |
| 629 | 630 |
| 630 void BrowsingDataRemover::OnWaitableEventSignaled( | 631 void BrowsingDataRemover::OnWaitableEventSignaled( |
| 631 base::WaitableEvent* waitable_event) { | 632 base::WaitableEvent* waitable_event) { |
| 632 waiting_for_clear_lso_data_ = false; | 633 waiting_for_clear_lso_data_ = false; |
| 633 NotifyAndDeleteIfDone(); | 634 NotifyAndDeleteIfDone(); |
| 634 } | 635 } |
| OLD | NEW |