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

Side by Side Diff: content/browser/gpu/shader_disk_cache.cc

Issue 542733002: Remove void** from disk_cache interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix EnumerateAndMatchKeys Created 6 years, 3 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/gpu/shader_disk_cache.h" 5 #include "content/browser/gpu/shader_disk_cache.h"
6 6
7 #include "base/threading/thread_checker.h" 7 #include "base/threading/thread_checker.h"
8 #include "content/browser/gpu/gpu_process_host.h" 8 #include "content/browser/gpu/gpu_process_host.h"
9 #include "content/public/browser/browser_thread.h" 9 #include "content/public/browser/browser_thread.h"
10 #include "gpu/command_buffer/common/constants.h" 10 #include "gpu/command_buffer/common/constants.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 88
89 void OnOpComplete(int rv); 89 void OnOpComplete(int rv);
90 90
91 int OpenNextEntry(); 91 int OpenNextEntry();
92 int OpenNextEntryComplete(int rv); 92 int OpenNextEntryComplete(int rv);
93 int ReadComplete(int rv); 93 int ReadComplete(int rv);
94 int IterationComplete(int rv); 94 int IterationComplete(int rv);
95 95
96 base::WeakPtr<ShaderDiskCache> cache_; 96 base::WeakPtr<ShaderDiskCache> cache_;
97 OpType op_type_; 97 OpType op_type_;
98 void* iter_; 98 scoped_ptr<disk_cache::Backend::Iterator> iter_;
99 scoped_refptr<net::IOBufferWithSize> buf_; 99 scoped_refptr<net::IOBufferWithSize> buf_;
100 int host_id_; 100 int host_id_;
101 disk_cache::Entry* entry_; 101 disk_cache::Entry* entry_;
102 102
103 DISALLOW_COPY_AND_ASSIGN(ShaderDiskReadHelper); 103 DISALLOW_COPY_AND_ASSIGN(ShaderDiskReadHelper);
104 }; 104 };
105 105
106 class ShaderClearHelper 106 class ShaderClearHelper
107 : public base::RefCounted<ShaderClearHelper>, 107 : public base::RefCounted<ShaderClearHelper>,
108 public base::SupportsWeakPtr<ShaderClearHelper> { 108 public base::SupportsWeakPtr<ShaderClearHelper> {
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 cache_->EntryComplete(this); 236 cache_->EntryComplete(this);
237 op_type_ = TERMINATE; 237 op_type_ = TERMINATE;
238 return rv; 238 return rv;
239 } 239 }
240 240
241 ShaderDiskReadHelper::ShaderDiskReadHelper( 241 ShaderDiskReadHelper::ShaderDiskReadHelper(
242 base::WeakPtr<ShaderDiskCache> cache, 242 base::WeakPtr<ShaderDiskCache> cache,
243 int host_id) 243 int host_id)
244 : cache_(cache), 244 : cache_(cache),
245 op_type_(OPEN_NEXT), 245 op_type_(OPEN_NEXT),
246 iter_(NULL),
247 buf_(NULL), 246 buf_(NULL),
248 host_id_(host_id), 247 host_id_(host_id),
249 entry_(NULL) { 248 entry_(NULL) {
250 } 249 }
251 250
252 void ShaderDiskReadHelper::LoadCache() { 251 void ShaderDiskReadHelper::LoadCache() {
253 DCHECK(CalledOnValidThread()); 252 DCHECK(CalledOnValidThread());
254 if (!cache_.get()) 253 if (!cache_.get())
255 return; 254 return;
256 OnOpComplete(net::OK); 255 OnOpComplete(net::OK);
(...skipping 27 matching lines...) Expand all
284 rv = net::ERR_FAILED; 283 rv = net::ERR_FAILED;
285 break; 284 break;
286 } 285 }
287 } while (rv != net::ERR_IO_PENDING); 286 } while (rv != net::ERR_IO_PENDING);
288 } 287 }
289 288
290 int ShaderDiskReadHelper::OpenNextEntry() { 289 int ShaderDiskReadHelper::OpenNextEntry() {
291 DCHECK(CalledOnValidThread()); 290 DCHECK(CalledOnValidThread());
292 // Called through OnOpComplete, so we know |cache_| is valid. 291 // Called through OnOpComplete, so we know |cache_| is valid.
293 op_type_ = OPEN_NEXT_COMPLETE; 292 op_type_ = OPEN_NEXT_COMPLETE;
294 return cache_->backend()->OpenNextEntry( 293 if (!iter_)
295 &iter_, 294 iter_ = cache_->backend()->CreateIterator();
296 &entry_, 295 return iter_->OpenNextEntry(
297 base::Bind(&ShaderDiskReadHelper::OnOpComplete, this)); 296 &entry_, base::Bind(&ShaderDiskReadHelper::OnOpComplete, this));
298 } 297 }
299 298
300 int ShaderDiskReadHelper::OpenNextEntryComplete(int rv) { 299 int ShaderDiskReadHelper::OpenNextEntryComplete(int rv) {
301 DCHECK(CalledOnValidThread()); 300 DCHECK(CalledOnValidThread());
302 // Called through OnOpComplete, so we know |cache_| is valid. 301 // Called through OnOpComplete, so we know |cache_| is valid.
303 if (rv == net::ERR_FAILED) { 302 if (rv == net::ERR_FAILED) {
304 op_type_ = ITERATION_FINISHED; 303 op_type_ = ITERATION_FINISHED;
305 return net::OK; 304 return net::OK;
306 } 305 }
307 306
(...skipping 24 matching lines...) Expand all
332 entry_->Close(); 331 entry_->Close();
333 entry_ = NULL; 332 entry_ = NULL;
334 333
335 op_type_ = OPEN_NEXT; 334 op_type_ = OPEN_NEXT;
336 return net::OK; 335 return net::OK;
337 } 336 }
338 337
339 int ShaderDiskReadHelper::IterationComplete(int rv) { 338 int ShaderDiskReadHelper::IterationComplete(int rv) {
340 DCHECK(CalledOnValidThread()); 339 DCHECK(CalledOnValidThread());
341 // Called through OnOpComplete, so we know |cache_| is valid. 340 // Called through OnOpComplete, so we know |cache_| is valid.
342 cache_->backend()->EndEnumeration(&iter_); 341 iter_.reset();
343 iter_ = NULL;
344 op_type_ = TERMINATE; 342 op_type_ = TERMINATE;
345 return net::OK; 343 return net::OK;
346 } 344 }
347 345
348 ShaderDiskReadHelper::~ShaderDiskReadHelper() { 346 ShaderDiskReadHelper::~ShaderDiskReadHelper() {
349 if (entry_) 347 if (entry_)
350 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, 348 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
351 base::Bind(&EntryCloser, entry_)); 349 base::Bind(&EntryCloser, entry_));
352 } 350 }
353 351
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
608 const net::CompletionCallback& callback) { 606 const net::CompletionCallback& callback) {
609 if (entry_map_.empty()) { 607 if (entry_map_.empty()) {
610 return net::OK; 608 return net::OK;
611 } 609 }
612 cache_complete_callback_ = callback; 610 cache_complete_callback_ = callback;
613 return net::ERR_IO_PENDING; 611 return net::ERR_IO_PENDING;
614 } 612 }
615 613
616 } // namespace content 614 } // namespace content
617 615
OLDNEW
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_cache.cc » ('j') | net/disk_cache/blockfile/backend_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698