Index: content/common/render_message_filter.mojom |
diff --git a/content/common/render_message_filter.mojom b/content/common/render_message_filter.mojom |
index 4c3c81090e574f7d119a661d7144fa5be3c9ec1d..c745b9e5cadc510090f805788b55acece24451e4 100644 |
--- a/content/common/render_message_filter.mojom |
+++ b/content/common/render_message_filter.mojom |
@@ -4,7 +4,81 @@ |
module content.mojom; |
+import "content/public/common/window_container_type.mojom"; |
+import "third_party/WebKit/public/platform/referrer.mojom"; |
+import "third_party/WebKit/public/web/window_features.mojom"; |
+import "ui/base/window_open_disposition.mojom"; |
+import "url/mojo/url.mojom"; |
+ |
+struct CreateWindowParams { |
+ // Routing ID of the view initiating the open. |
+ int32 opener_id; |
+ |
+ // True if this open request came in the context of a user gesture. |
+ bool user_gesture; |
+ |
+ // Type of window requested. |
+ WindowContainerType window_container_type; |
+ |
+ // The session storage namespace ID this view should use. |
+ int64 session_storage_namespace_id; |
+ |
+ // The name of the resulting frame that should be created (empty if none |
+ // has been specified). UTF8 encoded string. |
+ string frame_name; |
+ |
+ // The routing id of the frame initiating the open. |
+ int32 opener_render_frame_id; |
+ |
+ // The URL of the frame initiating the open. |
+ url.mojom.Url opener_url; |
+ |
+ // The URL of the top frame containing the opener. |
+ url.mojom.Url opener_top_level_frame_url; |
+ |
+ // The security origin of the frame initiating the open. |
+ url.mojom.Url opener_security_origin; |
+ |
+ // Whether the opener will be suppressed in the new window, in which case |
+ // scripting the new window is not allowed. |
+ bool opener_suppressed; |
+ |
+ // Whether the window should be opened in the foreground, background, etc. |
+ ui.mojom.WindowOpenDisposition disposition; |
+ |
+ // The URL that will be loaded in the new window (empty if none has been |
+ // sepcified). |
+ url.mojom.Url target_url; |
+ |
+ // The referrer that will be used to load |target_url| (empty if none has |
+ // been specified). |
+ blink.mojom.Referrer referrer; |
+ |
+ // The window features to use for the new view. |
+ blink.mojom.WindowFeatures features; |
+}; |
+ |
+struct CreateWindowReply { |
+ // The ID of the view to be created. If the ID is MSG_ROUTING_NONE, then the |
+ // view couldn't be created. |
+ int32 route_id; |
+ |
+ // The ID of the main frame hosted in the view. |
+ int32 main_frame_route_id; |
+ |
+ // The ID of the widget for the main frame. |
+ int32 main_frame_widget_route_id; |
+ |
+ // Duplicated from CreateWindowParams because legacy code. |
+ int64 cloned_session_storage_namespace_id; |
+}; |
+ |
interface RenderMessageFilter { |
// Synchronously generates a new routing ID for the caller. |
[Sync] GenerateRoutingID() => (int32 routing_id); |
+ |
+ // Sent by the renderer when it is creating a new window. The browser creates |
+ // a tab for it. If |reply.route_id| is MSG_ROUTING_NONE, the view couldn't |
+ // be created. |
+ [Sync] CreateWindow(CreateWindowParams params) => (CreateWindowReply reply); |
}; |