| Index: chrome/browser/net/resource_prefetch_predictor_observer.h
|
| diff --git a/chrome/browser/net/resource_prefetch_predictor_observer.h b/chrome/browser/net/resource_prefetch_predictor_observer.h
|
| index 9bd1694b6961bab67e1b01823ff3a9cc58faaa72..4801540ce9be4e4b8c414fd8be20e694a61fae84 100644
|
| --- a/chrome/browser/net/resource_prefetch_predictor_observer.h
|
| +++ b/chrome/browser/net/resource_prefetch_predictor_observer.h
|
| @@ -5,9 +5,12 @@
|
| #ifndef CHROME_BROWSER_NET_RESOURCE_PREFETCH_PREDICTOR_OBSERVER_H_
|
| #define CHROME_BROWSER_NET_RESOURCE_PREFETCH_PREDICTOR_OBSERVER_H_
|
|
|
| +#include <memory>
|
| +
|
| #include "base/macros.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "chrome/browser/predictors/resource_prefetch_predictor.h"
|
| +#include "content/public/browser/resource_request_info.h"
|
| #include "content/public/common/resource_type.h"
|
|
|
| namespace net {
|
| @@ -22,8 +25,9 @@ namespace chrome_browser_net {
|
| // the ResourcePrefetchPredictor about the ones it is interested in.
|
| // - Has an instance per profile, and is owned by the corresponding
|
| // ProfileIOData.
|
| -// - Needs to be constructed on UI thread. Rest of the functions can only be
|
| -// called on the IO thread. Can be destroyed on UI or IO thread.
|
| +// - Needs to be constructed on UI thread. Can be destroyed on UI or IO thread.
|
| +// As for member functions, public members are meant to be called on the IO
|
| +// thread and private members from the UI thread.
|
| class ResourcePrefetchPredictorObserver {
|
| public:
|
| explicit ResourcePrefetchPredictorObserver(
|
| @@ -33,12 +37,40 @@ class ResourcePrefetchPredictorObserver {
|
| // Parts of the ResourceDispatcherHostDelegate that we want to observe.
|
| void OnRequestStarted(net::URLRequest* request,
|
| content::ResourceType resource_type,
|
| - int child_id,
|
| - int frame_id);
|
| - void OnRequestRedirected(const GURL& redirect_url, net::URLRequest* request);
|
| - void OnResponseStarted(net::URLRequest* request);
|
| + const content::ResourceRequestInfo::WebContentsGetter&
|
| + web_contents_getter);
|
| + void OnRequestRedirected(
|
| + net::URLRequest* request,
|
| + const GURL& redirect_url,
|
| + const content::ResourceRequestInfo::WebContentsGetter&
|
| + web_contents_getter);
|
| + void OnResponseStarted(net::URLRequest* request,
|
| + const content::ResourceRequestInfo::WebContentsGetter&
|
| + web_contents_getter);
|
|
|
| private:
|
| + void OnRequestStartedOnUIThread(
|
| + std::unique_ptr<predictors::ResourcePrefetchPredictor::URLRequestSummary>
|
| + summary,
|
| + const content::ResourceRequestInfo::WebContentsGetter&
|
| + web_contents_getter,
|
| + const GURL& main_frame_url,
|
| + const base::TimeTicks& creation_time) const;
|
| + void OnRequestRedirectedOnUIThread(
|
| + std::unique_ptr<predictors::ResourcePrefetchPredictor::URLRequestSummary>
|
| + summary,
|
| + const content::ResourceRequestInfo::WebContentsGetter&
|
| + web_contents_getter,
|
| + const GURL& main_frame_url,
|
| + const base::TimeTicks& creation_time) const;
|
| + void OnResponseStartedOnUIThread(
|
| + std::unique_ptr<predictors::ResourcePrefetchPredictor::URLRequestSummary>
|
| + summary,
|
| + const content::ResourceRequestInfo::WebContentsGetter&
|
| + web_contents_getter,
|
| + const GURL& main_frame_url,
|
| + const base::TimeTicks& creation_time) const;
|
| +
|
| // Owned by profile.
|
| base::WeakPtr<predictors::ResourcePrefetchPredictor> predictor_;
|
|
|
|
|