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

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

Issue 1062413002: Remove unnecessary instrumentation for several jank bugs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Compile fixes Created 5 years, 8 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/profiler/scoped_tracker.h"
8 #include "base/threading/thread_checker.h" 7 #include "base/threading/thread_checker.h"
9 #include "content/browser/gpu/gpu_process_host.h" 8 #include "content/browser/gpu/gpu_process_host.h"
10 #include "content/public/browser/browser_thread.h" 9 #include "content/public/browser/browser_thread.h"
11 #include "gpu/command_buffer/common/constants.h" 10 #include "gpu/command_buffer/common/constants.h"
12 #include "net/base/cache_type.h" 11 #include "net/base/cache_type.h"
13 #include "net/base/io_buffer.h" 12 #include "net/base/io_buffer.h"
14 #include "net/base/net_errors.h" 13 #include "net/base/net_errors.h"
15 14
16 namespace content { 15 namespace content {
17 16
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 } 252 }
254 253
255 void ShaderDiskReadHelper::LoadCache() { 254 void ShaderDiskReadHelper::LoadCache() {
256 DCHECK(CalledOnValidThread()); 255 DCHECK(CalledOnValidThread());
257 if (!cache_.get()) 256 if (!cache_.get())
258 return; 257 return;
259 OnOpComplete(net::OK); 258 OnOpComplete(net::OK);
260 } 259 }
261 260
262 void ShaderDiskReadHelper::OnOpComplete(int rv) { 261 void ShaderDiskReadHelper::OnOpComplete(int rv) {
263 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
264 tracked_objects::ScopedTracker tracking_profile(
265 FROM_HERE_WITH_EXPLICIT_FUNCTION(
266 "422516 ShaderDiskReadHelper::OnOpComplete"));
267
268 DCHECK(CalledOnValidThread()); 262 DCHECK(CalledOnValidThread());
269 if (!cache_.get()) 263 if (!cache_.get())
270 return; 264 return;
271 265
272 do { 266 do {
273 switch (op_type_) { 267 switch (op_type_) {
274 case OPEN_NEXT: 268 case OPEN_NEXT:
275 rv = OpenNextEntry(); 269 rv = OpenNextEntry();
276 break; 270 break;
277 case OPEN_NEXT_COMPLETE: 271 case OPEN_NEXT_COMPLETE:
(...skipping 11 matching lines...) Expand all
289 break; 283 break;
290 default: 284 default:
291 NOTREACHED(); // Invalid state for read helper 285 NOTREACHED(); // Invalid state for read helper
292 rv = net::ERR_FAILED; 286 rv = net::ERR_FAILED;
293 break; 287 break;
294 } 288 }
295 } while (rv != net::ERR_IO_PENDING); 289 } while (rv != net::ERR_IO_PENDING);
296 } 290 }
297 291
298 int ShaderDiskReadHelper::OpenNextEntry() { 292 int ShaderDiskReadHelper::OpenNextEntry() {
299 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
300 tracked_objects::ScopedTracker tracking_profile(
301 FROM_HERE_WITH_EXPLICIT_FUNCTION(
302 "422516 ShaderDiskReadHelper::OpenNextEntry"));
303
304 DCHECK(CalledOnValidThread()); 293 DCHECK(CalledOnValidThread());
305 // Called through OnOpComplete, so we know |cache_| is valid. 294 // Called through OnOpComplete, so we know |cache_| is valid.
306 op_type_ = OPEN_NEXT_COMPLETE; 295 op_type_ = OPEN_NEXT_COMPLETE;
307 if (!iter_) 296 if (!iter_)
308 iter_ = cache_->backend()->CreateIterator(); 297 iter_ = cache_->backend()->CreateIterator();
309 return iter_->OpenNextEntry( 298 return iter_->OpenNextEntry(
310 &entry_, base::Bind(&ShaderDiskReadHelper::OnOpComplete, this)); 299 &entry_, base::Bind(&ShaderDiskReadHelper::OnOpComplete, this));
311 } 300 }
312 301
313 int ShaderDiskReadHelper::OpenNextEntryComplete(int rv) { 302 int ShaderDiskReadHelper::OpenNextEntryComplete(int rv) {
314 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
315 tracked_objects::ScopedTracker tracking_profile(
316 FROM_HERE_WITH_EXPLICIT_FUNCTION(
317 "422516 ShaderDiskReadHelper::OpenNextEntryComplete"));
318
319 DCHECK(CalledOnValidThread()); 303 DCHECK(CalledOnValidThread());
320 // Called through OnOpComplete, so we know |cache_| is valid. 304 // Called through OnOpComplete, so we know |cache_| is valid.
321 if (rv == net::ERR_FAILED) { 305 if (rv == net::ERR_FAILED) {
322 iter_.reset(); 306 iter_.reset();
323 op_type_ = ITERATION_FINISHED; 307 op_type_ = ITERATION_FINISHED;
324 return net::OK; 308 return net::OK;
325 } 309 }
326 310
327 if (rv < 0) 311 if (rv < 0)
328 return rv; 312 return rv;
329 313
330 op_type_ = READ_COMPLETE; 314 op_type_ = READ_COMPLETE;
331 buf_ = new net::IOBufferWithSize(entry_->GetDataSize(1)); 315 buf_ = new net::IOBufferWithSize(entry_->GetDataSize(1));
332 return entry_->ReadData( 316 return entry_->ReadData(
333 1, 317 1,
334 0, 318 0,
335 buf_.get(), 319 buf_.get(),
336 buf_->size(), 320 buf_->size(),
337 base::Bind(&ShaderDiskReadHelper::OnOpComplete, this)); 321 base::Bind(&ShaderDiskReadHelper::OnOpComplete, this));
338 } 322 }
339 323
340 int ShaderDiskReadHelper::ReadComplete(int rv) { 324 int ShaderDiskReadHelper::ReadComplete(int rv) {
341 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
342 tracked_objects::ScopedTracker tracking_profile(
343 FROM_HERE_WITH_EXPLICIT_FUNCTION(
344 "422516 ShaderDiskReadHelper::ReadComplete"));
345
346 DCHECK(CalledOnValidThread()); 325 DCHECK(CalledOnValidThread());
347 // Called through OnOpComplete, so we know |cache_| is valid. 326 // Called through OnOpComplete, so we know |cache_| is valid.
348 if (rv && rv == buf_->size()) { 327 if (rv && rv == buf_->size()) {
349 GpuProcessHost* host = GpuProcessHost::FromID(host_id_); 328 GpuProcessHost* host = GpuProcessHost::FromID(host_id_);
350 if (host) 329 if (host)
351 host->LoadedShader(entry_->GetKey(), std::string(buf_->data(), 330 host->LoadedShader(entry_->GetKey(), std::string(buf_->data(),
352 buf_->size())); 331 buf_->size()));
353 } 332 }
354 333
355 buf_ = NULL; 334 buf_ = NULL;
356 entry_->Close(); 335 entry_->Close();
357 entry_ = NULL; 336 entry_ = NULL;
358 337
359 op_type_ = OPEN_NEXT; 338 op_type_ = OPEN_NEXT;
360 return net::OK; 339 return net::OK;
361 } 340 }
362 341
363 int ShaderDiskReadHelper::IterationComplete(int rv) { 342 int ShaderDiskReadHelper::IterationComplete(int rv) {
364 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
365 tracked_objects::ScopedTracker tracking_profile(
366 FROM_HERE_WITH_EXPLICIT_FUNCTION(
367 "422516 ShaderDiskReadHelper::IterationComplete"));
368
369 DCHECK(CalledOnValidThread()); 343 DCHECK(CalledOnValidThread());
370 // Called through OnOpComplete, so we know |cache_| is valid. 344 // Called through OnOpComplete, so we know |cache_| is valid.
371 iter_.reset(); 345 iter_.reset();
372 op_type_ = TERMINATE; 346 op_type_ = TERMINATE;
373 return net::OK; 347 return net::OK;
374 } 348 }
375 349
376 ShaderDiskReadHelper::~ShaderDiskReadHelper() { 350 ShaderDiskReadHelper::~ShaderDiskReadHelper() {
377 if (entry_) { 351 if (entry_) {
378 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, 352 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 const net::CompletionCallback& callback) { 616 const net::CompletionCallback& callback) {
643 if (entry_map_.empty()) { 617 if (entry_map_.empty()) {
644 return net::OK; 618 return net::OK;
645 } 619 }
646 cache_complete_callback_ = callback; 620 cache_complete_callback_ = callback;
647 return net::ERR_IO_PENDING; 621 return net::ERR_IO_PENDING;
648 } 622 }
649 623
650 } // namespace content 624 } // namespace content
651 625
OLDNEW
« no previous file with comments | « content/browser/fileapi/mock_url_request_delegate.cc ('k') | content/browser/loader/power_save_block_resource_throttle.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698