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

Side by Side Diff: webkit/quota/mock_storage_client.cc

Issue 7331006: 2nd try: Implement QM::GetOriginsModifiedSince for browser data deleter support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 9 years, 5 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/quota/mock_storage_client.h ('k') | webkit/quota/quota_database.h » ('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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "webkit/quota/mock_storage_client.h" 5 #include "webkit/quota/mock_storage_client.h"
6 6
7 #include "base/atomic_sequence_num.h" 7 #include "base/atomic_sequence_num.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/singleton.h" 10 #include "base/memory/singleton.h"
(...skipping 29 matching lines...) Expand all
40 DISALLOW_COPY_AND_ASSIGN(MockStorageClientIDSequencer); 40 DISALLOW_COPY_AND_ASSIGN(MockStorageClientIDSequencer);
41 }; 41 };
42 42
43 } // anonymous namespace 43 } // anonymous namespace
44 44
45 MockStorageClient::MockStorageClient( 45 MockStorageClient::MockStorageClient(
46 QuotaManagerProxy* quota_manager_proxy, 46 QuotaManagerProxy* quota_manager_proxy,
47 const MockOriginData* mock_data, size_t mock_data_size) 47 const MockOriginData* mock_data, size_t mock_data_size)
48 : quota_manager_proxy_(quota_manager_proxy), 48 : quota_manager_proxy_(quota_manager_proxy),
49 id_(MockStorageClientIDSequencer::GetInstance()->NextMockID()), 49 id_(MockStorageClientIDSequencer::GetInstance()->NextMockID()),
50 mock_time_counter_(0),
50 runnable_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { 51 runnable_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
51 for (size_t i = 0; i < mock_data_size; ++i) { 52 for (size_t i = 0; i < mock_data_size; ++i) {
52 origin_data_[make_pair(GURL(mock_data[i].origin), mock_data[i].type)] = 53 origin_data_[make_pair(GURL(mock_data[i].origin), mock_data[i].type)] =
53 mock_data[i].usage; 54 mock_data[i].usage;
54 } 55 }
55 } 56 }
56 57
57 MockStorageClient::~MockStorageClient() { 58 MockStorageClient::~MockStorageClient() {
58 STLDeleteContainerPointers(usage_callbacks_.begin(), usage_callbacks_.end()); 59 STLDeleteContainerPointers(usage_callbacks_.begin(), usage_callbacks_.end());
59 STLDeleteContainerPointers( 60 STLDeleteContainerPointers(
60 origins_callbacks_.begin(), origins_callbacks_.end()); 61 origins_callbacks_.begin(), origins_callbacks_.end());
61 STLDeleteContainerPointers( 62 STLDeleteContainerPointers(
62 deletion_callbacks_.begin(), deletion_callbacks_.end()); 63 deletion_callbacks_.begin(), deletion_callbacks_.end());
63 } 64 }
64 65
65 void MockStorageClient::AddOriginAndNotify( 66 void MockStorageClient::AddOriginAndNotify(
66 const GURL& origin_url, StorageType type, int64 size) { 67 const GURL& origin_url, StorageType type, int64 size) {
67 DCHECK(origin_data_.find(make_pair(origin_url, type)) == origin_data_.end()); 68 DCHECK(origin_data_.find(make_pair(origin_url, type)) == origin_data_.end());
68 DCHECK_GE(size, 0); 69 DCHECK_GE(size, 0);
69 origin_data_[make_pair(origin_url, type)] = size; 70 origin_data_[make_pair(origin_url, type)] = size;
70 quota_manager_proxy_->NotifyStorageModified(id(), origin_url, type, size); 71 quota_manager_proxy_->quota_manager()->NotifyStorageModifiedInternal(
72 id(), origin_url, type, size, IncrementMockTime());
71 } 73 }
72 74
73 void MockStorageClient::ModifyOriginAndNotify( 75 void MockStorageClient::ModifyOriginAndNotify(
74 const GURL& origin_url, StorageType type, int64 delta) { 76 const GURL& origin_url, StorageType type, int64 delta) {
75 OriginDataMap::iterator find = origin_data_.find(make_pair(origin_url, type)); 77 OriginDataMap::iterator find = origin_data_.find(make_pair(origin_url, type));
76 DCHECK(find != origin_data_.end()); 78 DCHECK(find != origin_data_.end());
77 find->second += delta; 79 find->second += delta;
78 DCHECK_GE(find->second, 0); 80 DCHECK_GE(find->second, 0);
79 81
80 // TODO(tzik): Check quota to prevent usage exceed 82 // TODO(tzik): Check quota to prevent usage exceed
81 quota_manager_proxy_->NotifyStorageModified(id(), origin_url, type, delta); 83 quota_manager_proxy_->quota_manager()->NotifyStorageModifiedInternal(
84 id(), origin_url, type, delta, IncrementMockTime());
82 } 85 }
83 86
84 void MockStorageClient::AddOriginToErrorSet( 87 void MockStorageClient::AddOriginToErrorSet(
85 const GURL& origin_url, StorageType type) { 88 const GURL& origin_url, StorageType type) {
86 error_origins_.insert(make_pair(origin_url, type)); 89 error_origins_.insert(make_pair(origin_url, type));
87 } 90 }
88 91
92 base::Time MockStorageClient::IncrementMockTime() {
93 ++mock_time_counter_;
94 return base::Time::FromDoubleT(mock_time_counter_ * 10.0);
95 }
96
89 QuotaClient::ID MockStorageClient::id() const { 97 QuotaClient::ID MockStorageClient::id() const {
90 return id_; 98 return id_;
91 } 99 }
92 100
93 void MockStorageClient::OnQuotaManagerDestroyed() { 101 void MockStorageClient::OnQuotaManagerDestroyed() {
94 delete this; 102 delete this;
95 } 103 }
96 104
97 void MockStorageClient::GetOriginUsage(const GURL& origin_url, 105 void MockStorageClient::GetOriginUsage(const GURL& origin_url,
98 StorageType type, 106 StorageType type,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 quota_manager_proxy_-> 201 quota_manager_proxy_->
194 NotifyStorageModified(id(), origin_url, type, -delta); 202 NotifyStorageModified(id(), origin_url, type, -delta);
195 origin_data_.erase(itr); 203 origin_data_.erase(itr);
196 } 204 }
197 205
198 deletion_callbacks_.erase(callback_ptr); 206 deletion_callbacks_.erase(callback_ptr);
199 callback->Run(kQuotaStatusOk); 207 callback->Run(kQuotaStatusOk);
200 } 208 }
201 209
202 } // namespace quota 210 } // namespace quota
OLDNEW
« no previous file with comments | « webkit/quota/mock_storage_client.h ('k') | webkit/quota/quota_database.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698