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

Side by Side Diff: content/browser/loader/resource_dispatcher_host_impl.h

Issue 1117923004: Run load state update timer only when needed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cpu
Patch Set: Add comments Created 5 years, 7 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This is the browser side of the resource dispatcher, it receives requests 5 // This is the browser side of the resource dispatcher, it receives requests
6 // from the child process (i.e. [Renderer, Plugin, Worker]ProcessHost), and 6 // from the child process (i.e. [Renderer, Plugin, Worker]ProcessHost), and
7 // dispatches them to URLRequests. It then forwards the messages from the 7 // dispatches them to URLRequests. It then forwards the messages from the
8 // URLRequests back to the correct process for handling. 8 // URLRequests back to the correct process for handling.
9 // 9 //
10 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading 10 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 // specified |id|. 487 // specified |id|.
488 void RegisterResourceMessageDelegate(const GlobalRequestID& id, 488 void RegisterResourceMessageDelegate(const GlobalRequestID& id,
489 ResourceMessageDelegate* delegate); 489 ResourceMessageDelegate* delegate);
490 void UnregisterResourceMessageDelegate(const GlobalRequestID& id, 490 void UnregisterResourceMessageDelegate(const GlobalRequestID& id,
491 ResourceMessageDelegate* delegate); 491 ResourceMessageDelegate* delegate);
492 492
493 int BuildLoadFlagsForRequest(const ResourceHostMsg_Request& request_data, 493 int BuildLoadFlagsForRequest(const ResourceHostMsg_Request& request_data,
494 int child_id, 494 int child_id,
495 bool is_sync_load); 495 bool is_sync_load);
496 496
497 // Schedules UpdateLoadInfo() to be invoked after a delay (for coalescing).
498 // This is only necessary when a page is loading or if there is an upload in
499 // progress. We want to avoid repeatedly calling this when we have a "hanging
500 // get" request like when on a Google Docs document.
501 void ScheduleUpdateLoadInfo();
502
497 LoaderMap pending_loaders_; 503 LoaderMap pending_loaders_;
498 504
499 // Collection of temp files downloaded for child processes via 505 // Collection of temp files downloaded for child processes via
500 // the download_to_file mechanism. We avoid deleting them until 506 // the download_to_file mechanism. We avoid deleting them until
501 // the client no longer needs them. 507 // the client no longer needs them.
502 typedef std::map<int, scoped_refptr<storage::ShareableFileReference> > 508 typedef std::map<int, scoped_refptr<storage::ShareableFileReference> >
503 DeletableFilesMap; // key is request id 509 DeletableFilesMap; // key is request id
504 typedef std::map<int, DeletableFilesMap> 510 typedef std::map<int, DeletableFilesMap>
505 RegisteredTempFiles; // key is child process id 511 RegisteredTempFiles; // key is child process id
506 RegisteredTempFiles registered_temp_files_; 512 RegisteredTempFiles registered_temp_files_;
507 513
508 // A timer that periodically calls UpdateLoadStates while pending_requests_ 514 // A timer for scheduling a call to UpdateLoadInfo after a delay.
509 // is not empty. 515 scoped_ptr<base::OneShotTimer<ResourceDispatcherHostImpl> >
510 scoped_ptr<base::RepeatingTimer<ResourceDispatcherHostImpl> >
511 update_load_states_timer_; 516 update_load_states_timer_;
512 517
513 // We own the save file manager. 518 // We own the save file manager.
514 scoped_refptr<SaveFileManager> save_file_manager_; 519 scoped_refptr<SaveFileManager> save_file_manager_;
515 520
516 // Request ID for browser initiated requests. request_ids generated by 521 // Request ID for browser initiated requests. request_ids generated by
517 // child processes are counted up from 0, while browser created requests 522 // child processes are counted up from 0, while browser created requests
518 // start at -2 and go down from there. (We need to start at -2 because -1 is 523 // start at -2 and go down from there. (We need to start at -2 because -1 is
519 // used as a special value all over the resource_dispatcher_host for 524 // used as a special value all over the resource_dispatcher_host for
520 // uninitialized variables.) This way, we no longer have the unlikely (but 525 // uninitialized variables.) This way, we no longer have the unlikely (but
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 DelegateMap delegate_map_; 586 DelegateMap delegate_map_;
582 587
583 scoped_ptr<ResourceScheduler> scheduler_; 588 scoped_ptr<ResourceScheduler> scheduler_;
584 589
585 DISALLOW_COPY_AND_ASSIGN(ResourceDispatcherHostImpl); 590 DISALLOW_COPY_AND_ASSIGN(ResourceDispatcherHostImpl);
586 }; 591 };
587 592
588 } // namespace content 593 } // namespace content
589 594
590 #endif // CONTENT_BROWSER_LOADER_RESOURCE_DISPATCHER_HOST_IMPL_H_ 595 #endif // CONTENT_BROWSER_LOADER_RESOURCE_DISPATCHER_HOST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698