Making extensions/chromium/pdfHandler-vcros.js adhere to the style guide

This commit is contained in:
Tim van der Meij 2014-03-09 22:56:38 +01:00
parent ad623ffbb2
commit 8ec46e6413

View File

@ -18,78 +18,77 @@ limitations under the License.
/* globals chrome, getViewerURL */ /* globals chrome, getViewerURL */
(function() { (function() {
'use strict'; 'use strict';
if (!chrome.fileBrowserHandler) { if (!chrome.fileBrowserHandler) {
// Not on Chromium OS, bail out // Not on Chromium OS, bail out
return;
}
chrome.fileBrowserHandler.onExecute.addListener(onExecuteFileBrowserHandler);
/**
* Invoked when "Open with PDF Viewer" is chosen in the File browser.
*
* @param {String} id File browser action ID as specified in manifest.json
* @param {Object} details Object of type FileHandlerExecuteEventDetails
*/
function onExecuteFileBrowserHandler(id, details) {
if (id !== 'open-as-pdf') {
return; return;
} }
var fileEntries = details.entries; chrome.fileBrowserHandler.onExecute.addListener(onExecuteFileBrowserHandler);
// "tab_id" is the currently documented format, but it is inconsistent with
// the other Chrome APIs that use "tabId" (http://crbug.com/179767)
var tabId = details.tab_id || details.tabId;
if (tabId > 0) {
chrome.tabs.get(tabId, function(tab) {
openViewer(tab && tab.windowId, fileEntries);
});
} else {
// Re-use existing window, if available.
chrome.windows.getLastFocused(function(chromeWindow) {
var windowId = chromeWindow && chromeWindow.id;
if (windowId) {
chrome.windows.update(windowId, { focused: true });
}
openViewer(windowId, fileEntries);
});
}
}
/** /**
* Open the PDF Viewer for the given list of PDF files. * Invoked when "Open with PDF Viewer" is chosen in the File browser.
* *
* @param {number} windowId * @param {String} id File browser action ID as specified in manifest.json
* @param {Array} fileEntries List of Entry objects (HTML5 FileSystem API) * @param {Object} details Object of type FileHandlerExecuteEventDetails
*/ */
function openViewer(windowId, fileEntries) { function onExecuteFileBrowserHandler(id, details) {
if (!fileEntries.length) { if (id !== 'open-as-pdf') {
return; return;
}
var fileEntries = details.entries;
// "tab_id" is the currently documented format, but it is inconsistent with
// the other Chrome APIs that use "tabId" (http://crbug.com/179767)
var tabId = details.tab_id || details.tabId;
if (tabId > 0) {
chrome.tabs.get(tabId, function(tab) {
openViewer(tab && tab.windowId, fileEntries);
});
} else {
// Re-use existing window, if available.
chrome.windows.getLastFocused(function(chromeWindow) {
var windowId = chromeWindow && chromeWindow.id;
if (windowId) {
chrome.windows.update(windowId, { focused: true });
}
openViewer(windowId, fileEntries);
});
}
} }
var fileEntry = fileEntries.shift();
var url = fileEntry.toURL();
// Use drive: alias to get shorter (more human-readable) URLs.
url = url.replace(/^filesystem:chrome-extension:\/\/[a-p]{32}\/external\//,
'drive:');
url = getViewerURL(url);
if (windowId) { /**
chrome.tabs.create({ * Open the PDF Viewer for the given list of PDF files.
windowId: windowId, *
active: true, * @param {number} windowId
url: url * @param {Array} fileEntries List of Entry objects (HTML5 FileSystem API)
}, function() { */
openViewer(windowId, fileEntries); function openViewer(windowId, fileEntries) {
}); if (!fileEntries.length) {
} else { return;
chrome.windows.create({ }
type: 'normal', var fileEntry = fileEntries.shift();
focused: true, var url = fileEntry.toURL();
url: url // Use drive: alias to get shorter (more human-readable) URLs.
}, function(chromeWindow) { url = url.replace(/^filesystem:chrome-extension:\/\/[a-p]{32}\/external\//,
openViewer(chromeWindow.id, fileEntries); 'drive:');
}); url = getViewerURL(url);
if (windowId) {
chrome.tabs.create({
windowId: windowId,
active: true,
url: url
}, function() {
openViewer(windowId, fileEntries);
});
} else {
chrome.windows.create({
type: 'normal',
focused: true,
url: url
}, function(chromeWindow) {
openViewer(chromeWindow.id, fileEntries);
});
}
} }
}
})(); })();