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

Unified Diff: chrome/renderer/resources/extensions/file_system_custom_bindings.js

Issue 10534156: Implement fileSystem.chooseFile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review feedback Created 8 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/resources/extensions/file_system_custom_bindings.js
diff --git a/chrome/renderer/resources/extensions/file_system_custom_bindings.js b/chrome/renderer/resources/extensions/file_system_custom_bindings.js
index 184727912c093cd0ee92c13b68b7538933f7ba1c..548bedf8116fff03dcb0dde716d6d53fec6ae8cf 100644
--- a/chrome/renderer/resources/extensions/file_system_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/file_system_custom_bindings.js
@@ -20,29 +20,32 @@ chromeHidden.registerCustomHook('fileSystem', function(bindingsAPI) {
}
['getDisplayPath', 'getWritableFileEntry'].forEach(bindFileEntryFunction);
- apiFunctions.setCustomCallback('getWritableFileEntry',
- function(name, request, response) {
- if (request.callback && response) {
- var callback = request.callback;
- request.callback = null;
+ function bindFileEntryCallback(functionName) {
+ apiFunctions.setCustomCallback(functionName,
+ function(name, request, response) {
+ if (request.callback && response) {
+ var callback = request.callback;
+ request.callback = null;
- var fileSystemId = response.fileSystemId;
- var baseName = response.baseName;
- var fs = GetIsolatedFileSystem(fileSystemId);
+ var fileSystemId = response.fileSystemId;
+ var baseName = response.baseName;
+ var fs = GetIsolatedFileSystem(fileSystemId);
- try {
- fs.root.getFile(baseName, {}, function(fileEntry) {
- callback(fileEntry);
- }, function(fileError) {
- chrome.extension.lastError =
- 'Error getting fileEntry, code: ' + fileError.code;
+ try {
+ fs.root.getFile(baseName, {}, function(fileEntry) {
+ callback(fileEntry);
+ }, function(fileError) {
+ chrome.extension.lastError = {"message":
+ 'Error getting fileEntry, code: ' + fileError.code};
+ callback();
+ });
+ } catch (e) {
+ chrome.extension.lastError = {"message":
+ 'Error in event handler for onLaunched: ' + e.stack};
callback();
- });
- } catch (e) {
- chrome.extension.lastError =
- 'Error in event handler for onLaunched: ' + e.stack;
- callback();
+ }
}
- }
- });
+ });
+ }
+ ['getWritableFileEntry', 'chooseFile'].forEach(bindFileEntryCallback);
});

Powered by Google App Engine
This is Rietveld 408576698