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

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

Issue 133073021: Pass DomContentLoaded event from prerenders to launching elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed the test. Created 6 years, 10 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_CONTENTS_H_ 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_
6 #define CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_ 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_
7 7
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 }; 71 };
72 72
73 class Observer { 73 class Observer {
74 public: 74 public:
75 // Signals that the prerender has started running. 75 // Signals that the prerender has started running.
76 virtual void OnPrerenderStart(PrerenderContents* contents) = 0; 76 virtual void OnPrerenderStart(PrerenderContents* contents) = 0;
77 77
78 // Signals that the prerender has had its load event. 78 // Signals that the prerender has had its load event.
79 virtual void OnPrerenderStopLoading(PrerenderContents* contents); 79 virtual void OnPrerenderStopLoading(PrerenderContents* contents);
80 80
81 // Signals that the prerender has had its 'DOMContentLoaded' event.
82 virtual void OnPrerenderDomContentLoaded(PrerenderContents* contents);
83
81 // Signals that the prerender has stopped running. A PrerenderContents with 84 // Signals that the prerender has stopped running. A PrerenderContents with
82 // an unset final status will always call OnPrerenderStop before being 85 // an unset final status will always call OnPrerenderStop before being
83 // destroyed. 86 // destroyed.
84 virtual void OnPrerenderStop(PrerenderContents* contents) = 0; 87 virtual void OnPrerenderStop(PrerenderContents* contents) = 0;
85 88
86 // Signals that this prerender has just become a MatchComplete replacement. 89 // Signals that this prerender has just become a MatchComplete replacement.
87 virtual void OnPrerenderCreatedMatchCompleteReplacement( 90 virtual void OnPrerenderCreatedMatchCompleteReplacement(
88 PrerenderContents* contents, PrerenderContents* replacement); 91 PrerenderContents* contents, PrerenderContents* replacement);
89 92
90 protected: 93 protected:
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 // |url| and |session_storage_namespace|. 198 // |url| and |session_storage_namespace|.
196 bool Matches( 199 bool Matches(
197 const GURL& url, 200 const GURL& url,
198 const content::SessionStorageNamespace* session_storage_namespace) const; 201 const content::SessionStorageNamespace* session_storage_namespace) const;
199 202
200 // content::WebContentsObserver implementation. 203 // content::WebContentsObserver implementation.
201 virtual void RenderFrameCreated( 204 virtual void RenderFrameCreated(
202 content::RenderFrameHost* render_frame_host) OVERRIDE; 205 content::RenderFrameHost* render_frame_host) OVERRIDE;
203 virtual void DidStopLoading( 206 virtual void DidStopLoading(
204 content::RenderViewHost* render_view_host) OVERRIDE; 207 content::RenderViewHost* render_view_host) OVERRIDE;
208 virtual void DocumentLoadedInFrame(
209 int64 frame_id, content::RenderViewHost* render_view_host) OVERRIDE;
205 virtual void DidStartProvisionalLoadForFrame( 210 virtual void DidStartProvisionalLoadForFrame(
206 int64 frame_id, 211 int64 frame_id,
207 int64 parent_frame_id, 212 int64 parent_frame_id,
208 bool is_main_frame, 213 bool is_main_frame,
209 const GURL& validated_url, 214 const GURL& validated_url,
210 bool is_error_page, 215 bool is_error_page,
211 bool is_iframe_srcdoc, 216 bool is_iframe_srcdoc,
212 content::RenderViewHost* render_view_host) OVERRIDE; 217 content::RenderViewHost* render_view_host) OVERRIDE;
213 virtual void DidFinishLoad( 218 virtual void DidFinishLoad(
214 int64 frame_id, 219 int64 frame_id,
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 310
306 // Set the final status for how the PrerenderContents was used. This 311 // Set the final status for how the PrerenderContents was used. This
307 // should only be called once, and should be called before the prerender 312 // should only be called once, and should be called before the prerender
308 // contents are destroyed. 313 // contents are destroyed.
309 void SetFinalStatus(FinalStatus final_status); 314 void SetFinalStatus(FinalStatus final_status);
310 315
311 // These call out to methods on our Observers, using our observer_list_. Note 316 // These call out to methods on our Observers, using our observer_list_. Note
312 // that NotifyPrerenderStop() also clears the observer list. 317 // that NotifyPrerenderStop() also clears the observer list.
313 void NotifyPrerenderStart(); 318 void NotifyPrerenderStart();
314 void NotifyPrerenderStopLoading(); 319 void NotifyPrerenderStopLoading();
320 void NotifyPrerenderDomContentLoaded();
315 void NotifyPrerenderStop(); 321 void NotifyPrerenderStop();
316 void NotifyPrerenderCreatedMatchCompleteReplacement( 322 void NotifyPrerenderCreatedMatchCompleteReplacement(
317 PrerenderContents* replacement); 323 PrerenderContents* replacement);
318 324
319 // Called whenever a RenderViewHost is created for prerendering. Only called 325 // Called whenever a RenderViewHost is created for prerendering. Only called
320 // once the RenderViewHost has a RenderView and RenderWidgetHostView. 326 // once the RenderViewHost has a RenderView and RenderWidgetHostView.
321 virtual void OnRenderViewHostCreated( 327 virtual void OnRenderViewHostCreated(
322 content::RenderViewHost* new_render_view_host); 328 content::RenderViewHost* new_render_view_host);
323 329
324 content::NotificationRegistrar& notification_registrar() { 330 content::NotificationRegistrar& notification_registrar() {
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 // Resources that are throttled, pending a prerender use. Can only access a 455 // Resources that are throttled, pending a prerender use. Can only access a
450 // throttle on the IO thread. 456 // throttle on the IO thread.
451 std::vector<base::WeakPtr<PrerenderResourceThrottle> > resource_throttles_; 457 std::vector<base::WeakPtr<PrerenderResourceThrottle> > resource_throttles_;
452 458
453 DISALLOW_COPY_AND_ASSIGN(PrerenderContents); 459 DISALLOW_COPY_AND_ASSIGN(PrerenderContents);
454 }; 460 };
455 461
456 } // namespace prerender 462 } // namespace prerender
457 463
458 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_ 464 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698