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

Side by Side Diff: chrome/browser/ui/blocked_content/blocked_window_params.cc

Issue 2206963002: Plumb the frame name through the popup blocker (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 #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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698