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

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

Issue 2472253002: Fix navigation requests starting too early and not getting associated with the <webview>. (Closed)
Patch Set: nits Created 4 years, 1 month 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 575 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 // should be the abstraction needed here, but we need RenderViewHost to pass 586 // should be the abstraction needed here, but we need RenderViewHost to pass
587 // into WebContentsObserver::FrameDetached for now. 587 // into WebContentsObserver::FrameDetached for now.
588 RenderFrameHostImpl(SiteInstance* site_instance, 588 RenderFrameHostImpl(SiteInstance* site_instance,
589 RenderViewHostImpl* render_view_host, 589 RenderViewHostImpl* render_view_host,
590 RenderFrameHostDelegate* delegate, 590 RenderFrameHostDelegate* delegate,
591 RenderWidgetHostDelegate* rwh_delegate, 591 RenderWidgetHostDelegate* rwh_delegate,
592 FrameTree* frame_tree, 592 FrameTree* frame_tree,
593 FrameTreeNode* frame_tree_node, 593 FrameTreeNode* frame_tree_node,
594 int32_t routing_id, 594 int32_t routing_id,
595 int32_t widget_routing_id, 595 int32_t widget_routing_id,
596 bool hidden); 596 bool hidden,
597 bool renderer_initiated_creation);
597 598
598 private: 599 private:
599 friend class TestRenderFrameHost; 600 friend class TestRenderFrameHost;
600 friend class TestRenderViewHost; 601 friend class TestRenderViewHost;
601 602
602 FRIEND_TEST_ALL_PREFIXES(RenderFrameHostManagerTest, 603 FRIEND_TEST_ALL_PREFIXES(RenderFrameHostManagerTest,
603 CreateRenderViewAfterProcessKillAndClosedProxy); 604 CreateRenderViewAfterProcessKillAndClosedProxy);
604 FRIEND_TEST_ALL_PREFIXES(RenderFrameHostManagerTest, 605 FRIEND_TEST_ALL_PREFIXES(RenderFrameHostManagerTest,
605 RestoreFileAccessForHistoryNavigation); 606 RestoreFileAccessForHistoryNavigation);
606 FRIEND_TEST_ALL_PREFIXES(RenderFrameHostManagerTest, 607 FRIEND_TEST_ALL_PREFIXES(RenderFrameHostManagerTest,
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
1033 bool should_reuse_web_ui_; 1034 bool should_reuse_web_ui_;
1034 1035
1035 // PlzNavigate: The LoFi state of the last navigation. This is used during 1036 // PlzNavigate: The LoFi state of the last navigation. This is used during
1036 // history navigation of subframes to ensure that subframes navigate with the 1037 // history navigation of subframes to ensure that subframes navigate with the
1037 // same LoFi status as the top-level frame. 1038 // same LoFi status as the top-level frame.
1038 LoFiState last_navigation_lofi_state_; 1039 LoFiState last_navigation_lofi_state_;
1039 1040
1040 mojo::Binding<mojom::FrameHost> frame_host_binding_; 1041 mojo::Binding<mojom::FrameHost> frame_host_binding_;
1041 mojom::FramePtr frame_; 1042 mojom::FramePtr frame_;
1042 1043
1044 // If this is true then this object was created in response to a renderer
1045 // initiated request. Init() will be called, and until then navigation
1046 // requests should be queued.
1047 bool waiting_for_init_;
1048
1049 typedef std::pair<CommonNavigationParams, BeginNavigationParams>
1050 PendingNavigation;
1051 std::unique_ptr<PendingNavigation> pendinging_navigate_;
1052
1043 // Callback for responding when 1053 // Callback for responding when
1044 // |FrameHostMsg_TextSurroundingSelectionResponse| message comes. 1054 // |FrameHostMsg_TextSurroundingSelectionResponse| message comes.
1045 TextSurroundingSelectionCallback text_surrounding_selection_callback_; 1055 TextSurroundingSelectionCallback text_surrounding_selection_callback_;
1046 1056
1047 std::vector<std::unique_ptr<service_manager::InterfaceRegistry>> 1057 std::vector<std::unique_ptr<service_manager::InterfaceRegistry>>
1048 media_registries_; 1058 media_registries_;
1049 1059
1050 std::unique_ptr<AssociatedInterfaceProviderImpl> 1060 std::unique_ptr<AssociatedInterfaceProviderImpl>
1051 remote_associated_interfaces_; 1061 remote_associated_interfaces_;
1052 // NOTE: This must be the last member. 1062 // NOTE: This must be the last member.
1053 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; 1063 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_;
1054 1064
1055 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); 1065 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl);
1056 }; 1066 };
1057 1067
1058 } // namespace content 1068 } // namespace content
1059 1069
1060 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ 1070 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_frame_host_factory.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