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

Side by Side Diff: chrome/test/data/extensions/api_test/filesystem_handler/tab.html

Issue 8758008: Move another block of extension tests to manifest_version 2. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years 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 | Annotate | Revision Log
OLDNEW
1 <script> 1 <!--
2 /* 2 * Copyright (c) 2011 The Chromium Authors. All rights reserved. Use of this
3 This extension is a file intent handler and does the following during the test: 3 * source code is governed by a BSD-style license that can be found in the
4 4 * LICENSE file.
5 1. Its background page first registers content hander. 5 -->
6 2. When content handler callback is invoked, opens tab.html page and passes 6 <script src="tab.js"></script>
7 file url via hash ref. 7 <html><body><div id="content"></div></body></html>
8 3. Tries to resolve target file url and reads its content.
9 4. Send file content to file browser extension.
10 */
11
12 // The ID of the extension we want to talk to.
13 var fileBrowserExtensionId = "ddammdhioacbehjngdmkjcjbnfginlla";
14
15 // Passed file entry url.
16 var entryUrl = null;
17 // Expected file content.
18 var expectedContent = null;
19
20 function errorCallback(e) {
21 var msg = '';
22 if (!e.code) {
23 msg = e.message;
24 } else {
25 switch (e.code) {
26 case FileError.QUOTA_EXCEEDED_ERR:
27 msg = 'QUOTA_EXCEEDED_ERR';
28 break;
29 case FileError.NOT_FOUND_ERR:
30 msg = 'NOT_FOUND_ERR';
31 break;
32 case FileError.SECURITY_ERR:
33 msg = 'SECURITY_ERR';
34 break;
35 case FileError.INVALID_MODIFICATION_ERR:
36 msg = 'INVALID_MODIFICATION_ERR';
37 break;
38 case FileError.INVALID_STATE_ERR:
39 msg = 'INVALID_STATE_ERR';
40 break;
41 default:
42 msg = 'Unknown Error';
43 break;
44 };
45 }
46 chrome.extension.sendRequest(fileBrowserExtensionId,
47 {fileContent: null,
48 error: "Handler file error: " + msg},
49 function(response) {});
50 }
51
52 function onGotEntryByUrl(entry) {
53 console.log('Got entry by URL: ' + entry.toURL());
54 var reader = new FileReader();
55 reader.onloadend = function(e) {
56 if (reader.result != expectedContent) {
57 chrome.extension.sendRequest(
58 fileBrowserExtensionId,
59 {fileContent: null, error: "File content does not match."},
60 function(response) {});
61 } else {
62 // Send data back to the file browser extension
63 chrome.extension.sendRequest(
64 fileBrowserExtensionId,
65 {fileContent: reader.result, error: null},
66 function(response) {});
67 }
68 };
69 reader.onerror = errorCallback;
70 entry.file(function(file) {
71 reader.readAsText(file);
72 });
73 }
74
75 function readEntryByUrl() {
76 window.webkitResolveLocalFileSystemURL(entryUrl, onGotEntryByUrl,
77 errorCallback);
78 }
79
80 function onTabLoaded() {
81 var entries = chrome.extension.getBackgroundPage().getLastFileEntries();
82 if (!entries || entries.length != 1 || !entries[0]) {
83 chrome.extension.sendRequest(
84 fileBrowserExtensionId,
85 {fileContent: null, error: "Invalid file entries."},
86 function(response) {});
87 return;
88 }
89 var entry = entries[0];
90 var reader = new FileReader();
91 entryUrl = entry.toURL();
92 reader.onloadend = function(e) {
93 var content = document.getElementById('content');
94 content.innerHTML = reader.result;
95 expectedContent = reader.result;
96 readEntryByUrl();
97 };
98 reader.onerror = errorCallback;
99 entry.file(function(file) {
100 reader.readAsText(file);
101 });
102 }
103 </script>
104 <html><body onload="onTabLoaded();"><div id="content"></div></body></html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698