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

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

Issue 401007: Make executeScript and insertCSS inject code into all frames. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 1 month 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
(Empty)
1 <script>
2
3 var pass = chrome.test.callbackPass;
4 var fail = chrome.test.callbackFail;
5 var assertEq = chrome.test.assertEq;
6 var assertTrue = chrome.test.assertTrue;
7 var relativePath =
8 '/files/extensions/api_test/executescript_in_frame/test_executescript.html';
9 var testUrl = 'http://a.com:1337' + relativePath;
10
11 chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
12 if (changeInfo.status != 'complete')
13 return;
14
15 chrome.test.runTests([
16 function executeJavaScriptCodeInAllFramesShouldSucceed() {
17 var script_file = {};
18 script_file.code = "var extensionPort = chrome.extension.connect();";
19 script_file.code = script_file.code +
20 "extensionPort.postMessage({message: document.title});";
21 script_file.allFrames = true;
22 var counter = 0;
23 var totalTitles = '';
24 function eventListener(port) {
25 port.onMessage.addListener(function(data) {
26 counter++;
27 totalTitles += data.message;
28 });
29 };
30 chrome.self.onConnect.addListener(eventListener);
31 chrome.tabs.executeScript(tabId, script_file, pass(function() {
32 assertEq(counter, 5);
33 assertEq(totalTitles, 'frametest0test1test2test3');
34 chrome.self.onConnect.removeListener(eventListener);
35 }));
36 },
37
38 function insertCSSTextInAllFramesShouldSucceed() {
39 var css_file = {};
40 css_file.code = "p {display:none;}";
41 css_file.allFrames = true;
42 var newStyle = '';
43 var counter = 0;
44 function eventListener(port) {
45 port.onMessage.addListener(function(data) {
46 counter++;
47 newStyle += data.message;
48 });
49 };
50 chrome.self.onConnect.addListener(eventListener);
51 chrome.tabs.insertCSS(tabId, css_file, function() {
52 var script_file = {};
53 script_file.file = 'script.js';
54 script_file.allFrames = true;
55 chrome.tabs.executeScript(tabId, script_file,
56 pass(function() {
57 assertEq(newStyle, 'nonenonenonenone');
58 assertEq(counter, 4);
59 chrome.self.onConnect.removeListener(eventListener);
60 }));
61 });
62 }
63 ]);
64 });
65
66 chrome.tabs.create({ url: testUrl });
67
68 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698