DescriptionResourceScheduler: remove dependency on ResourceRequestInfo and request_id
For async revalidations to work independently of
ResourceDispatcherHostImpl after creation, it is necessary that they
have no ResourceRequestInfoImpl objects attached to them.
However, we still need ResourceScheduler to be able to schedule these
requests.
This CL makes ScheduledResourceRequest a public interface which is
returned by ResourceScheduler::ScheduleResource(). The code to handle
ResourceHostMsg_DidChangePriority is now inside
ResourceDispatcherHostImpl instead of being delegated to
ResourceMessageDelegates.
A pointer to the ScheduledResourceRequest is attached to the URLRequest
so that ResourceDispatcherHostImpl can retrieve it when a
DidChangePriority message is received.
BUG=348877
TEST=content_unittests
Committed: https://crrev.com/6e001fc816a85f6815e286398e870b8e86e09703
Cr-Commit-Position: refs/heads/master@{#343442}
Patch Set 1 #Patch Set 2 : Fix tests. #
Total comments: 8
Patch Set 3 : Add test that DidChangePriority messages work. #Patch Set 4 : Remove ScheduledResourceRequest pointer from ResourceRequestInfoImpl. #Patch Set 5 : Minor fixes. #
Total comments: 13
Patch Set 6 : Changes suggested by davidben@ #
Total comments: 8
Patch Set 7 : Make ResourceScheduler::ReprioritizeRequest public and take a URLRequest. #Patch Set 8 : Rename resource_throttle variables back to throttle. #
Total comments: 2
Patch Set 9 : DCHECK that there isn't an existing ScheduledResourceRequest attached to the URLRequest. #
Messages
Total messages: 17 (4 generated)
|