• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #include "content/browser/quota/mock_quota_manager_proxy.h"
6 
7 #include "base/message_loop/message_loop.h"
8 #include "base/single_thread_task_runner.h"
9 #include "url/gurl.h"
10 
11 using quota::kStorageTypeUnknown;
12 
13 namespace content {
14 
MockQuotaManagerProxy(MockQuotaManager * quota_manager,base::SingleThreadTaskRunner * task_runner)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) {}
24 
RegisterClient(QuotaClient * client)25 void MockQuotaManagerProxy::RegisterClient(QuotaClient* client) {
26   DCHECK(!registered_client_);
27   registered_client_ = client;
28 }
29 
SimulateQuotaManagerDestroyed()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;
36   }
37 }
38 
NotifyStorageAccessed(QuotaClient::ID client_id,const GURL & origin,StorageType type)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;
44 }
45 
NotifyStorageModified(QuotaClient::ID client_id,const GURL & origin,StorageType type,int64 delta)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;
53   if (mock_manager())
54     mock_manager()->UpdateUsage(origin, type, delta);
55 }
56 
~MockQuotaManagerProxy()57 MockQuotaManagerProxy::~MockQuotaManagerProxy() {
58   DCHECK(!registered_client_);
59 }
60 
61 }  // namespace content
62