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

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

Issue 972313002: Make <webview> use out-of-process iframe architecture. (Closed) Base URL: ssh://saopaulo.wat/mnt/dev/shared/src@testoopif2z-better-chrome
Patch Set: Revert unused changes from previous attempt + more cleanup. Created 5 years, 9 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_MANAGER_H_ 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_
7 7
8 #include <list> 8 #include <list>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 } 209 }
210 210
211 // TODO(creis): Remove this when we no longer use RVH for navigation. 211 // TODO(creis): Remove this when we no longer use RVH for navigation.
212 RenderViewHostImpl* current_host() const; 212 RenderViewHostImpl* current_host() const;
213 213
214 // Returns the view associated with the current RenderViewHost, or NULL if 214 // Returns the view associated with the current RenderViewHost, or NULL if
215 // there is no current one. 215 // there is no current one.
216 RenderWidgetHostView* GetRenderWidgetHostView() const; 216 RenderWidgetHostView* GetRenderWidgetHostView() const;
217 217
218 RenderFrameProxyHost* GetProxyToParent(); 218 RenderFrameProxyHost* GetProxyToParent();
219 RenderFrameProxyHost* GetProxyToEmbedder();
219 220
220 // Returns the pending RenderFrameHost, or NULL if there is no pending one. 221 // Returns the pending RenderFrameHost, or NULL if there is no pending one.
221 RenderFrameHostImpl* pending_frame_host() const { 222 RenderFrameHostImpl* pending_frame_host() const {
222 return pending_render_frame_host_.get(); 223 return pending_render_frame_host_.get();
223 } 224 }
224 225
225 // TODO(creis): Remove this when we no longer use RVH for navigation. 226 // TODO(creis): Remove this when we no longer use RVH for navigation.
226 RenderViewHostImpl* pending_render_view_host() const; 227 RenderViewHostImpl* pending_render_view_host() const;
227 228
228 // Returns the current committed Web UI or NULL if none applies. 229 // Returns the current committed Web UI or NULL if none applies.
229 WebUIImpl* web_ui() const { return web_ui_.get(); } 230 WebUIImpl* web_ui() const { return web_ui_.get(); }
230 231
231 // Returns the Web UI for the pending navigation, or NULL of none applies. 232 // Returns the Web UI for the pending navigation, or NULL of none applies.
232 WebUIImpl* pending_web_ui() const { 233 WebUIImpl* pending_web_ui() const {
233 return pending_web_ui_.get() ? pending_web_ui_.get() : 234 return pending_web_ui_.get() ? pending_web_ui_.get() :
234 pending_and_current_web_ui_.get(); 235 pending_and_current_web_ui_.get();
235 } 236 }
236 237
237 // PlzNavigate 238 // PlzNavigate
238 // Returns the speculative WebUI for the navigation (a newly created one or 239 // Returns the speculative WebUI for the navigation (a newly created one or
239 // the current one if it should be reused). If none is set returns nullptr. 240 // the current one if it should be reused). If none is set returns nullptr.
240 WebUIImpl* speculative_web_ui() const { 241 WebUIImpl* speculative_web_ui() const {
241 return should_reuse_web_ui_ ? web_ui_.get() : speculative_web_ui_.get(); 242 return should_reuse_web_ui_ ? web_ui_.get() : speculative_web_ui_.get();
242 } 243 }
243 244
245 void set_pseudo_parent_frame_tree_node_id(int64 parent_frame_tree_node_id) {
246 pseudo_parent_frame_tree_node_id_ = parent_frame_tree_node_id;
247 }
248
244 // Called when we want to instruct the renderer to navigate to the given 249 // Called when we want to instruct the renderer to navigate to the given
245 // navigation entry. It may create a new RenderFrameHost or re-use an existing 250 // navigation entry. It may create a new RenderFrameHost or re-use an existing
246 // one. The RenderFrameHost to navigate will be returned. Returns NULL if one 251 // one. The RenderFrameHost to navigate will be returned. Returns NULL if one
247 // could not be created. 252 // could not be created.
248 RenderFrameHostImpl* Navigate(const NavigationEntryImpl& entry); 253 RenderFrameHostImpl* Navigate(const NavigationEntryImpl& entry);
249 254
250 // Instructs the various live views to stop. Called when the user directed the 255 // Instructs the various live views to stop. Called when the user directed the
251 // page to stop loading. 256 // page to stop loading.
252 void Stop(); 257 void Stop();
253 258
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 // PlzNavigate: |cross_navigation_pending_| is not used for browser-side 614 // PlzNavigate: |cross_navigation_pending_| is not used for browser-side
610 // navigation. 615 // navigation.
611 bool cross_navigation_pending_; 616 bool cross_navigation_pending_;
612 617
613 // Implemented by the owner of this class. These delegates are installed into 618 // Implemented by the owner of this class. These delegates are installed into
614 // all the RenderFrameHosts that we create. 619 // all the RenderFrameHosts that we create.
615 RenderFrameHostDelegate* render_frame_delegate_; 620 RenderFrameHostDelegate* render_frame_delegate_;
616 RenderViewHostDelegate* render_view_delegate_; 621 RenderViewHostDelegate* render_view_delegate_;
617 RenderWidgetHostDelegate* render_widget_delegate_; 622 RenderWidgetHostDelegate* render_widget_delegate_;
618 623
624 int64 pseudo_parent_frame_tree_node_id_;
Charlie Reis 2015/03/10 04:09:44 Pseudo is not very descriptive. Do you mean embed
625
619 // Our RenderFrameHost and its associated Web UI (if any, will be NULL for 626 // Our RenderFrameHost and its associated Web UI (if any, will be NULL for
620 // non-WebUI pages). This object is responsible for all communication with 627 // non-WebUI pages). This object is responsible for all communication with
621 // a child RenderFrame instance. 628 // a child RenderFrame instance.
622 // For now, RenderFrameHost keeps a RenderViewHost in its SiteInstance alive. 629 // For now, RenderFrameHost keeps a RenderViewHost in its SiteInstance alive.
623 // Eventually, RenderViewHost will be replaced with a page context. 630 // Eventually, RenderViewHost will be replaced with a page context.
624 scoped_ptr<RenderFrameHostImpl> render_frame_host_; 631 scoped_ptr<RenderFrameHostImpl> render_frame_host_;
625 scoped_ptr<WebUIImpl> web_ui_; 632 scoped_ptr<WebUIImpl> web_ui_;
626 633
627 // A RenderFrameHost used to load a cross-site page. This remains hidden 634 // A RenderFrameHost used to load a cross-site page. This remains hidden
628 // while a cross-site request is pending until it calls DidNavigate. It may 635 // while a cross-site request is pending until it calls DidNavigate. It may
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 bool should_reuse_web_ui_; 695 bool should_reuse_web_ui_;
689 696
690 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; 697 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_;
691 698
692 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); 699 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager);
693 }; 700 };
694 701
695 } // namespace content 702 } // namespace content
696 703
697 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ 704 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698