0

[content shell] don't use webkit_support functions to manipulate URLs

In single-process mode, WebKit isn't yet initialized before we start a renderer,
so we can't pass around WebURLs

BUG=111316
TEST=content_shell --dump-render-tree --single-process doesn't crash

Review URL: https://codereview.chromium.org/11151007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161839 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
jochen@chromium.org
2012-10-15 09:04:14 +00:00
parent f4a6c1b739
commit fbddbe935e

@ -7,12 +7,15 @@
#include <iostream>
#include "base/command_line.h"
#include "base/file_path.h"
#include "base/file_util.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/threading/thread_restrictions.h"
#include "content/public/browser/browser_main_runner.h"
#include "content/shell/shell_switches.h"
#include "content/shell/webkit_test_runner_host.h"
#include "net/base/net_util.h"
#include "webkit/support/webkit_support.h"
namespace {
@ -40,11 +43,14 @@ GURL GetURLForLayoutTest(const char* test_name,
}
if (expected_pixel_hash)
*expected_pixel_hash = pixel_hash;
GURL test_url = webkit_support::CreateURLForPathOrURL(path_or_url);
{
GURL test_url(path_or_url);
if (!(test_url.is_valid() && test_url.has_scheme()))
test_url = net::FilePathToFileURL(FilePath(path_or_url));
FilePath local_path;
if (net::FileURLToFilePath(test_url, &local_path)) {
// We're outside of the message loop here, and this is a test.
base::ThreadRestrictions::ScopedAllowIO allow_io;
webkit_support::SetCurrentDirectoryForFileURL(test_url);
file_util::SetCurrentDirectory(local_path.DirName());
}
return test_url;
}