OLD | NEW |
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 <set> | 7 #include <set> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 base::Time remove_end; | 126 base::Time remove_end; |
127 StoragePartition::OriginMatcherFunction origin_matcher; | 127 StoragePartition::OriginMatcherFunction origin_matcher; |
128 | 128 |
129 StoragePartitionRemovalData() : remove_mask(0), | 129 StoragePartitionRemovalData() : remove_mask(0), |
130 quota_storage_remove_mask(0) {} | 130 quota_storage_remove_mask(0) {} |
131 }; | 131 }; |
132 | 132 |
133 class TestStoragePartition : public StoragePartition { | 133 class TestStoragePartition : public StoragePartition { |
134 public: | 134 public: |
135 TestStoragePartition() {} | 135 TestStoragePartition() {} |
136 virtual ~TestStoragePartition() {} | 136 ~TestStoragePartition() override {} |
137 | 137 |
138 // content::StoragePartition implementation. | 138 // content::StoragePartition implementation. |
139 virtual base::FilePath GetPath() override { return base::FilePath(); } | 139 base::FilePath GetPath() override { return base::FilePath(); } |
140 virtual net::URLRequestContextGetter* GetURLRequestContext() override { | 140 net::URLRequestContextGetter* GetURLRequestContext() override { return NULL; } |
| 141 net::URLRequestContextGetter* GetMediaURLRequestContext() override { |
141 return NULL; | 142 return NULL; |
142 } | 143 } |
143 virtual net::URLRequestContextGetter* GetMediaURLRequestContext() override { | 144 storage::QuotaManager* GetQuotaManager() override { return NULL; } |
144 return NULL; | 145 content::AppCacheService* GetAppCacheService() override { return NULL; } |
145 } | 146 storage::FileSystemContext* GetFileSystemContext() override { return NULL; } |
146 virtual storage::QuotaManager* GetQuotaManager() override { return NULL; } | 147 storage::DatabaseTracker* GetDatabaseTracker() override { return NULL; } |
147 virtual content::AppCacheService* GetAppCacheService() override { | 148 content::DOMStorageContext* GetDOMStorageContext() override { return NULL; } |
148 return NULL; | 149 content::IndexedDBContext* GetIndexedDBContext() override { return NULL; } |
149 } | 150 content::ServiceWorkerContext* GetServiceWorkerContext() override { |
150 virtual storage::FileSystemContext* GetFileSystemContext() override { | |
151 return NULL; | |
152 } | |
153 virtual storage::DatabaseTracker* GetDatabaseTracker() override { | |
154 return NULL; | |
155 } | |
156 virtual content::DOMStorageContext* GetDOMStorageContext() override { | |
157 return NULL; | |
158 } | |
159 virtual content::IndexedDBContext* GetIndexedDBContext() override { | |
160 return NULL; | |
161 } | |
162 virtual content::ServiceWorkerContext* GetServiceWorkerContext() override { | |
163 return NULL; | 151 return NULL; |
164 } | 152 } |
165 | 153 |
166 virtual void ClearDataForOrigin(uint32 remove_mask, | 154 void ClearDataForOrigin(uint32 remove_mask, |
167 uint32 quota_storage_remove_mask, | 155 uint32 quota_storage_remove_mask, |
168 const GURL& storage_origin, | 156 const GURL& storage_origin, |
169 net::URLRequestContextGetter* rq_context, | 157 net::URLRequestContextGetter* rq_context, |
170 const base::Closure& callback) override { | 158 const base::Closure& callback) override { |
171 BrowserThread::PostTask(BrowserThread::UI, | 159 BrowserThread::PostTask(BrowserThread::UI, |
172 FROM_HERE, | 160 FROM_HERE, |
173 base::Bind(&TestStoragePartition::AsyncRunCallback, | 161 base::Bind(&TestStoragePartition::AsyncRunCallback, |
174 base::Unretained(this), | 162 base::Unretained(this), |
175 callback)); | 163 callback)); |
176 } | 164 } |
177 | 165 |
178 virtual void ClearData(uint32 remove_mask, | 166 void ClearData(uint32 remove_mask, |
179 uint32 quota_storage_remove_mask, | 167 uint32 quota_storage_remove_mask, |
180 const GURL& storage_origin, | 168 const GURL& storage_origin, |
181 const OriginMatcherFunction& origin_matcher, | 169 const OriginMatcherFunction& origin_matcher, |
182 const base::Time begin, | 170 const base::Time begin, |
183 const base::Time end, | 171 const base::Time end, |
184 const base::Closure& callback) override { | 172 const base::Closure& callback) override { |
185 // Store stuff to verify parameters' correctness later. | 173 // Store stuff to verify parameters' correctness later. |
186 storage_partition_removal_data_.remove_mask = remove_mask; | 174 storage_partition_removal_data_.remove_mask = remove_mask; |
187 storage_partition_removal_data_.quota_storage_remove_mask = | 175 storage_partition_removal_data_.quota_storage_remove_mask = |
188 quota_storage_remove_mask; | 176 quota_storage_remove_mask; |
189 storage_partition_removal_data_.remove_origin = storage_origin; | 177 storage_partition_removal_data_.remove_origin = storage_origin; |
190 storage_partition_removal_data_.remove_begin = begin; | 178 storage_partition_removal_data_.remove_begin = begin; |
191 storage_partition_removal_data_.remove_end = end; | 179 storage_partition_removal_data_.remove_end = end; |
192 storage_partition_removal_data_.origin_matcher = origin_matcher; | 180 storage_partition_removal_data_.origin_matcher = origin_matcher; |
193 | 181 |
194 BrowserThread::PostTask( | 182 BrowserThread::PostTask( |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 class RemoveChannelIDTester : public net::SSLConfigService::Observer { | 298 class RemoveChannelIDTester : public net::SSLConfigService::Observer { |
311 public: | 299 public: |
312 explicit RemoveChannelIDTester(TestingProfile* profile) | 300 explicit RemoveChannelIDTester(TestingProfile* profile) |
313 : ssl_config_changed_count_(0) { | 301 : ssl_config_changed_count_(0) { |
314 channel_id_service_ = profile->GetRequestContext()-> | 302 channel_id_service_ = profile->GetRequestContext()-> |
315 GetURLRequestContext()->channel_id_service(); | 303 GetURLRequestContext()->channel_id_service(); |
316 ssl_config_service_ = profile->GetSSLConfigService(); | 304 ssl_config_service_ = profile->GetSSLConfigService(); |
317 ssl_config_service_->AddObserver(this); | 305 ssl_config_service_->AddObserver(this); |
318 } | 306 } |
319 | 307 |
320 virtual ~RemoveChannelIDTester() { | 308 ~RemoveChannelIDTester() override { |
321 ssl_config_service_->RemoveObserver(this); | 309 ssl_config_service_->RemoveObserver(this); |
322 } | 310 } |
323 | 311 |
324 int ChannelIDCount() { | 312 int ChannelIDCount() { |
325 return channel_id_service_->cert_count(); | 313 return channel_id_service_->cert_count(); |
326 } | 314 } |
327 | 315 |
328 // Add a server bound cert for |server| with specific creation and expiry | 316 // Add a server bound cert for |server| with specific creation and expiry |
329 // times. The cert and key data will be filled with dummy values. | 317 // times. The cert and key data will be filled with dummy values. |
330 void AddChannelIDWithTimes(const std::string& server_identifier, | 318 void AddChannelIDWithTimes(const std::string& server_identifier, |
(...skipping 23 matching lines...) Expand all Loading... |
354 | 342 |
355 net::ChannelIDStore* GetChannelIDStore() { | 343 net::ChannelIDStore* GetChannelIDStore() { |
356 return channel_id_service_->GetChannelIDStore(); | 344 return channel_id_service_->GetChannelIDStore(); |
357 } | 345 } |
358 | 346 |
359 int ssl_config_changed_count() const { | 347 int ssl_config_changed_count() const { |
360 return ssl_config_changed_count_; | 348 return ssl_config_changed_count_; |
361 } | 349 } |
362 | 350 |
363 // net::SSLConfigService::Observer implementation: | 351 // net::SSLConfigService::Observer implementation: |
364 virtual void OnSSLConfigChanged() override { | 352 void OnSSLConfigChanged() override { ssl_config_changed_count_++; } |
365 ssl_config_changed_count_++; | |
366 } | |
367 | 353 |
368 private: | 354 private: |
369 static void GetAllChannelIDsCallback( | 355 static void GetAllChannelIDsCallback( |
370 net::ChannelIDStore::ChannelIDList* dest, | 356 net::ChannelIDStore::ChannelIDList* dest, |
371 const net::ChannelIDStore::ChannelIDList& result) { | 357 const net::ChannelIDStore::ChannelIDList& result) { |
372 *dest = result; | 358 *dest = result; |
373 } | 359 } |
374 | 360 |
375 net::ChannelIDService* channel_id_service_; | 361 net::ChannelIDService* channel_id_service_; |
376 scoped_refptr<net::SSLConfigService> ssl_config_service_; | 362 scoped_refptr<net::SSLConfigService> ssl_config_service_; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 | 420 |
435 class RemoveAutofillTester : public autofill::PersonalDataManagerObserver { | 421 class RemoveAutofillTester : public autofill::PersonalDataManagerObserver { |
436 public: | 422 public: |
437 explicit RemoveAutofillTester(TestingProfile* profile) | 423 explicit RemoveAutofillTester(TestingProfile* profile) |
438 : personal_data_manager_( | 424 : personal_data_manager_( |
439 autofill::PersonalDataManagerFactory::GetForProfile(profile)) { | 425 autofill::PersonalDataManagerFactory::GetForProfile(profile)) { |
440 autofill::test::DisableSystemServices(profile->GetPrefs()); | 426 autofill::test::DisableSystemServices(profile->GetPrefs()); |
441 personal_data_manager_->AddObserver(this); | 427 personal_data_manager_->AddObserver(this); |
442 } | 428 } |
443 | 429 |
444 virtual ~RemoveAutofillTester() { | 430 ~RemoveAutofillTester() override { |
445 personal_data_manager_->RemoveObserver(this); | 431 personal_data_manager_->RemoveObserver(this); |
446 } | 432 } |
447 | 433 |
448 // Returns true if there are autofill profiles. | 434 // Returns true if there are autofill profiles. |
449 bool HasProfile() { | 435 bool HasProfile() { |
450 return !personal_data_manager_->GetProfiles().empty() && | 436 return !personal_data_manager_->GetProfiles().empty() && |
451 !personal_data_manager_->GetCreditCards().empty(); | 437 !personal_data_manager_->GetCreditCards().empty(); |
452 } | 438 } |
453 | 439 |
454 bool HasOrigin(const std::string& origin) { | 440 bool HasOrigin(const std::string& origin) { |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 | 491 |
506 card.set_guid(base::GenerateGUID()); | 492 card.set_guid(base::GenerateGUID()); |
507 card.set_origin(kChromeOrigin); | 493 card.set_origin(kChromeOrigin); |
508 cards.push_back(card); | 494 cards.push_back(card); |
509 | 495 |
510 personal_data_manager_->SetCreditCards(&cards); | 496 personal_data_manager_->SetCreditCards(&cards); |
511 base::MessageLoop::current()->Run(); | 497 base::MessageLoop::current()->Run(); |
512 } | 498 } |
513 | 499 |
514 private: | 500 private: |
515 virtual void OnPersonalDataChanged() override { | 501 void OnPersonalDataChanged() override { |
516 base::MessageLoop::current()->Quit(); | 502 base::MessageLoop::current()->Quit(); |
517 } | 503 } |
518 | 504 |
519 autofill::PersonalDataManager* personal_data_manager_; | 505 autofill::PersonalDataManager* personal_data_manager_; |
520 DISALLOW_COPY_AND_ASSIGN(RemoveAutofillTester); | 506 DISALLOW_COPY_AND_ASSIGN(RemoveAutofillTester); |
521 }; | 507 }; |
522 | 508 |
523 class RemoveLocalStorageTester { | 509 class RemoveLocalStorageTester { |
524 public: | 510 public: |
525 explicit RemoveLocalStorageTester(TestingProfile* profile) | 511 explicit RemoveLocalStorageTester(TestingProfile* profile) |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 std::vector<content::LocalStorageUsageInfo> infos_; | 576 std::vector<content::LocalStorageUsageInfo> infos_; |
591 base::Closure quit_closure_; | 577 base::Closure quit_closure_; |
592 | 578 |
593 DISALLOW_COPY_AND_ASSIGN(RemoveLocalStorageTester); | 579 DISALLOW_COPY_AND_ASSIGN(RemoveLocalStorageTester); |
594 }; | 580 }; |
595 | 581 |
596 class MockDomainReliabilityService : public DomainReliabilityService { | 582 class MockDomainReliabilityService : public DomainReliabilityService { |
597 public: | 583 public: |
598 MockDomainReliabilityService() : clear_count_(0) {} | 584 MockDomainReliabilityService() : clear_count_(0) {} |
599 | 585 |
600 virtual ~MockDomainReliabilityService() {} | 586 ~MockDomainReliabilityService() override {} |
601 | 587 |
602 virtual scoped_ptr<DomainReliabilityMonitor> CreateMonitor( | 588 scoped_ptr<DomainReliabilityMonitor> CreateMonitor( |
603 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) | 589 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) |
604 override { | 590 override { |
605 NOTREACHED(); | 591 NOTREACHED(); |
606 return scoped_ptr<DomainReliabilityMonitor>(); | 592 return scoped_ptr<DomainReliabilityMonitor>(); |
607 } | 593 } |
608 | 594 |
609 virtual void ClearBrowsingData(DomainReliabilityClearMode clear_mode, | 595 void ClearBrowsingData(DomainReliabilityClearMode clear_mode, |
610 const base::Closure& callback) override { | 596 const base::Closure& callback) override { |
611 clear_count_++; | 597 clear_count_++; |
612 last_clear_mode_ = clear_mode; | 598 last_clear_mode_ = clear_mode; |
613 callback.Run(); | 599 callback.Run(); |
614 } | 600 } |
615 | 601 |
616 virtual void GetWebUIData( | 602 void GetWebUIData(const base::Callback<void(scoped_ptr<base::Value>)>& |
617 const base::Callback<void(scoped_ptr<base::Value>)>& callback) | 603 callback) const override { |
618 const override { | |
619 NOTREACHED(); | 604 NOTREACHED(); |
620 } | 605 } |
621 | 606 |
622 int clear_count() const { return clear_count_; } | 607 int clear_count() const { return clear_count_; } |
623 | 608 |
624 DomainReliabilityClearMode last_clear_mode() const { | 609 DomainReliabilityClearMode last_clear_mode() const { |
625 return last_clear_mode_; | 610 return last_clear_mode_; |
626 } | 611 } |
627 | 612 |
628 private: | 613 private: |
629 unsigned clear_count_; | 614 unsigned clear_count_; |
630 DomainReliabilityClearMode last_clear_mode_; | 615 DomainReliabilityClearMode last_clear_mode_; |
631 }; | 616 }; |
632 | 617 |
633 struct TestingDomainReliabilityServiceFactoryUserData | 618 struct TestingDomainReliabilityServiceFactoryUserData |
634 : public base::SupportsUserData::Data { | 619 : public base::SupportsUserData::Data { |
635 TestingDomainReliabilityServiceFactoryUserData( | 620 TestingDomainReliabilityServiceFactoryUserData( |
636 content::BrowserContext* context, | 621 content::BrowserContext* context, |
637 MockDomainReliabilityService* service) | 622 MockDomainReliabilityService* service) |
638 : context(context), | 623 : context(context), |
639 service(service), | 624 service(service), |
640 attached(false) {} | 625 attached(false) {} |
641 virtual ~TestingDomainReliabilityServiceFactoryUserData() {} | 626 ~TestingDomainReliabilityServiceFactoryUserData() override {} |
642 | 627 |
643 content::BrowserContext* const context; | 628 content::BrowserContext* const context; |
644 MockDomainReliabilityService* const service; | 629 MockDomainReliabilityService* const service; |
645 bool attached; | 630 bool attached; |
646 | 631 |
647 static const void* kKey; | 632 static const void* kKey; |
648 }; | 633 }; |
649 | 634 |
650 // static | 635 // static |
651 const void* TestingDomainReliabilityServiceFactoryUserData::kKey = | 636 const void* TestingDomainReliabilityServiceFactoryUserData::kKey = |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
794 | 779 |
795 int GetOriginSetMask() { | 780 int GetOriginSetMask() { |
796 return called_with_details_->origin_set_mask; | 781 return called_with_details_->origin_set_mask; |
797 } | 782 } |
798 | 783 |
799 StoragePartitionRemovalData GetStoragePartitionRemovalData() { | 784 StoragePartitionRemovalData GetStoragePartitionRemovalData() { |
800 return storage_partition_removal_data_; | 785 return storage_partition_removal_data_; |
801 } | 786 } |
802 | 787 |
803 // content::NotificationObserver implementation. | 788 // content::NotificationObserver implementation. |
804 virtual void Observe(int type, | 789 void Observe(int type, |
805 const content::NotificationSource& source, | 790 const content::NotificationSource& source, |
806 const content::NotificationDetails& details) override { | 791 const content::NotificationDetails& details) override { |
807 DCHECK_EQ(type, chrome::NOTIFICATION_BROWSING_DATA_REMOVED); | 792 DCHECK_EQ(type, chrome::NOTIFICATION_BROWSING_DATA_REMOVED); |
808 | 793 |
809 // We're not taking ownership of the details object, but storing a copy of | 794 // We're not taking ownership of the details object, but storing a copy of |
810 // it locally. | 795 // it locally. |
811 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails( | 796 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails( |
812 *content::Details<BrowsingDataRemover::NotificationDetails>( | 797 *content::Details<BrowsingDataRemover::NotificationDetails>( |
813 details).ptr())); | 798 details).ptr())); |
814 | 799 |
815 registrar_.RemoveAll(); | 800 registrar_.RemoveAll(); |
816 } | 801 } |
(...skipping 1012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1829 EXPECT_EQ(1u, tester.clear_count()); | 1814 EXPECT_EQ(1u, tester.clear_count()); |
1830 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1815 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
1831 } | 1816 } |
1832 | 1817 |
1833 TEST_F(BrowsingDataRemoverTest, DomainReliability_NoMonitor) { | 1818 TEST_F(BrowsingDataRemoverTest, DomainReliability_NoMonitor) { |
1834 BlockUntilBrowsingDataRemoved( | 1819 BlockUntilBrowsingDataRemoved( |
1835 BrowsingDataRemover::EVERYTHING, | 1820 BrowsingDataRemover::EVERYTHING, |
1836 BrowsingDataRemover::REMOVE_HISTORY | | 1821 BrowsingDataRemover::REMOVE_HISTORY | |
1837 BrowsingDataRemover::REMOVE_COOKIES, false); | 1822 BrowsingDataRemover::REMOVE_COOKIES, false); |
1838 } | 1823 } |
OLD | NEW |