OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "shell/filename_util.h" | 5 #include "shell/filename_util.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "url/gurl.h" | 10 #include "url/gurl.h" |
11 #include "url/url_canon_internal.h" | 11 #include "url/url_canon_internal.h" |
12 #include "url/url_util.h" | 12 #include "url/url_util.h" |
13 | 13 |
14 namespace mojo { | 14 namespace mojo { |
| 15 namespace shell { |
15 | 16 |
16 // Prefix to prepend to get a file URL. | 17 // Prefix to prepend to get a file URL. |
17 static const base::FilePath::CharType kFileURLPrefix[] = | 18 static const base::FilePath::CharType kFileURLPrefix[] = |
18 FILE_PATH_LITERAL("file://"); | 19 FILE_PATH_LITERAL("file://"); |
19 | 20 |
20 GURL FilePathToFileURL(const base::FilePath& path) { | 21 GURL FilePathToFileURL(const base::FilePath& path) { |
21 // Produce a URL like "file:///C:/foo" for a regular file, or | 22 // Produce a URL like "file:///C:/foo" for a regular file, or |
22 // "file://///server/path" for UNC. The URL canonicalizer will fix up the | 23 // "file://///server/path" for UNC. The URL canonicalizer will fix up the |
23 // latter case to be the canonical UNC form: "file://server/path" | 24 // latter case to be the canonical UNC form: "file://server/path" |
24 base::FilePath::StringType url_string(kFileURLPrefix); | 25 base::FilePath::StringType url_string(kFileURLPrefix); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 GURL AddTrailingSlashIfNeeded(const GURL& url) { | 61 GURL AddTrailingSlashIfNeeded(const GURL& url) { |
61 if (!url.has_path() || *url.path().rbegin() == '/') | 62 if (!url.has_path() || *url.path().rbegin() == '/') |
62 return url; | 63 return url; |
63 | 64 |
64 std::string path(url.path() + '/'); | 65 std::string path(url.path() + '/'); |
65 GURL::Replacements replacements; | 66 GURL::Replacements replacements; |
66 replacements.SetPathStr(path); | 67 replacements.SetPathStr(path); |
67 return url.ReplaceComponents(replacements); | 68 return url.ReplaceComponents(replacements); |
68 } | 69 } |
69 | 70 |
| 71 } // namespace shell |
70 } // namespace mojo | 72 } // namespace mojo |
OLD | NEW |