Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(456)

Side by Side Diff: chrome/browser/resources/bluetooth_internals/device_details_page.js

Issue 2939273002: DO NOT SUBMIT: what chrome/browser/resources/ could eventually look like with clang-format (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * Javascript for DeviceDetailsPage which displays all of the details of a 6 * Javascript for DeviceDetailsPage which displays all of the details of a
7 * device. The page is generated and managed dynamically in bluetooth_internals. 7 * device. The page is generated and managed dynamically in bluetooth_internals.
8 * served from chrome://bluetooth-internals/. 8 * served from chrome://bluetooth-internals/.
9 */ 9 */
10 10
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 51
52 /** @private {!service_list.ServiceList} */ 52 /** @private {!service_list.ServiceList} */
53 this.serviceList_ = new service_list.ServiceList(); 53 this.serviceList_ = new service_list.ServiceList();
54 54
55 /** @private {!device_collection.ConnectionStatus} */ 55 /** @private {!device_collection.ConnectionStatus} */
56 this.status_ = device_collection.ConnectionStatus.DISCONNECTED; 56 this.status_ = device_collection.ConnectionStatus.DISCONNECTED;
57 57
58 /** @private {?HTMLElement} */ 58 /** @private {?HTMLElement} */
59 this.connectBtn_ = null; 59 this.connectBtn_ = null;
60 60
61 this.pageDiv.appendChild( 61 this.pageDiv.appendChild(document.importNode(
62 document.importNode($('device-details-template').content, 62 $('device-details-template').content, true /* deep */));
63 true /* deep */));
64 63
65 this.pageDiv.querySelector('.device-details').appendChild( 64 this.pageDiv.querySelector('.device-details')
66 this.deviceFieldSet_); 65 .appendChild(this.deviceFieldSet_);
67 this.pageDiv.querySelector('.services').appendChild(this.serviceList_); 66 this.pageDiv.querySelector('.services').appendChild(this.serviceList_);
68 67
69 this.pageDiv.querySelector('.forget').addEventListener( 68 this.pageDiv.querySelector('.forget').addEventListener('click', function() {
70 'click', function() { 69 this.disconnect();
71 this.disconnect(); 70 this.pageDiv.dispatchEvent(new CustomEvent('forgetpressed', {
72 this.pageDiv.dispatchEvent(new CustomEvent('forgetpressed', { 71 detail: {
73 detail: { 72 address: this.deviceInfo.address,
74 address: this.deviceInfo.address, 73 },
75 }, 74 }));
76 })); 75 }.bind(this));
77 }.bind(this));
78 76
79 this.connectBtn_ = this.pageDiv.querySelector('.disconnect'); 77 this.connectBtn_ = this.pageDiv.querySelector('.disconnect');
80 this.connectBtn_.addEventListener('click', function() { 78 this.connectBtn_.addEventListener('click', function() {
81 this.devicePtr_ !== null ? this.disconnect() : this.connect(); 79 this.devicePtr_ !== null ? this.disconnect() : this.connect();
82 }.bind(this)); 80 }.bind(this));
83 81
84 this.redraw(); 82 this.redraw();
85 } 83 }
86 84
87 DeviceDetailsPage.prototype = { 85 DeviceDetailsPage.prototype = {
88 __proto__: Page.prototype, 86 __proto__: Page.prototype,
89 87
90 /** Creates a connection to the Bluetooth device. */ 88 /** Creates a connection to the Bluetooth device. */
91 connect: function() { 89 connect: function() {
92 if (this.status_ !== device_collection.ConnectionStatus.DISCONNECTED) 90 if (this.status_ !== device_collection.ConnectionStatus.DISCONNECTED)
93 return; 91 return;
94 92
95 this.updateConnectionStatus_( 93 this.updateConnectionStatus_(
96 device_collection.ConnectionStatus.CONNECTING); 94 device_collection.ConnectionStatus.CONNECTING);
97 95
98 device_broker.connectToDevice(this.deviceInfo.address).then( 96 device_broker.connectToDevice(this.deviceInfo.address)
99 function(devicePtr) { 97 .then(function(devicePtr) {
100 this.devicePtr_ = devicePtr; 98 this.devicePtr_ = devicePtr;
101 99
102 this.updateConnectionStatus_( 100 this.updateConnectionStatus_(
103 device_collection.ConnectionStatus.CONNECTED); 101 device_collection.ConnectionStatus.CONNECTED);
104 102
105 // Fetch services asynchronously. 103 // Fetch services asynchronously.
106 return this.devicePtr_.getServices(); 104 return this.devicePtr_.getServices();
107 }.bind(this)).then(function(response) { 105 }.bind(this))
106 .then(function(response) {
108 this.deviceInfo.services = response.services; 107 this.deviceInfo.services = response.services;
109 this.serviceList_.load(this.deviceInfo.address); 108 this.serviceList_.load(this.deviceInfo.address);
110 this.redraw(); 109 this.redraw();
111 this.fireDeviceInfoChanged_(); 110 this.fireDeviceInfoChanged_();
112 }.bind(this)).catch(function(error) { 111 }.bind(this))
112 .catch(function(error) {
113 // If a connection error occurs while fetching the services, the 113 // If a connection error occurs while fetching the services, the
114 // devicePtr reference must be removed. 114 // devicePtr reference must be removed.
115 if (this.devicePtr_) { 115 if (this.devicePtr_) {
116 this.devicePtr_.disconnect(); 116 this.devicePtr_.disconnect();
117 this.devicePtr_ = null; 117 this.devicePtr_ = null;
118 } 118 }
119 119
120 Snackbar.show( 120 Snackbar.show(
121 this.deviceInfo.name_for_display + ': ' + error.message, 121 this.deviceInfo.name_for_display + ': ' + error.message,
122 SnackbarType.ERROR, 'Retry', this.connect.bind(this)); 122 SnackbarType.ERROR, 'Retry', this.connect.bind(this));
123 123
124 this.updateConnectionStatus_( 124 this.updateConnectionStatus_(
125 device_collection.ConnectionStatus.DISCONNECTED); 125 device_collection.ConnectionStatus.DISCONNECTED);
126 }.bind(this)); 126 }.bind(this));
127 }, 127 },
128 128
129 /** Disconnects the page from the Bluetooth device. */ 129 /** Disconnects the page from the Bluetooth device. */
130 disconnect: function() { 130 disconnect: function() {
131 if (!this.devicePtr_) return; 131 if (!this.devicePtr_)
132 return;
132 133
133 this.devicePtr_.disconnect(); 134 this.devicePtr_.disconnect();
134 this.devicePtr_ = null; 135 this.devicePtr_ = null;
135 this.updateConnectionStatus_( 136 this.updateConnectionStatus_(
136 device_collection.ConnectionStatus.DISCONNECTED); 137 device_collection.ConnectionStatus.DISCONNECTED);
137 }, 138 },
138 139
139 /** Redraws the contents of the page with the current |deviceInfo|. */ 140 /** Redraws the contents of the page with the current |deviceInfo|. */
140 redraw: function() { 141 redraw: function() {
141 var isConnected = this.deviceInfo.is_gatt_connected; 142 var isConnected = this.deviceInfo.is_gatt_connected;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 status: status, 224 status: status,
224 } 225 }
225 })); 226 }));
226 }, 227 },
227 }; 228 };
228 229
229 return { 230 return {
230 DeviceDetailsPage: DeviceDetailsPage, 231 DeviceDetailsPage: DeviceDetailsPage,
231 }; 232 };
232 }); 233 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698