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

Unified Diff: content/browser/frame_host/render_frame_host_impl.h

Issue 2821473002: Service CreateNewWindow on the UI thread with a new mojo interface (Closed)
Patch Set: Move over to render frame (but not WebFrameClient yet) + a bunch of cleanups 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_impl.h
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
index 7d13f014509fd56b4baee438c257864ab13d99d2..b0415192aec3fb6fb8323921f83d9cba34d9db46 100644
--- a/content/browser/frame_host/render_frame_host_impl.h
+++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -83,6 +83,7 @@ class Range;
namespace content {
class AssociatedInterfaceProviderImpl;
+class AssociatedInterfaceRegistryImpl;
class FeaturePolicy;
class FrameTree;
class FrameTreeNode;
@@ -115,6 +116,7 @@ class CONTENT_EXPORT RenderFrameHostImpl
: public RenderFrameHost,
public base::SupportsUserData,
NON_EXPORTED_BASE(public mojom::FrameHost),
+ NON_EXPORTED_BASE(public mojom::FrameHostIPC),
public BrowserAccessibilityDelegate,
public SiteInstanceImpl::Observer,
public NON_EXPORTED_BASE(
@@ -793,6 +795,17 @@ class CONTENT_EXPORT RenderFrameHostImpl
const gfx::Rect& initial_rect,
bool user_gesture);
+ // mojom::FrameHostIPC
+ void CreateNewWindow(mojom::CreateNewWindowParamsPtr params,
+ const CreateNewWindowCallback& callback) override;
+
+ void RunCreateWindowCompleteCallback(const CreateNewWindowCallback& callback,
+ mojom::CreateNewWindowReplyPtr reply,
+ int render_view_route_id,
+ int main_frame_route_id,
+ int main_frame_widget_route_id,
+ int cloned_session_storage_namespace_id);
+
// Registers Mojo interfaces that this frame host makes available.
void RegisterMojoInterfaces();
@@ -1040,6 +1053,8 @@ class CONTENT_EXPORT RenderFrameHostImpl
// SiteInstance. May be null in tests.
std::unique_ptr<TimeoutMonitor> swapout_event_monitor_timeout_;
+ std::unique_ptr<AssociatedInterfaceRegistryImpl> associated_registry_;
+
std::unique_ptr<service_manager::InterfaceRegistry> interface_registry_;
std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces_;
@@ -1127,6 +1142,7 @@ class CONTENT_EXPORT RenderFrameHostImpl
PreviewsState last_navigation_previews_state_;
mojo::Binding<mojom::FrameHost> frame_host_binding_;
+ mojo::AssociatedBinding<mojom::FrameHostIPC> frame_host_associated_binding_;
mojom::FramePtr frame_;
mojom::FrameBindingsControlAssociatedPtr frame_bindings_control_;

Powered by Google App Engine
This is Rietveld 408576698