Version and install for library
[gssweb.git] / browsers / chrome / app / gssweb.contentscript.js
1 console.log("Loading content script #6...");
2
3
4 function addScript(url) {
5   var elt = document.createElement("script");
6   elt.setAttribute("src", 
7                    url   );
8   document.head.appendChild(elt);
9 }
10
11 addScript( chrome.extension.getURL('gssweb_utils.js') );
12 addScript( chrome.extension.getURL('navigator.gss.js') );
13
14 var port = chrome.runtime.connect({name: "com.painlesssecurity.gssweb"});
15
16 /* When we get a message back from the extension 
17  * background script
18  */
19 port.onMessage.addListener(
20   function(gssReplyJSON) {
21      var appTag = gssReplyJSON.cookies.app_tag;
22      
23      console.log("[" + appTag + "] Extension port listener received message: [" + 
24                   JSON.stringify(gssReplyJSON) + "]"
25                 ); 
26      window.postMessage(gssReplyJSON, "*");
27   }
28 );
29
30 window.addEventListener("message", function(event) {
31     // We only accept messages from ourselves
32     if (event.source != window)
33         return;
34     
35     // Check to see if this message's data is data we care about
36     if ( typeof(event.data.method) == 'undefined' ||
37          typeof(event.data.arguments) == 'undefined' ||
38          typeof(event.data.return_values) != 'undefined' )
39         return;
40     
41     if ( typeof(event.data.cookies) == 'undefined' )
42     {
43       event.data.cookies = {};
44     }
45     var appTag = event.data.cookies.app_tag;
46     
47     console.log("[" + appTag + "] Window message listener received message: [" +
48                 JSON.stringify(event.data) + "]"
49                 );
50     port.postMessage(event.data);
51 }, false);
52