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

Side by Side Diff: webkit/browser/database/database_tracker_unittest.cc

Issue 16879013: Use chromium logic for database identifier<->origin conversions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove webkit/base/origin_url_conversions Created 7 years, 6 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 | « webkit/browser/database/database_tracker.cc ('k') | webkit/browser/database/database_util.cc » ('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) 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 "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/files/file_path.h" 6 #include "base/files/file_path.h"
7 #include "base/files/scoped_temp_dir.h" 7 #include "base/files/scoped_temp_dir.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/message_loop/message_loop_proxy.h" 10 #include "base/message_loop/message_loop_proxy.h"
11 #include "base/platform_file.h" 11 #include "base/platform_file.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "base/time.h" 13 #include "base/time.h"
14 #include "net/base/net_errors.h" 14 #include "net/base/net_errors.h"
15 #include "net/base/test_completion_callback.h" 15 #include "net/base/test_completion_callback.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 #include "third_party/sqlite/sqlite3.h" 17 #include "third_party/sqlite/sqlite3.h"
18 #include "webkit/base/origin_url_conversions.h"
19 #include "webkit/browser/database/database_tracker.h" 18 #include "webkit/browser/database/database_tracker.h"
20 #include "webkit/browser/quota/mock_special_storage_policy.h" 19 #include "webkit/browser/quota/mock_special_storage_policy.h"
21 #include "webkit/browser/quota/quota_manager.h" 20 #include "webkit/browser/quota/quota_manager.h"
21 #include "webkit/common/database/database_identifier.h"
22 22
23 namespace { 23 namespace {
24 24
25 const char kOrigin1Url[] = "http://origin1"; 25 const char kOrigin1Url[] = "http://origin1";
26 const char kOrigin2Url[] = "http://protected_origin2"; 26 const char kOrigin2Url[] = "http://protected_origin2";
27 27
28 class TestObserver : public webkit_database::DatabaseTracker::Observer { 28 class TestObserver : public webkit_database::DatabaseTracker::Observer {
29 public: 29 public:
30 TestObserver() 30 TestObserver()
31 : new_notification_received_(false), 31 : new_notification_received_(false),
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 scoped_refptr<DatabaseTracker> tracker( 198 scoped_refptr<DatabaseTracker> tracker(
199 new DatabaseTracker(temp_dir.path(), 199 new DatabaseTracker(temp_dir.path(),
200 incognito_mode, 200 incognito_mode,
201 special_storage_policy.get(), 201 special_storage_policy.get(),
202 NULL, 202 NULL,
203 NULL)); 203 NULL));
204 204
205 // Create and open three databases. 205 // Create and open three databases.
206 int64 database_size = 0; 206 int64 database_size = 0;
207 const std::string kOrigin1 = 207 const std::string kOrigin1 =
208 webkit_base::GetOriginIdentifierFromURL(GURL(kOrigin1Url)); 208 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin1Url));
209 const std::string kOrigin2 = 209 const std::string kOrigin2 =
210 webkit_base::GetOriginIdentifierFromURL(GURL(kOrigin2Url)); 210 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin2Url));
211 const base::string16 kDB1 = ASCIIToUTF16("db1"); 211 const base::string16 kDB1 = ASCIIToUTF16("db1");
212 const base::string16 kDB2 = ASCIIToUTF16("db2"); 212 const base::string16 kDB2 = ASCIIToUTF16("db2");
213 const base::string16 kDB3 = ASCIIToUTF16("db3"); 213 const base::string16 kDB3 = ASCIIToUTF16("db3");
214 const base::string16 kDescription = ASCIIToUTF16("database_description"); 214 const base::string16 kDescription = ASCIIToUTF16("database_description");
215 215
216 tracker->DatabaseOpened(kOrigin1, kDB1, kDescription, 0, 216 tracker->DatabaseOpened(kOrigin1, kDB1, kDescription, 0,
217 &database_size); 217 &database_size);
218 tracker->DatabaseOpened(kOrigin2, kDB2, kDescription, 0, 218 tracker->DatabaseOpened(kOrigin2, kDB2, kDescription, 0,
219 &database_size); 219 &database_size);
220 tracker->DatabaseOpened(kOrigin2, kDB3, kDescription, 0, 220 tracker->DatabaseOpened(kOrigin2, kDB3, kDescription, 0,
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 312
313 // Add two observers. 313 // Add two observers.
314 TestObserver observer1; 314 TestObserver observer1;
315 TestObserver observer2; 315 TestObserver observer2;
316 tracker->AddObserver(&observer1); 316 tracker->AddObserver(&observer1);
317 tracker->AddObserver(&observer2); 317 tracker->AddObserver(&observer2);
318 318
319 // Open three new databases. 319 // Open three new databases.
320 int64 database_size = 0; 320 int64 database_size = 0;
321 const std::string kOrigin1 = 321 const std::string kOrigin1 =
322 webkit_base::GetOriginIdentifierFromURL(GURL(kOrigin1Url)); 322 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin1Url));
323 const std::string kOrigin2 = 323 const std::string kOrigin2 =
324 webkit_base::GetOriginIdentifierFromURL(GURL(kOrigin2Url)); 324 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin2Url));
325 const base::string16 kDB1 = ASCIIToUTF16("db1"); 325 const base::string16 kDB1 = ASCIIToUTF16("db1");
326 const base::string16 kDB2 = ASCIIToUTF16("db2"); 326 const base::string16 kDB2 = ASCIIToUTF16("db2");
327 const base::string16 kDB3 = ASCIIToUTF16("db3"); 327 const base::string16 kDB3 = ASCIIToUTF16("db3");
328 const base::string16 kDescription = ASCIIToUTF16("database_description"); 328 const base::string16 kDescription = ASCIIToUTF16("database_description");
329 329
330 // Get the info for kOrigin1 and kOrigin2 330 // Get the info for kOrigin1 and kOrigin2
331 DatabaseTracker::CachedOriginInfo* origin1_info = 331 DatabaseTracker::CachedOriginInfo* origin1_info =
332 tracker->GetCachedOriginInfo(kOrigin1); 332 tracker->GetCachedOriginInfo(kOrigin1);
333 DatabaseTracker::CachedOriginInfo* origin2_info = 333 DatabaseTracker::CachedOriginInfo* origin2_info =
334 tracker->GetCachedOriginInfo(kOrigin1); 334 tracker->GetCachedOriginInfo(kOrigin1);
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 EXPECT_EQ(kOrigin2, origins_info[0].GetOriginIdentifier()); 440 EXPECT_EQ(kOrigin2, origins_info[0].GetOriginIdentifier());
441 441
442 origin1_info = tracker->GetCachedOriginInfo(kOrigin1); 442 origin1_info = tracker->GetCachedOriginInfo(kOrigin1);
443 EXPECT_TRUE(origin1_info); 443 EXPECT_TRUE(origin1_info);
444 EXPECT_EQ(0, origin1_info->TotalSize()); 444 EXPECT_EQ(0, origin1_info->TotalSize());
445 } 445 }
446 446
447 static void DatabaseTrackerQuotaIntegration() { 447 static void DatabaseTrackerQuotaIntegration() {
448 const GURL kOrigin(kOrigin1Url); 448 const GURL kOrigin(kOrigin1Url);
449 const std::string kOriginId = 449 const std::string kOriginId =
450 webkit_base::GetOriginIdentifierFromURL(kOrigin); 450 webkit_database::GetIdentifierFromOrigin(kOrigin);
451 const base::string16 kName = ASCIIToUTF16("name"); 451 const base::string16 kName = ASCIIToUTF16("name");
452 const base::string16 kDescription = ASCIIToUTF16("description"); 452 const base::string16 kDescription = ASCIIToUTF16("description");
453 453
454 base::ScopedTempDir temp_dir; 454 base::ScopedTempDir temp_dir;
455 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 455 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
456 456
457 // Initialize the tracker with a QuotaManagerProxy 457 // Initialize the tracker with a QuotaManagerProxy
458 scoped_refptr<TestQuotaManagerProxy> test_quota_proxy( 458 scoped_refptr<TestQuotaManagerProxy> test_quota_proxy(
459 new TestQuotaManagerProxy); 459 new TestQuotaManagerProxy);
460 scoped_refptr<DatabaseTracker> tracker( 460 scoped_refptr<DatabaseTracker> tracker(
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 EXPECT_TRUE(test_quota_proxy->WasModificationNotified(kOrigin, 100)); 538 EXPECT_TRUE(test_quota_proxy->WasModificationNotified(kOrigin, 100));
539 539
540 // Cleanup. 540 // Cleanup.
541 crashed_renderer_connections.RemoveAllConnections(); 541 crashed_renderer_connections.RemoveAllConnections();
542 test_quota_proxy->SimulateQuotaManagerDestroyed(); 542 test_quota_proxy->SimulateQuotaManagerDestroyed();
543 } 543 }
544 544
545 static void DatabaseTrackerClearSessionOnlyDatabasesOnExit() { 545 static void DatabaseTrackerClearSessionOnlyDatabasesOnExit() {
546 int64 database_size = 0; 546 int64 database_size = 0;
547 const std::string kOrigin1 = 547 const std::string kOrigin1 =
548 webkit_base::GetOriginIdentifierFromURL(GURL(kOrigin1Url)); 548 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin1Url));
549 const std::string kOrigin2 = 549 const std::string kOrigin2 =
550 webkit_base::GetOriginIdentifierFromURL(GURL(kOrigin2Url)); 550 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin2Url));
551 const base::string16 kDB1 = ASCIIToUTF16("db1"); 551 const base::string16 kDB1 = ASCIIToUTF16("db1");
552 const base::string16 kDB2 = ASCIIToUTF16("db2"); 552 const base::string16 kDB2 = ASCIIToUTF16("db2");
553 const base::string16 kDescription = ASCIIToUTF16("database_description"); 553 const base::string16 kDescription = ASCIIToUTF16("database_description");
554 554
555 // Initialize the tracker database. 555 // Initialize the tracker database.
556 base::MessageLoop message_loop; 556 base::MessageLoop message_loop;
557 base::ScopedTempDir temp_dir; 557 base::ScopedTempDir temp_dir;
558 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 558 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
559 base::FilePath origin1_db_dir; 559 base::FilePath origin1_db_dir;
560 base::FilePath origin2_db_dir; 560 base::FilePath origin2_db_dir;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
618 618
619 // The origin directory of kOrigin1 remains, but the origin directory of 619 // The origin directory of kOrigin1 remains, but the origin directory of
620 // kOrigin2 is deleted. 620 // kOrigin2 is deleted.
621 EXPECT_TRUE(file_util::PathExists(origin1_db_dir)); 621 EXPECT_TRUE(file_util::PathExists(origin1_db_dir));
622 EXPECT_FALSE(file_util::PathExists(origin2_db_dir)); 622 EXPECT_FALSE(file_util::PathExists(origin2_db_dir));
623 } 623 }
624 624
625 static void DatabaseTrackerSetForceKeepSessionState() { 625 static void DatabaseTrackerSetForceKeepSessionState() {
626 int64 database_size = 0; 626 int64 database_size = 0;
627 const std::string kOrigin1 = 627 const std::string kOrigin1 =
628 webkit_base::GetOriginIdentifierFromURL(GURL(kOrigin1Url)); 628 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin1Url));
629 const std::string kOrigin2 = 629 const std::string kOrigin2 =
630 webkit_base::GetOriginIdentifierFromURL(GURL(kOrigin2Url)); 630 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin2Url));
631 const base::string16 kDB1 = ASCIIToUTF16("db1"); 631 const base::string16 kDB1 = ASCIIToUTF16("db1");
632 const base::string16 kDB2 = ASCIIToUTF16("db2"); 632 const base::string16 kDB2 = ASCIIToUTF16("db2");
633 const base::string16 kDescription = ASCIIToUTF16("database_description"); 633 const base::string16 kDescription = ASCIIToUTF16("database_description");
634 634
635 // Initialize the tracker database. 635 // Initialize the tracker database.
636 base::MessageLoop message_loop; 636 base::MessageLoop message_loop;
637 base::ScopedTempDir temp_dir; 637 base::ScopedTempDir temp_dir;
638 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 638 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
639 base::FilePath origin1_db_dir; 639 base::FilePath origin1_db_dir;
640 base::FilePath origin2_db_dir; 640 base::FilePath origin2_db_dir;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 EXPECT_TRUE( 696 EXPECT_TRUE(
697 file_util::PathExists(tracker->GetFullDBFilePath(kOrigin2, kDB2))); 697 file_util::PathExists(tracker->GetFullDBFilePath(kOrigin2, kDB2)));
698 698
699 EXPECT_TRUE(file_util::PathExists(origin1_db_dir)); 699 EXPECT_TRUE(file_util::PathExists(origin1_db_dir));
700 EXPECT_TRUE(file_util::PathExists(origin2_db_dir)); 700 EXPECT_TRUE(file_util::PathExists(origin2_db_dir));
701 } 701 }
702 702
703 static void EmptyDatabaseNameIsValid() { 703 static void EmptyDatabaseNameIsValid() {
704 const GURL kOrigin(kOrigin1Url); 704 const GURL kOrigin(kOrigin1Url);
705 const std::string kOriginId = 705 const std::string kOriginId =
706 webkit_base::GetOriginIdentifierFromURL(kOrigin); 706 webkit_database::GetIdentifierFromOrigin(kOrigin);
707 const base::string16 kEmptyName; 707 const base::string16 kEmptyName;
708 const base::string16 kDescription(ASCIIToUTF16("description")); 708 const base::string16 kDescription(ASCIIToUTF16("description"));
709 const base::string16 kChangedDescription( 709 const base::string16 kChangedDescription(
710 ASCIIToUTF16("changed_description")); 710 ASCIIToUTF16("changed_description"));
711 711
712 // Initialize a tracker database, no need to put it on disk. 712 // Initialize a tracker database, no need to put it on disk.
713 const bool kUseInMemoryTrackerDatabase = true; 713 const bool kUseInMemoryTrackerDatabase = true;
714 base::ScopedTempDir temp_dir; 714 base::ScopedTempDir temp_dir;
715 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 715 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
716 scoped_refptr<DatabaseTracker> tracker( 716 scoped_refptr<DatabaseTracker> tracker(
(...skipping 28 matching lines...) Expand all
745 EXPECT_EQ(net::OK, tracker->DeleteDatabase(kOriginId, kEmptyName, 745 EXPECT_EQ(net::OK, tracker->DeleteDatabase(kOriginId, kEmptyName,
746 net::CompletionCallback())); 746 net::CompletionCallback()));
747 infos.clear(); 747 infos.clear();
748 EXPECT_TRUE(tracker->GetAllOriginsInfo(&infos)); 748 EXPECT_TRUE(tracker->GetAllOriginsInfo(&infos));
749 EXPECT_TRUE(infos.empty()); 749 EXPECT_TRUE(infos.empty());
750 } 750 }
751 751
752 static void HandleSqliteError() { 752 static void HandleSqliteError() {
753 const GURL kOrigin(kOrigin1Url); 753 const GURL kOrigin(kOrigin1Url);
754 const std::string kOriginId = 754 const std::string kOriginId =
755 webkit_base::GetOriginIdentifierFromURL(kOrigin); 755 webkit_database::GetIdentifierFromOrigin(kOrigin);
756 const base::string16 kName(ASCIIToUTF16("name")); 756 const base::string16 kName(ASCIIToUTF16("name"));
757 const base::string16 kDescription(ASCIIToUTF16("description")); 757 const base::string16 kDescription(ASCIIToUTF16("description"));
758 758
759 // Initialize a tracker database, no need to put it on disk. 759 // Initialize a tracker database, no need to put it on disk.
760 const bool kUseInMemoryTrackerDatabase = true; 760 const bool kUseInMemoryTrackerDatabase = true;
761 base::ScopedTempDir temp_dir; 761 base::ScopedTempDir temp_dir;
762 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 762 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
763 scoped_refptr<DatabaseTracker> tracker( 763 scoped_refptr<DatabaseTracker> tracker(
764 new DatabaseTracker(temp_dir.path(), kUseInMemoryTrackerDatabase, 764 new DatabaseTracker(temp_dir.path(), kUseInMemoryTrackerDatabase,
765 NULL, NULL, NULL)); 765 NULL, NULL, NULL));
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 859
860 TEST(DatabaseTrackerTest, EmptyDatabaseNameIsValid) { 860 TEST(DatabaseTrackerTest, EmptyDatabaseNameIsValid) {
861 DatabaseTracker_TestHelper_Test::EmptyDatabaseNameIsValid(); 861 DatabaseTracker_TestHelper_Test::EmptyDatabaseNameIsValid();
862 } 862 }
863 863
864 TEST(DatabaseTrackerTest, HandleSqliteError) { 864 TEST(DatabaseTrackerTest, HandleSqliteError) {
865 DatabaseTracker_TestHelper_Test::HandleSqliteError(); 865 DatabaseTracker_TestHelper_Test::HandleSqliteError();
866 } 866 }
867 867
868 } // namespace webkit_database 868 } // namespace webkit_database
OLDNEW
« no previous file with comments | « webkit/browser/database/database_tracker.cc ('k') | webkit/browser/database/database_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698