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

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

Issue 2086083003: Cache RenderFrameHost's parent so it doesn't change over time. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 842 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 RenderFrameProxyHost* render_frame_proxy_host_; 853 RenderFrameProxyHost* render_frame_proxy_host_;
854 854
855 // Reference to the whole frame tree that this RenderFrameHost belongs to. 855 // Reference to the whole frame tree that this RenderFrameHost belongs to.
856 // Allows this RenderFrameHost to add and remove nodes in response to 856 // Allows this RenderFrameHost to add and remove nodes in response to
857 // messages from the renderer requesting DOM manipulation. 857 // messages from the renderer requesting DOM manipulation.
858 FrameTree* frame_tree_; 858 FrameTree* frame_tree_;
859 859
860 // The FrameTreeNode which this RenderFrameHostImpl is hosted in. 860 // The FrameTreeNode which this RenderFrameHostImpl is hosted in.
861 FrameTreeNode* frame_tree_node_; 861 FrameTreeNode* frame_tree_node_;
862 862
863 // The active parent RenderFrameHost for this frame, if it is a subframe.
864 // Null for the main frame. This is cached because the parent FrameTreeNode
865 // may change its current RenderFrameHost while this child is pending
866 // deletion, and GetParent() should never return a different value.
867 RenderFrameHostImpl* parent_;
868
863 // Track this frame's last committed URL. 869 // Track this frame's last committed URL.
864 GURL last_committed_url_; 870 GURL last_committed_url_;
865 871
866 // The most recent non-error URL to commit in this frame. Remove this in 872 // The most recent non-error URL to commit in this frame. Remove this in
867 // favor of GetLastCommittedURL() once PlzNavigate is enabled or cross-process 873 // favor of GetLastCommittedURL() once PlzNavigate is enabled or cross-process
868 // transfers work for net errors. See https://crbug.com/588314. 874 // transfers work for net errors. See https://crbug.com/588314.
869 GURL last_successful_url_; 875 GURL last_successful_url_;
870 876
871 // The mapping of pending JavaScript calls created by 877 // The mapping of pending JavaScript calls created by
872 // ExecuteJavaScript and their corresponding callbacks. 878 // ExecuteJavaScript and their corresponding callbacks.
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1033 1039
1034 // NOTE: This must be the last member. 1040 // NOTE: This must be the last member.
1035 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; 1041 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_;
1036 1042
1037 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); 1043 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl);
1038 }; 1044 };
1039 1045
1040 } // namespace content 1046 } // namespace content
1041 1047
1042 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ 1048 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698