| OLD | NEW |
| 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 "net/base/cache_type.h" | 10 #include "net/base/cache_type.h" |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 } | 145 } |
| 146 | 146 |
| 147 ShaderDiskCacheEntry::~ShaderDiskCacheEntry() { | 147 ShaderDiskCacheEntry::~ShaderDiskCacheEntry() { |
| 148 if (entry_) | 148 if (entry_) |
| 149 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, | 149 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
| 150 base::Bind(&EntryCloser, entry_)); | 150 base::Bind(&EntryCloser, entry_)); |
| 151 } | 151 } |
| 152 | 152 |
| 153 void ShaderDiskCacheEntry::Cache() { | 153 void ShaderDiskCacheEntry::Cache() { |
| 154 DCHECK(CalledOnValidThread()); | 154 DCHECK(CalledOnValidThread()); |
| 155 if (!cache_) | 155 if (!cache_.get()) |
| 156 return; | 156 return; |
| 157 | 157 |
| 158 int rv = cache_->backend()->OpenEntry( | 158 int rv = cache_->backend()->OpenEntry( |
| 159 key_, | 159 key_, |
| 160 &entry_, | 160 &entry_, |
| 161 base::Bind(&ShaderDiskCacheEntry::OnOpComplete, this)); | 161 base::Bind(&ShaderDiskCacheEntry::OnOpComplete, this)); |
| 162 if (rv != net::ERR_IO_PENDING) | 162 if (rv != net::ERR_IO_PENDING) |
| 163 OnOpComplete(rv); | 163 OnOpComplete(rv); |
| 164 } | 164 } |
| 165 | 165 |
| 166 void ShaderDiskCacheEntry::OnOpComplete(int rv) { | 166 void ShaderDiskCacheEntry::OnOpComplete(int rv) { |
| 167 DCHECK(CalledOnValidThread()); | 167 DCHECK(CalledOnValidThread()); |
| 168 if (!cache_) | 168 if (!cache_.get()) |
| 169 return; | 169 return; |
| 170 | 170 |
| 171 do { | 171 do { |
| 172 switch (op_type_) { | 172 switch (op_type_) { |
| 173 case OPEN_ENTRY: | 173 case OPEN_ENTRY: |
| 174 rv = OpenCallback(rv); | 174 rv = OpenCallback(rv); |
| 175 break; | 175 break; |
| 176 case CREATE_ENTRY: | 176 case CREATE_ENTRY: |
| 177 rv = WriteCallback(rv); | 177 rv = WriteCallback(rv); |
| 178 break; | 178 break; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 : cache_(cache), | 241 : cache_(cache), |
| 242 op_type_(OPEN_NEXT), | 242 op_type_(OPEN_NEXT), |
| 243 iter_(NULL), | 243 iter_(NULL), |
| 244 buf_(NULL), | 244 buf_(NULL), |
| 245 host_id_(host_id), | 245 host_id_(host_id), |
| 246 entry_(NULL) { | 246 entry_(NULL) { |
| 247 } | 247 } |
| 248 | 248 |
| 249 void ShaderDiskReadHelper::LoadCache() { | 249 void ShaderDiskReadHelper::LoadCache() { |
| 250 DCHECK(CalledOnValidThread()); | 250 DCHECK(CalledOnValidThread()); |
| 251 if (!cache_) | 251 if (!cache_.get()) |
| 252 return; | 252 return; |
| 253 OnOpComplete(net::OK); | 253 OnOpComplete(net::OK); |
| 254 } | 254 } |
| 255 | 255 |
| 256 void ShaderDiskReadHelper::OnOpComplete(int rv) { | 256 void ShaderDiskReadHelper::OnOpComplete(int rv) { |
| 257 DCHECK(CalledOnValidThread()); | 257 DCHECK(CalledOnValidThread()); |
| 258 if (!cache_) | 258 if (!cache_.get()) |
| 259 return; | 259 return; |
| 260 | 260 |
| 261 do { | 261 do { |
| 262 switch (op_type_) { | 262 switch (op_type_) { |
| 263 case OPEN_NEXT: | 263 case OPEN_NEXT: |
| 264 rv = OpenNextEntry(); | 264 rv = OpenNextEntry(); |
| 265 break; | 265 break; |
| 266 case OPEN_NEXT_COMPLETE: | 266 case OPEN_NEXT_COMPLETE: |
| 267 rv = OpenNextEntryComplete(rv); | 267 rv = OpenNextEntryComplete(rv); |
| 268 break; | 268 break; |
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 const net::CompletionCallback& callback) { | 609 const net::CompletionCallback& callback) { |
| 610 if (entry_map_.empty()) { | 610 if (entry_map_.empty()) { |
| 611 return net::OK; | 611 return net::OK; |
| 612 } | 612 } |
| 613 cache_complete_callback_ = callback; | 613 cache_complete_callback_ = callback; |
| 614 return net::ERR_IO_PENDING; | 614 return net::ERR_IO_PENDING; |
| 615 } | 615 } |
| 616 | 616 |
| 617 } // namespace content | 617 } // namespace content |
| 618 | 618 |
| OLD | NEW |