OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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.h" | 6 #include "base/files/file.h" |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
11 #include "base/message_loop/message_loop_proxy.h" | 11 #include "base/message_loop/message_loop_proxy.h" |
12 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
13 #include "base/time/time.h" | 13 #include "base/time/time.h" |
14 #include "content/public/test/mock_special_storage_policy.h" | 14 #include "content/public/test/mock_special_storage_policy.h" |
15 #include "net/base/net_errors.h" | 15 #include "net/base/net_errors.h" |
16 #include "net/base/test_completion_callback.h" | 16 #include "net/base/test_completion_callback.h" |
17 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
18 #include "third_party/sqlite/sqlite3.h" | 18 #include "third_party/sqlite/sqlite3.h" |
19 #include "webkit/browser/database/database_tracker.h" | 19 #include "webkit/browser/database/database_tracker.h" |
20 #include "webkit/browser/quota/quota_manager_proxy.h" | 20 #include "webkit/browser/quota/quota_manager_proxy.h" |
21 #include "webkit/common/database/database_identifier.h" | 21 #include "webkit/common/database/database_identifier.h" |
22 | 22 |
23 using base::ASCIIToUTF16; | 23 using base::ASCIIToUTF16; |
24 using webkit_database::DatabaseConnections; | 24 using storage::DatabaseConnections; |
25 using webkit_database::DatabaseTracker; | 25 using storage::DatabaseTracker; |
26 using webkit_database::OriginInfo; | 26 using storage::OriginInfo; |
27 | 27 |
28 namespace { | 28 namespace { |
29 | 29 |
30 const char kOrigin1Url[] = "http://origin1"; | 30 const char kOrigin1Url[] = "http://origin1"; |
31 const char kOrigin2Url[] = "http://protected_origin2"; | 31 const char kOrigin2Url[] = "http://protected_origin2"; |
32 | 32 |
33 class TestObserver : public webkit_database::DatabaseTracker::Observer { | 33 class TestObserver : public storage::DatabaseTracker::Observer { |
34 public: | 34 public: |
35 TestObserver() | 35 TestObserver() |
36 : new_notification_received_(false), | 36 : new_notification_received_(false), |
37 observe_size_changes_(true), | 37 observe_size_changes_(true), |
38 observe_scheduled_deletions_(true) { | 38 observe_scheduled_deletions_(true) { |
39 } | 39 } |
40 TestObserver(bool observe_size_changes, bool observe_scheduled_deletions) | 40 TestObserver(bool observe_size_changes, bool observe_scheduled_deletions) |
41 : new_notification_received_(false), | 41 : new_notification_received_(false), |
42 observe_size_changes_(observe_size_changes), | 42 observe_size_changes_(observe_size_changes), |
43 observe_scheduled_deletions_(observe_scheduled_deletions) { | 43 observe_scheduled_deletions_(observe_scheduled_deletions) { |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 int64 expected_database_size) { | 89 int64 expected_database_size) { |
90 EXPECT_TRUE(observer->DidReceiveNewNotification()); | 90 EXPECT_TRUE(observer->DidReceiveNewNotification()); |
91 EXPECT_EQ(expected_origin_identifier, | 91 EXPECT_EQ(expected_origin_identifier, |
92 observer->GetNotificationOriginIdentifier()); | 92 observer->GetNotificationOriginIdentifier()); |
93 EXPECT_EQ(expected_database_name, | 93 EXPECT_EQ(expected_database_name, |
94 observer->GetNotificationDatabaseName()); | 94 observer->GetNotificationDatabaseName()); |
95 EXPECT_EQ(expected_database_size, | 95 EXPECT_EQ(expected_database_size, |
96 observer->GetNotificationDatabaseSize()); | 96 observer->GetNotificationDatabaseSize()); |
97 } | 97 } |
98 | 98 |
99 class TestQuotaManagerProxy : public quota::QuotaManagerProxy { | 99 class TestQuotaManagerProxy : public storage::QuotaManagerProxy { |
100 public: | 100 public: |
101 TestQuotaManagerProxy() | 101 TestQuotaManagerProxy() |
102 : QuotaManagerProxy(NULL, NULL), | 102 : QuotaManagerProxy(NULL, NULL), |
103 registered_client_(NULL) { | 103 registered_client_(NULL) { |
104 } | 104 } |
105 | 105 |
106 virtual void RegisterClient(quota::QuotaClient* client) OVERRIDE { | 106 virtual void RegisterClient(storage::QuotaClient* client) OVERRIDE { |
107 EXPECT_FALSE(registered_client_); | 107 EXPECT_FALSE(registered_client_); |
108 registered_client_ = client; | 108 registered_client_ = client; |
109 } | 109 } |
110 | 110 |
111 virtual void NotifyStorageAccessed(quota::QuotaClient::ID client_id, | 111 virtual void NotifyStorageAccessed(storage::QuotaClient::ID client_id, |
112 const GURL& origin, | 112 const GURL& origin, |
113 quota::StorageType type) OVERRIDE { | 113 storage::StorageType type) OVERRIDE { |
114 EXPECT_EQ(quota::QuotaClient::kDatabase, client_id); | 114 EXPECT_EQ(storage::QuotaClient::kDatabase, client_id); |
115 EXPECT_EQ(quota::kStorageTypeTemporary, type); | 115 EXPECT_EQ(storage::kStorageTypeTemporary, type); |
116 accesses_[origin] += 1; | 116 accesses_[origin] += 1; |
117 } | 117 } |
118 | 118 |
119 virtual void NotifyStorageModified(quota::QuotaClient::ID client_id, | 119 virtual void NotifyStorageModified(storage::QuotaClient::ID client_id, |
120 const GURL& origin, | 120 const GURL& origin, |
121 quota::StorageType type, | 121 storage::StorageType type, |
122 int64 delta) OVERRIDE { | 122 int64 delta) OVERRIDE { |
123 EXPECT_EQ(quota::QuotaClient::kDatabase, client_id); | 123 EXPECT_EQ(storage::QuotaClient::kDatabase, client_id); |
124 EXPECT_EQ(quota::kStorageTypeTemporary, type); | 124 EXPECT_EQ(storage::kStorageTypeTemporary, type); |
125 modifications_[origin].first += 1; | 125 modifications_[origin].first += 1; |
126 modifications_[origin].second += delta; | 126 modifications_[origin].second += delta; |
127 } | 127 } |
128 | 128 |
129 // Not needed for our tests. | 129 // Not needed for our tests. |
130 virtual void NotifyOriginInUse(const GURL& origin) OVERRIDE {} | 130 virtual void NotifyOriginInUse(const GURL& origin) OVERRIDE {} |
131 virtual void NotifyOriginNoLongerInUse(const GURL& origin) OVERRIDE {} | 131 virtual void NotifyOriginNoLongerInUse(const GURL& origin) OVERRIDE {} |
132 virtual void SetUsageCacheEnabled(quota::QuotaClient::ID client_id, | 132 virtual void SetUsageCacheEnabled(storage::QuotaClient::ID client_id, |
133 const GURL& origin, | 133 const GURL& origin, |
134 quota::StorageType type, | 134 storage::StorageType type, |
135 bool enabled) OVERRIDE {} | 135 bool enabled) OVERRIDE {} |
136 virtual void GetUsageAndQuota( | 136 virtual void GetUsageAndQuota( |
137 base::SequencedTaskRunner* original_task_runner, | 137 base::SequencedTaskRunner* original_task_runner, |
138 const GURL& origin, | 138 const GURL& origin, |
139 quota::StorageType type, | 139 storage::StorageType type, |
140 const GetUsageAndQuotaCallback& callback) OVERRIDE {} | 140 const GetUsageAndQuotaCallback& callback) OVERRIDE {} |
141 | 141 |
142 void SimulateQuotaManagerDestroyed() { | 142 void SimulateQuotaManagerDestroyed() { |
143 if (registered_client_) { | 143 if (registered_client_) { |
144 registered_client_->OnQuotaManagerDestroyed(); | 144 registered_client_->OnQuotaManagerDestroyed(); |
145 registered_client_ = NULL; | 145 registered_client_ = NULL; |
146 } | 146 } |
147 } | 147 } |
148 | 148 |
149 bool WasAccessNotified(const GURL& origin) { | 149 bool WasAccessNotified(const GURL& origin) { |
150 return accesses_[origin] != 0; | 150 return accesses_[origin] != 0; |
151 } | 151 } |
152 | 152 |
153 bool WasModificationNotified(const GURL& origin, int64 amount) { | 153 bool WasModificationNotified(const GURL& origin, int64 amount) { |
154 return modifications_[origin].first != 0 && | 154 return modifications_[origin].first != 0 && |
155 modifications_[origin].second == amount; | 155 modifications_[origin].second == amount; |
156 } | 156 } |
157 | 157 |
158 void reset() { | 158 void reset() { |
159 accesses_.clear(); | 159 accesses_.clear(); |
160 modifications_.clear(); | 160 modifications_.clear(); |
161 } | 161 } |
162 | 162 |
163 quota::QuotaClient* registered_client_; | 163 storage::QuotaClient* registered_client_; |
164 | 164 |
165 // Map from origin to count of access notifications. | 165 // Map from origin to count of access notifications. |
166 std::map<GURL, int> accesses_; | 166 std::map<GURL, int> accesses_; |
167 | 167 |
168 // Map from origin to <count, sum of deltas> | 168 // Map from origin to <count, sum of deltas> |
169 std::map<GURL, std::pair<int, int64> > modifications_; | 169 std::map<GURL, std::pair<int, int64> > modifications_; |
170 | 170 |
171 protected: | 171 protected: |
172 virtual ~TestQuotaManagerProxy() { | 172 virtual ~TestQuotaManagerProxy() { |
173 EXPECT_FALSE(registered_client_); | 173 EXPECT_FALSE(registered_client_); |
(...skipping 30 matching lines...) Expand all Loading... |
204 scoped_refptr<DatabaseTracker> tracker( | 204 scoped_refptr<DatabaseTracker> tracker( |
205 new DatabaseTracker(temp_dir.path(), | 205 new DatabaseTracker(temp_dir.path(), |
206 incognito_mode, | 206 incognito_mode, |
207 special_storage_policy.get(), | 207 special_storage_policy.get(), |
208 NULL, | 208 NULL, |
209 NULL)); | 209 NULL)); |
210 | 210 |
211 // Create and open three databases. | 211 // Create and open three databases. |
212 int64 database_size = 0; | 212 int64 database_size = 0; |
213 const std::string kOrigin1 = | 213 const std::string kOrigin1 = |
214 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin1Url)); | 214 storage::GetIdentifierFromOrigin(GURL(kOrigin1Url)); |
215 const std::string kOrigin2 = | 215 const std::string kOrigin2 = |
216 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin2Url)); | 216 storage::GetIdentifierFromOrigin(GURL(kOrigin2Url)); |
217 const base::string16 kDB1 = ASCIIToUTF16("db1"); | 217 const base::string16 kDB1 = ASCIIToUTF16("db1"); |
218 const base::string16 kDB2 = ASCIIToUTF16("db2"); | 218 const base::string16 kDB2 = ASCIIToUTF16("db2"); |
219 const base::string16 kDB3 = ASCIIToUTF16("db3"); | 219 const base::string16 kDB3 = ASCIIToUTF16("db3"); |
220 const base::string16 kDescription = ASCIIToUTF16("database_description"); | 220 const base::string16 kDescription = ASCIIToUTF16("database_description"); |
221 | 221 |
222 tracker->DatabaseOpened(kOrigin1, kDB1, kDescription, 0, | 222 tracker->DatabaseOpened(kOrigin1, kDB1, kDescription, 0, |
223 &database_size); | 223 &database_size); |
224 tracker->DatabaseOpened(kOrigin2, kDB2, kDescription, 0, | 224 tracker->DatabaseOpened(kOrigin2, kDB2, kDescription, 0, |
225 &database_size); | 225 &database_size); |
226 tracker->DatabaseOpened(kOrigin2, kDB3, kDescription, 0, | 226 tracker->DatabaseOpened(kOrigin2, kDB3, kDescription, 0, |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 | 318 |
319 // Add two observers. | 319 // Add two observers. |
320 TestObserver observer1; | 320 TestObserver observer1; |
321 TestObserver observer2; | 321 TestObserver observer2; |
322 tracker->AddObserver(&observer1); | 322 tracker->AddObserver(&observer1); |
323 tracker->AddObserver(&observer2); | 323 tracker->AddObserver(&observer2); |
324 | 324 |
325 // Open three new databases. | 325 // Open three new databases. |
326 int64 database_size = 0; | 326 int64 database_size = 0; |
327 const std::string kOrigin1 = | 327 const std::string kOrigin1 = |
328 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin1Url)); | 328 storage::GetIdentifierFromOrigin(GURL(kOrigin1Url)); |
329 const std::string kOrigin2 = | 329 const std::string kOrigin2 = |
330 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin2Url)); | 330 storage::GetIdentifierFromOrigin(GURL(kOrigin2Url)); |
331 const base::string16 kDB1 = ASCIIToUTF16("db1"); | 331 const base::string16 kDB1 = ASCIIToUTF16("db1"); |
332 const base::string16 kDB2 = ASCIIToUTF16("db2"); | 332 const base::string16 kDB2 = ASCIIToUTF16("db2"); |
333 const base::string16 kDB3 = ASCIIToUTF16("db3"); | 333 const base::string16 kDB3 = ASCIIToUTF16("db3"); |
334 const base::string16 kDescription = ASCIIToUTF16("database_description"); | 334 const base::string16 kDescription = ASCIIToUTF16("database_description"); |
335 | 335 |
336 // Get the info for kOrigin1 and kOrigin2 | 336 // Get the info for kOrigin1 and kOrigin2 |
337 DatabaseTracker::CachedOriginInfo* origin1_info = | 337 DatabaseTracker::CachedOriginInfo* origin1_info = |
338 tracker->GetCachedOriginInfo(kOrigin1); | 338 tracker->GetCachedOriginInfo(kOrigin1); |
339 DatabaseTracker::CachedOriginInfo* origin2_info = | 339 DatabaseTracker::CachedOriginInfo* origin2_info = |
340 tracker->GetCachedOriginInfo(kOrigin1); | 340 tracker->GetCachedOriginInfo(kOrigin1); |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
445 EXPECT_EQ(size_t(1), origins_info.size()); | 445 EXPECT_EQ(size_t(1), origins_info.size()); |
446 EXPECT_EQ(kOrigin2, origins_info[0].GetOriginIdentifier()); | 446 EXPECT_EQ(kOrigin2, origins_info[0].GetOriginIdentifier()); |
447 | 447 |
448 origin1_info = tracker->GetCachedOriginInfo(kOrigin1); | 448 origin1_info = tracker->GetCachedOriginInfo(kOrigin1); |
449 EXPECT_TRUE(origin1_info); | 449 EXPECT_TRUE(origin1_info); |
450 EXPECT_EQ(0, origin1_info->TotalSize()); | 450 EXPECT_EQ(0, origin1_info->TotalSize()); |
451 } | 451 } |
452 | 452 |
453 static void DatabaseTrackerQuotaIntegration() { | 453 static void DatabaseTrackerQuotaIntegration() { |
454 const GURL kOrigin(kOrigin1Url); | 454 const GURL kOrigin(kOrigin1Url); |
455 const std::string kOriginId = | 455 const std::string kOriginId = storage::GetIdentifierFromOrigin(kOrigin); |
456 webkit_database::GetIdentifierFromOrigin(kOrigin); | |
457 const base::string16 kName = ASCIIToUTF16("name"); | 456 const base::string16 kName = ASCIIToUTF16("name"); |
458 const base::string16 kDescription = ASCIIToUTF16("description"); | 457 const base::string16 kDescription = ASCIIToUTF16("description"); |
459 | 458 |
460 base::ScopedTempDir temp_dir; | 459 base::ScopedTempDir temp_dir; |
461 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 460 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
462 | 461 |
463 // Initialize the tracker with a QuotaManagerProxy | 462 // Initialize the tracker with a QuotaManagerProxy |
464 scoped_refptr<TestQuotaManagerProxy> test_quota_proxy( | 463 scoped_refptr<TestQuotaManagerProxy> test_quota_proxy( |
465 new TestQuotaManagerProxy); | 464 new TestQuotaManagerProxy); |
466 scoped_refptr<DatabaseTracker> tracker( | 465 scoped_refptr<DatabaseTracker> tracker( |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
544 EXPECT_TRUE(test_quota_proxy->WasModificationNotified(kOrigin, 100)); | 543 EXPECT_TRUE(test_quota_proxy->WasModificationNotified(kOrigin, 100)); |
545 | 544 |
546 // Cleanup. | 545 // Cleanup. |
547 crashed_renderer_connections.RemoveAllConnections(); | 546 crashed_renderer_connections.RemoveAllConnections(); |
548 test_quota_proxy->SimulateQuotaManagerDestroyed(); | 547 test_quota_proxy->SimulateQuotaManagerDestroyed(); |
549 } | 548 } |
550 | 549 |
551 static void DatabaseTrackerClearSessionOnlyDatabasesOnExit() { | 550 static void DatabaseTrackerClearSessionOnlyDatabasesOnExit() { |
552 int64 database_size = 0; | 551 int64 database_size = 0; |
553 const std::string kOrigin1 = | 552 const std::string kOrigin1 = |
554 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin1Url)); | 553 storage::GetIdentifierFromOrigin(GURL(kOrigin1Url)); |
555 const std::string kOrigin2 = | 554 const std::string kOrigin2 = |
556 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin2Url)); | 555 storage::GetIdentifierFromOrigin(GURL(kOrigin2Url)); |
557 const base::string16 kDB1 = ASCIIToUTF16("db1"); | 556 const base::string16 kDB1 = ASCIIToUTF16("db1"); |
558 const base::string16 kDB2 = ASCIIToUTF16("db2"); | 557 const base::string16 kDB2 = ASCIIToUTF16("db2"); |
559 const base::string16 kDescription = ASCIIToUTF16("database_description"); | 558 const base::string16 kDescription = ASCIIToUTF16("database_description"); |
560 | 559 |
561 // Initialize the tracker database. | 560 // Initialize the tracker database. |
562 base::MessageLoop message_loop; | 561 base::MessageLoop message_loop; |
563 base::ScopedTempDir temp_dir; | 562 base::ScopedTempDir temp_dir; |
564 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 563 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
565 base::FilePath origin1_db_dir; | 564 base::FilePath origin1_db_dir; |
566 base::FilePath origin2_db_dir; | 565 base::FilePath origin2_db_dir; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
624 | 623 |
625 // The origin directory of kOrigin1 remains, but the origin directory of | 624 // The origin directory of kOrigin1 remains, but the origin directory of |
626 // kOrigin2 is deleted. | 625 // kOrigin2 is deleted. |
627 EXPECT_TRUE(base::PathExists(origin1_db_dir)); | 626 EXPECT_TRUE(base::PathExists(origin1_db_dir)); |
628 EXPECT_FALSE(base::PathExists(origin2_db_dir)); | 627 EXPECT_FALSE(base::PathExists(origin2_db_dir)); |
629 } | 628 } |
630 | 629 |
631 static void DatabaseTrackerSetForceKeepSessionState() { | 630 static void DatabaseTrackerSetForceKeepSessionState() { |
632 int64 database_size = 0; | 631 int64 database_size = 0; |
633 const std::string kOrigin1 = | 632 const std::string kOrigin1 = |
634 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin1Url)); | 633 storage::GetIdentifierFromOrigin(GURL(kOrigin1Url)); |
635 const std::string kOrigin2 = | 634 const std::string kOrigin2 = |
636 webkit_database::GetIdentifierFromOrigin(GURL(kOrigin2Url)); | 635 storage::GetIdentifierFromOrigin(GURL(kOrigin2Url)); |
637 const base::string16 kDB1 = ASCIIToUTF16("db1"); | 636 const base::string16 kDB1 = ASCIIToUTF16("db1"); |
638 const base::string16 kDB2 = ASCIIToUTF16("db2"); | 637 const base::string16 kDB2 = ASCIIToUTF16("db2"); |
639 const base::string16 kDescription = ASCIIToUTF16("database_description"); | 638 const base::string16 kDescription = ASCIIToUTF16("database_description"); |
640 | 639 |
641 // Initialize the tracker database. | 640 // Initialize the tracker database. |
642 base::MessageLoop message_loop; | 641 base::MessageLoop message_loop; |
643 base::ScopedTempDir temp_dir; | 642 base::ScopedTempDir temp_dir; |
644 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 643 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
645 base::FilePath origin1_db_dir; | 644 base::FilePath origin1_db_dir; |
646 base::FilePath origin2_db_dir; | 645 base::FilePath origin2_db_dir; |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
701 base::PathExists(tracker->GetFullDBFilePath(kOrigin1, kDB1))); | 700 base::PathExists(tracker->GetFullDBFilePath(kOrigin1, kDB1))); |
702 EXPECT_TRUE( | 701 EXPECT_TRUE( |
703 base::PathExists(tracker->GetFullDBFilePath(kOrigin2, kDB2))); | 702 base::PathExists(tracker->GetFullDBFilePath(kOrigin2, kDB2))); |
704 | 703 |
705 EXPECT_TRUE(base::PathExists(origin1_db_dir)); | 704 EXPECT_TRUE(base::PathExists(origin1_db_dir)); |
706 EXPECT_TRUE(base::PathExists(origin2_db_dir)); | 705 EXPECT_TRUE(base::PathExists(origin2_db_dir)); |
707 } | 706 } |
708 | 707 |
709 static void EmptyDatabaseNameIsValid() { | 708 static void EmptyDatabaseNameIsValid() { |
710 const GURL kOrigin(kOrigin1Url); | 709 const GURL kOrigin(kOrigin1Url); |
711 const std::string kOriginId = | 710 const std::string kOriginId = storage::GetIdentifierFromOrigin(kOrigin); |
712 webkit_database::GetIdentifierFromOrigin(kOrigin); | |
713 const base::string16 kEmptyName; | 711 const base::string16 kEmptyName; |
714 const base::string16 kDescription(ASCIIToUTF16("description")); | 712 const base::string16 kDescription(ASCIIToUTF16("description")); |
715 const base::string16 kChangedDescription( | 713 const base::string16 kChangedDescription( |
716 ASCIIToUTF16("changed_description")); | 714 ASCIIToUTF16("changed_description")); |
717 | 715 |
718 // Initialize a tracker database, no need to put it on disk. | 716 // Initialize a tracker database, no need to put it on disk. |
719 const bool kUseInMemoryTrackerDatabase = true; | 717 const bool kUseInMemoryTrackerDatabase = true; |
720 base::ScopedTempDir temp_dir; | 718 base::ScopedTempDir temp_dir; |
721 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 719 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
722 scoped_refptr<DatabaseTracker> tracker( | 720 scoped_refptr<DatabaseTracker> tracker( |
(...skipping 27 matching lines...) Expand all Loading... |
750 // Deleting it should return to the initial state. | 748 // Deleting it should return to the initial state. |
751 EXPECT_EQ(net::OK, tracker->DeleteDatabase(kOriginId, kEmptyName, | 749 EXPECT_EQ(net::OK, tracker->DeleteDatabase(kOriginId, kEmptyName, |
752 net::CompletionCallback())); | 750 net::CompletionCallback())); |
753 infos.clear(); | 751 infos.clear(); |
754 EXPECT_TRUE(tracker->GetAllOriginsInfo(&infos)); | 752 EXPECT_TRUE(tracker->GetAllOriginsInfo(&infos)); |
755 EXPECT_TRUE(infos.empty()); | 753 EXPECT_TRUE(infos.empty()); |
756 } | 754 } |
757 | 755 |
758 static void HandleSqliteError() { | 756 static void HandleSqliteError() { |
759 const GURL kOrigin(kOrigin1Url); | 757 const GURL kOrigin(kOrigin1Url); |
760 const std::string kOriginId = | 758 const std::string kOriginId = storage::GetIdentifierFromOrigin(kOrigin); |
761 webkit_database::GetIdentifierFromOrigin(kOrigin); | |
762 const base::string16 kName(ASCIIToUTF16("name")); | 759 const base::string16 kName(ASCIIToUTF16("name")); |
763 const base::string16 kDescription(ASCIIToUTF16("description")); | 760 const base::string16 kDescription(ASCIIToUTF16("description")); |
764 | 761 |
765 // Initialize a tracker database, no need to put it on disk. | 762 // Initialize a tracker database, no need to put it on disk. |
766 const bool kUseInMemoryTrackerDatabase = true; | 763 const bool kUseInMemoryTrackerDatabase = true; |
767 base::ScopedTempDir temp_dir; | 764 base::ScopedTempDir temp_dir; |
768 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 765 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
769 scoped_refptr<DatabaseTracker> tracker( | 766 scoped_refptr<DatabaseTracker> tracker( |
770 new DatabaseTracker(temp_dir.path(), kUseInMemoryTrackerDatabase, | 767 new DatabaseTracker(temp_dir.path(), kUseInMemoryTrackerDatabase, |
771 NULL, NULL, NULL)); | 768 NULL, NULL, NULL)); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
866 | 863 |
867 TEST(DatabaseTrackerTest, EmptyDatabaseNameIsValid) { | 864 TEST(DatabaseTrackerTest, EmptyDatabaseNameIsValid) { |
868 DatabaseTracker_TestHelper_Test::EmptyDatabaseNameIsValid(); | 865 DatabaseTracker_TestHelper_Test::EmptyDatabaseNameIsValid(); |
869 } | 866 } |
870 | 867 |
871 TEST(DatabaseTrackerTest, HandleSqliteError) { | 868 TEST(DatabaseTrackerTest, HandleSqliteError) { |
872 DatabaseTracker_TestHelper_Test::HandleSqliteError(); | 869 DatabaseTracker_TestHelper_Test::HandleSqliteError(); |
873 } | 870 } |
874 | 871 |
875 } // namespace content | 872 } // namespace content |
OLD | NEW |