Index: content/browser/renderer_host/render_message_filter.cc |
diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc |
index 03d8798e67cb229229951bc55335d0b6bf3bfb8c..9470d04881fa841cbbf8a7f56913ce08f8d73bcb 100644 |
--- a/content/browser/renderer_host/render_message_filter.cc |
+++ b/content/browser/renderer_host/render_message_filter.cc |
@@ -456,6 +456,14 @@ void RenderMessageFilter::OnCreateWindow( |
int* surface_id, |
int64* cloned_session_storage_namespace_id) { |
bool no_javascript_access; |
+ |
+ // Merge the additional features into the WebWindowFeatures struct before we |
+ // pass it on. |
+ blink::WebWindowFeatures features = params.features; |
+ for (size_t i = 0; i < params.additional_features.size(); ++i) |
+ features.additionalFeatures[i] = blink::WebString( |
+ params.additional_features[i]); |
+ |
bool can_create_window = |
GetContentClient()->browser()->CanCreateWindow( |
params.opener_url, |
@@ -465,7 +473,7 @@ void RenderMessageFilter::OnCreateWindow( |
params.target_url, |
params.referrer, |
params.disposition, |
- params.features, |
+ features, |
params.user_gesture, |
params.opener_suppressed, |
resource_context_, |