11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file.
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TAB_HELPER_H_
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TAB_HELPER_H_
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "content/public/browser/web_contents_observer.h"
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "content/public/browser/web_contents_user_data.h"
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace predictors {
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass ResourcePrefetchPredictorTabHelper
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    : public content::WebContentsObserver,
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      public content::WebContentsUserData<ResourcePrefetchPredictorTabHelper> {
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci public:
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual ~ResourcePrefetchPredictorTabHelper();
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // content::WebContentsObserver implementation
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual void DocumentOnLoadCompletedInMainFrame() OVERRIDE;
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual void DidLoadResourceFromMemoryCache(
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const content::LoadFromMemoryCacheDetails& details) OVERRIDE;
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci private:
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  explicit ResourcePrefetchPredictorTabHelper(
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      content::WebContents* web_contents);
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  friend class content::WebContentsUserData<ResourcePrefetchPredictorTabHelper>;
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  DISALLOW_COPY_AND_ASSIGN(ResourcePrefetchPredictorTabHelper);
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci};
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}  // namespace predictors
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif  // CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TAB_HELPER_H_
35