| 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/startup/startup_browser_creator.h" | 5 #include "chrome/browser/ui/startup/startup_browser_creator.h" |
| 6 | 6 |
| 7 #include <algorithm> // For max(). | 7 #include <algorithm> // For max(). |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "apps/app_load_service.h" | 10 #include "apps/app_load_service.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 #include "chrome/browser/ui/browser.h" | 47 #include "chrome/browser/ui/browser.h" |
| 48 #include "chrome/browser/ui/browser_dialogs.h" | 48 #include "chrome/browser/ui/browser_dialogs.h" |
| 49 #include "chrome/browser/ui/browser_finder.h" | 49 #include "chrome/browser/ui/browser_finder.h" |
| 50 #include "chrome/browser/ui/browser_window.h" | 50 #include "chrome/browser/ui/browser_window.h" |
| 51 #include "chrome/browser/ui/startup/startup_browser_creator_impl.h" | 51 #include "chrome/browser/ui/startup/startup_browser_creator_impl.h" |
| 52 #include "chrome/common/chrome_constants.h" | 52 #include "chrome/common/chrome_constants.h" |
| 53 #include "chrome/common/chrome_paths.h" | 53 #include "chrome/common/chrome_paths.h" |
| 54 #include "chrome/common/chrome_result_codes.h" | 54 #include "chrome/common/chrome_result_codes.h" |
| 55 #include "chrome/common/chrome_switches.h" | 55 #include "chrome/common/chrome_switches.h" |
| 56 #include "chrome/common/chrome_version_info.h" | 56 #include "chrome/common/chrome_version_info.h" |
| 57 #include "chrome/common/net/url_fixer_upper.h" | |
| 58 #include "chrome/common/pref_names.h" | 57 #include "chrome/common/pref_names.h" |
| 59 #include "chrome/common/url_constants.h" | 58 #include "chrome/common/url_constants.h" |
| 60 #include "chrome/installer/util/browser_distribution.h" | 59 #include "chrome/installer/util/browser_distribution.h" |
| 61 #include "components/signin/core/common/profile_management_switches.h" | 60 #include "components/signin/core/common/profile_management_switches.h" |
| 61 #include "components/url_fixer/url_fixer.h" |
| 62 #include "content/public/browser/browser_thread.h" | 62 #include "content/public/browser/browser_thread.h" |
| 63 #include "content/public/browser/child_process_security_policy.h" | 63 #include "content/public/browser/child_process_security_policy.h" |
| 64 #include "content/public/browser/navigation_controller.h" | 64 #include "content/public/browser/navigation_controller.h" |
| 65 #include "grit/locale_settings.h" | 65 #include "grit/locale_settings.h" |
| 66 #include "net/base/net_util.h" | 66 #include "net/base/net_util.h" |
| 67 #include "ui/base/l10n/l10n_util.h" | 67 #include "ui/base/l10n/l10n_util.h" |
| 68 #include "ui/base/resource/resource_bundle.h" | 68 #include "ui/base/resource/resource_bundle.h" |
| 69 | 69 |
| 70 #if defined(USE_ASH) | 70 #if defined(USE_ASH) |
| 71 #include "ash/shell.h" | 71 #include "ash/shell.h" |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 // This will create a file URL or a regular URL. | 424 // This will create a file URL or a regular URL. |
| 425 // This call can (in rare circumstances) block the UI thread. | 425 // This call can (in rare circumstances) block the UI thread. |
| 426 // Allow it until this bug is fixed. | 426 // Allow it until this bug is fixed. |
| 427 // http://code.google.com/p/chromium/issues/detail?id=60641 | 427 // http://code.google.com/p/chromium/issues/detail?id=60641 |
| 428 GURL url = GURL(param.MaybeAsASCII()); | 428 GURL url = GURL(param.MaybeAsASCII()); |
| 429 // http://crbug.com/371030: Only use URLFixerUpper if we don't have a valid | 429 // http://crbug.com/371030: Only use URLFixerUpper if we don't have a valid |
| 430 // URL, otherwise we will look in the current directory for a file named | 430 // URL, otherwise we will look in the current directory for a file named |
| 431 // 'about' if the browser was started with a about:foo argument. | 431 // 'about' if the browser was started with a about:foo argument. |
| 432 if (!url.is_valid()) { | 432 if (!url.is_valid()) { |
| 433 base::ThreadRestrictions::ScopedAllowIO allow_io; | 433 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 434 url = URLFixerUpper::FixupRelativeFile(cur_dir, param); | 434 url = url_fixer::FixupRelativeFile(cur_dir, param); |
| 435 } | 435 } |
| 436 // Exclude dangerous schemes. | 436 // Exclude dangerous schemes. |
| 437 if (url.is_valid()) { | 437 if (url.is_valid()) { |
| 438 ChildProcessSecurityPolicy* policy = | 438 ChildProcessSecurityPolicy* policy = |
| 439 ChildProcessSecurityPolicy::GetInstance(); | 439 ChildProcessSecurityPolicy::GetInstance(); |
| 440 if (policy->IsWebSafeScheme(url.scheme()) || | 440 if (policy->IsWebSafeScheme(url.scheme()) || |
| 441 url.SchemeIs(url::kFileScheme) || | 441 url.SchemeIs(url::kFileScheme) || |
| 442 #if defined(OS_CHROMEOS) | 442 #if defined(OS_CHROMEOS) |
| 443 // In ChromeOS, allow a settings page to be specified on the | 443 // In ChromeOS, allow a settings page to be specified on the |
| 444 // command line. See ExistingUserController::OnLoginSuccess. | 444 // command line. See ExistingUserController::OnLoginSuccess. |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 728 } | 728 } |
| 729 | 729 |
| 730 if (command_line.HasSwitch(switches::kProfileDirectory)) { | 730 if (command_line.HasSwitch(switches::kProfileDirectory)) { |
| 731 return user_data_dir.Append( | 731 return user_data_dir.Append( |
| 732 command_line.GetSwitchValuePath(switches::kProfileDirectory)); | 732 command_line.GetSwitchValuePath(switches::kProfileDirectory)); |
| 733 } | 733 } |
| 734 | 734 |
| 735 return g_browser_process->profile_manager()->GetLastUsedProfileDir( | 735 return g_browser_process->profile_manager()->GetLastUsedProfileDir( |
| 736 user_data_dir); | 736 user_data_dir); |
| 737 } | 737 } |
| OLD | NEW |