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

Side by Side Diff: content/browser/dom_storage/dom_storage_context_wrapper.cc

Issue 1170623003: Revert "content: Remove use of MessageLoopProxy and deprecated MessageLoop APIs" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/browser/dom_storage/dom_storage_context_wrapper.h" 5 #include "content/browser/dom_storage/dom_storage_context_wrapper.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
12 #include "base/files/file_path.h" 12 #include "base/files/file_path.h"
13 #include "base/location.h" 13 #include "base/message_loop/message_loop_proxy.h"
14 #include "base/single_thread_task_runner.h"
15 #include "base/thread_task_runner_handle.h"
16 #include "content/browser/dom_storage/dom_storage_area.h" 14 #include "content/browser/dom_storage/dom_storage_area.h"
17 #include "content/browser/dom_storage/dom_storage_context_impl.h" 15 #include "content/browser/dom_storage/dom_storage_context_impl.h"
18 #include "content/browser/dom_storage/dom_storage_task_runner.h" 16 #include "content/browser/dom_storage/dom_storage_task_runner.h"
19 #include "content/browser/dom_storage/session_storage_namespace_impl.h" 17 #include "content/browser/dom_storage/session_storage_namespace_impl.h"
20 #include "content/public/browser/browser_thread.h" 18 #include "content/public/browser/browser_thread.h"
21 #include "content/public/browser/local_storage_usage_info.h" 19 #include "content/public/browser/local_storage_usage_info.h"
22 #include "content/public/browser/session_storage_usage_info.h" 20 #include "content/public/browser/session_storage_usage_info.h"
23 21
24 namespace content { 22 namespace content {
25 namespace { 23 namespace {
26 24
27 const char kLocalStorageDirectory[] = "Local Storage"; 25 const char kLocalStorageDirectory[] = "Local Storage";
28 const char kSessionStorageDirectory[] = "Session Storage"; 26 const char kSessionStorageDirectory[] = "Session Storage";
29 27
30 void InvokeLocalStorageUsageCallbackHelper( 28 void InvokeLocalStorageUsageCallbackHelper(
31 const DOMStorageContext::GetLocalStorageUsageCallback& callback, 29 const DOMStorageContext::GetLocalStorageUsageCallback& callback,
32 const std::vector<LocalStorageUsageInfo>* infos) { 30 const std::vector<LocalStorageUsageInfo>* infos) {
33 callback.Run(*infos); 31 callback.Run(*infos);
34 } 32 }
35 33
36 void GetLocalStorageUsageHelper( 34 void GetLocalStorageUsageHelper(
37 base::SingleThreadTaskRunner* reply_task_runner, 35 base::MessageLoopProxy* reply_loop,
38 DOMStorageContextImpl* context, 36 DOMStorageContextImpl* context,
39 const DOMStorageContext::GetLocalStorageUsageCallback& callback) { 37 const DOMStorageContext::GetLocalStorageUsageCallback& callback) {
40 std::vector<LocalStorageUsageInfo>* infos = 38 std::vector<LocalStorageUsageInfo>* infos =
41 new std::vector<LocalStorageUsageInfo>; 39 new std::vector<LocalStorageUsageInfo>;
42 context->GetLocalStorageUsage(infos, true); 40 context->GetLocalStorageUsage(infos, true);
43 reply_task_runner->PostTask( 41 reply_loop->PostTask(
44 FROM_HERE, base::Bind(&InvokeLocalStorageUsageCallbackHelper, callback, 42 FROM_HERE,
45 base::Owned(infos))); 43 base::Bind(&InvokeLocalStorageUsageCallbackHelper,
44 callback, base::Owned(infos)));
46 } 45 }
47 46
48 void InvokeSessionStorageUsageCallbackHelper( 47 void InvokeSessionStorageUsageCallbackHelper(
49 const DOMStorageContext::GetSessionStorageUsageCallback& callback, 48 const DOMStorageContext::GetSessionStorageUsageCallback& callback,
50 const std::vector<SessionStorageUsageInfo>* infos) { 49 const std::vector<SessionStorageUsageInfo>* infos) {
51 callback.Run(*infos); 50 callback.Run(*infos);
52 } 51 }
53 52
54 void GetSessionStorageUsageHelper( 53 void GetSessionStorageUsageHelper(
55 base::SingleThreadTaskRunner* reply_task_runner, 54 base::MessageLoopProxy* reply_loop,
56 DOMStorageContextImpl* context, 55 DOMStorageContextImpl* context,
57 const DOMStorageContext::GetSessionStorageUsageCallback& callback) { 56 const DOMStorageContext::GetSessionStorageUsageCallback& callback) {
58 std::vector<SessionStorageUsageInfo>* infos = 57 std::vector<SessionStorageUsageInfo>* infos =
59 new std::vector<SessionStorageUsageInfo>; 58 new std::vector<SessionStorageUsageInfo>;
60 context->GetSessionStorageUsage(infos); 59 context->GetSessionStorageUsage(infos);
61 reply_task_runner->PostTask( 60 reply_loop->PostTask(
62 FROM_HERE, base::Bind(&InvokeSessionStorageUsageCallbackHelper, callback, 61 FROM_HERE,
63 base::Owned(infos))); 62 base::Bind(&InvokeSessionStorageUsageCallbackHelper,
63 callback, base::Owned(infos)));
64 } 64 }
65 65
66 } // namespace 66 } // namespace
67 67
68 DOMStorageContextWrapper::DOMStorageContextWrapper( 68 DOMStorageContextWrapper::DOMStorageContextWrapper(
69 const base::FilePath& data_path, 69 const base::FilePath& data_path,
70 storage::SpecialStoragePolicy* special_storage_policy) { 70 storage::SpecialStoragePolicy* special_storage_policy) {
71 base::SequencedWorkerPool* worker_pool = BrowserThread::GetBlockingPool(); 71 base::SequencedWorkerPool* worker_pool = BrowserThread::GetBlockingPool();
72 context_ = new DOMStorageContextImpl( 72 context_ = new DOMStorageContextImpl(
73 data_path.empty() ? data_path 73 data_path.empty() ? data_path
74 : data_path.AppendASCII(kLocalStorageDirectory), 74 : data_path.AppendASCII(kLocalStorageDirectory),
75 data_path.empty() ? data_path 75 data_path.empty() ? data_path
76 : data_path.AppendASCII(kSessionStorageDirectory), 76 : data_path.AppendASCII(kSessionStorageDirectory),
77 special_storage_policy, 77 special_storage_policy,
78 new DOMStorageWorkerPoolTaskRunner( 78 new DOMStorageWorkerPoolTaskRunner(
79 worker_pool, 79 worker_pool,
80 worker_pool->GetNamedSequenceToken("dom_storage_primary"), 80 worker_pool->GetNamedSequenceToken("dom_storage_primary"),
81 worker_pool->GetNamedSequenceToken("dom_storage_commit"), 81 worker_pool->GetNamedSequenceToken("dom_storage_commit"),
82 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO) 82 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)
83 .get())); 83 .get()));
84 } 84 }
85 85
86 DOMStorageContextWrapper::~DOMStorageContextWrapper() { 86 DOMStorageContextWrapper::~DOMStorageContextWrapper() {
87 } 87 }
88 88
89 void DOMStorageContextWrapper::GetLocalStorageUsage( 89 void DOMStorageContextWrapper::GetLocalStorageUsage(
90 const GetLocalStorageUsageCallback& callback) { 90 const GetLocalStorageUsageCallback& callback) {
91 DCHECK(context_.get()); 91 DCHECK(context_.get());
92 context_->task_runner()->PostShutdownBlockingTask( 92 context_->task_runner()
93 FROM_HERE, DOMStorageTaskRunner::PRIMARY_SEQUENCE, 93 ->PostShutdownBlockingTask(FROM_HERE,
94 base::Bind(&GetLocalStorageUsageHelper, 94 DOMStorageTaskRunner::PRIMARY_SEQUENCE,
95 base::ThreadTaskRunnerHandle::Get(), context_, callback)); 95 base::Bind(&GetLocalStorageUsageHelper,
96 base::MessageLoopProxy::current(),
97 context_,
98 callback));
96 } 99 }
97 100
98 void DOMStorageContextWrapper::GetSessionStorageUsage( 101 void DOMStorageContextWrapper::GetSessionStorageUsage(
99 const GetSessionStorageUsageCallback& callback) { 102 const GetSessionStorageUsageCallback& callback) {
100 DCHECK(context_.get()); 103 DCHECK(context_.get());
101 context_->task_runner()->PostShutdownBlockingTask( 104 context_->task_runner()
102 FROM_HERE, DOMStorageTaskRunner::PRIMARY_SEQUENCE, 105 ->PostShutdownBlockingTask(FROM_HERE,
103 base::Bind(&GetSessionStorageUsageHelper, 106 DOMStorageTaskRunner::PRIMARY_SEQUENCE,
104 base::ThreadTaskRunnerHandle::Get(), context_, callback)); 107 base::Bind(&GetSessionStorageUsageHelper,
108 base::MessageLoopProxy::current(),
109 context_,
110 callback));
105 } 111 }
106 112
107 void DOMStorageContextWrapper::DeleteLocalStorage(const GURL& origin) { 113 void DOMStorageContextWrapper::DeleteLocalStorage(const GURL& origin) {
108 DCHECK(context_.get()); 114 DCHECK(context_.get());
109 context_->task_runner()->PostShutdownBlockingTask( 115 context_->task_runner()->PostShutdownBlockingTask(
110 FROM_HERE, 116 FROM_HERE,
111 DOMStorageTaskRunner::PRIMARY_SEQUENCE, 117 DOMStorageTaskRunner::PRIMARY_SEQUENCE,
112 base::Bind(&DOMStorageContextImpl::DeleteLocalStorage, context_, origin)); 118 base::Bind(&DOMStorageContextImpl::DeleteLocalStorage, context_, origin));
113 } 119 }
114 120
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 } 166 }
161 167
162 void DOMStorageContextWrapper::Flush() { 168 void DOMStorageContextWrapper::Flush() {
163 DCHECK(context_.get()); 169 DCHECK(context_.get());
164 context_->task_runner()->PostShutdownBlockingTask( 170 context_->task_runner()->PostShutdownBlockingTask(
165 FROM_HERE, DOMStorageTaskRunner::PRIMARY_SEQUENCE, 171 FROM_HERE, DOMStorageTaskRunner::PRIMARY_SEQUENCE,
166 base::Bind(&DOMStorageContextImpl::Flush, context_)); 172 base::Bind(&DOMStorageContextImpl::Flush, context_));
167 } 173 }
168 174
169 } // namespace content 175 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698