| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 * @param {!WebInspector.DeviceModeModel} model | 6 * @param {!WebInspector.DeviceModeModel} model |
| 7 * @param {!WebInspector.Setting} showMediaInspectorSetting | 7 * @param {!WebInspector.Setting} showMediaInspectorSetting |
| 8 * @param {!WebInspector.Setting} showRulersSetting | 8 * @param {!WebInspector.Setting} showRulersSetting |
| 9 * @constructor | 9 * @constructor |
| 10 */ | 10 */ |
| 11 WebInspector.DeviceModeToolbar = function(model, showMediaInspectorSetting, show
RulersSetting) | 11 WebInspector.DeviceModeToolbar = function(model, showMediaInspectorSetting, show
RulersSetting) |
| 12 { | 12 { |
| 13 this._model = model; | 13 this._model = model; |
| 14 this._showMediaInspectorSetting = showMediaInspectorSetting; | 14 this._showMediaInspectorSetting = showMediaInspectorSetting; |
| 15 this._showRulersSetting = showRulersSetting; | 15 this._showRulersSetting = showRulersSetting; |
| 16 | 16 |
| 17 this._deviceOutlineSetting = this._model.deviceOutlineSetting(); | 17 this._deviceOutlineSetting = this._model.deviceOutlineSetting(); |
| 18 this._showDeviceScaleFactorSetting = WebInspector.settings.createSetting("em
ulation.showDeviceScaleFactor", false); | 18 this._showDeviceScaleFactorSetting = WebInspector.settings.createSetting("em
ulation.showDeviceScaleFactor", false); |
| 19 this._showDeviceScaleFactorSetting.addChangeListener(this._updateDeviceScale
FactorVisibility, this); | 19 this._showDeviceScaleFactorSetting.addChangeListener(this._updateDeviceScale
FactorVisibility, this); |
| 20 | 20 |
| 21 this._showUserAgentTypeSetting = WebInspector.settings.createSetting("emulat
ion.showUserAgentType", false); | 21 this._showUserAgentTypeSetting = WebInspector.settings.createSetting("emulat
ion.showUserAgentType", false); |
| 22 this._showUserAgentTypeSetting.addChangeListener(this._updateUserAgentTypeVi
sibility, this); | 22 this._showUserAgentTypeSetting.addChangeListener(this._updateUserAgentTypeVi
sibility, this); |
| 23 | 23 |
| 24 this._showNetworkConditionsSetting = WebInspector.settings.createSetting("em
ulation.showNetworkConditions", false); | 24 this._showNetworkConditionsSetting = WebInspector.settings.createSetting("em
ulation.showNetworkConditions", false); |
| 25 this._showNetworkConditionsSetting.addChangeListener(this._updateNetworkCond
itionsVisibility, this); | 25 this._showNetworkConditionsSetting.addChangeListener(this._updateNetworkCond
itionsVisibility, this); |
| 26 | 26 |
| 27 /** @type {!Map<!WebInspector.EmulatedDevice, !WebInspector.EmulatedDevice.M
ode>} */ | 27 /** @type {!Map<!WebInspector.EmulatedDevice, !WebInspector.EmulatedDevice.M
ode>} */ |
| 28 this._lastMode = new Map(); | 28 this._lastMode = new Map(); |
| 29 | 29 |
| 30 /** @type {!Map<!WebInspector.EmulatedDevice, number>} */ |
| 31 this._lastScale = new Map(); |
| 32 |
| 30 this._element = createElementWithClass("div", "device-mode-toolbar"); | 33 this._element = createElementWithClass("div", "device-mode-toolbar"); |
| 31 | 34 |
| 32 var leftContainer = this._element.createChild("div", "device-mode-toolbar-sp
acer"); | 35 var leftContainer = this._element.createChild("div", "device-mode-toolbar-sp
acer"); |
| 33 leftContainer.createChild("div", "device-mode-toolbar-spacer"); | 36 leftContainer.createChild("div", "device-mode-toolbar-spacer"); |
| 34 var leftToolbar = new WebInspector.Toolbar("", leftContainer); | 37 var leftToolbar = new WebInspector.Toolbar("", leftContainer); |
| 35 leftToolbar.makeWrappable(); | 38 leftToolbar.makeWrappable(); |
| 36 this._fillLeftToolbar(leftToolbar); | 39 this._fillLeftToolbar(leftToolbar); |
| 37 | 40 |
| 38 var mainToolbar = new WebInspector.Toolbar("", this._element); | 41 var mainToolbar = new WebInspector.Toolbar("", this._element); |
| 39 mainToolbar.makeWrappable(); | 42 mainToolbar.makeWrappable(); |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 | 192 |
| 190 toolbar.appendToolbarItem(this._wrapToolbarItem(createElementWithClass("
div", "device-mode-empty-toolbar-element"))); | 193 toolbar.appendToolbarItem(this._wrapToolbarItem(createElementWithClass("
div", "device-mode-empty-toolbar-element"))); |
| 191 }, | 194 }, |
| 192 | 195 |
| 193 | 196 |
| 194 /** | 197 /** |
| 195 * @param {!WebInspector.ContextMenu} contextMenu | 198 * @param {!WebInspector.ContextMenu} contextMenu |
| 196 */ | 199 */ |
| 197 _appendScaleMenuItems: function(contextMenu) | 200 _appendScaleMenuItems: function(contextMenu) |
| 198 { | 201 { |
| 199 var scaleSetting = this._model.scaleSetting(); | |
| 200 if (this._model.type() === WebInspector.DeviceModeModel.Type.Device) { | 202 if (this._model.type() === WebInspector.DeviceModeModel.Type.Device) { |
| 201 contextMenu.appendItem(WebInspector.UIString("Fit to window (%.0f%%)
", this._model.fitScale() * 100), scaleSetting.set.bind(scaleSetting, this._mode
l.fitScale()), false); | 203 contextMenu.appendItem(WebInspector.UIString("Fit to window (%.0f%%)
", this._model.fitScale() * 100), this._onScaleMenuChanged.bind(this, this._mode
l.fitScale()), false); |
| 202 contextMenu.appendSeparator(); | 204 contextMenu.appendSeparator(); |
| 203 } | 205 } |
| 204 appendScaleItem(WebInspector.UIString("50%"), 0.5); | 206 var boundAppendScaleItem = appendScaleItem.bind(this); |
| 205 appendScaleItem(WebInspector.UIString("75%"), 0.75); | 207 boundAppendScaleItem(WebInspector.UIString("50%"), 0.5); |
| 206 appendScaleItem(WebInspector.UIString("100%"), 1); | 208 boundAppendScaleItem(WebInspector.UIString("75%"), 0.75); |
| 207 appendScaleItem(WebInspector.UIString("125%"), 1.25); | 209 boundAppendScaleItem(WebInspector.UIString("100%"), 1); |
| 208 appendScaleItem(WebInspector.UIString("150%"), 1.5); | 210 boundAppendScaleItem(WebInspector.UIString("125%"), 1.25); |
| 211 boundAppendScaleItem(WebInspector.UIString("150%"), 1.5); |
| 209 | 212 |
| 210 /** | 213 /** |
| 211 * @param {string} title | 214 * @param {string} title |
| 212 * @param {number} value | 215 * @param {number} value |
| 216 * @this {!WebInspector.DeviceModeToolbar} |
| 213 */ | 217 */ |
| 214 function appendScaleItem(title, value) | 218 function appendScaleItem(title, value) |
| 215 { | 219 { |
| 216 contextMenu.appendCheckboxItem(title, scaleSetting.set.bind(scaleSet
ting, value), scaleSetting.get() === value, false); | 220 contextMenu.appendCheckboxItem(title, this._onScaleMenuChanged.bind(
this, value), this._model.scaleSetting().get() === value, false); |
| 217 } | 221 } |
| 218 }, | 222 }, |
| 219 | 223 |
| 220 /** | 224 /** |
| 225 * @param {number} value |
| 226 */ |
| 227 _onScaleMenuChanged: function(value) |
| 228 { |
| 229 var device = this._model.device(); |
| 230 if (device) |
| 231 this._lastScale.set(device, value); |
| 232 this._model.scaleSetting().set(value); |
| 233 }, |
| 234 |
| 235 /** |
| 221 * @param {!WebInspector.ContextMenu} contextMenu | 236 * @param {!WebInspector.ContextMenu} contextMenu |
| 222 */ | 237 */ |
| 223 _appendDeviceScaleMenuItems: function(contextMenu) | 238 _appendDeviceScaleMenuItems: function(contextMenu) |
| 224 { | 239 { |
| 225 var deviceScaleFactorSetting = this._model.deviceScaleFactorSetting(); | 240 var deviceScaleFactorSetting = this._model.deviceScaleFactorSetting(); |
| 226 var defaultValue = this._model.uaSetting().get() === WebInspector.Device
ModeModel.UA.Mobile || this._model.uaSetting().get() === WebInspector.DeviceMode
Model.UA.MobileNoTouch ? WebInspector.DeviceModeModel.defaultMobileScaleFactor :
window.devicePixelRatio; | 241 var defaultValue = this._model.uaSetting().get() === WebInspector.Device
ModeModel.UA.Mobile || this._model.uaSetting().get() === WebInspector.DeviceMode
Model.UA.MobileNoTouch ? WebInspector.DeviceModeModel.defaultMobileScaleFactor :
window.devicePixelRatio; |
| 227 appendDeviceScaleFactorItem(WebInspector.UIString("Default: %.1f", defau
ltValue), 0); | 242 appendDeviceScaleFactorItem(WebInspector.UIString("Default: %.1f", defau
ltValue), 0); |
| 228 contextMenu.appendSeparator(); | 243 contextMenu.appendSeparator(); |
| 229 appendDeviceScaleFactorItem(WebInspector.UIString("1"), 1); | 244 appendDeviceScaleFactorItem(WebInspector.UIString("1"), 1); |
| 230 appendDeviceScaleFactorItem(WebInspector.UIString("2"), 2); | 245 appendDeviceScaleFactorItem(WebInspector.UIString("2"), 2); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 var shadowRoot = WebInspector.createShadowRootWithCoreStyles(container,
"emulation/deviceModeToolbar.css"); | 329 var shadowRoot = WebInspector.createShadowRootWithCoreStyles(container,
"emulation/deviceModeToolbar.css"); |
| 315 shadowRoot.appendChild(element); | 330 shadowRoot.appendChild(element); |
| 316 return new WebInspector.ToolbarItem(container); | 331 return new WebInspector.ToolbarItem(container); |
| 317 }, | 332 }, |
| 318 | 333 |
| 319 /** | 334 /** |
| 320 * @param {!WebInspector.EmulatedDevice} device | 335 * @param {!WebInspector.EmulatedDevice} device |
| 321 */ | 336 */ |
| 322 _emulateDevice: function(device) | 337 _emulateDevice: function(device) |
| 323 { | 338 { |
| 324 this._model.emulate(WebInspector.DeviceModeModel.Type.Device, device, th
is._lastMode.get(device) || device.modes[0]); | 339 this._model.emulate(WebInspector.DeviceModeModel.Type.Device, device, th
is._lastMode.get(device) || device.modes[0], this._lastScale.get(device)); |
| 325 }, | 340 }, |
| 326 | 341 |
| 327 _switchToResponsive: function() | 342 _switchToResponsive: function() |
| 328 { | 343 { |
| 329 this._model.emulate(WebInspector.DeviceModeModel.Type.Responsive, null,
null); | 344 this._model.emulate(WebInspector.DeviceModeModel.Type.Responsive, null,
null); |
| 330 }, | 345 }, |
| 331 | 346 |
| 332 /** | 347 /** |
| 333 * @param {!Array<!WebInspector.EmulatedDevice>} devices | 348 * @param {!Array<!WebInspector.EmulatedDevice>} devices |
| 334 * @return {!Array<!WebInspector.EmulatedDevice>} | 349 * @return {!Array<!WebInspector.EmulatedDevice>} |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 565 this._emulateDevice(device); | 580 this._emulateDevice(device); |
| 566 return; | 581 return; |
| 567 } | 582 } |
| 568 } | 583 } |
| 569 } | 584 } |
| 570 } | 585 } |
| 571 | 586 |
| 572 this._model.emulate(WebInspector.DeviceModeModel.Type.Responsive, null,
null); | 587 this._model.emulate(WebInspector.DeviceModeModel.Type.Responsive, null,
null); |
| 573 } | 588 } |
| 574 } | 589 } |
| OLD | NEW |