| 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
 | 
| 
 | 
| 
 |