Chromium Code Reviews| Index: content/browser/gpu/shader_disk_cache.cc |
| diff --git a/content/browser/gpu/shader_disk_cache.cc b/content/browser/gpu/shader_disk_cache.cc |
| index d1ceef4201df929a60becf99f4c44beb0f65264b..595c15c04d8dc6106cdbb2e282374a7bbb5838e5 100644 |
| --- a/content/browser/gpu/shader_disk_cache.cc |
| +++ b/content/browser/gpu/shader_disk_cache.cc |
| @@ -573,15 +573,8 @@ void ShaderDiskCache::CacheCreatedCallback(int rv) { |
| LOG(ERROR) << "Shader Cache Creation failed: " << rv; |
| return; |
| } |
| - cache_available_ = true; |
| - |
| helper_ = new ShaderDiskReadHelper(AsWeakPtr(), host_id_); |
| helper_->LoadCache(); |
| - |
| - if (!available_callback_.is_null()) { |
| - available_callback_.Run(net::OK); |
| - available_callback_.Reset(); |
| - } |
| } |
| void ShaderDiskCache::EntryComplete(void* entry) { |
| @@ -593,6 +586,15 @@ void ShaderDiskCache::EntryComplete(void* entry) { |
| void ShaderDiskCache::ReadComplete() { |
| helper_ = NULL; |
| + |
| + /* The cache is considered available after we have finished reading any |
|
apatrick_chromium
2013/04/08 18:03:05
nit: use // style comment rather than /* */
dsinclair
2013/04/09 22:52:02
Done.
|
| + * of the old cache values off disk. This prevents a potential race where we |
| + * are reading from disk and execute a cache clear at the same time. */ |
| + cache_available_ = true; |
| + if (!available_callback_.is_null()) { |
| + available_callback_.Run(net::OK); |
| + available_callback_.Reset(); |
| + } |
| } |
| int ShaderDiskCache::SetCacheCompleteCallback( |