Chromium Code Reviews| Index: content/browser/frame_host/render_frame_host_impl.h |
| diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h |
| index ae2bfccdee8ab421771f1e479b43f6be583a0a0c..fd4505bed45df5077206dbfb11bfc0b37f17be93 100644 |
| --- a/content/browser/frame_host/render_frame_host_impl.h |
| +++ b/content/browser/frame_host/render_frame_host_impl.h |
| @@ -431,6 +431,10 @@ class CONTENT_EXPORT RenderFrameHostImpl |
| // frame is the main frame. |
| bool ShouldDispatchBeforeUnload(); |
| + // Returns true if the frame or any of its descendents have an onunload |
| + // handler. |
| + bool ShouldDispatchUnload(); |
|
nasko
2017/03/29 23:31:26
Since there is no dispatching of unload handler ha
jam
2017/03/30 14:53:22
Done.
|
| + |
| // Update the frame's opener in the renderer process in response to the |
| // opener being modified (e.g., with window.open or being set to null) in |
| // another renderer process. |
| @@ -763,6 +767,8 @@ class CONTENT_EXPORT RenderFrameHostImpl |
| base::string16 text, |
| base::string16 html); |
| void OnToggleFullscreen(bool enter_fullscreen); |
| + void OnBeforeUnloadHandlersPresent(bool present); |
| + void OnUnloadHandlersPresent(bool present); |
| void OnDidStartLoading(bool to_different_document); |
| void OnDidStopLoading(); |
| void OnDidChangeLoadProgress(double load_progress); |
| @@ -994,6 +1000,10 @@ class CONTENT_EXPORT RenderFrameHostImpl |
| // When the last BeforeUnload message was sent. |
| base::TimeTicks send_before_unload_start_time_; |
| + // Used to track whether the frame has onbeforeunload and onunload handlers |
| + bool has_beforeunload_handlers_; |
| + bool has_unload_handlers_; |
| + |
| // Set to true when there is a pending FrameMsg_BeforeUnload message. This |
| // ensures we don't spam the renderer with multiple beforeunload requests. |
| // When either this value or IsWaitingForUnloadACK is true, the value of |