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

Unified Diff: chrome/browser/net/resource_prefetch_predictor_observer.h

Issue 2545943003: Accessing navigation information via webcontents (Closed)
Patch Set: Post-Review Modifications #2 Created 4 years 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 side-by-side diff with in-line comments
Download patch
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..01fdbc754a9241b87f09e7b1b04c673303a24cfe 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(
@@ -31,14 +35,44 @@ class ResourcePrefetchPredictorObserver {
~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);
+ void OnRequestStarted(
+ net::URLRequest* request,
+ content::ResourceType resource_type,
+ 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_;

Powered by Google App Engine
This is Rietveld 408576698