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

Side by Side Diff: content/browser/frame_host/render_frame_host_impl.h

Issue 2812743002: Revert of Keep track in the browser of which frames have onunload and onbeforeunload handlers. (Closed)
Patch Set: manual merge Created 3 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 void DispatchBeforeUnload(bool for_navigation, bool is_reload); 425 void DispatchBeforeUnload(bool for_navigation, bool is_reload);
426 426
427 // Simulate beforeunload ack on behalf of renderer if it's unrenresponsive. 427 // Simulate beforeunload ack on behalf of renderer if it's unrenresponsive.
428 void SimulateBeforeUnloadAck(); 428 void SimulateBeforeUnloadAck();
429 429
430 // Returns true if a call to DispatchBeforeUnload will actually send the 430 // Returns true if a call to DispatchBeforeUnload will actually send the
431 // BeforeUnload IPC. This is the case if the current renderer is live and this 431 // BeforeUnload IPC. This is the case if the current renderer is live and this
432 // frame is the main frame. 432 // frame is the main frame.
433 bool ShouldDispatchBeforeUnload(); 433 bool ShouldDispatchBeforeUnload();
434 434
435 // Returns true if the frame or any of its descendents have an onunload
436 // handler.
437 bool ShouldDispatchUnload();
438
439 // Update the frame's opener in the renderer process in response to the 435 // Update the frame's opener in the renderer process in response to the
440 // opener being modified (e.g., with window.open or being set to null) in 436 // opener being modified (e.g., with window.open or being set to null) in
441 // another renderer process. 437 // another renderer process.
442 void UpdateOpener(); 438 void UpdateOpener();
443 439
444 // Set this frame as focused in the renderer process. This supports 440 // Set this frame as focused in the renderer process. This supports
445 // cross-process window.focus() calls. 441 // cross-process window.focus() calls.
446 void SetFocusedFrame(); 442 void SetFocusedFrame();
447 443
448 // Continues sequential focus navigation in this frame. |source_proxy| 444 // Continues sequential focus navigation in this frame. |source_proxy|
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 void OnAccessibilityChildFrameHitTestResult(const gfx::Point& point, 754 void OnAccessibilityChildFrameHitTestResult(const gfx::Point& point,
759 int hit_obj_id, 755 int hit_obj_id,
760 ui::AXEvent event_to_fire); 756 ui::AXEvent event_to_fire);
761 void OnAccessibilitySnapshotResponse( 757 void OnAccessibilitySnapshotResponse(
762 int callback_id, 758 int callback_id,
763 const AXContentTreeUpdate& snapshot); 759 const AXContentTreeUpdate& snapshot);
764 void OnSmartClipDataExtracted(uint32_t id, 760 void OnSmartClipDataExtracted(uint32_t id,
765 base::string16 text, 761 base::string16 text,
766 base::string16 html); 762 base::string16 html);
767 void OnToggleFullscreen(bool enter_fullscreen); 763 void OnToggleFullscreen(bool enter_fullscreen);
768 void OnBeforeUnloadHandlersPresent(bool present);
769 void OnUnloadHandlersPresent(bool present);
770 void OnDidStartLoading(bool to_different_document); 764 void OnDidStartLoading(bool to_different_document);
771 void OnDidStopLoading(); 765 void OnDidStopLoading();
772 void OnDidChangeLoadProgress(double load_progress); 766 void OnDidChangeLoadProgress(double load_progress);
773 void OnSerializeAsMHTMLResponse( 767 void OnSerializeAsMHTMLResponse(
774 int job_id, 768 int job_id,
775 MhtmlSaveStatus save_status, 769 MhtmlSaveStatus save_status,
776 const std::set<std::string>& digests_of_uris_of_serialized_resources, 770 const std::set<std::string>& digests_of_uris_of_serialized_resources,
777 base::TimeDelta renderer_main_thread_time); 771 base::TimeDelta renderer_main_thread_time);
778 void OnSelectionChanged(const base::string16& text, 772 void OnSelectionChanged(const base::string16& text,
779 uint32_t offset, 773 uint32_t offset,
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 // this RFH is the pending RenderFrameHost of a RenderFrameHostManager. There 987 // this RFH is the pending RenderFrameHost of a RenderFrameHostManager. There
994 // will only ever be one suspended navigation, because RenderFrameHostManager 988 // will only ever be one suspended navigation, because RenderFrameHostManager
995 // will destroy the pending RenderFrameHost and create a new one if a second 989 // will destroy the pending RenderFrameHost and create a new one if a second
996 // navigation occurs. 990 // navigation occurs.
997 // PlzNavigate: unused as navigations are never suspended. 991 // PlzNavigate: unused as navigations are never suspended.
998 std::unique_ptr<NavigationParams> suspended_nav_params_; 992 std::unique_ptr<NavigationParams> suspended_nav_params_;
999 993
1000 // When the last BeforeUnload message was sent. 994 // When the last BeforeUnload message was sent.
1001 base::TimeTicks send_before_unload_start_time_; 995 base::TimeTicks send_before_unload_start_time_;
1002 996
1003 // Used to track whether the frame has onbeforeunload and onunload handlers
1004 bool has_beforeunload_handlers_;
1005 bool has_unload_handlers_;
1006
1007 // Set to true when there is a pending FrameMsg_BeforeUnload message. This 997 // Set to true when there is a pending FrameMsg_BeforeUnload message. This
1008 // ensures we don't spam the renderer with multiple beforeunload requests. 998 // ensures we don't spam the renderer with multiple beforeunload requests.
1009 // When either this value or IsWaitingForUnloadACK is true, the value of 999 // When either this value or IsWaitingForUnloadACK is true, the value of
1010 // unload_ack_is_for_cross_site_transition_ indicates whether this is for a 1000 // unload_ack_is_for_cross_site_transition_ indicates whether this is for a
1011 // cross-site transition or a tab close attempt. 1001 // cross-site transition or a tab close attempt.
1012 // TODO(clamy): Remove this boolean and add one more state to the state 1002 // TODO(clamy): Remove this boolean and add one more state to the state
1013 // machine. 1003 // machine.
1014 bool is_waiting_for_beforeunload_ack_; 1004 bool is_waiting_for_beforeunload_ack_;
1015 1005
1016 // Valid only when is_waiting_for_beforeunload_ack_ or 1006 // Valid only when is_waiting_for_beforeunload_ack_ or
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
1184 1174
1185 // NOTE: This must be the last member. 1175 // NOTE: This must be the last member.
1186 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; 1176 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_;
1187 1177
1188 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); 1178 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl);
1189 }; 1179 };
1190 1180
1191 } // namespace content 1181 } // namespace content
1192 1182
1193 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ 1183 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_
OLDNEW
« no previous file with comments | « content/browser/frame_host/navigator_impl_unittest.cc ('k') | content/browser/frame_host/render_frame_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698