Index: chrome/browser/resources/file_manager/js/file_manager.js |
diff --git a/chrome/browser/resources/file_manager/js/file_manager.js b/chrome/browser/resources/file_manager/js/file_manager.js |
index 0f428269b42d068ca454bb8be6b803fe5894a81f..5749e40c71575b7624d25118db96f7d7754585dd 100644 |
--- a/chrome/browser/resources/file_manager/js/file_manager.js |
+++ b/chrome/browser/resources/file_manager/js/file_manager.js |
@@ -2413,6 +2413,15 @@ FileManager.prototype = { |
}; |
/** |
+ * Creates combobox item based on task. |
+ * @param {Object} task Task to convert. |
+ * @return {Object} Item appendable to combobox drop-down list. |
+ */ |
+ FileManager.prototype.createComboboxItem_ = function(task) { |
+ return { label: task.title, iconUrl: task.iconUrl, task: task}; |
dgozman
2012/05/21 12:40:38
space before }
Dmitry Zvorygin
2012/05/21 13:20:14
Done.
|
+ } |
+ |
+ /** |
* Callback called when tasks for selected files are determined. |
* @param {Object} selection Selection is passed here, since this.selection |
* can change before tasks were found, and we should be accurate. |
@@ -2423,6 +2432,7 @@ FileManager.prototype = { |
var defaultTask = null; |
var tasksCount = 0; |
+ |
for (var i = 0; i < tasksList.length; i++) { |
var task = tasksList[i]; |
@@ -2481,16 +2491,20 @@ FileManager.prototype = { |
task.title = str('INSTALL_CRX'); |
} |
} |
- this.taskItems_.addItem(this.renderTaskItem_(task)); |
tasksCount++; |
if (defaultTask == null) defaultTask = task; |
+ |
+ // If we have at least two items, then we have to use drop-down list. |
+ if (tasksCount == 2) |
+ this.taskItems_.addDropDownItem(this.createComboboxItem_(defaultTask)); |
+ |
+ if (tasksCount >= 2) |
+ this.taskItems_.addDropDownItem(this.createComboboxItem_(task)); |
} |
this.taskItems_.hidden = tasksCount == 0; |
- if (tasksCount > 1) { |
- // Duplicate default task in drop-down list. |
- this.taskItems_.addItem(this.renderTaskItem_(defaultTask)); |
- } |
+ if (defaultTask != null) |
+ this.taskItems_.defaultItem = createComboboxItem_(defaultTask); |
selection.tasksList = tasksList; |
if (selection.dispatchDefault) { |
@@ -2500,22 +2514,6 @@ FileManager.prototype = { |
} |
}; |
- FileManager.prototype.renderTaskItem_ = function(task) { |
- var item = this.document_.createElement('div'); |
- item.className = 'task-item'; |
- item.task = task; |
- |
- var img = this.document_.createElement('img'); |
- img.src = task.iconUrl; |
- item.appendChild(img); |
- |
- var label = this.document_.createElement('div'); |
- label.appendChild(this.document_.createTextNode(task.title)); |
- item.appendChild(label); |
- |
- return item; |
- }; |
- |
FileManager.prototype.getExtensionId_ = function() { |
return chrome.extension.getURL('').split('/')[2]; |
}; |