| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browser_navigator.h" | 5 #include "chrome/browser/ui/browser_navigator.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 } else if (params->browser && !params->browser->app_name().empty()) { | 157 } else if (params->browser && !params->browser->app_name().empty()) { |
| 158 app_name = params->browser->app_name(); | 158 app_name = params->browser->app_name(); |
| 159 } else if (params->source_contents) { | 159 } else if (params->source_contents) { |
| 160 extensions::TabHelper* extensions_tab_helper = | 160 extensions::TabHelper* extensions_tab_helper = |
| 161 extensions::TabHelper::FromWebContents(params->source_contents); | 161 extensions::TabHelper::FromWebContents(params->source_contents); |
| 162 if (extensions_tab_helper && extensions_tab_helper->is_app()) { | 162 if (extensions_tab_helper && extensions_tab_helper->is_app()) { |
| 163 app_name = web_app::GenerateApplicationNameFromExtensionId( | 163 app_name = web_app::GenerateApplicationNameFromExtensionId( |
| 164 extensions_tab_helper->extension_app()->id()); | 164 extensions_tab_helper->extension_app()->id()); |
| 165 } | 165 } |
| 166 } | 166 } |
| 167 Browser::Type type = params->is_trusted ? Browser::TYPE_TRUSTED_POPUP |
| 168 : Browser::TYPE_POPUP; |
| 167 if (app_name.empty()) { | 169 if (app_name.empty()) { |
| 168 Browser::CreateParams browser_params( | 170 Browser::CreateParams browser_params( |
| 169 Browser::TYPE_POPUP, profile, params->host_desktop_type); | 171 type, profile, params->host_desktop_type); |
| 170 browser_params.initial_bounds = params->window_bounds; | 172 browser_params.initial_bounds = params->window_bounds; |
| 171 return new Browser(browser_params); | 173 return new Browser(browser_params); |
| 172 } | 174 } |
| 173 | 175 |
| 174 return new Browser(Browser::CreateParams::CreateForApp( | 176 return new Browser(Browser::CreateParams::CreateForApp( |
| 175 Browser::TYPE_POPUP, app_name, params->window_bounds, profile, | 177 type, app_name, params->window_bounds, profile, |
| 176 params->host_desktop_type)); | 178 params->host_desktop_type)); |
| 177 } | 179 } |
| 178 case NEW_WINDOW: { | 180 case NEW_WINDOW: { |
| 179 // Make a new normal browser window. | 181 // Make a new normal browser window. |
| 180 return new Browser(Browser::CreateParams(profile, | 182 return new Browser(Browser::CreateParams(profile, |
| 181 params->host_desktop_type)); | 183 params->host_desktop_type)); |
| 182 } | 184 } |
| 183 case OFF_THE_RECORD: | 185 case OFF_THE_RECORD: |
| 184 // Make or find an incognito window. | 186 // Make or find an incognito window. |
| 185 return GetOrCreateBrowser(profile->GetOffTheRecordProfile(), | 187 return GetOrCreateBrowser(profile->GetOffTheRecordProfile(), |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 | 393 |
| 392 NavigateParams::NavigateParams(Browser* a_browser, | 394 NavigateParams::NavigateParams(Browser* a_browser, |
| 393 const GURL& a_url, | 395 const GURL& a_url, |
| 394 content::PageTransition a_transition) | 396 content::PageTransition a_transition) |
| 395 : url(a_url), | 397 : url(a_url), |
| 396 frame_tree_node_id(-1), | 398 frame_tree_node_id(-1), |
| 397 uses_post(false), | 399 uses_post(false), |
| 398 target_contents(NULL), | 400 target_contents(NULL), |
| 399 source_contents(NULL), | 401 source_contents(NULL), |
| 400 disposition(CURRENT_TAB), | 402 disposition(CURRENT_TAB), |
| 403 is_trusted(false), |
| 401 transition(a_transition), | 404 transition(a_transition), |
| 402 is_renderer_initiated(false), | 405 is_renderer_initiated(false), |
| 403 tabstrip_index(-1), | 406 tabstrip_index(-1), |
| 404 tabstrip_add_types(TabStripModel::ADD_ACTIVE), | 407 tabstrip_add_types(TabStripModel::ADD_ACTIVE), |
| 405 window_action(NO_ACTION), | 408 window_action(NO_ACTION), |
| 406 user_gesture(true), | 409 user_gesture(true), |
| 407 path_behavior(RESPECT), | 410 path_behavior(RESPECT), |
| 408 ref_behavior(IGNORE_REF), | 411 ref_behavior(IGNORE_REF), |
| 409 browser(a_browser), | 412 browser(a_browser), |
| 410 initiating_profile(NULL), | 413 initiating_profile(NULL), |
| 411 host_desktop_type(GetHostDesktop(a_browser)), | 414 host_desktop_type(GetHostDesktop(a_browser)), |
| 412 should_replace_current_entry(false), | 415 should_replace_current_entry(false), |
| 413 should_set_opener(false) { | 416 should_set_opener(false) { |
| 414 } | 417 } |
| 415 | 418 |
| 416 NavigateParams::NavigateParams(Browser* a_browser, | 419 NavigateParams::NavigateParams(Browser* a_browser, |
| 417 WebContents* a_target_contents) | 420 WebContents* a_target_contents) |
| 418 : frame_tree_node_id(-1), | 421 : frame_tree_node_id(-1), |
| 419 uses_post(false), | 422 uses_post(false), |
| 420 target_contents(a_target_contents), | 423 target_contents(a_target_contents), |
| 421 source_contents(NULL), | 424 source_contents(NULL), |
| 422 disposition(CURRENT_TAB), | 425 disposition(CURRENT_TAB), |
| 426 is_trusted(false), |
| 423 transition(content::PAGE_TRANSITION_LINK), | 427 transition(content::PAGE_TRANSITION_LINK), |
| 424 is_renderer_initiated(false), | 428 is_renderer_initiated(false), |
| 425 tabstrip_index(-1), | 429 tabstrip_index(-1), |
| 426 tabstrip_add_types(TabStripModel::ADD_ACTIVE), | 430 tabstrip_add_types(TabStripModel::ADD_ACTIVE), |
| 427 window_action(NO_ACTION), | 431 window_action(NO_ACTION), |
| 428 user_gesture(true), | 432 user_gesture(true), |
| 429 path_behavior(RESPECT), | 433 path_behavior(RESPECT), |
| 430 ref_behavior(IGNORE_REF), | 434 ref_behavior(IGNORE_REF), |
| 431 browser(a_browser), | 435 browser(a_browser), |
| 432 initiating_profile(NULL), | 436 initiating_profile(NULL), |
| 433 host_desktop_type(GetHostDesktop(a_browser)), | 437 host_desktop_type(GetHostDesktop(a_browser)), |
| 434 should_replace_current_entry(false), | 438 should_replace_current_entry(false), |
| 435 should_set_opener(false) { | 439 should_set_opener(false) { |
| 436 } | 440 } |
| 437 | 441 |
| 438 NavigateParams::NavigateParams(Profile* a_profile, | 442 NavigateParams::NavigateParams(Profile* a_profile, |
| 439 const GURL& a_url, | 443 const GURL& a_url, |
| 440 content::PageTransition a_transition) | 444 content::PageTransition a_transition) |
| 441 : url(a_url), | 445 : url(a_url), |
| 442 frame_tree_node_id(-1), | 446 frame_tree_node_id(-1), |
| 443 uses_post(false), | 447 uses_post(false), |
| 444 target_contents(NULL), | 448 target_contents(NULL), |
| 445 source_contents(NULL), | 449 source_contents(NULL), |
| 446 disposition(NEW_FOREGROUND_TAB), | 450 disposition(NEW_FOREGROUND_TAB), |
| 451 is_trusted(false), |
| 447 transition(a_transition), | 452 transition(a_transition), |
| 448 is_renderer_initiated(false), | 453 is_renderer_initiated(false), |
| 449 tabstrip_index(-1), | 454 tabstrip_index(-1), |
| 450 tabstrip_add_types(TabStripModel::ADD_ACTIVE), | 455 tabstrip_add_types(TabStripModel::ADD_ACTIVE), |
| 451 window_action(SHOW_WINDOW), | 456 window_action(SHOW_WINDOW), |
| 452 user_gesture(true), | 457 user_gesture(true), |
| 453 path_behavior(RESPECT), | 458 path_behavior(RESPECT), |
| 454 ref_behavior(IGNORE_REF), | 459 ref_behavior(IGNORE_REF), |
| 455 browser(NULL), | 460 browser(NULL), |
| 456 initiating_profile(a_profile), | 461 initiating_profile(a_profile), |
| 457 host_desktop_type(chrome::GetActiveDesktop()), | 462 host_desktop_type(chrome::GetActiveDesktop()), |
| 458 should_replace_current_entry(false), | 463 should_replace_current_entry(false), |
| 459 should_set_opener(false) { | 464 should_set_opener(false) { |
| 460 } | 465 } |
| 461 | 466 |
| 462 NavigateParams::~NavigateParams() {} | 467 NavigateParams::~NavigateParams() {} |
| 463 | 468 |
| 464 void FillNavigateParamsFromOpenURLParams(chrome::NavigateParams* nav_params, | 469 void FillNavigateParamsFromOpenURLParams(chrome::NavigateParams* nav_params, |
| 465 const content::OpenURLParams& params) { | 470 const content::OpenURLParams& params) { |
| 466 nav_params->referrer = params.referrer; | 471 nav_params->referrer = params.referrer; |
| 467 nav_params->frame_tree_node_id = params.frame_tree_node_id; | 472 nav_params->frame_tree_node_id = params.frame_tree_node_id; |
| 468 nav_params->redirect_chain = params.redirect_chain; | 473 nav_params->redirect_chain = params.redirect_chain; |
| 469 nav_params->extra_headers = params.extra_headers; | 474 nav_params->extra_headers = params.extra_headers; |
| 470 nav_params->disposition = params.disposition; | 475 nav_params->disposition = params.disposition; |
| 476 nav_params->is_trusted = false; |
| 471 nav_params->is_renderer_initiated = params.is_renderer_initiated; | 477 nav_params->is_renderer_initiated = params.is_renderer_initiated; |
| 472 nav_params->transferred_global_request_id = | 478 nav_params->transferred_global_request_id = |
| 473 params.transferred_global_request_id; | 479 params.transferred_global_request_id; |
| 474 nav_params->should_replace_current_entry = | 480 nav_params->should_replace_current_entry = |
| 475 params.should_replace_current_entry; | 481 params.should_replace_current_entry; |
| 476 nav_params->uses_post = params.uses_post; | 482 nav_params->uses_post = params.uses_post; |
| 477 nav_params->browser_initiated_post_data = params.browser_initiated_post_data; | 483 nav_params->browser_initiated_post_data = params.browser_initiated_post_data; |
| 478 } | 484 } |
| 479 | 485 |
| 480 void Navigate(NavigateParams* params) { | 486 void Navigate(NavigateParams* params) { |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 755 bool reverse_on_redirect = false; | 761 bool reverse_on_redirect = false; |
| 756 content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary( | 762 content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary( |
| 757 &rewritten_url, browser_context, &reverse_on_redirect); | 763 &rewritten_url, browser_context, &reverse_on_redirect); |
| 758 | 764 |
| 759 // Some URLs are mapped to uber subpages. Do not allow them in incognito. | 765 // Some URLs are mapped to uber subpages. Do not allow them in incognito. |
| 760 return !(rewritten_url.scheme() == content::kChromeUIScheme && | 766 return !(rewritten_url.scheme() == content::kChromeUIScheme && |
| 761 rewritten_url.host() == chrome::kChromeUIUberHost); | 767 rewritten_url.host() == chrome::kChromeUIUberHost); |
| 762 } | 768 } |
| 763 | 769 |
| 764 } // namespace chrome | 770 } // namespace chrome |
| OLD | NEW |