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

Side by Side Diff: chrome/renderer/resources/extensions/file_browser_private_custom_bindings.js

Issue 550863003: Rename fileBrowserPrivate to fileManagerPrivate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Custom binding for the fileBrowserPrivate API.
6
7 // Bindings
8 var binding = require('binding').Binding.create('fileBrowserPrivate');
9 var eventBindings = require('event_bindings');
10
11 // Natives
12 var fileBrowserPrivateNatives = requireNative('file_browser_private');
13 var fileBrowserHandlerNatives = requireNative('file_browser_handler');
14
15 // Internals
16 var fileBrowserPrivateInternal =
17 require('binding').Binding.create('fileBrowserPrivateInternal').generate();
18
19 // Shorthands
20 var GetFileSystem = fileBrowserPrivateNatives.GetFileSystem;
21 var GetExternalFileEntry = fileBrowserHandlerNatives.GetExternalFileEntry;
22
23 binding.registerCustomHook(function(bindingsAPI) {
24 var apiFunctions = bindingsAPI.apiFunctions;
25
26 apiFunctions.setCustomCallback('requestFileSystem',
27 function(name, request, response) {
28 var fs = null;
29 if (response && !response.error)
30 fs = GetFileSystem(response.name, response.root_url);
31 if (request.callback)
32 request.callback(fs);
33 request.callback = null;
34 });
35
36 apiFunctions.setCustomCallback('searchDrive',
37 function(name, request, response) {
38 if (response && !response.error && response.entries) {
39 response.entries = response.entries.map(function(entry) {
40 return GetExternalFileEntry(entry);
41 });
42 }
43
44 // So |request.callback| doesn't break if response is not defined.
45 if (!response)
46 response = {};
47
48 if (request.callback)
49 request.callback(response.entries, response.nextFeed);
50 request.callback = null;
51 });
52
53 apiFunctions.setCustomCallback('searchDriveMetadata',
54 function(name, request, response) {
55 if (response && !response.error) {
56 for (var i = 0; i < response.length; i++) {
57 response[i].entry =
58 GetExternalFileEntry(response[i].entry);
59 }
60 }
61
62 // So |request.callback| doesn't break if response is not defined.
63 if (!response)
64 response = {};
65
66 if (request.callback)
67 request.callback(response);
68 request.callback = null;
69 });
70
71 apiFunctions.setHandleRequest('resolveIsolatedEntries',
72 function(entries, callback) {
73 var urls = entries.map(function(entry) {
74 return fileBrowserHandlerNatives.GetEntryURL(entry);
75 });
76 fileBrowserPrivateInternal.resolveIsolatedEntries(urls, function(
77 entryDescriptions) {
78 callback(entryDescriptions.map(function(description) {
79 return GetExternalFileEntry(description);
80 }));
81 });
82 });
83 });
84
85 eventBindings.registerArgumentMassager(
86 'fileBrowserPrivate.onDirectoryChanged', function(args, dispatch) {
87 // Convert the entry arguments into a real Entry object.
88 args[0].entry = GetExternalFileEntry(args[0].entry);
89 dispatch(args);
90 });
91
92 exports.binding = binding.generate();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698