Chromium Code Reviews| Index: mojo/shell/dynamic_application_loader.cc |
| diff --git a/mojo/shell/dynamic_application_loader.cc b/mojo/shell/dynamic_application_loader.cc |
| index 1f24cf37fb16024b3c232baecc746838f2f21271..06ed3f33127bd7538e732a11cc42951b9a85cb5e 100644 |
| --- a/mojo/shell/dynamic_application_loader.cc |
| +++ b/mojo/shell/dynamic_application_loader.cc |
| @@ -11,12 +11,14 @@ |
| #include "base/memory/scoped_ptr.h" |
| #include "base/memory/weak_ptr.h" |
| #include "base/message_loop/message_loop.h" |
| +#include "base/strings/utf_string_conversions.h" |
| #include "mojo/common/common_type_converters.h" |
| #include "mojo/common/data_pipe_utils.h" |
| #include "mojo/services/public/interfaces/network/url_loader.mojom.h" |
| #include "mojo/shell/context.h" |
| +#include "mojo/shell/filename_util.h" |
| #include "mojo/shell/switches.h" |
| -#include "net/base/filename_util.h" |
| +#include "url/url_util.h" |
| namespace mojo { |
| namespace shell { |
| @@ -92,8 +94,17 @@ class DynamicApplicationLoader::LocalLoader : public Loader { |
| load_callbacks, |
| loader_complete_callback), |
| weak_ptr_factory_(this) { |
| - base::FilePath path; |
| - net::FileURLToFilePath(url, &path); |
| + DCHECK(url.SchemeIsFile()); |
| + url::RawCanonOutputW<1024> output; |
| + url::DecodeURLEscapeSequences( |
|
jamesr
2014/10/16 21:41:37
PTAL
|
| + url.path().data(), url.path().length(), &output); |
| + base::string16 decoded_path = |
| + base::string16(output.data(), output.length()); |
| +#if defined(OS_WIN) |
| + base::FilePath path(decoded_path); |
| +#else |
| + base::FilePath path(base::UTF16ToUTF8(decoded_path)); |
| +#endif |
| // Async for consistency with network case. |
| base::MessageLoop::current()->PostTask( |