ResourceScheduler: 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

Review URL: https://codereview.chromium.org/1285863003

Cr-Commit-Position: refs/heads/master@{#343442}
6 files changed