OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/first_run/first_run.h" | 5 #include "chrome/browser/first_run/first_run.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <shellapi.h> | 8 #include <shellapi.h> |
9 #include <shlobj.h> | 9 #include <shlobj.h> |
10 | 10 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 | 128 |
129 bool LaunchSetupWithParam(const std::string& param, const std::wstring& value, | 129 bool LaunchSetupWithParam(const std::string& param, const std::wstring& value, |
130 int* ret_code) { | 130 int* ret_code) { |
131 FilePath exe_path; | 131 FilePath exe_path; |
132 if (!PathService::Get(base::DIR_MODULE, &exe_path)) | 132 if (!PathService::Get(base::DIR_MODULE, &exe_path)) |
133 return false; | 133 return false; |
134 exe_path = exe_path.Append(installer_util::kInstallerDir); | 134 exe_path = exe_path.Append(installer_util::kInstallerDir); |
135 exe_path = exe_path.Append(installer_util::kSetupExe); | 135 exe_path = exe_path.Append(installer_util::kSetupExe); |
136 base::ProcessHandle ph; | 136 base::ProcessHandle ph; |
137 CommandLine cl(exe_path); | 137 CommandLine cl(exe_path); |
138 cl.AppendSwitchWithValue(param, value); | 138 cl.AppendSwitchNative(param, value); |
139 | 139 |
140 CommandLine* browser_command_line = CommandLine::ForCurrentProcess(); | 140 CommandLine* browser_command_line = CommandLine::ForCurrentProcess(); |
141 if (browser_command_line->HasSwitch(switches::kChromeFrame)) { | 141 if (browser_command_line->HasSwitch(switches::kChromeFrame)) { |
142 cl.AppendSwitch(switches::kChromeFrame); | 142 cl.AppendSwitch(switches::kChromeFrame); |
143 } | 143 } |
144 | 144 |
145 if (!base::LaunchApp(cl, false, false, &ph)) | 145 if (!base::LaunchApp(cl, false, false, &ph)) |
146 return false; | 146 return false; |
147 DWORD wr = ::WaitForSingleObject(ph, INFINITE); | 147 DWORD wr = ::WaitForSingleObject(ph, INFINITE); |
148 if (wr != WAIT_OBJECT_0) | 148 if (wr != WAIT_OBJECT_0) |
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
573 import_process_ = NULL; | 573 import_process_ = NULL; |
574 } | 574 } |
575 } | 575 } |
576 | 576 |
577 HWND owner_window_; | 577 HWND owner_window_; |
578 base::ProcessHandle import_process_; | 578 base::ProcessHandle import_process_; |
579 WorkerThreadTicker ticker_; | 579 WorkerThreadTicker ticker_; |
580 DISALLOW_COPY_AND_ASSIGN(HungImporterMonitor); | 580 DISALLOW_COPY_AND_ASSIGN(HungImporterMonitor); |
581 }; | 581 }; |
582 | 582 |
583 std::wstring EncodeImportParams(int browser_type, int options, HWND window) { | 583 std::string EncodeImportParams(int browser_type, int options, HWND window) { |
584 return StringPrintf(L"%d@%d@%d", browser_type, options, window); | 584 return StringPrintf("%d@%d@%d", browser_type, options, window); |
585 } | 585 } |
586 | 586 |
587 bool DecodeImportParams(const std::wstring& encoded, | 587 bool DecodeImportParams(const std::wstring& encoded, |
588 int* browser_type, int* options, HWND* window) { | 588 int* browser_type, int* options, HWND* window) { |
589 std::vector<std::wstring> v; | 589 std::vector<std::wstring> v; |
590 SplitString(encoded, L'@', &v); | 590 SplitString(encoded, L'@', &v); |
591 if (v.size() != 3) | 591 if (v.size() != 3) |
592 return false; | 592 return false; |
593 | 593 |
594 if (!StringToInt(v[0], browser_type)) | 594 if (!StringToInt(v[0], browser_type)) |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 const char* kSwitchNames[] = { | 686 const char* kSwitchNames[] = { |
687 switches::kUserDataDir, | 687 switches::kUserDataDir, |
688 switches::kChromeFrame, | 688 switches::kChromeFrame, |
689 switches::kCountry, | 689 switches::kCountry, |
690 }; | 690 }; |
691 import_cmd.CopySwitchesFrom(cmdline, kSwitchNames, arraysize(kSwitchNames)); | 691 import_cmd.CopySwitchesFrom(cmdline, kSwitchNames, arraysize(kSwitchNames)); |
692 | 692 |
693 // Since ImportSettings is called before the local state is stored on disk | 693 // Since ImportSettings is called before the local state is stored on disk |
694 // we pass the language as an argument. GetApplicationLocale checks the | 694 // we pass the language as an argument. GetApplicationLocale checks the |
695 // current command line as fallback. | 695 // current command line as fallback. |
696 import_cmd.AppendSwitchWithValue( | 696 import_cmd.AppendSwitchASCII(switches::kLang, |
697 switches::kLang, | 697 g_browser_process->GetApplicationLocale()); |
698 ASCIIToWide(g_browser_process->GetApplicationLocale())); | |
699 | 698 |
700 if (items_to_import) { | 699 if (items_to_import) { |
701 import_cmd.CommandLine::AppendSwitchWithValue(switches::kImport, | 700 import_cmd.CommandLine::AppendSwitchASCII(switches::kImport, |
702 EncodeImportParams(browser_type, items_to_import, parent_window)); | 701 EncodeImportParams(browser_type, items_to_import, parent_window)); |
703 } | 702 } |
704 | 703 |
705 if (!import_bookmarks_path.empty()) { | 704 if (!import_bookmarks_path.empty()) { |
706 import_cmd.CommandLine::AppendSwitchWithValue( | 705 import_cmd.CommandLine::AppendSwitchWithValue( |
707 switches::kImportFromFile, import_bookmarks_path.c_str()); | 706 switches::kImportFromFile, import_bookmarks_path.c_str()); |
708 } | 707 } |
709 | 708 |
710 // Time to launch the process that is going to do the import. | 709 // Time to launch the process that is going to do the import. |
711 base::ProcessHandle import_process; | 710 base::ProcessHandle import_process; |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1054 | 1053 |
1055 Upgrade::TryResult Upgrade::ShowTryChromeDialog(size_t version) { | 1054 Upgrade::TryResult Upgrade::ShowTryChromeDialog(size_t version) { |
1056 if (version > 10000) { | 1055 if (version > 10000) { |
1057 // This is a test value. We want to make sure we exercise | 1056 // This is a test value. We want to make sure we exercise |
1058 // returning this early. See EarlyReturnTest test harness. | 1057 // returning this early. See EarlyReturnTest test harness. |
1059 return Upgrade::TD_NOT_NOW; | 1058 return Upgrade::TD_NOT_NOW; |
1060 } | 1059 } |
1061 TryChromeDialog td; | 1060 TryChromeDialog td; |
1062 return td.ShowModal(); | 1061 return td.ShowModal(); |
1063 } | 1062 } |
OLD | NEW |