OLD | NEW |
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 #include "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 1772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1783 | 1783 |
1784 // Send an UpdateState message before we get deleted. | 1784 // Send an UpdateState message before we get deleted. |
1785 SendUpdateState(); | 1785 SendUpdateState(); |
1786 | 1786 |
1787 // There should always be a proxy to replace this RenderFrame. Create it now | 1787 // There should always be a proxy to replace this RenderFrame. Create it now |
1788 // so its routing id is registered for receiving IPC messages. | 1788 // so its routing id is registered for receiving IPC messages. |
1789 CHECK_NE(proxy_routing_id, MSG_ROUTING_NONE); | 1789 CHECK_NE(proxy_routing_id, MSG_ROUTING_NONE); |
1790 proxy = RenderFrameProxy::CreateProxyToReplaceFrame( | 1790 proxy = RenderFrameProxy::CreateProxyToReplaceFrame( |
1791 this, proxy_routing_id, replicated_frame_state.scope); | 1791 this, proxy_routing_id, replicated_frame_state.scope); |
1792 | 1792 |
1793 // Synchronously run the unload handler before sending the ACK. | |
1794 // TODO(creis): Call dispatchUnloadEvent unconditionally here to support | |
1795 // unload on subframes as well. | |
1796 if (is_main_frame_) | |
1797 frame_->DispatchUnloadEvent(); | |
1798 | |
1799 // Swap out and stop sending any IPC messages that are not ACKs. | 1793 // Swap out and stop sending any IPC messages that are not ACKs. |
1800 if (is_main_frame_) | 1794 if (is_main_frame_) |
1801 render_view_->SetSwappedOut(true); | 1795 render_view_->SetSwappedOut(true); |
1802 | 1796 |
1803 RenderViewImpl* render_view = render_view_; | 1797 RenderViewImpl* render_view = render_view_; |
1804 bool is_main_frame = is_main_frame_; | 1798 bool is_main_frame = is_main_frame_; |
1805 int routing_id = GetRoutingID(); | 1799 int routing_id = GetRoutingID(); |
1806 | 1800 |
1807 // Now that all of the cleanup is complete and the browser side is notified, | 1801 // Now that all of the cleanup is complete and the browser side is notified, |
1808 // start using the RenderFrameProxy. | 1802 // start using the RenderFrameProxy. |
(...skipping 5046 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6855 policy(info.default_policy), | 6849 policy(info.default_policy), |
6856 replaces_current_history_item(info.replaces_current_history_item), | 6850 replaces_current_history_item(info.replaces_current_history_item), |
6857 history_navigation_in_new_child_frame( | 6851 history_navigation_in_new_child_frame( |
6858 info.is_history_navigation_in_new_child_frame), | 6852 info.is_history_navigation_in_new_child_frame), |
6859 client_redirect(info.is_client_redirect), | 6853 client_redirect(info.is_client_redirect), |
6860 cache_disabled(info.is_cache_disabled), | 6854 cache_disabled(info.is_cache_disabled), |
6861 form(info.form), | 6855 form(info.form), |
6862 source_location(info.source_location) {} | 6856 source_location(info.source_location) {} |
6863 | 6857 |
6864 } // namespace content | 6858 } // namespace content |
OLD | NEW |