Index: webkit/database/database_tracker_unittest.cc |
diff --git a/webkit/database/database_tracker_unittest.cc b/webkit/database/database_tracker_unittest.cc |
index c6404b1980baa7e3cef6bbec63bff0dfbd935b03..ee423a9dbab39244acc54367f452e16b26bd5f34 100644 |
--- a/webkit/database/database_tracker_unittest.cc |
+++ b/webkit/database/database_tracker_unittest.cc |
@@ -15,29 +15,14 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
#include "webkit/database/database_tracker.h" |
#include "webkit/database/database_util.h" |
+#include "webkit/quota/mock_special_storage_policy.h" |
#include "webkit/quota/quota_manager.h" |
-#include "webkit/quota/special_storage_policy.h" |
namespace { |
const char kOrigin1Url[] = "http://origin1"; |
const char kOrigin2Url[] = "http://protected_origin2"; |
-class TestSpecialStoragePolicy : public quota::SpecialStoragePolicy { |
- public: |
- virtual bool IsStorageProtected(const GURL& origin) { |
- return origin == GURL(kOrigin2Url); |
- } |
- |
- virtual bool IsStorageUnlimited(const GURL& origin) { |
- return false; |
- } |
- |
- virtual bool IsFileHandler(const std::string& extension_id) { |
- return false; |
- } |
-}; |
- |
class TestObserver : public webkit_database::DatabaseTracker::Observer { |
public: |
TestObserver() : new_notification_received_(false) {} |
@@ -187,8 +172,7 @@ class DatabaseTracker_TestHelper_Test { |
ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
scoped_refptr<DatabaseTracker> tracker( |
new DatabaseTracker(temp_dir.path(), incognito_mode, false, |
- new TestSpecialStoragePolicy, |
- NULL, NULL)); |
+ GetSpecialStoragePolicy(), NULL, NULL)); |
// Create and open three databases. |
int64 database_size = 0; |
@@ -290,8 +274,7 @@ class DatabaseTracker_TestHelper_Test { |
ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
scoped_refptr<DatabaseTracker> tracker( |
new DatabaseTracker(temp_dir.path(), incognito_mode, false, |
- new TestSpecialStoragePolicy, |
- NULL, NULL)); |
+ GetSpecialStoragePolicy(), NULL, NULL)); |
// Add two observers. |
TestObserver observer1; |
@@ -538,8 +521,7 @@ class DatabaseTracker_TestHelper_Test { |
scoped_refptr<DatabaseTracker> tracker( |
new DatabaseTracker( |
temp_dir.path(), false, true, |
- new TestSpecialStoragePolicy, |
- NULL, |
+ GetSpecialStoragePolicy(), NULL, |
base::MessageLoopProxy::CreateForCurrentThread())); |
// Open three new databases. |
@@ -598,8 +580,7 @@ class DatabaseTracker_TestHelper_Test { |
// At this point, the database tracker should be gone. Create a new one. |
scoped_refptr<DatabaseTracker> tracker( |
new DatabaseTracker(temp_dir.path(), false, false, |
- new TestSpecialStoragePolicy, |
- NULL, NULL)); |
+ GetSpecialStoragePolicy(), NULL, NULL)); |
// Get all data for all origins. |
std::vector<OriginInfo> origins_info; |
@@ -614,8 +595,22 @@ class DatabaseTracker_TestHelper_Test { |
// The origin directory should be gone as well. |
EXPECT_FALSE(file_util::PathExists(origin1_db_dir)); |
} |
+ |
+ static quota::SpecialStoragePolicy* GetSpecialStoragePolicy() { |
+ if (!special_storage_policy_.get()) { |
+ special_storage_policy_ = new quota::MockSpecialStoragePolicy; |
+ special_storage_policy_->AddProtected(GURL(kOrigin2Url)); |
+ } |
+ return special_storage_policy_.get(); |
+ } |
+ |
+ private: |
+ static scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy_; |
michaeln
2011/08/12 18:53:52
i would expect valgrind to complain about leaking
marja
2011/08/16 10:54:25
Hmm, why would valgrind complain: the dtor of the
|
}; |
+scoped_refptr<quota::MockSpecialStoragePolicy> |
+ DatabaseTracker_TestHelper_Test::special_storage_policy_; |
+ |
TEST(DatabaseTrackerTest, DeleteOpenDatabase) { |
DatabaseTracker_TestHelper_Test::TestDeleteOpenDatabase(false); |
} |