| Index: chrome/browser/resources/chromeos/network_menu.js
|
| diff --git a/chrome/browser/resources/chromeos/network_menu.js b/chrome/browser/resources/chromeos/network_menu.js
|
| deleted file mode 100644
|
| index 5f63eba8139667186b79e520d943bef6b84da6a6..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/resources/chromeos/network_menu.js
|
| +++ /dev/null
|
| @@ -1,361 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -
|
| -// Network status constants.
|
| -const StatusConnected = 'connected';
|
| -const StatusDisconnected = 'disconnected';
|
| -const StatusConnecting = 'connecting';
|
| -const StatusError = 'error';
|
| -
|
| -const NetworkOther = 'other';
|
| -
|
| -// Setup css canvas 'spinner-circle'
|
| -(function() {
|
| - var lineWidth = 3;
|
| - var r = 8;
|
| - var ctx = document.getCSSCanvasContext('2d', 'spinner-circle', 2 * r, 2 * r);
|
| -
|
| - ctx.lineWidth = lineWidth;
|
| - ctx.lineCap = 'round';
|
| - ctx.lineJoin = 'round';
|
| -
|
| - ctx.strokeStyle = '#4e73c7';
|
| - ctx.beginPath();
|
| - ctx.moveTo(lineWidth / 2, r - lineWidth / 2);
|
| - ctx.arc(r, r, r - lineWidth / 2, Math.PI, Math.PI * 3 / 2);
|
| - ctx.stroke();
|
| -})();
|
| -
|
| -/**
|
| - * Sends "connect" using the 'action' WebUI message.
|
| - */
|
| -function sendConnect(index, passphrase, identity, auto_connect) {
|
| - chrome.send('action',
|
| - ['connect',
|
| - String(index),
|
| - passphrase,
|
| - identity,
|
| - auto_connect ? '1' : '0']);
|
| -}
|
| -
|
| -var networkMenuItemProto = (function() {
|
| - var networkMenuItem = cr.doc.createElement('div');
|
| - networkMenuItem.innerHTML = '<div class="network-menu-item">' +
|
| - '<div class="network-label-icon">' +
|
| - '<div class="network-label"></div>' +
|
| - '<div class="network-icon hidden"></div>' +
|
| - '</div>' +
|
| - '<div class="network-status hidden"></div>' +
|
| - '<div class="hidden"></div>' +
|
| - '</div>';
|
| - return networkMenuItem;
|
| - })();
|
| -
|
| -var NetworkMenuItem = cr.ui.define(function() {
|
| - return networkMenuItemProto.cloneNode(true);
|
| - });
|
| -
|
| -NetworkMenuItem.prototype = {
|
| - __proto__: MenuItem.prototype,
|
| -
|
| - ssidEdit: null,
|
| - passwordEdit: null,
|
| - autoConnectCheckbox: null,
|
| -
|
| - /**
|
| - * The label element.
|
| - * @private
|
| - */
|
| - get label_() {
|
| - return this.firstElementChild.firstElementChild.firstElementChild;
|
| - },
|
| -
|
| - /**
|
| - * The icon element.
|
| - * @private
|
| - */
|
| - get icon_() {
|
| - return this.label_.nextElementSibling;
|
| - },
|
| -
|
| - /**
|
| - * The status area element.
|
| - * @private
|
| - */
|
| - get status_() {
|
| - return this.firstElementChild.firstElementChild.nextElementSibling;
|
| - },
|
| -
|
| - /**
|
| - * The action area container element.
|
| - * @private
|
| - */
|
| - get action_() {
|
| - return this.status_.nextElementSibling;
|
| - },
|
| -
|
| - /**
|
| - * Set status message.
|
| - * @param {string} message The message to display in status area.
|
| - * @private
|
| - */
|
| - setStatus_: function(message) {
|
| - if (message) {
|
| - this.status_.textContent = message;
|
| - this.status_.classList.remove('hidden');
|
| - } else {
|
| - this.status_.classList.add('hidden');
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Set status icon.
|
| - * @param {string} icon Source url for the icon image.
|
| - * @private
|
| - */
|
| - setIcon_: function(icon) {
|
| - if (icon) {
|
| - this.icon_.style.backgroundImage = 'url(' + icon + ')';
|
| - this.icon_.classList.remove('hidden');
|
| - } else {
|
| - this.icon_.classList.add('hidden');
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Handle reconnect.
|
| - * @private
|
| - */
|
| - handleConnect_ : function(e) {
|
| - var index = this.menu_.getMenuItemIndexOf(this);
|
| - if (this.ssidEdit && this.passwordEdit) {
|
| - if (this.ssidEdit.value) {
|
| - sendConnect(index,
|
| - this.passwordEdit.value,
|
| - this.ssidEdit.value,
|
| - this.autoConnectCheckbox.checked);
|
| - }
|
| - } else if (this.passwordEdit) {
|
| - if (this.passwordEdit.value) {
|
| - sendConnect(index,
|
| - this.passwordEdit.value, '', this.autoConnectCheckbox.checked);
|
| - }
|
| - } else {
|
| - if (this.attrs.remembered) {
|
| - sendConnect(index, this.attrs.passphrase, '', this.attrs.auto_connect);
|
| - } else {
|
| - sendConnect(index, '', '', this.autoConnectCheckbox.checked);
|
| - }
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Handle keydown event in ssid edit.
|
| - * @private
|
| - */
|
| - handleSsidEditKeydown_: function(e) {
|
| - if (e.target == this.ssidEdit &&
|
| - e.keyIdentifier == 'Enter') {
|
| - this.passwordEdit.focus();
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Handle keydown event in password edit.
|
| - * @private
|
| - */
|
| - handlePassEditKeydown_: function(e) {
|
| - if (e.target == this.passwordEdit &&
|
| - e.keyIdentifier == 'Enter') {
|
| - this.handleConnect_();
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Returns whether action area is visible.
|
| - * @private
|
| - */
|
| - isActionVisible_: function() {
|
| - return !this.action_.classList.contains('hidden');
|
| - },
|
| -
|
| - /**
|
| - * Show/hide action area.
|
| - * @private
|
| - */
|
| - showAction_: function(show) {
|
| - var visible = this.isActionVisible_();
|
| - if (show && !visible) {
|
| - this.action_.classList.remove('hidden');
|
| - } else if (!show && visible) {
|
| - this.action_.classList.add('hidden');
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Add network name edit to action area.
|
| - * @private
|
| - */
|
| - addSsidEdit_: function() {
|
| - this.ssidEdit = this.ownerDocument.createElement('input');
|
| - this.ssidEdit.type = 'text';
|
| - this.ssidEdit.placeholder = localStrings.getString('ssid_prompt');
|
| - this.ssidEdit.pattern = '^\\S+$';
|
| - this.ssidEdit.addEventListener('keydown',
|
| - this.handleSsidEditKeydown_.bind(this));
|
| -
|
| - var box = this.ownerDocument.createElement('div');
|
| - box.appendChild(this.ssidEdit);
|
| - this.action_.appendChild(box);
|
| - },
|
| -
|
| - /**
|
| - * Add password edit to action area.
|
| - * @private
|
| - */
|
| - addPasswordEdit_: function() {
|
| - this.passwordEdit = this.ownerDocument.createElement('input');
|
| - this.passwordEdit.type = 'password';
|
| - this.passwordEdit.placeholder = localStrings.getString('pass_prompt');
|
| - this.passwordEdit.pattern = '^\\S+$';
|
| - this.passwordEdit.addEventListener('keydown',
|
| - this.handlePassEditKeydown_.bind(this));
|
| -
|
| - var box = this.ownerDocument.createElement('div');
|
| - box.appendChild(this.passwordEdit);
|
| - this.action_.appendChild(box);
|
| - },
|
| -
|
| - /**
|
| - * Add auto-connect this network check box to action area.
|
| - * @private
|
| - */
|
| - addAutoConnectCheckbox_: function() {
|
| - this.autoConnectCheckbox = this.ownerDocument.createElement('input');
|
| - this.autoConnectCheckbox.type = 'checkbox';
|
| - this.autoConnectCheckbox.checked = this.attrs.auto_connect;
|
| -
|
| - var autoConnectSpan = this.ownerDocument.createElement('span');
|
| - autoConnectSpan.textContent =
|
| - localStrings.getString('auto_connect_this_network');
|
| -
|
| - var autoConnectLabel = this.ownerDocument.createElement('label');
|
| - autoConnectLabel.appendChild(this.autoConnectCheckbox);
|
| - autoConnectLabel.appendChild(autoConnectSpan);
|
| -
|
| - this.action_.appendChild(autoConnectLabel);
|
| - },
|
| -
|
| - /**
|
| - * Internal method to initiailze the MenuItem.
|
| - * @private
|
| - */
|
| - initMenuItem_: function() {
|
| - // *TODO: eliminate code duplication with menu.js
|
| - // MenuItem.prototype.initMenuItem_();
|
| - var attrs = this.attrs;
|
| - this.classList.add(attrs.type);
|
| - this.menu_.addHandlers(this, this);
|
| -
|
| - //////// NetworkMenuItem specific code:
|
| - // TODO: Handle specific types of network, connecting icon.
|
| - this.label_.textContent = attrs.label;
|
| -
|
| - if (attrs.network_type == NetworkOther) {
|
| - this.addSsidEdit_();
|
| - this.addPasswordEdit_();
|
| - this.addAutoConnectCheckbox_();
|
| - } else if (attrs.status && attrs.status != 'unknown') {
|
| - if (attrs.status == StatusConnected) {
|
| - this.setStatus_(attrs.ip_address);
|
| - } else if (attrs.status == StatusConnecting) {
|
| - this.setStatus_(attrs.message);
|
| -
|
| - this.icon_.classList.add('spinner');
|
| - this.icon_.classList.remove('hidden');
|
| - } else if (attrs.status == StatusError) {
|
| - this.setStatus_(attrs.message);
|
| - this.setIcon_('chrome://theme/IDR_WARNING');
|
| -
|
| - var button = this.ownerDocument.createElement('button');
|
| - button.textContent = localStrings.getString('reconnect');
|
| - button.addEventListener('click', this.handleConnect_.bind(this));
|
| - var box = this.ownerDocument.createElement('div');
|
| - box.appendChild(button);
|
| - this.action_.appendChild(box);
|
| -
|
| - this.showAction_(true);
|
| - }
|
| -
|
| - if (attrs.need_passphrase) {
|
| - this.addPasswordEdit_();
|
| - }
|
| -
|
| - this.addAutoConnectCheckbox_();
|
| - }
|
| - //////// End NetworkMenuItem specifi code
|
| -
|
| - if (attrs.font) {
|
| - this.label_.style.font = attrs.font;
|
| -
|
| - var baseFont = attrs.font.replace(/bold/, '').replace(/italic/, '');
|
| - this.status_.style.font = baseFont;
|
| - this.action_.style.font = baseFont;
|
| - }
|
| - },
|
| -
|
| - /** @override */
|
| - activate: function() {
|
| - // Close action area and connect if it is visible.
|
| - if (this.isActionVisible_()) {
|
| - this.showAction_(false);
|
| - this.handleConnect_();
|
| - return;
|
| - }
|
| -
|
| - // Show action area for encrypted network and 'other' network.
|
| - if ((this.attrs.network_type == NetworkOther ||
|
| - this.attrs.status == StatusDisconnected) &&
|
| - this.attrs.need_passphrase &&
|
| - !this.isActionVisible_()) {
|
| - this.showAction_(true);
|
| - return;
|
| - }
|
| -
|
| - MenuItem.prototype.activate.call(this);
|
| - }
|
| -};
|
| -
|
| -
|
| -var NetworkMenu = cr.ui.define('div');
|
| -
|
| -NetworkMenu.prototype = {
|
| - __proto__: Menu.prototype,
|
| -
|
| - /** @override */
|
| - createMenuItem: function(attrs) {
|
| - if (attrs.type == 'command') {
|
| - return new NetworkMenuItem();
|
| - } else {
|
| - return new MenuItem();
|
| - }
|
| - },
|
| -
|
| - /** @override */
|
| - onClick_: function(event, item) {
|
| - // If item is a NetworkMenuItem, it must have at least one of the following.
|
| - if (item.autoConnectCheckbox || item.ssidEdit || item.passwordEdit) {
|
| - // Ignore clicks other than on the NetworkMenuItem itself.
|
| - if (event.target == item.autoConnectCheckbox ||
|
| - event.target == item.autoConnectCheckbox.nextElementSibling ||
|
| - event.target == item.ssidEdit ||
|
| - event.target == item.passwordEdit) {
|
| - return;
|
| - }
|
| - }
|
| -
|
| - Menu.prototype.onClick_.call(this, event, item);
|
| - },
|
| -};
|
|
|