summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/filebrowse.html
diff options
context:
space:
mode:
authordhg@chromium.org <dhg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-16 19:41:56 +0000
committerdhg@chromium.org <dhg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-16 19:41:56 +0000
commit46729329047dc02f672d9d5ead5ffaf1c49552b3 (patch)
treec6dac551a3abc7a62e58dbea257848979e14bf3e /chrome/browser/resources/filebrowse.html
parent365e821c6fb698c132a69d8c6bc9bc48667f4137 (diff)
downloadchromium_src-46729329047dc02f672d9d5ead5ffaf1c49552b3.zip
chromium_src-46729329047dc02f672d9d5ead5ffaf1c49552b3.tar.gz
chromium_src-46729329047dc02f672d9d5ead5ffaf1c49552b3.tar.bz2
fixing issues with filebrowser namely, namely allowing it to grow on mount, and fixing download cases so the flow is better.
BUG=none TEST=none Review URL: http://codereview.chromium.org/1527036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44808 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/resources/filebrowse.html')
-rw-r--r--chrome/browser/resources/filebrowse.html29
1 files changed, 19 insertions, 10 deletions
diff --git a/chrome/browser/resources/filebrowse.html b/chrome/browser/resources/filebrowse.html
index afa1b00..38e7f55 100644
--- a/chrome/browser/resources/filebrowse.html
+++ b/chrome/browser/resources/filebrowse.html
@@ -593,6 +593,7 @@ var inSaveMode = false;
var currentMenu = null;
var mainColumn = null;
var localStrings;
+var downloadList = [];
// strings
var kPauseDownload;
@@ -692,7 +693,6 @@ function browseFileResult(info, results) {
clearList(main);
createNewList(lastDir, results, main, info.path);
} else {
- alert('hmm, got a refresh on an unknown directory: '+ 'dir/' + info.path);
// not currently displayed, so just return.
return;
}
@@ -951,10 +951,27 @@ function cancelDownload(id) {
chrome.send('cancelDownload', ['' + id]);
}
+function getPathAndFilenameForPath(path) {
+ return path.match(/(.*)[\/\\]([^\/\\]+\.\w+)$/);
+}
+
function downloadUpdated(results) {
for (var x = 0; x < results.length; x++) {
var element = $(results[x].file_path);
+ if (!element && results[x].state != 'CANCELLED') {
+ extracted = getPathAndFilenameForPath(results[x].file_path);
+ var dirId = $('list/dir/' + extracted[1]);
+ if (dirId) {
+ element = createNewItem(extracted[2], results[x].file_path, false);
+ dirId.appendChild(element);
+ element.scrollIntoView();
+ }
+ }
if (element) {
+ if (results[x].state == 'CANCELLED') {
+ element.parentNode.removeChild(element);
+ continue;
+ }
if (results[x].percent < 100 || results[x].state == 'DANGEROUS') {
var progressDiv = null;
for (var y = 0; y < element.children.length; y++) {
@@ -1020,14 +1037,6 @@ function downloadUpdated(results) {
}
element.className = 'filebrowserow';
}
- } else {
- // Figure out if the item is currently visible
- // TODO(dhg): Support multi pane
- // This checks to make sure its not mid updating when it does this.
- var element = $('dir/' + pathArray[currentNode]);
- if (element && results[x].file_path.indexOf(pathArray[currentNode]) >= 0) {
- chrome.send("refreshDirectory", [pathArray[currentNode]]);
- }
}
}
}
@@ -1459,7 +1468,7 @@ function createNewList(title, results, main, path) {
mainList.className = 'columnlist';
var list = document.createElement('ul');
list.className = 'filebrowselist';
-
+ list.id = 'list/dir/' + path;
var header = document.createElement('div');
header.className = 'header';
var divTitle = document.createElement('div');