| OLD | NEW |
| 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 #include "chrome/browser/ui/blocked_content/blocked_window_params.h" | 5 #include "chrome/browser/ui/blocked_content/blocked_window_params.h" |
| 6 | 6 |
| 7 #include "chrome/browser/profiles/profile.h" | 7 #include "chrome/browser/profiles/profile.h" |
| 8 #include "chrome/browser/ui/browser_navigator_params.h" | 8 #include "chrome/browser/ui/browser_navigator_params.h" |
| 9 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 9 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 10 #include "content/public/browser/render_process_host.h" | 10 #include "content/public/browser/render_process_host.h" |
| 11 #include "content/public/browser/web_contents.h" | 11 #include "content/public/browser/web_contents.h" |
| 12 #include "third_party/WebKit/public/web/WebWindowFeatures.h" | 12 #include "third_party/WebKit/public/web/WebWindowFeatures.h" |
| 13 #include "url/gurl.h" | 13 #include "url/gurl.h" |
| 14 | 14 |
| 15 BlockedWindowParams::BlockedWindowParams( | 15 BlockedWindowParams::BlockedWindowParams( |
| 16 const GURL& target_url, | 16 const GURL& target_url, |
| 17 const content::Referrer& referrer, | 17 const content::Referrer& referrer, |
| 18 const std::string& frame_name, |
| 18 WindowOpenDisposition disposition, | 19 WindowOpenDisposition disposition, |
| 19 const blink::WebWindowFeatures& features, | 20 const blink::WebWindowFeatures& features, |
| 20 bool user_gesture, | 21 bool user_gesture, |
| 21 bool opener_suppressed, | 22 bool opener_suppressed, |
| 22 int render_process_id, | 23 int render_process_id, |
| 23 int opener_render_frame_id) | 24 int opener_render_frame_id) |
| 24 : target_url_(target_url), | 25 : target_url_(target_url), |
| 25 referrer_(referrer), | 26 referrer_(referrer), |
| 27 frame_name_(frame_name), |
| 26 disposition_(disposition), | 28 disposition_(disposition), |
| 27 features_(features), | 29 features_(features), |
| 28 user_gesture_(user_gesture), | 30 user_gesture_(user_gesture), |
| 29 opener_suppressed_(opener_suppressed), | 31 opener_suppressed_(opener_suppressed), |
| 30 render_process_id_(render_process_id), | 32 render_process_id_(render_process_id), |
| 31 opener_render_frame_id_(opener_render_frame_id) { | 33 opener_render_frame_id_(opener_render_frame_id) { |
| 32 } | 34 } |
| 33 | 35 |
| 34 BlockedWindowParams::BlockedWindowParams(const BlockedWindowParams& other) = | 36 BlockedWindowParams::BlockedWindowParams(const BlockedWindowParams& other) = |
| 35 default; | 37 default; |
| 36 | 38 |
| 39 BlockedWindowParams::~BlockedWindowParams() = default; |
| 40 |
| 37 chrome::NavigateParams BlockedWindowParams::CreateNavigateParams( | 41 chrome::NavigateParams BlockedWindowParams::CreateNavigateParams( |
| 38 content::WebContents* web_contents) const { | 42 content::WebContents* web_contents) const { |
| 39 GURL popup_url(target_url_); | 43 GURL popup_url(target_url_); |
| 40 web_contents->GetRenderProcessHost()->FilterURL(false, &popup_url); | 44 web_contents->GetRenderProcessHost()->FilterURL(false, &popup_url); |
| 41 chrome::NavigateParams nav_params( | 45 chrome::NavigateParams nav_params( |
| 42 Profile::FromBrowserContext(web_contents->GetBrowserContext()), | 46 Profile::FromBrowserContext(web_contents->GetBrowserContext()), |
| 43 popup_url, | 47 popup_url, |
| 44 ui::PAGE_TRANSITION_LINK); | 48 ui::PAGE_TRANSITION_LINK); |
| 45 nav_params.referrer = referrer_; | 49 nav_params.referrer = referrer_; |
| 50 nav_params.frame_name = frame_name_; |
| 46 nav_params.source_contents = web_contents; | 51 nav_params.source_contents = web_contents; |
| 47 nav_params.is_renderer_initiated = true; | 52 nav_params.is_renderer_initiated = true; |
| 48 nav_params.tabstrip_add_types = TabStripModel::ADD_ACTIVE; | 53 nav_params.tabstrip_add_types = TabStripModel::ADD_ACTIVE; |
| 49 nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW; | 54 nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW; |
| 50 nav_params.user_gesture = user_gesture_; | 55 nav_params.user_gesture = user_gesture_; |
| 51 nav_params.created_with_opener = !opener_suppressed_; | 56 nav_params.created_with_opener = !opener_suppressed_; |
| 52 nav_params.window_bounds = web_contents->GetContainerBounds(); | 57 nav_params.window_bounds = web_contents->GetContainerBounds(); |
| 53 if (features_.xSet) | 58 if (features_.xSet) |
| 54 nav_params.window_bounds.set_x(features_.x); | 59 nav_params.window_bounds.set_x(features_.x); |
| 55 if (features_.ySet) | 60 if (features_.ySet) |
| 56 nav_params.window_bounds.set_y(features_.y); | 61 nav_params.window_bounds.set_y(features_.y); |
| 57 if (features_.widthSet) | 62 if (features_.widthSet) |
| 58 nav_params.window_bounds.set_width(features_.width); | 63 nav_params.window_bounds.set_width(features_.width); |
| 59 if (features_.heightSet) | 64 if (features_.heightSet) |
| 60 nav_params.window_bounds.set_height(features_.height); | 65 nav_params.window_bounds.set_height(features_.height); |
| 61 | 66 |
| 62 nav_params.disposition = disposition_; | 67 nav_params.disposition = disposition_; |
| 63 | 68 |
| 64 return nav_params; | 69 return nav_params; |
| 65 } | 70 } |
| OLD | NEW |