Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Side by Side Diff: extensions/common/file_util.cc

Issue 2574763003: Remove chrome-extension-resource:// scheme (Closed)
Patch Set: Remove BUILD reference to resources/extension outdir. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « extensions/common/file_util.h ('k') | extensions/common/file_util_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "extensions/common/file_util.h" 5 #include "extensions/common/file_util.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 453
454 // It's still possible for someone to construct an annoying URL whose path 454 // It's still possible for someone to construct an annoying URL whose path
455 // would still wind up not being considered relative at this point. 455 // would still wind up not being considered relative at this point.
456 // For example: chrome-extension://id/c:////foo.html 456 // For example: chrome-extension://id/c:////foo.html
457 if (path.IsAbsolute()) 457 if (path.IsAbsolute())
458 return base::FilePath(); 458 return base::FilePath();
459 459
460 return path; 460 return path;
461 } 461 }
462 462
463 base::FilePath ExtensionResourceURLToFilePath(const GURL& url,
464 const base::FilePath& root) {
465 std::string host = net::UnescapeURLComponent(
466 url.host(),
467 net::UnescapeRule::SPACES |
468 net::UnescapeRule::URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS);
469 if (host.empty())
470 return base::FilePath();
471
472 base::FilePath relative_path = ExtensionURLToRelativeFilePath(url);
473 if (relative_path.empty())
474 return base::FilePath();
475
476 base::FilePath path = root.AppendASCII(host).Append(relative_path);
477 if (!base::PathExists(path))
478 return base::FilePath();
479 path = base::MakeAbsoluteFilePath(path);
480 if (path.empty() || !root.IsParent(path))
481 return base::FilePath();
482 return path;
483 }
484
485 bool ValidateExtensionIconSet(const ExtensionIconSet& icon_set, 463 bool ValidateExtensionIconSet(const ExtensionIconSet& icon_set,
486 const Extension* extension, 464 const Extension* extension,
487 int error_message_id, 465 int error_message_id,
488 std::string* error) { 466 std::string* error) {
489 for (ExtensionIconSet::IconMap::const_iterator iter = icon_set.map().begin(); 467 for (ExtensionIconSet::IconMap::const_iterator iter = icon_set.map().begin();
490 iter != icon_set.map().end(); 468 iter != icon_set.map().end();
491 ++iter) { 469 ++iter) {
492 const base::FilePath path = 470 const base::FilePath path =
493 extension->GetResource(iter->second).GetFilePath(); 471 extension->GetResource(iter->second).GetFilePath();
494 if (!ValidateFilePath(path)) { 472 if (!ValidateFilePath(path)) {
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 base::FilePath GetVerifiedContentsPath(const base::FilePath& extension_path) { 598 base::FilePath GetVerifiedContentsPath(const base::FilePath& extension_path) {
621 return extension_path.Append(kMetadataFolder) 599 return extension_path.Append(kMetadataFolder)
622 .Append(kVerifiedContentsFilename); 600 .Append(kVerifiedContentsFilename);
623 } 601 }
624 base::FilePath GetComputedHashesPath(const base::FilePath& extension_path) { 602 base::FilePath GetComputedHashesPath(const base::FilePath& extension_path) {
625 return extension_path.Append(kMetadataFolder).Append(kComputedHashesFilename); 603 return extension_path.Append(kMetadataFolder).Append(kComputedHashesFilename);
626 } 604 }
627 605
628 } // namespace file_util 606 } // namespace file_util
629 } // namespace extensions 607 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/common/file_util.h ('k') | extensions/common/file_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698