| Index: chrome/test/data/extensions/api_test/filesystem_handler/tab.html
|
| ===================================================================
|
| --- chrome/test/data/extensions/api_test/filesystem_handler/tab.html (revision 0)
|
| +++ chrome/test/data/extensions/api_test/filesystem_handler/tab.html (revision 0)
|
| @@ -0,0 +1,92 @@
|
| +<script>
|
| +/*
|
| +This extension is a file intent handler and does the following during the test:
|
| +
|
| +1. Its background page first registers content hander.
|
| +2. When content handler callback is invokek, opens tab.html page and passes
|
| + file url via hash ref.
|
| +3. Tries to resolve target file url and reads its content.
|
| +4. Send file content to file browser extension.
|
| +*/
|
| +
|
| +// The ID of the extension we want to talk to.
|
| +var fileBrowserExtensionId = "ddammdhioacbehjngdmkjcjbnfginlla";
|
| +
|
| +function errorCallback(e) {
|
| + var msg = '';
|
| + if (!e.code) {
|
| + msg = e.message;
|
| + } else {
|
| + switch (e.code) {
|
| + case FileError.QUOTA_EXCEEDED_ERR:
|
| + msg = 'QUOTA_EXCEEDED_ERR';
|
| + break;
|
| + case FileError.NOT_FOUND_ERR:
|
| + msg = 'NOT_FOUND_ERR';
|
| + break;
|
| + case FileError.SECURITY_ERR:
|
| + msg = 'SECURITY_ERR';
|
| + break;
|
| + case FileError.INVALID_MODIFICATION_ERR:
|
| + msg = 'INVALID_MODIFICATION_ERR';
|
| + break;
|
| + case FileError.INVALID_STATE_ERR:
|
| + msg = 'INVALID_STATE_ERR';
|
| + break;
|
| + default:
|
| + msg = 'Unknown Error';
|
| + break;
|
| + };
|
| + }
|
| + chrome.test.fail("Got unexpected error: " + msg);
|
| + console.log('Error: ' + msg);
|
| + alert('Error: ' + msg);
|
| +}
|
| +
|
| +
|
| +function successCallback(entry) {
|
| + chrome.test.succeed();
|
| +}
|
| +
|
| +function successEntryCallback(entry) {
|
| + console.log("Deleting dir : " + testDirName);
|
| + fileSystem.root.getDirectory(testDirName, {create:false},
|
| + function(directory) {
|
| + // Do clean-up. (Assume the tab won't be reloaded in testing.)
|
| + directory.removeRecursively(successCallback, errorCallback);
|
| + }, errorCallback);
|
| +}
|
| +
|
| +function onFileURLResolved(entry) {
|
| + if (!entry) {
|
| + errorCallback(chrome.extensions.lastError);
|
| + return;
|
| + }
|
| + var reader = new FileReader();
|
| + reader.onloadend = function(e) {
|
| + var content = document.getElementById('content');
|
| + content.innerHTML = reader.result;
|
| + // Send data back to the file browser extension
|
| + chrome.extension.sendRequest(fileBrowserExtensionId,
|
| + {fileContent: reader.result},
|
| + function(response) {
|
| + console.log('File content sent to :' + fileBrowserExtensionId);
|
| + });
|
| + }
|
| + reader.onerror = errorCallback;
|
| + entry.file(function(file) {
|
| + reader.readAsText(file);
|
| + });
|
| +}
|
| +
|
| +chrome.test.runTests([function tab() {
|
| + // Get dir, file name.
|
| + var fileUrl = window.location.hash.substring(1);
|
| + if (!fileUrl) {
|
| + chrome.test.fail("No file?");
|
| + return;
|
| + }
|
| + chrome.fileSystem.resolveLocalFileSystemURL(fileUrl, onFileURLResolved);
|
| +}]);
|
| +</script>
|
| +<html><body><div id="content"></div></body></html>
|
|
|
| Property changes on: chrome/test/data/extensions/api_test/filesystem_handler/tab.html
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|