Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 dump("Loading remote script!\n");
6 dump(content + "\n");
8 var cpm = Components.classes["@mozilla.org/childprocessmessagemanager;1"]
9 .getService(Components.interfaces.nsISyncMessageSender);
10 cpm.addMessageListener("cpm-async",
11 function(m) {
12 cpm.sendSyncMessage("ppm-sync");
13 dump(content.document.documentElement);
14 cpm.sendAsyncMessage("ppm-async");
15 });
17 var Cc = Components.classes;
18 var Ci = Components.interfaces;
19 var dshell = content.QueryInterface(Ci.nsIInterfaceRequestor)
20 .getInterface(Ci.nsIWebNavigation)
21 .QueryInterface(Ci.nsIDocShellTreeItem)
22 .rootTreeItem
23 .QueryInterface(Ci.nsIDocShell);
26 addEventListener("click",
27 function(e) {
28 dump(e.target + "\n");
29 if (e.target instanceof Components.interfaces.nsIDOMHTMLAnchorElement &&
30 dshell == docShell) {
31 var retval = docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor).
32 getInterface(Components.interfaces.nsIContentFrameMessageManager).
33 sendSyncMessage("linkclick", { href: e.target.href });
34 dump(uneval(retval[0]) + "\n");
35 // Test here also that both retvals are the same
36 sendAsyncMessage("linkclick-reply-object", uneval(retval[0]) == uneval(retval[1]) ? retval[0] : "");
37 }
38 },
39 true);
41 addMessageListener("chrome-message",
42 function(m) {
43 dump(uneval(m.json) + "\n");
44 sendAsyncMessage("chrome-message-reply", m.json);
45 });
47 addMessageListener("speed-test-start",
48 function(m) {
49 while (sendSyncMessage("speed-test")[0].message != "done");
50 });
52 addMessageListener("async-echo", function(m) {
53 sendAsyncMessage(m.name);
54 });