OLD | NEW |
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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 * @unrestricted | 5 * @unrestricted |
6 */ | 6 */ |
7 Emulation.SensorsView = class extends UI.VBox { | 7 Emulation.SensorsView = class extends UI.VBox { |
8 constructor() { | 8 constructor() { |
9 super(true); | 9 super(true); |
10 this.registerRequiredCSS('emulation/sensors.css'); | 10 this.registerRequiredCSS('emulation/sensors.css'); |
11 this.contentElement.classList.add('sensors-view'); | 11 this.contentElement.classList.add('sensors-view'); |
12 | 12 |
13 this._geolocationSetting = Common.settings.createSetting('emulation.geolocat
ionOverride', ''); | 13 this._geolocationSetting = Common.settings.createSetting('emulation.geolocat
ionOverride', ''); |
14 this._geolocation = Emulation.Geolocation.parseSetting(this._geolocationSett
ing.get()); | 14 this._geolocation = SDK.EmulationModel.Geolocation.parseSetting(this._geoloc
ationSetting.get()); |
15 this._geolocationOverrideEnabled = false; | 15 this._geolocationOverrideEnabled = false; |
16 this._createGeolocationSection(this._geolocation); | 16 this._createGeolocationSection(this._geolocation); |
17 | 17 |
18 this.contentElement.createChild('div').classList.add('panel-section-separato
r'); | 18 this.contentElement.createChild('div').classList.add('panel-section-separato
r'); |
19 | 19 |
20 this._deviceOrientationSetting = Common.settings.createSetting('emulation.de
viceOrientationOverride', ''); | 20 this._deviceOrientationSetting = Common.settings.createSetting('emulation.de
viceOrientationOverride', ''); |
21 this._deviceOrientation = Emulation.DeviceOrientation.parseSetting(this._dev
iceOrientationSetting.get()); | 21 this._deviceOrientation = SDK.EmulationModel.DeviceOrientation.parseSetting(
this._deviceOrientationSetting.get()); |
22 this._deviceOrientationOverrideEnabled = false; | 22 this._deviceOrientationOverrideEnabled = false; |
23 this._createDeviceOrientationSection(); | 23 this._createDeviceOrientationSection(); |
24 | 24 |
25 this.contentElement.createChild('div').classList.add('panel-section-separato
r'); | 25 this.contentElement.createChild('div').classList.add('panel-section-separato
r'); |
26 | 26 |
27 this._appendTouchControl(); | 27 this._appendTouchControl(); |
28 } | 28 } |
29 | 29 |
30 /** | 30 /** |
31 * @return {!Emulation.SensorsView} | 31 * @return {!Emulation.SensorsView} |
32 */ | 32 */ |
33 static instance() { | 33 static instance() { |
34 if (!Emulation.SensorsView._instanceObject) | 34 if (!Emulation.SensorsView._instanceObject) |
35 Emulation.SensorsView._instanceObject = new Emulation.SensorsView(); | 35 Emulation.SensorsView._instanceObject = new Emulation.SensorsView(); |
36 return Emulation.SensorsView._instanceObject; | 36 return Emulation.SensorsView._instanceObject; |
37 } | 37 } |
38 | 38 |
39 /** | 39 /** |
40 * @param {!Emulation.Geolocation} geolocation | 40 * @param {!SDK.EmulationModel.Geolocation} geolocation |
41 */ | 41 */ |
42 _createGeolocationSection(geolocation) { | 42 _createGeolocationSection(geolocation) { |
43 var geogroup = this.contentElement.createChild('section', 'sensors-group'); | 43 var geogroup = this.contentElement.createChild('section', 'sensors-group'); |
44 geogroup.createChild('div', 'sensors-group-title').textContent = Common.UISt
ring('Geolocation'); | 44 geogroup.createChild('div', 'sensors-group-title').textContent = Common.UISt
ring('Geolocation'); |
45 var fields = geogroup.createChild('div', 'geo-fields'); | 45 var fields = geogroup.createChild('div', 'geo-fields'); |
46 | 46 |
47 const noOverrideOption = { | 47 const noOverrideOption = { |
48 title: Common.UIString('No override'), | 48 title: Common.UIString('No override'), |
49 location: Emulation.SensorsView.NonPresetOptions.NoOverride | 49 location: Emulation.SensorsView.NonPresetOptions.NoOverride |
50 }; | 50 }; |
(...skipping 22 matching lines...) Expand all Loading... |
73 this._fieldsetElement.disabled = !this._geolocationOverrideEnabled; | 73 this._fieldsetElement.disabled = !this._geolocationOverrideEnabled; |
74 this._fieldsetElement.id = 'geolocation-override-section'; | 74 this._fieldsetElement.id = 'geolocation-override-section'; |
75 | 75 |
76 var latitudeGroup = this._fieldsetElement.createChild('div', 'latlong-group'
); | 76 var latitudeGroup = this._fieldsetElement.createChild('div', 'latlong-group'
); |
77 var longitudeGroup = this._fieldsetElement.createChild('div', 'latlong-group
'); | 77 var longitudeGroup = this._fieldsetElement.createChild('div', 'latlong-group
'); |
78 | 78 |
79 this._latitudeInput = latitudeGroup.createChild('input'); | 79 this._latitudeInput = latitudeGroup.createChild('input'); |
80 this._latitudeInput.setAttribute('type', 'number'); | 80 this._latitudeInput.setAttribute('type', 'number'); |
81 this._latitudeInput.value = 0; | 81 this._latitudeInput.value = 0; |
82 this._latitudeSetter = UI.bindInput( | 82 this._latitudeSetter = UI.bindInput( |
83 this._latitudeInput, this._applyGeolocationUserInput.bind(this), Emulati
on.Geolocation.latitudeValidator, true); | 83 this._latitudeInput, this._applyGeolocationUserInput.bind(this), |
| 84 SDK.EmulationModel.Geolocation.latitudeValidator, true); |
84 this._latitudeSetter(String(geolocation.latitude)); | 85 this._latitudeSetter(String(geolocation.latitude)); |
85 | 86 |
86 this._longitudeInput = longitudeGroup.createChild('input'); | 87 this._longitudeInput = longitudeGroup.createChild('input'); |
87 this._longitudeInput.setAttribute('type', 'number'); | 88 this._longitudeInput.setAttribute('type', 'number'); |
88 this._longitudeInput.value = 0; | 89 this._longitudeInput.value = 0; |
89 this._longitudeSetter = UI.bindInput( | 90 this._longitudeSetter = UI.bindInput( |
90 this._longitudeInput, this._applyGeolocationUserInput.bind(this), Emulat
ion.Geolocation.longitudeValidator, | 91 this._longitudeInput, this._applyGeolocationUserInput.bind(this), |
91 true); | 92 SDK.EmulationModel.Geolocation.longitudeValidator, true); |
92 this._longitudeSetter(String(geolocation.longitude)); | 93 this._longitudeSetter(String(geolocation.longitude)); |
93 | 94 |
94 latitudeGroup.createChild('div', 'latlong-title').textContent = Common.UIStr
ing('Latitude'); | 95 latitudeGroup.createChild('div', 'latlong-title').textContent = Common.UIStr
ing('Latitude'); |
95 longitudeGroup.createChild('div', 'latlong-title').textContent = Common.UISt
ring('Longitude'); | 96 longitudeGroup.createChild('div', 'latlong-title').textContent = Common.UISt
ring('Longitude'); |
96 } | 97 } |
97 | 98 |
98 _geolocationSelectChanged() { | 99 _geolocationSelectChanged() { |
99 this._fieldsetElement.disabled = false; | 100 this._fieldsetElement.disabled = false; |
100 var value = this._locationSelectElement.options[this._locationSelectElement.
selectedIndex].value; | 101 var value = this._locationSelectElement.options[this._locationSelectElement.
selectedIndex].value; |
101 if (value === Emulation.SensorsView.NonPresetOptions.NoOverride) { | 102 if (value === Emulation.SensorsView.NonPresetOptions.NoOverride) { |
102 this._geolocationOverrideEnabled = false; | 103 this._geolocationOverrideEnabled = false; |
103 this._fieldsetElement.disabled = true; | 104 this._fieldsetElement.disabled = true; |
104 } else if (value === Emulation.SensorsView.NonPresetOptions.Custom) { | 105 } else if (value === Emulation.SensorsView.NonPresetOptions.Custom) { |
105 this._geolocationOverrideEnabled = true; | 106 this._geolocationOverrideEnabled = true; |
106 } else if (value === Emulation.SensorsView.NonPresetOptions.Unavailable) { | 107 } else if (value === Emulation.SensorsView.NonPresetOptions.Unavailable) { |
107 this._geolocationOverrideEnabled = true; | 108 this._geolocationOverrideEnabled = true; |
108 this._geolocation = new Emulation.Geolocation(0, 0, true); | 109 this._geolocation = new SDK.EmulationModel.Geolocation(0, 0, true); |
109 } else { | 110 } else { |
110 this._geolocationOverrideEnabled = true; | 111 this._geolocationOverrideEnabled = true; |
111 var coordinates = JSON.parse(value); | 112 var coordinates = JSON.parse(value); |
112 this._geolocation = new Emulation.Geolocation(coordinates[0], coordinates[
1], false); | 113 this._geolocation = new SDK.EmulationModel.Geolocation(coordinates[0], coo
rdinates[1], false); |
113 this._latitudeSetter(coordinates[0]); | 114 this._latitudeSetter(coordinates[0]); |
114 this._longitudeSetter(coordinates[1]); | 115 this._longitudeSetter(coordinates[1]); |
115 } | 116 } |
116 | 117 |
117 this._applyGeolocation(); | 118 this._applyGeolocation(); |
118 if (value === Emulation.SensorsView.NonPresetOptions.Custom) | 119 if (value === Emulation.SensorsView.NonPresetOptions.Custom) |
119 this._latitudeInput.focus(); | 120 this._latitudeInput.focus(); |
120 } | 121 } |
121 | 122 |
122 _applyGeolocationUserInput() { | 123 _applyGeolocationUserInput() { |
123 var geolocation = | 124 var geolocation = SDK.EmulationModel.Geolocation.parseUserInput( |
124 Emulation.Geolocation.parseUserInput(this._latitudeInput.value.trim(), t
his._longitudeInput.value.trim(), ''); | 125 this._latitudeInput.value.trim(), this._longitudeInput.value.trim(), '')
; |
125 if (!geolocation) | 126 if (!geolocation) |
126 return; | 127 return; |
127 | 128 |
128 this._setSelectElementLabel(this._locationSelectElement, Emulation.SensorsVi
ew.NonPresetOptions.Custom); | 129 this._setSelectElementLabel(this._locationSelectElement, Emulation.SensorsVi
ew.NonPresetOptions.Custom); |
129 this._geolocation = geolocation; | 130 this._geolocation = geolocation; |
130 this._applyGeolocation(); | 131 this._applyGeolocation(); |
131 } | 132 } |
132 | 133 |
133 _applyGeolocation() { | 134 _applyGeolocation() { |
134 if (this._geolocationOverrideEnabled) { | 135 if (this._geolocationOverrideEnabled) |
135 this._geolocationSetting.set(this._geolocation.toSetting()); | 136 this._geolocationSetting.set(this._geolocation.toSetting()); |
136 this._geolocation.apply(); | 137 for (var emulationModel of SDK.targetManager.models(SDK.EmulationModel)) |
137 } else { | 138 emulationModel.emulateGeolocation(this._geolocationOverrideEnabled ? this.
_geolocation : null); |
138 this._geolocation.clear(); | |
139 } | |
140 } | 139 } |
141 | 140 |
142 _createDeviceOrientationSection() { | 141 _createDeviceOrientationSection() { |
143 var orientationGroup = this.contentElement.createChild('section', 'sensors-g
roup'); | 142 var orientationGroup = this.contentElement.createChild('section', 'sensors-g
roup'); |
144 orientationGroup.createChild('div', 'sensors-group-title').textContent = Com
mon.UIString('Orientation'); | 143 orientationGroup.createChild('div', 'sensors-group-title').textContent = Com
mon.UIString('Orientation'); |
145 var orientationContent = orientationGroup.createChild('div', 'orientation-co
ntent'); | 144 var orientationContent = orientationGroup.createChild('div', 'orientation-co
ntent'); |
146 var fields = orientationContent.createChild('div', 'orientation-fields'); | 145 var fields = orientationContent.createChild('div', 'orientation-fields'); |
147 | 146 |
148 const orientationOffOption = { | 147 const orientationOffOption = { |
149 title: Common.UIString('Off'), | 148 title: Common.UIString('Off'), |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 | 212 |
214 if (value === Emulation.SensorsView.NonPresetOptions.NoOverride) { | 213 if (value === Emulation.SensorsView.NonPresetOptions.NoOverride) { |
215 this._deviceOrientationOverrideEnabled = false; | 214 this._deviceOrientationOverrideEnabled = false; |
216 this._enableOrientationFields(true); | 215 this._enableOrientationFields(true); |
217 } else if (value === Emulation.SensorsView.NonPresetOptions.Custom) { | 216 } else if (value === Emulation.SensorsView.NonPresetOptions.Custom) { |
218 this._deviceOrientationOverrideEnabled = true; | 217 this._deviceOrientationOverrideEnabled = true; |
219 this._alphaElement.focus(); | 218 this._alphaElement.focus(); |
220 } else { | 219 } else { |
221 var parsedValue = JSON.parse(value); | 220 var parsedValue = JSON.parse(value); |
222 this._deviceOrientationOverrideEnabled = true; | 221 this._deviceOrientationOverrideEnabled = true; |
223 this._deviceOrientation = new Emulation.DeviceOrientation(parsedValue[0],
parsedValue[1], parsedValue[2]); | 222 this._deviceOrientation = |
| 223 new SDK.EmulationModel.DeviceOrientation(parsedValue[0], parsedValue[1
], parsedValue[2]); |
224 this._setDeviceOrientation( | 224 this._setDeviceOrientation( |
225 this._deviceOrientation, Emulation.SensorsView.DeviceOrientationModifi
cationSource.SelectPreset); | 225 this._deviceOrientation, Emulation.SensorsView.DeviceOrientationModifi
cationSource.SelectPreset); |
226 } | 226 } |
227 } | 227 } |
228 | 228 |
229 _applyDeviceOrientation() { | 229 _applyDeviceOrientation() { |
230 if (this._deviceOrientationOverrideEnabled) { | 230 if (this._deviceOrientationOverrideEnabled) |
231 this._deviceOrientationSetting.set(this._deviceOrientation.toSetting()); | 231 this._deviceOrientationSetting.set(this._deviceOrientation.toSetting()); |
232 this._deviceOrientation.apply(); | 232 for (var emulationModel of SDK.targetManager.models(SDK.EmulationModel)) |
233 } else { | 233 emulationModel.emulateDeviceOrientation(this._deviceOrientationOverrideEna
bled ? this._deviceOrientation : null); |
234 this._deviceOrientation.clear(); | |
235 } | |
236 } | 234 } |
237 | 235 |
238 /** | 236 /** |
239 * @param {!Element} selectElement | 237 * @param {!Element} selectElement |
240 * @param {string} labelValue | 238 * @param {string} labelValue |
241 */ | 239 */ |
242 _setSelectElementLabel(selectElement, labelValue) { | 240 _setSelectElementLabel(selectElement, labelValue) { |
243 var optionValues = Array.prototype.map.call(selectElement.options, x => x.va
lue); | 241 var optionValues = Array.prototype.map.call(selectElement.options, x => x.va
lue); |
244 selectElement.selectedIndex = optionValues.indexOf(labelValue); | 242 selectElement.selectedIndex = optionValues.indexOf(labelValue); |
245 } | 243 } |
246 | 244 |
247 _applyDeviceOrientationUserInput() { | 245 _applyDeviceOrientationUserInput() { |
248 this._setDeviceOrientation( | 246 this._setDeviceOrientation( |
249 Emulation.DeviceOrientation.parseUserInput( | 247 SDK.EmulationModel.DeviceOrientation.parseUserInput( |
250 this._alphaElement.value.trim(), this._betaElement.value.trim(), thi
s._gammaElement.value.trim()), | 248 this._alphaElement.value.trim(), this._betaElement.value.trim(), thi
s._gammaElement.value.trim()), |
251 Emulation.SensorsView.DeviceOrientationModificationSource.UserInput); | 249 Emulation.SensorsView.DeviceOrientationModificationSource.UserInput); |
252 this._setSelectElementLabel(this._orientationSelectElement, Emulation.Sensor
sView.NonPresetOptions.Custom); | 250 this._setSelectElementLabel(this._orientationSelectElement, Emulation.Sensor
sView.NonPresetOptions.Custom); |
253 } | 251 } |
254 | 252 |
255 _resetDeviceOrientation() { | 253 _resetDeviceOrientation() { |
256 this._setDeviceOrientation( | 254 this._setDeviceOrientation( |
257 new Emulation.DeviceOrientation(0, 90, 0), | 255 new SDK.EmulationModel.DeviceOrientation(0, 90, 0), |
258 Emulation.SensorsView.DeviceOrientationModificationSource.ResetButton); | 256 Emulation.SensorsView.DeviceOrientationModificationSource.ResetButton); |
259 this._setSelectElementLabel(this._orientationSelectElement, '[0, 90, 0]'); | 257 this._setSelectElementLabel(this._orientationSelectElement, '[0, 90, 0]'); |
260 } | 258 } |
261 | 259 |
262 /** | 260 /** |
263 * @param {?Emulation.DeviceOrientation} deviceOrientation | 261 * @param {?SDK.EmulationModel.DeviceOrientation} deviceOrientation |
264 * @param {!Emulation.SensorsView.DeviceOrientationModificationSource} modific
ationSource | 262 * @param {!Emulation.SensorsView.DeviceOrientationModificationSource} modific
ationSource |
265 */ | 263 */ |
266 _setDeviceOrientation(deviceOrientation, modificationSource) { | 264 _setDeviceOrientation(deviceOrientation, modificationSource) { |
267 if (!deviceOrientation) | 265 if (!deviceOrientation) |
268 return; | 266 return; |
269 | 267 |
270 /** | 268 /** |
271 * @param {number} angle | 269 * @param {number} angle |
272 * @return {number} | 270 * @return {number} |
273 */ | 271 */ |
(...skipping 19 matching lines...) Expand all Loading... |
293 * @param {!Element} input | 291 * @param {!Element} input |
294 * @param {string} label | 292 * @param {string} label |
295 * @return {function(string)} | 293 * @return {function(string)} |
296 */ | 294 */ |
297 _createAxisInput(parentElement, input, label) { | 295 _createAxisInput(parentElement, input, label) { |
298 var div = parentElement.createChild('div', 'orientation-axis-input-container
'); | 296 var div = parentElement.createChild('div', 'orientation-axis-input-container
'); |
299 div.appendChild(input); | 297 div.appendChild(input); |
300 div.createTextChild(label); | 298 div.createTextChild(label); |
301 input.type = 'number'; | 299 input.type = 'number'; |
302 return UI.bindInput( | 300 return UI.bindInput( |
303 input, this._applyDeviceOrientationUserInput.bind(this), Emulation.Devic
eOrientation.validator, true); | 301 input, this._applyDeviceOrientationUserInput.bind(this), SDK.EmulationMo
del.DeviceOrientation.validator, true); |
304 } | 302 } |
305 | 303 |
306 /** | 304 /** |
307 * @param {!Emulation.DeviceOrientation} deviceOrientation | 305 * @param {!SDK.EmulationModel.DeviceOrientation} deviceOrientation |
308 * @return {!Element} | 306 * @return {!Element} |
309 */ | 307 */ |
310 _createDeviceOrientationOverrideElement(deviceOrientation) { | 308 _createDeviceOrientationOverrideElement(deviceOrientation) { |
311 var fieldsetElement = createElement('fieldset'); | 309 var fieldsetElement = createElement('fieldset'); |
312 fieldsetElement.classList.add('device-orientation-override-section'); | 310 fieldsetElement.classList.add('device-orientation-override-section'); |
313 var cellElement = fieldsetElement.createChild('td', 'orientation-inputs-cell
'); | 311 var cellElement = fieldsetElement.createChild('td', 'orientation-inputs-cell
'); |
314 | 312 |
315 this._alphaElement = createElement('input'); | 313 this._alphaElement = createElement('input'); |
316 this._alphaSetter = this._createAxisInput(cellElement, this._alphaElement, C
ommon.UIString('\u03B1 (alpha)')); | 314 this._alphaSetter = this._createAxisInput(cellElement, this._alphaElement, C
ommon.UIString('\u03B1 (alpha)')); |
317 this._alphaSetter(String(deviceOrientation.alpha)); | 315 this._alphaSetter(String(deviceOrientation.alpha)); |
318 | 316 |
319 this._betaElement = createElement('input'); | 317 this._betaElement = createElement('input'); |
320 this._betaSetter = this._createAxisInput(cellElement, this._betaElement, Com
mon.UIString('\u03B2 (beta)')); | 318 this._betaSetter = this._createAxisInput(cellElement, this._betaElement, Com
mon.UIString('\u03B2 (beta)')); |
321 this._betaSetter(String(deviceOrientation.beta)); | 319 this._betaSetter(String(deviceOrientation.beta)); |
322 | 320 |
323 this._gammaElement = createElement('input'); | 321 this._gammaElement = createElement('input'); |
324 this._gammaSetter = this._createAxisInput(cellElement, this._gammaElement, C
ommon.UIString('\u03B3 (gamma)')); | 322 this._gammaSetter = this._createAxisInput(cellElement, this._gammaElement, C
ommon.UIString('\u03B3 (gamma)')); |
325 this._gammaSetter(String(deviceOrientation.gamma)); | 323 this._gammaSetter(String(deviceOrientation.gamma)); |
326 | 324 |
327 cellElement.appendChild(UI.createTextButton( | 325 cellElement.appendChild(UI.createTextButton( |
328 Common.UIString('Reset'), this._resetDeviceOrientation.bind(this), 'orie
ntation-reset-button')); | 326 Common.UIString('Reset'), this._resetDeviceOrientation.bind(this), 'orie
ntation-reset-button')); |
329 return fieldsetElement; | 327 return fieldsetElement; |
330 } | 328 } |
331 | 329 |
332 /** | 330 /** |
333 * @param {!Emulation.DeviceOrientation} deviceOrientation | 331 * @param {!SDK.EmulationModel.DeviceOrientation} deviceOrientation |
334 * @param {boolean} animate | 332 * @param {boolean} animate |
335 */ | 333 */ |
336 _setBoxOrientation(deviceOrientation, animate) { | 334 _setBoxOrientation(deviceOrientation, animate) { |
337 if (animate) | 335 if (animate) |
338 this._stageElement.classList.add('is-animating'); | 336 this._stageElement.classList.add('is-animating'); |
339 else | 337 else |
340 this._stageElement.classList.remove('is-animating'); | 338 this._stageElement.classList.remove('is-animating'); |
341 | 339 |
342 // The CSS transform should not depend on matrix3d, which does not interpola
te well. | 340 // The CSS transform should not depend on matrix3d, which does not interpola
te well. |
343 var matrix = new WebKitCSSMatrix(); | 341 var matrix = new WebKitCSSMatrix(); |
(...skipping 24 matching lines...) Expand all Loading... |
368 | 366 |
369 // The mouse movement vectors occur in the screen space, which is offset by
90 degrees from | 367 // The mouse movement vectors occur in the screen space, which is offset by
90 degrees from |
370 // the actual device orientation. | 368 // the actual device orientation. |
371 var currentMatrix = new WebKitCSSMatrix(); | 369 var currentMatrix = new WebKitCSSMatrix(); |
372 currentMatrix = currentMatrix.rotate(-90, 0, 0) | 370 currentMatrix = currentMatrix.rotate(-90, 0, 0) |
373 .rotateAxisAngle(axis.x, axis.y, axis.z, angle) | 371 .rotateAxisAngle(axis.x, axis.y, axis.z, angle) |
374 .rotate(90, 0, 0) | 372 .rotate(90, 0, 0) |
375 .multiply(this._originalBoxMatrix); | 373 .multiply(this._originalBoxMatrix); |
376 | 374 |
377 var eulerAngles = UI.Geometry.EulerAngles.fromRotationMatrix(currentMatrix); | 375 var eulerAngles = UI.Geometry.EulerAngles.fromRotationMatrix(currentMatrix); |
378 var newOrientation = new Emulation.DeviceOrientation(-eulerAngles.alpha, -eu
lerAngles.beta, eulerAngles.gamma); | 376 var newOrientation = |
| 377 new SDK.EmulationModel.DeviceOrientation(-eulerAngles.alpha, -eulerAngle
s.beta, eulerAngles.gamma); |
379 this._setDeviceOrientation(newOrientation, Emulation.SensorsView.DeviceOrien
tationModificationSource.UserDrag); | 378 this._setDeviceOrientation(newOrientation, Emulation.SensorsView.DeviceOrien
tationModificationSource.UserDrag); |
380 this._setSelectElementLabel(this._orientationSelectElement, Emulation.Sensor
sView.NonPresetOptions.Custom); | 379 this._setSelectElementLabel(this._orientationSelectElement, Emulation.Sensor
sView.NonPresetOptions.Custom); |
381 return false; | 380 return false; |
382 } | 381 } |
383 | 382 |
384 /** | 383 /** |
385 * @param {!MouseEvent} event | 384 * @param {!MouseEvent} event |
386 * @return {boolean} | 385 * @return {boolean} |
387 */ | 386 */ |
388 _onBoxDragStart(event) { | 387 _onBoxDragStart(event) { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 var title = groupElement.createChild('div', 'sensors-group-title'); | 420 var title = groupElement.createChild('div', 'sensors-group-title'); |
422 var fieldsElement = groupElement.createChild('div', 'sensors-group-fields'); | 421 var fieldsElement = groupElement.createChild('div', 'sensors-group-fields'); |
423 | 422 |
424 title.textContent = Common.UIString('Touch'); | 423 title.textContent = Common.UIString('Touch'); |
425 var select = fieldsElement.createChild('select', 'chrome-select'); | 424 var select = fieldsElement.createChild('select', 'chrome-select'); |
426 select.appendChild(new Option(Common.UIString('Device-based'), 'auto')); | 425 select.appendChild(new Option(Common.UIString('Device-based'), 'auto')); |
427 select.appendChild(new Option(Common.UIString('Force enabled'), 'enabled')); | 426 select.appendChild(new Option(Common.UIString('Force enabled'), 'enabled')); |
428 select.addEventListener('change', applyTouch, false); | 427 select.addEventListener('change', applyTouch, false); |
429 | 428 |
430 function applyTouch() { | 429 function applyTouch() { |
431 Emulation.MultitargetTouchModel.instance().setCustomTouchEnabled(select.va
lue === 'enabled'); | 430 for (var emulationModel of SDK.targetManager.models(SDK.EmulationModel)) |
| 431 emulationModel.overrideEmulateTouch(select.value === 'enabled'); |
432 } | 432 } |
433 } | 433 } |
434 }; | 434 }; |
435 | 435 |
436 /** @enum {string} */ | 436 /** @enum {string} */ |
437 Emulation.SensorsView.DeviceOrientationModificationSource = { | 437 Emulation.SensorsView.DeviceOrientationModificationSource = { |
438 UserInput: 'userInput', | 438 UserInput: 'userInput', |
439 UserDrag: 'userDrag', | 439 UserDrag: 'userDrag', |
440 ResetButton: 'resetButton', | 440 ResetButton: 'resetButton', |
441 SelectPreset: 'selectPreset' | 441 SelectPreset: 'selectPreset' |
(...skipping 23 matching lines...) Expand all Loading... |
465 ] | 465 ] |
466 }, | 466 }, |
467 { | 467 { |
468 title: 'Error', | 468 title: 'Error', |
469 value: [ | 469 value: [ |
470 {title: Common.UIString('Location unavailable'), location: Emulation.Senso
rsView.NonPresetOptions.Unavailable} | 470 {title: Common.UIString('Location unavailable'), location: Emulation.Senso
rsView.NonPresetOptions.Unavailable} |
471 ] | 471 ] |
472 } | 472 } |
473 ]; | 473 ]; |
474 | 474 |
475 /** @type {!Array.<{title: string, value: !Array.<{title: string, orientation: !
Emulation.DeviceOrientation}>}>} */ | 475 /** @type {!Array.<{title: string, value: !Array.<{title: string, orientation: s
tring}>}>} */ |
476 Emulation.SensorsView.PresetOrientations = [{ | 476 Emulation.SensorsView.PresetOrientations = [{ |
477 title: 'Presets', | 477 title: 'Presets', |
478 value: [ | 478 value: [ |
479 {title: Common.UIString('Portrait'), orientation: '[0, 90, 0]'}, | 479 {title: Common.UIString('Portrait'), orientation: '[0, 90, 0]'}, |
480 {title: Common.UIString('Portrait upside down'), orientation: '[180, -90, 0]
'}, | 480 {title: Common.UIString('Portrait upside down'), orientation: '[180, -90, 0]
'}, |
481 {title: Common.UIString('Landscape left'), orientation: '[0, 90, -90]'}, | 481 {title: Common.UIString('Landscape left'), orientation: '[0, 90, -90]'}, |
482 {title: Common.UIString('Landscape right'), orientation: '[0, 90, 90]'}, | 482 {title: Common.UIString('Landscape right'), orientation: '[0, 90, 90]'}, |
483 {title: Common.UIString('Display up'), orientation: '[0, 0, 0]'}, | 483 {title: Common.UIString('Display up'), orientation: '[0, 0, 0]'}, |
484 {title: Common.UIString('Display down'), orientation: '[0, 180, 0]'} | 484 {title: Common.UIString('Display down'), orientation: '[0, 180, 0]'} |
485 ] | 485 ] |
(...skipping 11 matching lines...) Expand all Loading... |
497 * @param {string} actionId | 497 * @param {string} actionId |
498 * @return {boolean} | 498 * @return {boolean} |
499 */ | 499 */ |
500 handleAction(context, actionId) { | 500 handleAction(context, actionId) { |
501 UI.viewManager.showView('sensors'); | 501 UI.viewManager.showView('sensors'); |
502 return true; | 502 return true; |
503 } | 503 } |
504 }; | 504 }; |
505 | 505 |
506 Emulation.SensorsView.ShiftDragOrientationSpeed = 16; | 506 Emulation.SensorsView.ShiftDragOrientationSpeed = 16; |
OLD | NEW |