OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 JSON.parse = function() { | 5 JSON.parse = function() { |
6 return "JSON.parse clobbered by extension."; | 6 return "JSON.parse clobbered by extension."; |
7 }; | 7 }; |
8 | 8 |
9 JSON.stringify = function() { | 9 JSON.stringify = function() { |
10 return "JSON.stringify clobbered by extension."; | 10 return "JSON.stringify clobbered by extension."; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 port.postMessage({testPortName: true}); | 57 port.postMessage({testPortName: true}); |
58 port.onMessage.addListener(function(msg) { | 58 port.onMessage.addListener(function(msg) { |
59 chrome.test.assertEq(msg.portName, portName); | 59 chrome.test.assertEq(msg.portName, portName); |
60 port.disconnect(); | 60 port.disconnect(); |
61 chrome.test.succeed(); | 61 chrome.test.succeed(); |
62 }); | 62 }); |
63 }, | 63 }, |
64 | 64 |
65 // Tests that postMessage from the tab and its response works. | 65 // Tests that postMessage from the tab and its response works. |
66 function postMessageFromTab() { | 66 function postMessageFromTab() { |
67 chrome.extension.onConnect.addListener(function(port) { | 67 chrome.runtime.onConnect.addListener(function(port) { |
68 chrome.test.assertTrue(Boolean(port.sender.tab.url)); | 68 chrome.test.assertTrue(Boolean(port.sender.tab.url)); |
69 chrome.test.assertTrue(Boolean(port.sender.tab.title)); | 69 chrome.test.assertTrue(Boolean(port.sender.tab.title)); |
70 chrome.test.assertTrue(Boolean(port.sender.tab.id)); | 70 chrome.test.assertTrue(Boolean(port.sender.tab.id)); |
71 port.onMessage.addListener(function(msg) { | 71 port.onMessage.addListener(function(msg) { |
72 chrome.test.assertTrue(msg.testPostMessageFromTab); | 72 chrome.test.assertTrue(msg.testPostMessageFromTab); |
73 port.postMessage({success: true, portName: port.name}); | 73 port.postMessage({success: true, portName: port.name}); |
74 chrome.test.log("postMessageFromTab: got message from tab"); | 74 chrome.test.log("postMessageFromTab: got message from tab"); |
75 }); | 75 }); |
76 }); | 76 }); |
77 | 77 |
78 var port = chrome.tabs.connect(testTab.id); | 78 var port = chrome.tabs.connect(testTab.id); |
79 port.postMessage({testPostMessageFromTab: true}); | 79 port.postMessage({testPostMessageFromTab: true}); |
80 chrome.test.log("postMessageFromTab: sent first message to tab"); | 80 chrome.test.log("postMessageFromTab: sent first message to tab"); |
81 port.onMessage.addListener(function(msg) { | 81 port.onMessage.addListener(function(msg) { |
82 port.disconnect(); | 82 port.disconnect(); |
83 chrome.test.succeed(); | 83 chrome.test.succeed(); |
84 }); | 84 }); |
85 }, | 85 }, |
86 | 86 |
87 // Tests receiving a request from a content script and responding. | 87 // Tests receiving a request from a content script and responding. |
88 function sendMessageFromTab() { | 88 function sendMessageFromTab() { |
89 var doneListening = chrome.test.listenForever( | 89 var doneListening = chrome.test.listenForever( |
90 chrome.extension.onMessage, | 90 chrome.runtime.onMessage, |
91 function(request, sender, sendResponse) { | 91 function(request, sender, sendResponse) { |
92 chrome.test.assertTrue("url" in sender.tab, "no tab available."); | 92 chrome.test.assertTrue("url" in sender.tab, "no tab available."); |
93 chrome.test.assertEq(sender.id, location.host); | 93 chrome.test.assertEq(sender.id, location.host); |
94 if (request.step == 1) { | 94 if (request.step == 1) { |
95 // Step 1: Page should send another request for step 2. | 95 // Step 1: Page should send another request for step 2. |
96 chrome.test.log("sendMessageFromTab: got step 1"); | 96 chrome.test.log("sendMessageFromTab: got step 1"); |
97 sendResponse({nextStep: true}); | 97 sendResponse({nextStep: true}); |
98 } else { | 98 } else { |
99 // Step 2. | 99 // Step 2. |
100 chrome.test.assertEq(request.step, 2); | 100 chrome.test.assertEq(request.step, 2); |
101 sendResponse(); | 101 sendResponse(); |
102 doneListening(); | 102 doneListening(); |
103 } | 103 } |
104 }); | 104 }); |
105 | 105 |
106 var port = chrome.tabs.connect(testTab.id); | 106 var port = chrome.tabs.connect(testTab.id); |
107 port.postMessage({testSendMessageFromTab: true}); | 107 port.postMessage({testSendMessageFromTab: true}); |
108 port.disconnect(); | 108 port.disconnect(); |
109 chrome.test.log("sendMessageFromTab: sent first message to tab"); | 109 chrome.test.log("sendMessageFromTab: sent first message to tab"); |
110 }, | 110 }, |
111 | 111 |
112 // Tests error handling when sending a request from a content script to an | 112 // Tests error handling when sending a request from a content script to an |
113 // invalid extension. | 113 // invalid extension. |
114 function sendMessageFromTabError() { | 114 function sendMessageFromTabError() { |
115 chrome.test.listenOnce( | 115 chrome.test.listenOnce( |
116 chrome.extension.onMessage, | 116 chrome.runtime.onMessage, |
117 function(request, sender, sendResponse) { | 117 function(request, sender, sendResponse) { |
118 if (!request.success) | 118 if (!request.success) |
119 chrome.test.fail(); | 119 chrome.test.fail(); |
120 } | 120 } |
121 ); | 121 ); |
122 | 122 |
123 var port = chrome.tabs.connect(testTab.id); | 123 var port = chrome.tabs.connect(testTab.id); |
124 port.postMessage({testSendMessageFromTabError: true}); | 124 port.postMessage({testSendMessageFromTabError: true}); |
125 port.disconnect(); | 125 port.disconnect(); |
126 chrome.test.log("testSendMessageFromTabError: send 1st message to tab"); | 126 chrome.test.log("testSendMessageFromTabError: send 1st message to tab"); |
127 }, | 127 }, |
128 | 128 |
129 // Tests error handling when connecting to an invalid extension from a | 129 // Tests error handling when connecting to an invalid extension from a |
130 // content script. | 130 // content script. |
131 function connectFromTabError() { | 131 function connectFromTabError() { |
132 chrome.test.listenOnce( | 132 chrome.test.listenOnce( |
133 chrome.extension.onMessage, | 133 chrome.runtime.onMessage, |
134 function(request, sender, sendResponse) { | 134 function(request, sender, sendResponse) { |
135 if (!request.success) | 135 if (!request.success) |
136 chrome.test.fail(); | 136 chrome.test.fail(); |
137 } | 137 } |
138 ); | 138 ); |
139 | 139 |
140 var port = chrome.tabs.connect(testTab.id); | 140 var port = chrome.tabs.connect(testTab.id); |
141 port.postMessage({testConnectFromTabError: true}); | 141 port.postMessage({testConnectFromTabError: true}); |
142 port.disconnect(); | 142 port.disconnect(); |
143 chrome.test.log("testConnectFromTabError: sent 1st message to tab"); | 143 chrome.test.log("testConnectFromTabError: sent 1st message to tab"); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 } catch(e) { | 186 } catch(e) { |
187 error = e; | 187 error = e; |
188 } | 188 } |
189 chrome.test.assertTrue(error != undefined); | 189 chrome.test.assertTrue(error != undefined); |
190 | 190 |
191 chrome.test.succeed(); | 191 chrome.test.succeed(); |
192 }, | 192 }, |
193 | 193 |
194 ]); | 194 ]); |
195 }); | 195 }); |
OLD | NEW |