| 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 <map> | 5 #include <map> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "base/message_loop_proxy.h" | 10 #include "base/message_loop_proxy.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 // Mock tracker class the mocks up those methods of the tracker | 25 // Mock tracker class the mocks up those methods of the tracker |
| 26 // that are used by the QuotaClient. | 26 // that are used by the QuotaClient. |
| 27 class MockDatabaseTracker : public DatabaseTracker { | 27 class MockDatabaseTracker : public DatabaseTracker { |
| 28 public: | 28 public: |
| 29 MockDatabaseTracker() | 29 MockDatabaseTracker() |
| 30 : DatabaseTracker(base::FilePath(), false, NULL, NULL, NULL), | 30 : DatabaseTracker(base::FilePath(), false, NULL, NULL, NULL), |
| 31 delete_called_count_(0), | 31 delete_called_count_(0), |
| 32 async_delete_(false) {} | 32 async_delete_(false) {} |
| 33 | 33 |
| 34 virtual bool GetOriginInfo( | 34 virtual bool GetOriginInfo( |
| 35 const string16& origin_identifier, | 35 const base::string16& origin_identifier, |
| 36 OriginInfo* info) OVERRIDE { | 36 OriginInfo* info) OVERRIDE { |
| 37 std::map<GURL, MockOriginInfo>::const_iterator found = | 37 std::map<GURL, MockOriginInfo>::const_iterator found = |
| 38 mock_origin_infos_.find( | 38 mock_origin_infos_.find( |
| 39 DatabaseUtil::GetOriginFromIdentifier(origin_identifier)); | 39 DatabaseUtil::GetOriginFromIdentifier(origin_identifier)); |
| 40 if (found == mock_origin_infos_.end()) | 40 if (found == mock_origin_infos_.end()) |
| 41 return false; | 41 return false; |
| 42 *info = OriginInfo(found->second); | 42 *info = OriginInfo(found->second); |
| 43 return true; | 43 return true; |
| 44 } | 44 } |
| 45 | 45 |
| 46 virtual bool GetAllOriginIdentifiers( | 46 virtual bool GetAllOriginIdentifiers( |
| 47 std::vector<string16>* origins_identifiers) OVERRIDE { | 47 std::vector<base::string16>* origins_identifiers) OVERRIDE { |
| 48 std::map<GURL, MockOriginInfo>::const_iterator iter; | 48 std::map<GURL, MockOriginInfo>::const_iterator iter; |
| 49 for (iter = mock_origin_infos_.begin(); | 49 for (iter = mock_origin_infos_.begin(); |
| 50 iter != mock_origin_infos_.end(); | 50 iter != mock_origin_infos_.end(); |
| 51 ++iter) { | 51 ++iter) { |
| 52 origins_identifiers->push_back(iter->second.GetOrigin()); | 52 origins_identifiers->push_back(iter->second.GetOrigin()); |
| 53 } | 53 } |
| 54 return true; | 54 return true; |
| 55 } | 55 } |
| 56 | 56 |
| 57 virtual bool GetAllOriginsInfo( | 57 virtual bool GetAllOriginsInfo( |
| 58 std::vector<OriginInfo>* origins_info) OVERRIDE { | 58 std::vector<OriginInfo>* origins_info) OVERRIDE { |
| 59 std::map<GURL, MockOriginInfo>::const_iterator iter; | 59 std::map<GURL, MockOriginInfo>::const_iterator iter; |
| 60 for (iter = mock_origin_infos_.begin(); | 60 for (iter = mock_origin_infos_.begin(); |
| 61 iter != mock_origin_infos_.end(); | 61 iter != mock_origin_infos_.end(); |
| 62 ++iter) { | 62 ++iter) { |
| 63 origins_info->push_back(OriginInfo(iter->second)); | 63 origins_info->push_back(OriginInfo(iter->second)); |
| 64 } | 64 } |
| 65 return true; | 65 return true; |
| 66 } | 66 } |
| 67 | 67 |
| 68 virtual int DeleteDataForOrigin( | 68 virtual int DeleteDataForOrigin( |
| 69 const string16& origin_id, | 69 const base::string16& origin_id, |
| 70 const net::CompletionCallback& callback) OVERRIDE { | 70 const net::CompletionCallback& callback) OVERRIDE { |
| 71 ++delete_called_count_; | 71 ++delete_called_count_; |
| 72 if (async_delete()) { | 72 if (async_delete()) { |
| 73 base::MessageLoopProxy::current()->PostTask( | 73 base::MessageLoopProxy::current()->PostTask( |
| 74 FROM_HERE, | 74 FROM_HERE, |
| 75 base::Bind(&MockDatabaseTracker::AsyncDeleteDataForOrigin, this, | 75 base::Bind(&MockDatabaseTracker::AsyncDeleteDataForOrigin, this, |
| 76 callback)); | 76 callback)); |
| 77 return net::ERR_IO_PENDING; | 77 return net::ERR_IO_PENDING; |
| 78 } | 78 } |
| 79 return net::OK; | 79 return net::OK; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 92 int delete_called_count() { return delete_called_count_; } | 92 int delete_called_count() { return delete_called_count_; } |
| 93 bool async_delete() { return async_delete_; } | 93 bool async_delete() { return async_delete_; } |
| 94 void set_async_delete(bool async) { async_delete_ = async; } | 94 void set_async_delete(bool async) { async_delete_ = async; } |
| 95 | 95 |
| 96 protected: | 96 protected: |
| 97 virtual ~MockDatabaseTracker() {} | 97 virtual ~MockDatabaseTracker() {} |
| 98 | 98 |
| 99 private: | 99 private: |
| 100 class MockOriginInfo : public OriginInfo { | 100 class MockOriginInfo : public OriginInfo { |
| 101 public: | 101 public: |
| 102 void set_origin(const string16& origin_id) { | 102 void set_origin(const base::string16& origin_id) { |
| 103 origin_ = origin_id; | 103 origin_ = origin_id; |
| 104 } | 104 } |
| 105 | 105 |
| 106 void AddMockDatabase(const string16& name, int size) { | 106 void AddMockDatabase(const base::string16& name, int size) { |
| 107 EXPECT_TRUE(database_info_.find(name) == database_info_.end()); | 107 EXPECT_TRUE(database_info_.find(name) == database_info_.end()); |
| 108 database_info_[name].first = size; | 108 database_info_[name].first = size; |
| 109 total_size_ += size; | 109 total_size_ += size; |
| 110 } | 110 } |
| 111 }; | 111 }; |
| 112 | 112 |
| 113 int delete_called_count_; | 113 int delete_called_count_; |
| 114 bool async_delete_; | 114 bool async_delete_; |
| 115 std::map<GURL, MockOriginInfo> mock_origin_infos_; | 115 std::map<GURL, MockOriginInfo> mock_origin_infos_; |
| 116 }; | 116 }; |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 mock_tracker()->set_async_delete(false); | 282 mock_tracker()->set_async_delete(false); |
| 283 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); | 283 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); |
| 284 EXPECT_EQ(1, mock_tracker()->delete_called_count()); | 284 EXPECT_EQ(1, mock_tracker()->delete_called_count()); |
| 285 | 285 |
| 286 mock_tracker()->set_async_delete(true); | 286 mock_tracker()->set_async_delete(true); |
| 287 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); | 287 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); |
| 288 EXPECT_EQ(2, mock_tracker()->delete_called_count()); | 288 EXPECT_EQ(2, mock_tracker()->delete_called_count()); |
| 289 } | 289 } |
| 290 | 290 |
| 291 } // namespace webkit_database | 291 } // namespace webkit_database |
| OLD | NEW |