Remove the old signature of NotificationManager::closePersistent().
[chromium-blink-merge.git] / chrome / browser / resources / chromeos / choose_mobile_network.js
blobcaf8339130a61de66e9c41ea325a5bd91e7fbef7
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.
5 cr.define('mobile', function() {
7   function ChooseNetwork() {
8   }
10   cr.addSingletonGetter(ChooseNetwork);
12   ChooseNetwork.prototype = {
13     networks_: [],
14     showNetworks_: function(networks) {
15       this.networks_ = networks;
17       if (networks.length == 0) {
18         $('scanning').hidden = true;
19         $('choosing').hidden = true;
20         $('no-mobile-networks').hidden = false;
21         return;
22       }
24       var container = $('choosing');
25       container.innerHTML = '';
26       for (var i in networks) {
27         var elem = document.createElement('div');
28         elem.innerHTML =
29             '<input type="radio" name="network" id="network' + i + '" />' +
30             '<label for="network' + i + '" id="label' + i + '"></label>';
31         container.appendChild(elem);
32         $('label' + i).textContent = networks[i].operatorName;
33         if (networks[i].status == 'current') {
34           $('network' + i).checked = true;
35           $('connect').disabled = false;
36         } else if (networks[i].status == 'forbidden') {
37           $('network' + i).disabled = true;
38           elem.className = 'disabled';
39         } else {
40           $('network' + i).addEventListener('click', function(event) {
41             $('connect').disabled = false;
42           });
43         }
44       }
45       $('scanning').hidden = true;
46       $('choosing').hidden = false;
47       $('no-mobile-networks').hidden = true;
48     },
49     connect_: function() {
50       for (var i in this.networks_) {
51         if ($('network' + i).checked) {
52           chrome.send('connect', [this.networks_[i].networkId]);
53           ChooseNetwork.close();
54           return;
55         }
56       }
57     },
58     showScanning_: function() {
59       $('scanning').hidden = false;
60       $('choose').hidden = true;
61       $('no-mobile-networks').hidden = true;
62     }
63   };
65   ChooseNetwork.cancel = function() {
66     chrome.send('cancel');
67     ChooseNetwork.close();
68   };
70   ChooseNetwork.close = function() {
71     window.close();
72   };
74   ChooseNetwork.connect = function() {
75     ChooseNetwork.getInstance().connect_();
76   };
78   ChooseNetwork.showScanning = function() {
79     ChooseNetwork.getInstance().showScanning_();
80   };
82   ChooseNetwork.initialize = function() {
83     $('cancel').addEventListener('click', function(event) {
84       ChooseNetwork.cancel();
85     });
87     $('connect').disabled = true;
88     $('connect').addEventListener('click', function(event) {
89       ChooseNetwork.connect();
90     });
91     chrome.send('pageReady');
92   };
94   ChooseNetwork.showNetworks = function(networks) {
95     ChooseNetwork.getInstance().showNetworks_(networks);
96   };
98   // Export
99   return {
100     ChooseNetwork: ChooseNetwork
101   };
104 var ChooseNetwork = mobile.ChooseNetwork;
106 document.addEventListener('DOMContentLoaded', function() {
107   // TODO(dpolukhin): refactor spinner code&css to be reusable.
108   // Setup css canvas 'spinner-circle'
109   (function() {
110     var lineWidth = 3;
111     var r = 8;
112     var ctx = document.getCSSCanvasContext(
113         '2d', 'spinner-circle', 2 * r, 2 * r);
115     ctx.lineWidth = lineWidth;
116     ctx.lineCap = 'round';
117     ctx.lineJoin = 'round';
119     ctx.strokeStyle = '#4e73c7';
120     ctx.beginPath();
121     ctx.moveTo(lineWidth / 2, r - lineWidth / 2);
122     ctx.arc(r, r, r - lineWidth / 2, Math.PI, Math.PI * 3 / 2);
123     ctx.stroke();
124   })();
126   ChooseNetwork.initialize();
129 disableTextSelectAndDrag();