diff options
author | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-21 15:57:23 +0000 |
---|---|---|
committer | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-21 15:57:23 +0000 |
commit | 2e4c50cd49a81bef973b934c236b110e660f3746 (patch) | |
tree | ae4a3d58d0a8efc60d47494305b59c57980eac78 | |
parent | 445a971d141c3b745a84f8fed3a2d627789ebf22 (diff) | |
download | chromium_src-2e4c50cd49a81bef973b934c236b110e660f3746.zip chromium_src-2e4c50cd49a81bef973b934c236b110e660f3746.tar.gz chromium_src-2e4c50cd49a81bef973b934c236b110e660f3746.tar.bz2 |
Remove deprecated CommandLine::GetLooseValues(), rename to args().
It returned a wstring, when really we wanted the native encoded
strings. Fixing the majority of callers actually simplified them
in many cases because the callers wanted native strings too.
Since I'm touching every caller, I gave it a more useful name.
I'm not sure where "loose" came from but it never made sense to me.
BUG=24672
Review URL: http://codereview.chromium.org/3028010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53193 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | base/command_line.cc | 19 | ||||
-rw-r--r-- | base/command_line.h | 12 | ||||
-rw-r--r-- | base/command_line_unittest.cc | 20 | ||||
-rw-r--r-- | chrome/browser/browser_init.cc | 23 | ||||
-rw-r--r-- | courgette/courgette_tool.cc | 10 | ||||
-rw-r--r-- | media/test/ffmpeg_tests/ffmpeg_tests.cc | 52 | ||||
-rw-r--r-- | media/tools/media_bench/media_bench.cc | 50 | ||||
-rw-r--r-- | media/tools/player_wtl/player_wtl.cc | 2 | ||||
-rw-r--r-- | media/tools/scaler_bench/scaler_bench.cc | 2 | ||||
-rw-r--r-- | media/tools/wav_ola_test/wav_ola_test.cc | 13 | ||||
-rw-r--r-- | net/tools/hresolv/hresolv.cc | 14 | ||||
-rw-r--r-- | o3d/converter/cross/converter_main.cc | 8 | ||||
-rw-r--r-- | o3d/converter/cross/verifier_main.cc | 8 | ||||
-rw-r--r-- | o3d/converter_edge/cross/converter_main.cc | 8 | ||||
-rw-r--r-- | o3d/converter_edge/cross/verifier_main.cc | 8 | ||||
-rw-r--r-- | tools/imagediff/image_diff.cc | 18 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_shell_main.cc | 12 |
17 files changed, 145 insertions, 134 deletions
diff --git a/base/command_line.cc b/base/command_line.cc index 2a7824d..c046125 100644 --- a/base/command_line.cc +++ b/base/command_line.cc @@ -82,7 +82,7 @@ void CommandLine::ParseFromString(const std::wstring& command_line) { TrimWhitespace(args[i], TRIM_ALL, &arg); if (!parse_switches) { - loose_values_.push_back(arg); + args_.push_back(arg); continue; } @@ -96,7 +96,7 @@ void CommandLine::ParseFromString(const std::wstring& command_line) { if (IsSwitch(arg, &switch_string, &switch_value)) { switches_[switch_string] = switch_value; } else { - loose_values_.push_back(arg); + args_.push_back(arg); } } @@ -130,7 +130,7 @@ void CommandLine::InitFromArgv(const std::vector<std::string>& argv) { const std::string& arg = argv_[i]; if (!parse_switches) { - loose_values_.push_back(arg); + args_.push_back(arg); continue; } @@ -144,7 +144,7 @@ void CommandLine::InitFromArgv(const std::vector<std::string>& argv) { if (IsSwitch(arg, &switch_string, &switch_value)) { switches_[switch_string] = switch_value; } else { - loose_values_.push_back(arg); + args_.push_back(arg); } } } @@ -287,19 +287,10 @@ std::wstring CommandLine::GetSwitchValue( } #if defined(OS_WIN) -std::vector<std::wstring> CommandLine::GetLooseValues() const { - return loose_values_; -} std::wstring CommandLine::program() const { return program_; } #else -std::vector<std::wstring> CommandLine::GetLooseValues() const { - std::vector<std::wstring> values; - for (size_t i = 0; i < loose_values_.size(); ++i) - values.push_back(base::SysNativeMBToWide(loose_values_[i])); - return values; -} std::wstring CommandLine::program() const { DCHECK_GT(argv_.size(), 0U); return base::SysNativeMBToWide(argv_[0]); @@ -375,7 +366,7 @@ void CommandLine::AppendLooseValue(const std::wstring& value) { // TODO(evan): quoting? command_line_string_.append(L" "); command_line_string_.append(value); - loose_values_.push_back(value); + args_.push_back(value); } void CommandLine::AppendArguments(const CommandLine& other, diff --git a/base/command_line.h b/base/command_line.h index c68711a..2c4f32d 100644 --- a/base/command_line.h +++ b/base/command_line.h @@ -5,10 +5,9 @@ // This class works with command lines: building and parsing. // Switches can optionally have a value attached using an equals sign, // as in "-switch=value". Arguments that aren't prefixed with a -// switch prefix are considered "loose parameters". Switch names are -// case-insensitive. An argument of "--" will terminate switch -// parsing, causing everything after to be considered as loose -// parameters. +// switch prefix are saved as extra arguments. An argument of "--" +// will terminate switch parsing, causing everything after to be +// considered as extra arguments. // There is a singleton read-only CommandLine that represents the command // line that the current process was started with. It must be initialized @@ -139,8 +138,7 @@ class CommandLine { } // Get the remaining arguments to the command. - // WARNING: this is incorrect on POSIX; we must do string conversions. - std::vector<std::wstring> GetLooseValues() const; + const std::vector<StringType>& args() const { return args_; } #if defined(OS_WIN) // Returns the original command line string. @@ -239,7 +237,7 @@ class CommandLine { SwitchMap switches_; // Non-switch command-line arguments. - std::vector<StringType> loose_values_; + std::vector<StringType> args_; // We allow copy constructors, because a common pattern is to grab a // copy of the current process's command line and then add some diff --git a/base/command_line_unittest.cc b/base/command_line_unittest.cc index 6544c13..8f3c7c0 100644 --- a/base/command_line_unittest.cc +++ b/base/command_line_unittest.cc @@ -59,21 +59,21 @@ TEST(CommandLineTest, CommandLineConstructor) { "other-switches")); EXPECT_EQ("45--output-rotation", cl.GetSwitchValueASCII("input-translation")); - std::vector<std::wstring> loose_values = cl.GetLooseValues(); - ASSERT_EQ(5U, loose_values.size()); + const std::vector<CommandLine::StringType>& args = cl.args(); + ASSERT_EQ(5U, args.size()); - std::vector<std::wstring>::const_iterator iter = loose_values.begin(); - EXPECT_EQ(L"flim", *iter); + std::vector<CommandLine::StringType>::const_iterator iter = args.begin(); + EXPECT_EQ(FILE_PATH_LITERAL("flim"), *iter); ++iter; - EXPECT_EQ(L"flan", *iter); + EXPECT_EQ(FILE_PATH_LITERAL("flan"), *iter); ++iter; - EXPECT_EQ(L"--", *iter); + EXPECT_EQ(FILE_PATH_LITERAL("--"), *iter); ++iter; - EXPECT_EQ(L"--not-a-switch", *iter); + EXPECT_EQ(FILE_PATH_LITERAL("--not-a-switch"), *iter); ++iter; - EXPECT_EQ(L"in the time of submarines...", *iter); + EXPECT_EQ(FILE_PATH_LITERAL("in the time of submarines..."), *iter); ++iter; - EXPECT_TRUE(iter == loose_values.end()); + EXPECT_TRUE(iter == args.end()); #if defined(OS_POSIX) const std::vector<std::string>& argvec = cl.argv(); @@ -93,7 +93,7 @@ TEST(CommandLineTest, EmptyString) { CommandLine cl(0, NULL); EXPECT_TRUE(cl.argv().size() == 0); #endif - EXPECT_EQ(0U, cl.GetLooseValues().size()); + EXPECT_EQ(0U, cl.args().size()); } // Test methods for appending switches to a command line. diff --git a/chrome/browser/browser_init.cc b/chrome/browser/browser_init.cc index 1832960..e5b15e2 100644 --- a/chrome/browser/browser_init.cc +++ b/chrome/browser/browser_init.cc @@ -839,27 +839,29 @@ void BrowserInit::LaunchWithProfile::AddBadFlagsInfoBarIfNecessary( std::vector<GURL> BrowserInit::LaunchWithProfile::GetURLsFromCommandLine( Profile* profile) { std::vector<GURL> urls; - std::vector<std::wstring> params = command_line_.GetLooseValues(); + FilePath cur_dir = FilePath::FromWStringHack(cur_dir_); + const std::vector<CommandLine::StringType>& params = command_line_.args(); for (size_t i = 0; i < params.size(); ++i) { - std::wstring& value = params[i]; + FilePath param = FilePath(params[i]); // Handle Vista way of searching - "? <search-term>" - if (value.find(L"? ") == 0) { + if (param.value().find(FILE_PATH_LITERAL("? ")) == 0) { const TemplateURL* default_provider = profile->GetTemplateURLModel()->GetDefaultSearchProvider(); if (!default_provider || !default_provider->url()) { // No search provider available. Just treat this as regular URL. - urls.push_back(URLFixerUpper::FixupRelativeFile(cur_dir_, value)); + urls.push_back(URLFixerUpper::FixupRelativeFile(cur_dir, param)); continue; } const TemplateURLRef* search_url = default_provider->url(); DCHECK(search_url->SupportsReplacement()); + std::wstring search_term = param.ToWStringHack().substr(2); urls.push_back(GURL(search_url->ReplaceSearchTerms( - *default_provider, value.substr(2), + *default_provider, search_term, TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, std::wstring()))); } else { // This will create a file URL or a regular URL. - GURL url(URLFixerUpper::FixupRelativeFile(cur_dir_, value)); + GURL url(URLFixerUpper::FixupRelativeFile(cur_dir, param)); // Exclude dangerous schemes. if (url.is_valid()) { ChildProcessSecurityPolicy *policy = @@ -944,7 +946,7 @@ bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line, switches::kTestingChannelID); // TODO(sanjeevr) Check if we need to make this a singleton for // compatibility with the old testing code - // If there are any loose parameters, we expect each one to generate a + // If there are any extra parameters, we expect each one to generate a // new tab; if there are none then we get one homepage tab. int expected_tab_count = 1; if (command_line.HasSwitch(switches::kRestoreLastSession)) { @@ -953,7 +955,7 @@ bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line, StringToInt(restore_session_value, &expected_tab_count); } else { expected_tab_count = - std::max(1, static_cast<int>(command_line.GetLooseValues().size())); + std::max(1, static_cast<int>(command_line.args().size())); } CreateAutomationProvider<TestingAutomationProvider>( testing_channel_id, @@ -1018,11 +1020,10 @@ bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line, if (command_line.HasSwitch(switches::kAutomationClientChannelID)) { std::string automation_channel_id = command_line.GetSwitchValueASCII( switches::kAutomationClientChannelID); - // If there are any loose parameters, we expect each one to generate a + // If there are any extra parameters, we expect each one to generate a // new tab; if there are none then we have no tabs size_t expected_tabs = - std::max(static_cast<int>(command_line.GetLooseValues().size()), - 0); + std::max(static_cast<int>(command_line.args().size()), 0); if (expected_tabs == 0) silent_launch = true; diff --git a/courgette/courgette_tool.cc b/courgette/courgette_tool.cc index f118bd9..ef9fa71 100644 --- a/courgette/courgette_tool.cc +++ b/courgette/courgette_tool.cc @@ -359,7 +359,15 @@ int main(int argc, const char* argv[]) { bool cmd_spread_1_adjusted = command_line.HasSwitch("gen1a"); bool cmd_spread_1_unadjusted = command_line.HasSwitch("gen1u"); - std::vector<std::wstring> values = command_line.GetLooseValues(); + // TODO(evanm): this whole file should use FilePaths instead of wstrings. + std::vector<std::wstring> values; + for (size_t i = 0; i < command_line.args().size(); ++i) { +#if defined(OS_WIN) + values.push_back(command_line.args()[i]); +#else + values.push_back(ASCIIToWide(command_line.args()[i])); +#endif + } // '-repeat=N' is for debugging. Running many iterations can reveal leaks and // bugs in cleanup. diff --git a/media/test/ffmpeg_tests/ffmpeg_tests.cc b/media/test/ffmpeg_tests/ffmpeg_tests.cc index 47dd1b1..a967bc3 100644 --- a/media/test/ffmpeg_tests/ffmpeg_tests.cc +++ b/media/test/ffmpeg_tests/ffmpeg_tests.cc @@ -70,10 +70,7 @@ int main(int argc, const char** argv) { CommandLine::Init(argc, argv); const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); - // TODO(evanm): GetLooseValues() should return a - // CommandLine::StringType, which can be converted to FilePaths - // directly. - std::vector<std::wstring> filenames(cmd_line->GetLooseValues()); + const std::vector<CommandLine::StringType>& filenames = cmd_line->args(); if (filenames.empty()) { std::cerr << "Usage: " << argv[0] << " MEDIAFILE" << std::endl; @@ -89,12 +86,10 @@ int main(int argc, const char** argv) { } // Retrieve command line options. - std::string in_path(WideToASCII(filenames[0])); + FilePath in_path(filenames[0]); FilePath out_path; - if (filenames.size() > 1) { - // See TODO above the declaration of filenames. - out_path = FilePath::FromWStringHack(filenames[1]); - } + if (filenames.size() > 1) + out_path = FilePath(filenames[1]); // Default flags that match Chrome defaults. int video_threads = 3; @@ -122,17 +117,25 @@ int main(int argc, const char** argv) { av_register_all(); av_register_protocol(&kFFmpegFileProtocol); AVFormatContext* format_context = NULL; - int result = av_open_input_file(&format_context, in_path.c_str(), + // av_open_input_file wants a char*, which can't work with wide paths. + // So we assume ASCII on Windows. On other platforms we can pass the + // path bytes through verbatim. +#if defined(OS_WIN) + std::string string_path = WideToASCII(in_path.value()); +#else + const std::string& string_path = in_path.value(); +#endif + int result = av_open_input_file(&format_context, string_path.c_str(), NULL, 0, NULL); if (result < 0) { switch (result) { case AVERROR_NOFMT: std::cerr << "Error: File format not supported " - << in_path << std::endl; + << in_path.value() << std::endl; break; default: std::cerr << "Error: Could not open input for " - << in_path << std::endl; + << in_path.value() << std::endl; break; } return 1; @@ -152,7 +155,7 @@ int main(int argc, const char** argv) { // Parse a little bit of the stream to fill out the format context. if (av_find_stream_info(format_context) < 0) { std::cerr << "Error: Could not find stream info for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } @@ -201,7 +204,7 @@ int main(int argc, const char** argv) { // Only continue if we found our target stream. if (target_stream < 0) { std::cerr << "Error: Could not find target stream " - << target_stream << " for " << in_path << std::endl; + << target_stream << " for " << in_path.value() << std::endl; return 1; } @@ -213,14 +216,14 @@ int main(int argc, const char** argv) { // Only continue if we found our codec. if (!codec) { std::cerr << "Error: Could not find codec for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } // TODO(fbarchard): On next ffmpeg roll, retest if this work around is needed. if (codec_context->codec_id == CODEC_ID_THEORA) { std::cerr << "Warning: Disabling threads to avoid Theora bug " - << in_path << std::endl; + << in_path.value() << std::endl; video_threads = 1; } @@ -240,7 +243,7 @@ int main(int argc, const char** argv) { if (avcodec_open(codec_context, codec) < 0) { std::cerr << "Error: Could not open codec " << codec_context->codec->name << " for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } @@ -253,7 +256,7 @@ int main(int argc, const char** argv) { avcodec_alloc_frame()); if (!frame.get()) { std::cerr << "Error: avcodec_alloc_frame for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } @@ -305,7 +308,8 @@ int main(int argc, const char** argv) { if (fwrite(samples.get(), 1, size_out, output) != static_cast<size_t>(size_out)) { std::cerr << "Error: Could not write " - << size_out << " bytes for " << in_path << std::endl; + << size_out << " bytes for " << in_path.value() + << std::endl; return 1; } } @@ -363,7 +367,7 @@ int main(int argc, const char** argv) { bytes_per_line) { std::cerr << "Error: Could not write data after " << copy_lines << " lines for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } source += source_stride; @@ -391,7 +395,7 @@ int main(int argc, const char** argv) { // Make sure our decoding went OK. if (result < 0) { std::cerr << "Error: avcodec_decode returned " - << result << " for " << in_path << std::endl; + << result << " for " << in_path.value() << std::endl; return 1; } } @@ -476,19 +480,19 @@ int main(int argc, const char** argv) { } if (hash_djb2) { *log_out << " DJB2 Hash:" << std::setw(11) << hash_value - << " " << in_path << std::endl; + << " " << in_path.value() << std::endl; } if (hash_md5) { MD5Digest digest; // The result of the computation. MD5Final(&digest, &ctx); *log_out << " MD5 Hash: " << MD5DigestToBase16(digest) - << " " << in_path << std::endl; + << " " << in_path.value() << std::endl; } #endif // SHOW_VERBOSE #if defined(ENABLE_WINDOWS_EXCEPTIONS) } __except(EXCEPTION_EXECUTE_HANDLER) { *log_out << " Exception:" << std::setw(11) << GetExceptionCode() - << " " << in_path << std::endl; + << " " << in_path.value() << std::endl; return 1; } #endif diff --git a/media/tools/media_bench/media_bench.cc b/media/tools/media_bench/media_bench.cc index ad6a7c2..cdc2560 100644 --- a/media/tools/media_bench/media_bench.cc +++ b/media/tools/media_bench/media_bench.cc @@ -89,10 +89,7 @@ int main(int argc, const char** argv) { CommandLine::Init(argc, argv); const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); - // TODO(evanm): GetLooseValues() should return a - // CommandLine::StringType, which can be converted to FilePaths - // directly. - std::vector<std::wstring> filenames(cmd_line->GetLooseValues()); + const std::vector<CommandLine::StringType>& filenames = cmd_line->args(); if (filenames.empty()) { std::cerr << "Usage: " << argv[0] << " [OPTIONS] FILE [DUMPFILE]\n" << " --stream=[audio|video] " @@ -129,12 +126,10 @@ int main(int argc, const char** argv) { } // Retrieve command line options. - std::string in_path(WideToASCII(filenames[0])); + FilePath in_path(filenames[0]); FilePath out_path; - if (filenames.size() > 1) { - // See TODO above the declaration of filenames. - out_path = FilePath::FromWStringHack(filenames[1]); - } + if (filenames.size() > 1) + out_path = FilePath(filenames[1]); CodecType target_codec = CODEC_TYPE_UNKNOWN; // Determine whether to benchmark audio or video decoding. @@ -230,17 +225,25 @@ int main(int argc, const char** argv) { av_register_all(); av_register_protocol(&kFFmpegFileProtocol); AVFormatContext* format_context = NULL; - int result = av_open_input_file(&format_context, in_path.c_str(), + // av_open_input_file wants a char*, which can't work with wide paths. + // So we assume ASCII on Windows. On other platforms we can pass the + // path bytes through verbatim. +#if defined(OS_WIN) + std::string string_path = WideToASCII(in_path.value()); +#else + const std::string& string_path = in_path.value(); +#endif + int result = av_open_input_file(&format_context, string_path.c_str(), NULL, 0, NULL); if (result < 0) { switch (result) { case AVERROR_NOFMT: std::cerr << "Error: File format not supported " - << in_path << std::endl; + << in_path.value() << std::endl; break; default: std::cerr << "Error: Could not open input for " - << in_path << std::endl; + << in_path.value() << std::endl; break; } return 1; @@ -270,7 +273,7 @@ int main(int argc, const char** argv) { // Parse a little bit of the stream to fill out the format context. if (av_find_stream_info(format_context) < 0) { std::cerr << "Error: Could not find stream info for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } @@ -300,7 +303,7 @@ int main(int argc, const char** argv) { // Only continue if we found our target stream. if (target_stream < 0) { std::cerr << "Error: Could not find target stream " - << target_stream << " for " << in_path << std::endl; + << target_stream << " for " << in_path.value() << std::endl; return 1; } @@ -312,7 +315,7 @@ int main(int argc, const char** argv) { // Only continue if we found our codec. if (!codec) { std::cerr << "Error: Could not find codec for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } @@ -344,7 +347,7 @@ int main(int argc, const char** argv) { if (avcodec_open(codec_context, codec) < 0) { std::cerr << "Error: Could not open codec " << codec_context->codec->name << " for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } @@ -357,7 +360,7 @@ int main(int argc, const char** argv) { avcodec_alloc_frame()); if (!frame.get()) { std::cerr << "Error: avcodec_alloc_frame for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } @@ -409,7 +412,8 @@ int main(int argc, const char** argv) { if (fwrite(samples.get(), 1, size_out, output) != static_cast<size_t>(size_out)) { std::cerr << "Error: Could not write " - << size_out << " bytes for " << in_path << std::endl; + << size_out << " bytes for " << in_path.value() + << std::endl; return 1; } } @@ -467,7 +471,7 @@ int main(int argc, const char** argv) { bytes_per_line) { std::cerr << "Error: Could not write data after " << copy_lines << " lines for " - << in_path << std::endl; + << in_path.value() << std::endl; return 1; } source += source_stride; @@ -495,7 +499,7 @@ int main(int argc, const char** argv) { // Make sure our decoding went OK. if (result < 0) { std::cerr << "Error: avcodec_decode returned " - << result << " for " << in_path << std::endl; + << result << " for " << in_path.value() << std::endl; return 1; } } @@ -556,18 +560,18 @@ int main(int argc, const char** argv) { } if (hash_djb2) { *log_out << " DJB2 Hash:" << std::setw(11) << hash_value - << " " << in_path << std::endl; + << " " << in_path.value() << std::endl; } if (hash_md5) { MD5Digest digest; // The result of the computation. MD5Final(&digest, &ctx); *log_out << " MD5 Hash: " << MD5DigestToBase16(digest) - << " " << in_path << std::endl; + << " " << in_path.value() << std::endl; } #if defined(ENABLE_WINDOWS_EXCEPTIONS) } __except(EXCEPTION_EXECUTE_HANDLER) { *log_out << " Exception:" << std::setw(11) << GetExceptionCode() - << " " << in_path << std::endl; + << " " << in_path.value() << std::endl; return 1; } #endif diff --git a/media/tools/player_wtl/player_wtl.cc b/media/tools/player_wtl/player_wtl.cc index 5df87a7..3bb8f9e 100644 --- a/media/tools/player_wtl/player_wtl.cc +++ b/media/tools/player_wtl/player_wtl.cc @@ -31,7 +31,7 @@ int Run(wchar_t* win_cmd_line, int cmd_show) { CommandLine::Init(0, NULL); const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); - std::vector<std::wstring> filenames(cmd_line->GetLooseValues()); + const std::vector<std::wstring>& filenames = cmd_line->args(); CMessageLoop the_loop; g_module.AddMessageLoop(&the_loop); diff --git a/media/tools/scaler_bench/scaler_bench.cc b/media/tools/scaler_bench/scaler_bench.cc index 749e1a6..b5d2ae1 100644 --- a/media/tools/scaler_bench/scaler_bench.cc +++ b/media/tools/scaler_bench/scaler_bench.cc @@ -135,7 +135,7 @@ int main(int argc, const char** argv) { CommandLine::Init(argc, argv); const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); - if (!cmd_line->GetLooseValues().empty()) { + if (!cmd_line->args().empty()) { std::cerr << "Usage: " << argv[0] << " [OPTIONS]\n" << " --frames=N " << "Number of frames\n" diff --git a/media/tools/wav_ola_test/wav_ola_test.cc b/media/tools/wav_ola_test/wav_ola_test.cc index 0aec9fd..4c006c3 100644 --- a/media/tools/wav_ola_test/wav_ola_test.cc +++ b/media/tools/wav_ola_test/wav_ola_test.cc @@ -71,7 +71,7 @@ int main(int argc, const char** argv) { CommandLine::Init(argc, argv); const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); - std::vector<std::wstring> filenames(cmd_line->GetLooseValues()); + const std::vector<CommandLine::StringType>& filenames = cmd_line->args(); if (filenames.empty()) { std::cerr << "Usage: " << argv[0] << " RATE INFILE OUTFILE\n" << std::endl; @@ -79,12 +79,17 @@ int main(int argc, const char** argv) { } // Retrieve command line options. - FilePath in_path(FilePath::FromWStringHack(filenames[1])); - FilePath out_path(FilePath::FromWStringHack(filenames[2])); + FilePath in_path(filenames[1]); + FilePath out_path(filenames[2]); double playback_rate = 0.0; // Determine speed of rerecord. - if (!StringToDouble(WideToUTF8(filenames[0]), &playback_rate)) +#if defined(OS_WIN) + std::string filename_str = WideToASCII(filenames[0]); +#else + const std::string& filename_str = filenames[0]; +#endif + if (!StringToDouble(filename_str, &playback_rate)) playback_rate = 0.0; // Open input file. diff --git a/net/tools/hresolv/hresolv.cc b/net/tools/hresolv/hresolv.cc index 9c67070..d524bd7 100644 --- a/net/tools/hresolv/hresolv.cc +++ b/net/tools/hresolv/hresolv.cc @@ -354,14 +354,18 @@ bool ParseCommandLine(CommandLine* command_line, CommandLineOptions* options) { } bool ReadHostsAndTimesFromLooseValues( - const std::vector<std::wstring>& loose_args, + const std::vector<CommandLine::StringType>& args, std::vector<HostAndTime>* hosts_and_times) { - std::vector<std::wstring>::const_iterator loose_args_end = loose_args.end(); - for (std::vector<std::wstring>::const_iterator it = loose_args.begin(); - it != loose_args_end; + for (std::vector<CommandLine::StringType>::const_iterator it = + args.begin(); + it != args.end(); ++it) { // TODO(cbentzel): Read time offset. +#if defined(OS_WIN) HostAndTime host_and_time = {WideToASCII(*it), 0}; +#else + HostAndTime host_and_time = {*it, 0}; +#endif hosts_and_times->push_back(host_and_time); } return true; @@ -431,7 +435,7 @@ int main(int argc, char** argv) { // file into memory. std::vector<HostAndTime> hosts_and_times; if (options.input_path.empty()) { - if (!ReadHostsAndTimesFromLooseValues(command_line->GetLooseValues(), + if (!ReadHostsAndTimesFromLooseValues(command_line->args(), &hosts_and_times)) { exit(1); } diff --git a/o3d/converter/cross/converter_main.cc b/o3d/converter/cross/converter_main.cc index ee819a9..fda6907 100644 --- a/o3d/converter/cross/converter_main.cc +++ b/o3d/converter/cross/converter_main.cc @@ -78,16 +78,16 @@ int CrossMain(int argc, char**argv) { o3d::UTF8ToFilePath("convert.py")); - std::vector<std::wstring> values = command_line->GetLooseValues(); + const std::vector<CommandLine::StringType>& values = command_line->args(); if (values.size() == 1) { // If we're only given one argument, then construct the output // filename by substituting the extension on the filename (if any) // with .o3dtgz. - in_filename = o3d::WideToFilePath(values[0]); + in_filename = FilePath(values[0]); out_filename = in_filename.ReplaceExtension(FILE_PATH_LITERAL(".o3dtgz")); } else if (values.size()== 2) { - in_filename = o3d::WideToFilePath(values[0]); - out_filename = o3d::WideToFilePath(values[1]); + in_filename = FilePath(values[0]); + out_filename = FilePath(values[1]); } else { std::cerr << "Usage: " << argv[0] << " [ options ] <infile.dae> [ <outfile> ]\n"; diff --git a/o3d/converter/cross/verifier_main.cc b/o3d/converter/cross/verifier_main.cc index 931fa39..1f7280c 100644 --- a/o3d/converter/cross/verifier_main.cc +++ b/o3d/converter/cross/verifier_main.cc @@ -69,12 +69,12 @@ int CrossMain(int argc, char**argv) { FilePath in_filename, out_filename; - std::vector<std::wstring> values = command_line->GetLooseValues(); + const std::vector<CommandLine::StringType>& values = args->args(); if (values.size() == 1) { - in_filename = o3d::WideToFilePath(values[0]); + in_filename = FilePath(values[0]); } else if (values.size()== 2) { - in_filename = o3d::WideToFilePath(values[0]); - out_filename = o3d::WideToFilePath(values[1]); + in_filename = FilePath(values[0]); + out_filename = FilePath(values[1]); } else { std::cerr << "Usage: " << FilePath(argv[0]).BaseName().value() << " [--no-condition] <infile.fx> [<outfile.fx>]\n"; diff --git a/o3d/converter_edge/cross/converter_main.cc b/o3d/converter_edge/cross/converter_main.cc index eef1dec..7fc033a 100644 --- a/o3d/converter_edge/cross/converter_main.cc +++ b/o3d/converter_edge/cross/converter_main.cc @@ -70,16 +70,16 @@ int CrossMain(int argc, char**argv) { FilePath in_filename, out_filename; - std::vector<std::wstring> values = command_line->GetLooseValues(); + const std::vector<CommandLine::StringType>& values = command_line->args(); if (values.size() == 1) { // If we're only given one argument, then construct the output // filename by substituting the extension on the filename (if any) // with .o3dtgz. - in_filename = o3d::WideToFilePath(values[0]); + in_filename = FilePath(values[0]); out_filename = in_filename.ReplaceExtension(FILE_PATH_LITERAL(".o3dtgz")); } else if (values.size()== 2) { - in_filename = o3d::WideToFilePath(values[0]); - out_filename = o3d::WideToFilePath(values[1]); + in_filename = FilePath(values[0]); + out_filename = FilePath(values[1]); } else { std::cerr << "Usage: " << argv[0] << " [ options ] <infile.dae> [ <outfile> ]\n"; diff --git a/o3d/converter_edge/cross/verifier_main.cc b/o3d/converter_edge/cross/verifier_main.cc index c401596..5c2b954 100644 --- a/o3d/converter_edge/cross/verifier_main.cc +++ b/o3d/converter_edge/cross/verifier_main.cc @@ -69,12 +69,12 @@ int CrossMain(int argc, char**argv) { FilePath in_filename, out_filename; - std::vector<std::wstring> values = command_line->GetLooseValues(); + const std::vector<CommandLine::StringType>& values = command_line->args(); if (values.size() == 1) { - in_filename = o3d::WideToFilePath(values[0]); + in_filename = FilePath(values[0]); } else if (values.size()== 2) { - in_filename = o3d::WideToFilePath(values[0]); - out_filename = o3d::WideToFilePath(values[1]); + in_filename = FilePath(values[0]); + out_filename = FilePath(values[1]); } else { std::cerr << "Usage: " << FilePath(argv[0]).BaseName().value() << " [--no-condition] <infile.fx> [<outfile.fx>]\n"; diff --git a/tools/imagediff/image_diff.cc b/tools/imagediff/image_diff.cc index d755b6f..ccf356c 100644 --- a/tools/imagediff/image_diff.cc +++ b/tools/imagediff/image_diff.cc @@ -363,19 +363,15 @@ int main(int argc, const char* argv[]) { return 0; } - // TODO: CommandLine::GetLooseValues() should eventually return - // CommandLine::StringType (which is the same as - // FilePath::StringType and can convert to FilePaths directly). - std::vector<std::wstring> values = parsed_command_line.GetLooseValues(); + const std::vector<CommandLine::StringType>& args = parsed_command_line.args(); if (parsed_command_line.HasSwitch(kOptionGenerateDiff)) { - if (values.size() == 3) { - return DiffImages(FilePath::FromWStringHack(values[0]), - FilePath::FromWStringHack(values[1]), - FilePath::FromWStringHack(values[2])); + if (args.size() == 3) { + return DiffImages(FilePath(args[0]), + FilePath(args[1]), + FilePath(args[2])); } - } else if (values.size() == 2) { - return CompareImages(FilePath::FromWStringHack(values[0]), - FilePath::FromWStringHack(values[1])); + } else if (args.size() == 2) { + return CompareImages(FilePath(args[0]), FilePath(args[1])); } PrintHelp(); diff --git a/webkit/tools/test_shell/test_shell_main.cc b/webkit/tools/test_shell/test_shell_main.cc index 203265d..4a5cc46 100644 --- a/webkit/tools/test_shell/test_shell_main.cc +++ b/webkit/tools/test_shell/test_shell_main.cc @@ -209,7 +209,7 @@ int main(int argc, char* argv[]) { TestShell::SetFileTestTimeout(timeout_ms); } - // Treat the first loose value as the initial URL to open. + // Treat the first argument as the initial URL to open. GURL starting_url; // Default to a homepage if we're interactive. @@ -223,14 +223,14 @@ int main(int argc, char* argv[]) { starting_url = net::FilePathToFileURL(path); } - std::vector<std::wstring> loose_values = parsed_command_line.GetLooseValues(); - if (loose_values.size() > 0) { - GURL url(WideToUTF16Hack(loose_values[0])); + const std::vector<CommandLine::StringType>& args = parsed_command_line.args(); + if (args.size() > 0) { + GURL url(args[0]); if (url.is_valid()) { starting_url = url; } else { // Treat as a relative file path. - FilePath path = FilePath::FromWStringHack(loose_values[0]); + FilePath path = FilePath(args[0]); file_util::AbsolutePath(&path); starting_url = net::FilePathToFileURL(path); } @@ -358,7 +358,7 @@ int main(int argc, char* argv[]) { } else { // TODO(ojan): Provide a way for run-singly tests to pass // in a hash and then set params.pixel_hash here. - params.test_url = WideToUTF8(loose_values[0]); + params.test_url = starting_url.spec(); TestShell::RunFileTest(params); } |