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

Side by Side Diff: chrome/browser/prerender/prerender_tab_helper.h

Issue 1077433002: Remove PrerenderLocalPredictor, part 1. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 8 months 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_TAB_HELPER_H_ 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_TAB_HELPER_H_
6 #define CHROME_BROWSER_PRERENDER_PRERENDER_TAB_HELPER_H_ 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_TAB_HELPER_H_
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 14 matching lines...) Expand all
25 namespace prerender { 25 namespace prerender {
26 26
27 class PrerenderManager; 27 class PrerenderManager;
28 28
29 // PrerenderTabHelper is responsible for recording perceived pageload times 29 // PrerenderTabHelper is responsible for recording perceived pageload times
30 // to compare PLT's with prerendering enabled and disabled. 30 // to compare PLT's with prerendering enabled and disabled.
31 class PrerenderTabHelper 31 class PrerenderTabHelper
32 : public content::WebContentsObserver, 32 : public content::WebContentsObserver,
33 public content::WebContentsUserData<PrerenderTabHelper> { 33 public content::WebContentsUserData<PrerenderTabHelper> {
34 public: 34 public:
35 enum Event {
36 EVENT_LOGGED_IN_TABLE_REQUESTED = 0,
37 EVENT_LOGGED_IN_TABLE_PRESENT = 1,
38 EVENT_MAINFRAME_CHANGE = 2,
39 EVENT_MAINFRAME_CHANGE_DOMAIN_LOGGED_IN = 3,
40 EVENT_MAINFRAME_COMMIT = 4,
41 EVENT_MAINFRAME_COMMIT_DOMAIN_LOGGED_IN = 5,
42 EVENT_LOGIN_ACTION_ADDED = 6,
43 EVENT_LOGIN_ACTION_ADDED_PW_EMPTY = 7,
44 EVENT_MAX_VALUE
45 };
46
47 ~PrerenderTabHelper() override; 35 ~PrerenderTabHelper() override;
48 36
49 // content::WebContentsObserver implementation. 37 // content::WebContentsObserver implementation.
50 void DidGetRedirectForResourceRequest( 38 void DidGetRedirectForResourceRequest(
51 content::RenderFrameHost* render_frame_host, 39 content::RenderFrameHost* render_frame_host,
52 const content::ResourceRedirectDetails& details) override; 40 const content::ResourceRedirectDetails& details) override;
53 void DidStopLoading() override; 41 void DidStopLoading() override;
54 void DidStartProvisionalLoadForFrame( 42 void DidStartProvisionalLoadForFrame(
55 content::RenderFrameHost* render_frame_host, 43 content::RenderFrameHost* render_frame_host,
56 const GURL& validated_url, 44 const GURL& validated_url,
57 bool is_error_page, 45 bool is_error_page,
58 bool is_iframe_srcdoc) override; 46 bool is_iframe_srcdoc) override;
59 void DidCommitProvisionalLoadForFrame( 47 void DidCommitProvisionalLoadForFrame(
60 content::RenderFrameHost* render_frame_host, 48 content::RenderFrameHost* render_frame_host,
61 const GURL& validated_url, 49 const GURL& validated_url,
62 ui::PageTransition transition_type) override; 50 ui::PageTransition transition_type) override;
63 51
64 // Called when the URL of the main frame changed, either when the load 52 // Called when the URL of the main frame changed, either when the load
65 // commits, or a redirect happens. 53 // commits, or a redirect happens.
66 void MainFrameUrlDidChange(const GURL& url); 54 void MainFrameUrlDidChange(const GURL& url);
67 55
68 // Called when a password form has been submitted.
69 void PasswordSubmitted(const autofill::PasswordForm& form);
70
71 // Called when this prerendered WebContents has just been swapped in. 56 // Called when this prerendered WebContents has just been swapped in.
72 void PrerenderSwappedIn(); 57 void PrerenderSwappedIn();
73 58
74 // Called when a control prerender is resolved. Applies to the next load. 59 // Called when a control prerender is resolved. Applies to the next load.
75 void WouldHavePrerenderedNextLoad(Origin origin); 60 void WouldHavePrerenderedNextLoad(Origin origin);
76 61
77 private: 62 private:
78 explicit PrerenderTabHelper(content::WebContents* web_contents); 63 explicit PrerenderTabHelper(content::WebContents* web_contents);
79 friend class content::WebContentsUserData<PrerenderTabHelper>; 64 friend class content::WebContentsUserData<PrerenderTabHelper>;
80 65
81 void RecordEvent(Event event) const;
82 void RecordEventIfLoggedInURL(Event event, const GURL& url);
83 void RecordEventIfLoggedInURLResult(Event event, scoped_ptr<bool> is_present,
84 scoped_ptr<bool> lookup_succeeded);
85
86 void RecordPerceivedPageLoadTime( 66 void RecordPerceivedPageLoadTime(
87 base::TimeDelta perceived_page_load_time, 67 base::TimeDelta perceived_page_load_time,
88 double fraction_plt_elapsed_at_swap_in); 68 double fraction_plt_elapsed_at_swap_in);
89 69
90 // Retrieves the PrerenderManager, or NULL, if none was found. 70 // Retrieves the PrerenderManager, or NULL, if none was found.
91 PrerenderManager* MaybeGetPrerenderManager() const; 71 PrerenderManager* MaybeGetPrerenderManager() const;
92 72
93 // Returns whether the WebContents being observed is currently prerendering. 73 // Returns whether the WebContents being observed is currently prerendering.
94 bool IsPrerendering(); 74 bool IsPrerendering();
95 75
(...skipping 27 matching lines...) Expand all
123 GURL url_; 103 GURL url_;
124 104
125 base::WeakPtrFactory<PrerenderTabHelper> weak_factory_; 105 base::WeakPtrFactory<PrerenderTabHelper> weak_factory_;
126 106
127 DISALLOW_COPY_AND_ASSIGN(PrerenderTabHelper); 107 DISALLOW_COPY_AND_ASSIGN(PrerenderTabHelper);
128 }; 108 };
129 109
130 } // namespace prerender 110 } // namespace prerender
131 111
132 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_TAB_HELPER_H_ 112 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_TAB_HELPER_H_
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_origin.h ('k') | chrome/browser/prerender/prerender_tab_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698