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

Unified Diff: chrome/renderer/resources/extension_process_bindings.js

Issue 6749021: Added new fileBrowserPrivate and fileHandler extension APIs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 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/extension_process_bindings.js
===================================================================
--- chrome/renderer/resources/extension_process_bindings.js (revision 79517)
+++ chrome/renderer/resources/extension_process_bindings.js (working copy)
@@ -659,6 +659,52 @@
});
};
+ apiFunctions["fileSystem.resolveLocalFileSystemURL"].customCallback =
+ function(name, request, response) {
+ var method_callback = request.callback;
+ var successCallback = function(entry) {
+ console.log('successCallback');
+ console.log(entry);
+ method_callback(entry);
+ };
+ var errorCallback = function(err) {
+ console.log('errorCallback: code=' + err.code);
+ chrome.extension.lastError = {
+ "message": "File retrieval error",
+ "code" : err.code
+ };
+ method_callback(null);
+ };
+ var fs = null;
+ var resp = response ? [chromeHidden.JSON.parse(response)] : [];
+ console.log(resp);
+ if (resp[0].error) {
ericu 2011/03/31 21:31:06 Won't this throw if !response? Is that what you w
zel 2011/04/01 03:01:35 I am not sure that we want to throw here since thi
ericu 2011/04/02 01:16:05 Then you don't want to set resp to [] if !response
zel 2011/04/06 00:06:32 Done.
+ console.log('Got error: '+resp[0].error);
+ errorCallback({"code": error});
+ return;
+ }
+ // Get locak file system instance.
ericu 2011/03/31 21:31:06 typo: local
zel 2011/04/06 00:06:32 Done.
+ fs = GetLocalFileSystem(resp[0].name, resp[0].path);
+ console.log(fs);
+ if (resp[0].fileUrl.substr(0, resp[0].path.length) != resp[0].path) {
+ console.log('bad file url: ' + resp[0].fileUrl);
+ errorCallback({"code": FileError.NOT_FOUND_ERR});
+ return;
+ }
+ var file_path = resp[0].fileUrl.substr(resp[0].path.length);
+ console.log("Getting fileUrl: " + resp[0].fileUrl);
+ console.log("Getting file_path: " + file_path);
+ // Try to get directory.
+ fs.root.getDirectory(file_path, {create: true},
ericu 2011/03/31 21:31:06 I think we don't want to create the directory here
zel 2011/04/01 03:01:35 Whooops! Good catch. Done.
+ successCallback, function(err) {
+ console.log('dir errorCallback : code=' + err.code);
+ // Not a directory? Maybe it's a file then.
+ fs.root.getFile(file_path, {create: false}, successCallback,
+ errorCallback);
+ });
+ request.callback = null;
+ };
+
apiFunctions["fileBrowserPrivate.requestLocalFileSystem"].customCallback =
function(name, request, response) {
var resp = response ? [chromeHidden.JSON.parse(response)] : [];
« chrome/common/extensions/api/extension_api.json ('K') | « chrome/common/extensions/url_pattern.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698