Index: webkit/tools/test_shell/test_shell_main.cc |
=================================================================== |
--- webkit/tools/test_shell/test_shell_main.cc (revision 15017) |
+++ webkit/tools/test_shell/test_shell_main.cc (working copy) |
@@ -8,6 +8,7 @@ |
#include "base/basictypes.h" |
#include "base/command_line.h" |
#include "base/event_recorder.h" |
+#include "base/file_path.h" |
#include "base/file_util.h" |
#include "base/icu_util.h" |
#include "base/memory_debug.h" |
@@ -122,20 +123,21 @@ |
parsed_command_line.HasSwitch(test_shell::kEnableFileCookies)) |
net::CookieMonster::EnableFileScheme(); |
- std::wstring cache_path = |
- parsed_command_line.GetSwitchValue(test_shell::kCacheDir); |
+ FilePath cache_path = FilePath::FromWStringHack( |
+ parsed_command_line.GetSwitchValue(test_shell::kCacheDir)); |
// If the cache_path is empty and it's layout_test_mode, leave it empty |
// so we use an in-memory cache. This makes running multiple test_shells |
// in parallel less flaky. |
if (cache_path.empty() && !layout_test_mode) { |
PathService::Get(base::DIR_EXE, &cache_path); |
- file_util::AppendToPath(&cache_path, L"cache"); |
+ cache_path = cache_path.AppendASCII("cache"); |
} |
// Initializing with a default context, which means no on-disk cookie DB, |
// and no support for directory listings. |
SimpleResourceLoaderBridge::Init( |
- new TestShellRequestContext(cache_path, cache_mode, layout_test_mode)); |
+ new TestShellRequestContext(cache_path.ToWStringHack(), |
+ cache_mode, layout_test_mode)); |
// Load ICU data tables |
icu_util::Initialize(); |
@@ -169,20 +171,20 @@ |
} |
// Treat the first loose value as the initial URL to open. |
- std::wstring uri; |
+ FilePath uri; |
// Default to a homepage if we're interactive. |
if (!layout_test_mode) { |
PathService::Get(base::DIR_SOURCE_ROOT, &uri); |
- file_util::AppendToPath(&uri, L"webkit"); |
- file_util::AppendToPath(&uri, L"data"); |
- file_util::AppendToPath(&uri, L"test_shell"); |
- file_util::AppendToPath(&uri, L"index.html"); |
+ uri = uri.AppendASCII("webkit"); |
+ uri = uri.AppendASCII("data"); |
+ uri = uri.AppendASCII("test_shell"); |
+ uri = uri.AppendASCII("index.html"); |
} |
std::vector<std::wstring> loose_values = parsed_command_line.GetLooseValues(); |
if (loose_values.size() > 0) |
- uri = loose_values[0]; |
+ uri = FilePath::FromWStringHack(loose_values[0]); |
std::wstring js_flags = |
parsed_command_line.GetSwitchValue(test_shell::kJavaScriptFlags); |
@@ -207,7 +209,7 @@ |
StatsTable::set_current(table); |
TestShell* shell; |
- if (TestShell::CreateNewWindow(uri, &shell)) { |
+ if (TestShell::CreateNewWindow(uri.ToWStringHack(), &shell)) { |
if (record_mode || playback_mode) { |
platform.SetWindowPositionForRecording(shell); |
WebKit::registerExtension(extensions_v8::PlaybackExtension::Get()); |
@@ -220,10 +222,10 @@ |
bool no_events = parsed_command_line.HasSwitch(test_shell::kNoEvents); |
if ((record_mode || playback_mode) && !no_events) { |
- std::wstring script_path = cache_path; |
+ FilePath script_path = cache_path; |
// Create the cache directory in case it doesn't exist. |
file_util::CreateDirectory(cache_path); |
- file_util::AppendToPath(&script_path, L"script.log"); |
+ script_path = script_path.AppendASCII("script.log"); |
if (record_mode) |
base::EventRecorder::current()->StartRecording(script_path); |
if (playback_mode) |
@@ -259,7 +261,7 @@ |
params.dump_tree = false; |
} |
- if (uri.length() == 0) { |
+ if (uri.empty()) { |
// Watch stdin for URLs. |
char filenameBuffer[kPathBufSize]; |
while (fgets(filenameBuffer, sizeof(filenameBuffer), stdin)) { |
@@ -293,7 +295,7 @@ |
} 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(uri).c_str(); |
+ params.test_url = WideToUTF8(uri.ToWStringHack()).c_str(); |
TestShell::RunFileTest(params); |
} |