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
3 // found in the LICENSE file.
5 #include "content/browser/quota/mock_quota_manager_proxy.h"
7 #include "base/message_loop/message_loop.h"
8 #include "base/single_thread_task_runner.h"
11 using storage::kStorageTypeUnknown
;
15 MockQuotaManagerProxy::MockQuotaManagerProxy(
16 MockQuotaManager
* quota_manager
,
17 base::SingleThreadTaskRunner
* task_runner
)
18 : QuotaManagerProxy(quota_manager
, task_runner
),
19 storage_accessed_count_(0),
20 storage_modified_count_(0),
21 last_notified_type_(kStorageTypeUnknown
),
22 last_notified_delta_(0),
23 registered_client_(NULL
) {}
25 void MockQuotaManagerProxy::RegisterClient(QuotaClient
* client
) {
26 DCHECK(!registered_client_
);
27 registered_client_
= client
;
30 void MockQuotaManagerProxy::SimulateQuotaManagerDestroyed() {
31 if (registered_client_
) {
32 // We cannot call this in the destructor as the client (indirectly)
33 // holds a refptr of the proxy.
34 registered_client_
->OnQuotaManagerDestroyed();
35 registered_client_
= NULL
;
39 void MockQuotaManagerProxy::NotifyStorageAccessed(
40 QuotaClient::ID client_id
, const GURL
& origin
, StorageType type
) {
41 ++storage_accessed_count_
;
42 last_notified_origin_
= origin
;
43 last_notified_type_
= type
;
46 void MockQuotaManagerProxy::NotifyStorageModified(
47 QuotaClient::ID client_id
, const GURL
& origin
,
48 StorageType type
, int64 delta
) {
49 ++storage_modified_count_
;
50 last_notified_origin_
= origin
;
51 last_notified_type_
= type
;
52 last_notified_delta_
= delta
;
54 mock_manager()->UpdateUsage(origin
, type
, delta
);
57 MockQuotaManagerProxy::~MockQuotaManagerProxy() {
58 DCHECK(!registered_client_
);
61 } // namespace content