| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /* | 5 /* |
| 6 This extension is a file intent handler and does the following during the test: | 6 This extension is a file intent handler and does the following during the test: |
| 7 | 7 |
| 8 1. It first registers content hander. | 8 1. It first registers content hander. |
| 9 2. When content handler callback is invoked, opens tab.html page and passes | 9 2. When content handler callback is invoked, opens tab.html page and passes |
| 10 file url via hash ref. | 10 file url via hash ref. |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 break; | 39 break; |
| 40 case FileError.INVALID_STATE_ERR: | 40 case FileError.INVALID_STATE_ERR: |
| 41 msg = 'INVALID_STATE_ERR'; | 41 msg = 'INVALID_STATE_ERR'; |
| 42 break; | 42 break; |
| 43 default: | 43 default: |
| 44 msg = 'Unknown Error'; | 44 msg = 'Unknown Error'; |
| 45 break; | 45 break; |
| 46 }; | 46 }; |
| 47 } | 47 } |
| 48 | 48 |
| 49 chrome.extension.sendMessage(fileBrowserExtensionId, | 49 chrome.runtime.sendMessage(fileBrowserExtensionId, |
| 50 {fileContent: null, | 50 {fileContent: null, |
| 51 error: {message: "File handler error: " + msg}}, | 51 error: {message: "File handler error: " + msg}}, |
| 52 function(response) {}); | 52 function(response) {}); |
| 53 }; | 53 }; |
| 54 | 54 |
| 55 function onGotEntryByUrl(entry) { | 55 function onGotEntryByUrl(entry) { |
| 56 console.log('Got entry by URL: ' + entry.toURL()); | 56 console.log('Got entry by URL: ' + entry.toURL()); |
| 57 var reader = new FileReader(); | 57 var reader = new FileReader(); |
| 58 reader.onloadend = function(e) { | 58 reader.onloadend = function(e) { |
| 59 if (reader.result != expectedContent) { | 59 if (reader.result != expectedContent) { |
| 60 chrome.extension.sendMessage( | 60 chrome.runtime.sendMessage( |
| 61 fileBrowserExtensionId, | 61 fileBrowserExtensionId, |
| 62 {fileContent: null, | 62 {fileContent: null, |
| 63 error: {message: "File content does not match."}}, | 63 error: {message: "File content does not match."}}, |
| 64 function(response) {}); | 64 function(response) {}); |
| 65 } else { | 65 } else { |
| 66 // Send data back to the file browser extension | 66 // Send data back to the file browser extension |
| 67 chrome.extension.sendMessage( | 67 chrome.runtime.sendMessage( |
| 68 fileBrowserExtensionId, | 68 fileBrowserExtensionId, |
| 69 {fileContent: reader.result, error: null}, | 69 {fileContent: reader.result, error: null}, |
| 70 function(response) {}); | 70 function(response) {}); |
| 71 } | 71 } |
| 72 }; | 72 }; |
| 73 reader.onerror = function(e) { | 73 reader.onerror = function(e) { |
| 74 errorCallback(reader.error); | 74 errorCallback(reader.error); |
| 75 }; | 75 }; |
| 76 entry.file(function(file) { | 76 entry.file(function(file) { |
| 77 reader.readAsText(file); | 77 reader.readAsText(file); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 reader.onerror = function(e) { | 110 reader.onerror = function(e) { |
| 111 errorCallback(reader.error); | 111 errorCallback(reader.error); |
| 112 }; | 112 }; |
| 113 entry.file(function(file) { | 113 entry.file(function(file) { |
| 114 reader.readAsText(file); | 114 reader.readAsText(file); |
| 115 }); | 115 }); |
| 116 }; | 116 }; |
| 117 | 117 |
| 118 function runFileSystemHandlerTest(entries) { | 118 function runFileSystemHandlerTest(entries) { |
| 119 if (!entries || entries.length != 1 || !entries[0]) { | 119 if (!entries || entries.length != 1 || !entries[0]) { |
| 120 chrome.extension.sendMessage( | 120 chrome.runtime.sendMessage( |
| 121 fileBrowserExtensionId, | 121 fileBrowserExtensionId, |
| 122 {fileContent: null, error: "Invalid file entries."}, | 122 {fileContent: null, error: "Invalid file entries."}, |
| 123 function(response) {}); | 123 function(response) {}); |
| 124 return; | 124 return; |
| 125 } | 125 } |
| 126 var entry = entries[0]; | 126 var entry = entries[0]; |
| 127 | 127 |
| 128 // This operation should fail. If it does, we continue with testing. | 128 // This operation should fail. If it does, we continue with testing. |
| 129 tryOpeningLogFile(entry, onLogFileOpened, | 129 tryOpeningLogFile(entry, onLogFileOpened, |
| 130 tryReadingReceivedFile.bind(this, entry)); | 130 tryReadingReceivedFile.bind(this, entry)); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 155 // This extension just initializes its chrome.fileBrowserHandler.onExecute | 155 // This extension just initializes its chrome.fileBrowserHandler.onExecute |
| 156 // event listener, the real testing is done when this extension's handler is | 156 // event listener, the real testing is done when this extension's handler is |
| 157 // invoked from filebrowser_component tests. This event will be raised from that | 157 // invoked from filebrowser_component tests. This event will be raised from that |
| 158 // component extension test and it simulates user action in the file browser. | 158 // component extension test and it simulates user action in the file browser. |
| 159 // tab.html part of this extension can run only after the component raises this | 159 // tab.html part of this extension can run only after the component raises this |
| 160 // event, since that operation sets the propery security context and creates | 160 // event, since that operation sets the propery security context and creates |
| 161 // event's payload with proper file Entry instances. tab.html will return | 161 // event's payload with proper file Entry instances. tab.html will return |
| 162 // results of its execution to filebrowser_component test through a | 162 // results of its execution to filebrowser_component test through a |
| 163 // cross-component message. | 163 // cross-component message. |
| 164 chrome.test.succeed(); | 164 chrome.test.succeed(); |
| OLD | NEW |