- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / api_test / app_background_page / common / common.js
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 var scriptMessageEvent;
5 var pageToScriptTunnel;
6 var scriptToPageTunnel;
7
8 function setStatus(status) {
9   document.getElementById('status').innerText = status;
10 }
11
12 function setupScriptTunnel() {
13   scriptMessageEvent = document.createEvent("Event");
14   scriptMessageEvent.initEvent('scriptMessage', true, true);
15
16   pageToScriptTunnel = document.getElementById("pageToScriptTunnel");
17   scriptToPageTunnel = document.getElementById("scriptToPageTunnel");
18
19   scriptToPageTunnel.addEventListener("scriptMessage", function() {
20     var data = JSON.parse(scriptToPageTunnel.innerText);
21     window[data.name](data.args);
22   });
23 }
24
25 function messageData(data) {
26   var args = [];
27   for (var i = 0; i < data.length; i++) {
28     args.push(data[i]);
29   }
30   return {
31     'name': data.callee.name.replace(/notify/g, "on"),
32     'args': args
33   }
34 }
35
36 function notifyBackgroundPageResponded() {
37   pageToScriptTunnel.innerText = JSON.stringify(messageData(arguments));
38   pageToScriptTunnel.dispatchEvent(scriptMessageEvent);
39 }
40
41 function notifyBackgroundPageLoaded() {
42   pageToScriptTunnel.innerText = JSON.stringify(messageData(arguments));
43   pageToScriptTunnel.dispatchEvent(scriptMessageEvent);
44 }
45
46 function notifyBackgroundPagePermissionDenied() {
47   pageToScriptTunnel.innerText = JSON.stringify(messageData(arguments));
48   pageToScriptTunnel.dispatchEvent(scriptMessageEvent);
49 }
50
51 function notifyCounterError() {
52   pageToScriptTunnel.innerText = JSON.stringify(messageData(arguments));
53   pageToScriptTunnel.dispatchEvent(scriptMessageEvent);
54 }
55
56 function notifyBackgroundPageClosing() {
57   pageToScriptTunnel.innerText = JSON.stringify(messageData(arguments));
58   pageToScriptTunnel.dispatchEvent(scriptMessageEvent);
59 }
60
61 function notifyBackgroundPageClosed() {
62   pageToScriptTunnel.innerText = JSON.stringify(messageData(arguments));
63   pageToScriptTunnel.dispatchEvent(scriptMessageEvent);
64 }