You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2014/04/30 05:08:03 UTC
git commit: Fix ResourcesLoader broken with latest version of file
plugin
Repository: cordova-app-harness
Updated Branches:
refs/heads/master fae458db1 -> 12e3a7e4e
Fix ResourcesLoader broken with latest version of file plugin
It was hard-coded to use cdvfile: URLs, but it is now fed file:// URLs.
Project: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/commit/12e3a7e4
Tree: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/tree/12e3a7e4
Diff: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/diff/12e3a7e4
Branch: refs/heads/master
Commit: 12e3a7e4e87e88c6569fb82deb98afda0b71840b
Parents: fae458d
Author: Andrew Grieve <ag...@chromium.org>
Authored: Tue Apr 29 23:06:15 2014 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Tue Apr 29 23:06:15 2014 -0400
----------------------------------------------------------------------
www/cdvah/js/ResourcesLoader.js | 27 ++++++++++++++++-----------
1 file changed, 16 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/12e3a7e4/www/cdvah/js/ResourcesLoader.js
----------------------------------------------------------------------
diff --git a/www/cdvah/js/ResourcesLoader.js b/www/cdvah/js/ResourcesLoader.js
index fa0e53d..e862aa3 100644
--- a/www/cdvah/js/ResourcesLoader.js
+++ b/www/cdvah/js/ResourcesLoader.js
@@ -40,23 +40,28 @@
}
function dirName(path) {
- return path.replace(/\/[^\/]+$/, '/');
+ return path.replace(/\/[^\/]+\/?$/, '/');
}
function baseName(path) {
- return path.replace(/.*\//, '');
+ return path.replace(/\/$/, '').replace(/.*\//, '');
}
- function ensureDirectoryExists(url) {
- var m = /(cdvfile:\/\/.*?\/.*?\/)(.*)/.exec(url);
- var rootDir = m[1];
- var segments = m[2].split('/');
-
- return segments.reduce(function(p, seg) {
- return !seg ? p : p.then(function(parentDirEntry) {
- return getDirectoryPromisified(parentDirEntry, seg, {create: true});
+ function ensureDirectoryExists(targetUrl) {
+ function helper(url) {
+ return resolveURL(url)
+ .then(null, function() {
+ var parentUrl = dirName(url);
+ if (parentUrl == url) {
+ throw new Error('No root filesystem for: ' + targetUrl);
+ }
+ return helper(parentUrl)
+ .then(function(entry) {
+ return getDirectoryPromisified(entry, baseName(url), {create: true});
+ });
});
- }, resolveURL(rootDir));
+ }
+ return helper(targetUrl);
}
function createFileEntry(url) {