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

Side by Side Diff: content/browser/web_contents/web_contents_impl.h

Issue 297973002: Navigation transitions: Block first response until after transitions have run. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes from review. Created 6 years, 6 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 CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ 5 #ifndef CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_
6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ 6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 321
322 // RenderFrameHostDelegate --------------------------------------------------- 322 // RenderFrameHostDelegate ---------------------------------------------------
323 virtual bool OnMessageReceived(RenderFrameHost* render_frame_host, 323 virtual bool OnMessageReceived(RenderFrameHost* render_frame_host,
324 const IPC::Message& message) OVERRIDE; 324 const IPC::Message& message) OVERRIDE;
325 virtual const GURL& GetMainFrameLastCommittedURL() const OVERRIDE; 325 virtual const GURL& GetMainFrameLastCommittedURL() const OVERRIDE;
326 virtual void RenderFrameCreated(RenderFrameHost* render_frame_host) OVERRIDE; 326 virtual void RenderFrameCreated(RenderFrameHost* render_frame_host) OVERRIDE;
327 virtual void RenderFrameDeleted(RenderFrameHost* render_frame_host) OVERRIDE; 327 virtual void RenderFrameDeleted(RenderFrameHost* render_frame_host) OVERRIDE;
328 virtual void DidStartLoading(RenderFrameHost* render_frame_host, 328 virtual void DidStartLoading(RenderFrameHost* render_frame_host,
329 bool to_different_document) OVERRIDE; 329 bool to_different_document) OVERRIDE;
330 virtual void SwappedOut(RenderFrameHost* render_frame_host) OVERRIDE; 330 virtual void SwappedOut(RenderFrameHost* render_frame_host) OVERRIDE;
331 virtual void DidDeferAfterResponseStarted() OVERRIDE;
331 virtual void WorkerCrashed(RenderFrameHost* render_frame_host) OVERRIDE; 332 virtual void WorkerCrashed(RenderFrameHost* render_frame_host) OVERRIDE;
332 virtual void ShowContextMenu(RenderFrameHost* render_frame_host, 333 virtual void ShowContextMenu(RenderFrameHost* render_frame_host,
333 const ContextMenuParams& params) OVERRIDE; 334 const ContextMenuParams& params) OVERRIDE;
334 virtual void RunJavaScriptMessage(RenderFrameHost* render_frame_host, 335 virtual void RunJavaScriptMessage(RenderFrameHost* render_frame_host,
335 const base::string16& message, 336 const base::string16& message,
336 const base::string16& default_prompt, 337 const base::string16& default_prompt,
337 const GURL& frame_url, 338 const GURL& frame_url,
338 JavaScriptMessageType type, 339 JavaScriptMessageType type,
339 IPC::Message* reply_msg) OVERRIDE; 340 IPC::Message* reply_msg) OVERRIDE;
340 virtual void RunBeforeUnloadConfirm(RenderFrameHost* render_frame_host, 341 virtual void RunBeforeUnloadConfirm(RenderFrameHost* render_frame_host,
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
618 bool is_loading, 619 bool is_loading,
619 bool to_different_document, 620 bool to_different_document,
620 LoadNotificationDetails* details) OVERRIDE; 621 LoadNotificationDetails* details) OVERRIDE;
621 622
622 typedef base::Callback<void(WebContents*)> CreatedCallback; 623 typedef base::Callback<void(WebContents*)> CreatedCallback;
623 624
624 // Requests the renderer to select the region between two points in the 625 // Requests the renderer to select the region between two points in the
625 // currently focused frame. 626 // currently focused frame.
626 void SelectRange(const gfx::Point& start, const gfx::Point& end); 627 void SelectRange(const gfx::Point& start, const gfx::Point& end);
627 628
629 // Notifies the TransitionRequestManager that the main frame navigation is
630 // a transition navigation.
631 void SetHasPendingTransitionRequest(bool has_pending_transition);
632
633 // Notifies the main frame that it can continue navigation (if it was deferred
634 // immediately at first response).
635 void ResumeResponseDeferredAtStart();
636
628 private: 637 private:
629 friend class TestNavigationObserver; 638 friend class TestNavigationObserver;
630 friend class WebContentsAddedObserver; 639 friend class WebContentsAddedObserver;
631 friend class WebContentsObserver; 640 friend class WebContentsObserver;
632 friend class WebContents; // To implement factory methods. 641 friend class WebContents; // To implement factory methods.
633 642
634 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, NoJSMessageOnInterstitials); 643 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, NoJSMessageOnInterstitials);
635 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, UpdateTitle); 644 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, UpdateTitle);
636 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, FindOpenerRVHWhenPending); 645 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, FindOpenerRVHWhenPending);
637 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, 646 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest,
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
1129 bool last_dialog_suppressed_; 1138 bool last_dialog_suppressed_;
1130 1139
1131 scoped_ptr<GeolocationDispatcherHost> geolocation_dispatcher_host_; 1140 scoped_ptr<GeolocationDispatcherHost> geolocation_dispatcher_host_;
1132 1141
1133 DISALLOW_COPY_AND_ASSIGN(WebContentsImpl); 1142 DISALLOW_COPY_AND_ASSIGN(WebContentsImpl);
1134 }; 1143 };
1135 1144
1136 } // namespace content 1145 } // namespace content
1137 1146
1138 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ 1147 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698