 Chromium Code Reviews
 Chromium Code Reviews Issue 297973002:
  Navigation transitions: Block first response until after transitions have run.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 297973002:
  Navigation transitions: Block first response until after transitions have run.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: content/browser/web_contents/web_contents_impl.h | 
| diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h | 
| index 8278efbefb179207529d871450e75c25602ab472..b35024a9d5909c20f2c1feedabfc8efd8730231d 100644 | 
| --- a/content/browser/web_contents/web_contents_impl.h | 
| +++ b/content/browser/web_contents/web_contents_impl.h | 
| @@ -328,6 +328,8 @@ class CONTENT_EXPORT WebContentsImpl | 
| virtual void DidStartLoading(RenderFrameHost* render_frame_host, | 
| bool to_different_document) OVERRIDE; | 
| virtual void SwappedOut(RenderFrameHost* render_frame_host) OVERRIDE; | 
| + virtual void DidDeferAfterResponseStarted() OVERRIDE; | 
| + virtual bool WillHandleDeferAfterResponseStarted() OVERRIDE; | 
| virtual void WorkerCrashed(RenderFrameHost* render_frame_host) OVERRIDE; | 
| virtual void ShowContextMenu(RenderFrameHost* render_frame_host, | 
| const ContextMenuParams& params) OVERRIDE; | 
| @@ -625,6 +627,22 @@ class CONTENT_EXPORT WebContentsImpl | 
| // currently focused frame. | 
| void SelectRange(const gfx::Point& start, const gfx::Point& end); | 
| + // Notifies the TransitionRequestManager that the main frame navigation is | 
| + // a transition navigation. | 
| + void SetHasPendingTransitionRequest(bool has_pending_transition); | 
| + | 
| + // Notifies the main frame that it can continue navigation (if it was deferred | 
| + // immediately at first response). | 
| + void ResumeResponseDeferredAtStart(); | 
| + | 
| + typedef base::Callback<void()> DidDeferCallback; | 
| + | 
| + // Callback to be used when the WebContentsImpl handles a navigation | 
| + // transition. | 
| + void set_did_defer_callback_for_testing(const DidDeferCallback& callback) { | 
| + did_defer_callback_for_testing_ = callback; | 
| 
shatch
2014/06/14 00:41:37
Wanted a way to get a callback for the browsertest
 | 
| + } | 
| + | 
| private: | 
| friend class TestNavigationObserver; | 
| friend class WebContentsAddedObserver; | 
| @@ -1128,6 +1146,8 @@ class CONTENT_EXPORT WebContentsImpl | 
| // Whether the last JavaScript dialog shown was suppressed. Used for testing. | 
| bool last_dialog_suppressed_; | 
| + DidDeferCallback did_defer_callback_for_testing_; | 
| + | 
| scoped_ptr<GeolocationDispatcherHost> geolocation_dispatcher_host_; | 
| DISALLOW_COPY_AND_ASSIGN(WebContentsImpl); |