| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 * @constructor | 6 * @constructor |
| 7 * @extends {WebInspector.VBox} | 7 * @extends {WebInspector.VBox} |
| 8 * @implements {WebInspector.OverridesSupport.PageResizer} | 8 * @implements {WebInspector.OverridesSupport.PageResizer} |
| 9 * @param {!WebInspector.InspectedPagePlaceholder} inspectedPagePlaceholder | 9 * @param {!WebInspector.InspectedPagePlaceholder} inspectedPagePlaceholder |
| 10 */ | 10 */ |
| 11 WebInspector.ResponsiveDesignView = function(inspectedPagePlaceholder) | 11 WebInspector.ResponsiveDesignView = function(inspectedPagePlaceholder) |
| 12 { | 12 { |
| 13 WebInspector.VBox.call(this); | 13 WebInspector.VBox.call(this); |
| 14 this.registerRequiredCSS("responsiveDesignView.css"); | 14 this.registerRequiredCSS("responsiveDesignView.css"); |
| 15 | 15 |
| 16 this._responsiveDesignContainer = new WebInspector.VBox(); | 16 this._responsiveDesignContainer = new WebInspector.VBox(); |
| 17 |
| 17 this._createToolbar(); | 18 this._createToolbar(); |
| 19 this._warningMessage = this._responsiveDesignContainer.element.createChild("
div", "responsive-design-warning hidden"); |
| 20 WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport
.Events.OverridesWarningUpdated, this._overridesWarningUpdated, this); |
| 21 |
| 18 this._canvasContainer = new WebInspector.View(); | 22 this._canvasContainer = new WebInspector.View(); |
| 19 this._canvasContainer.element.classList.add("responsive-design"); | 23 this._canvasContainer.element.classList.add("responsive-design"); |
| 20 this._canvasContainer.show(this._responsiveDesignContainer.element); | 24 this._canvasContainer.show(this._responsiveDesignContainer.element); |
| 21 | 25 |
| 22 this._canvas = this._canvasContainer.element.createChild("canvas", "fill"); | 26 this._canvas = this._canvasContainer.element.createChild("canvas", "fill"); |
| 23 this._slidersContainer = this._canvasContainer.element.createChild("div", "v
box responsive-design-sliders-container"); | 27 this._slidersContainer = this._canvasContainer.element.createChild("div", "v
box responsive-design-sliders-container"); |
| 24 var hbox = this._slidersContainer.createChild("div", "hbox flex-auto"); | 28 var hbox = this._slidersContainer.createChild("div", "hbox flex-auto"); |
| 25 this._heightSliderContainer = this._slidersContainer.createChild("div", "hbo
x responsive-design-slider-height"); | 29 this._heightSliderContainer = this._slidersContainer.createChild("div", "hbo
x responsive-design-slider-height"); |
| 26 this._resolutionHeightLabel = this._heightSliderContainer.createChild("div",
"responsive-design-resolution-label responsive-design-resolution-height"); | 30 this._resolutionHeightLabel = this._heightSliderContainer.createChild("div",
"responsive-design-resolution-label responsive-design-resolution-height"); |
| 27 this._pageContainer = hbox.createChild("div", "vbox flex-auto"); | 31 this._pageContainer = hbox.createChild("div", "vbox flex-auto"); |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 _onZoomChanged: function() | 387 _onZoomChanged: function() |
| 384 { | 388 { |
| 385 this._updateUI(); | 389 this._updateUI(); |
| 386 }, | 390 }, |
| 387 | 391 |
| 388 _createToolbar: function() | 392 _createToolbar: function() |
| 389 { | 393 { |
| 390 this._toolbarElement = this._responsiveDesignContainer.element.createChi
ld("div", "responsive-design-toolbar"); | 394 this._toolbarElement = this._responsiveDesignContainer.element.createChi
ld("div", "responsive-design-toolbar"); |
| 391 | 395 |
| 392 // Device | 396 // Device |
| 393 var fieldsetElement = this._toolbarElement.createChild("fieldset"); | 397 var sectionElement = this._toolbarElement.createChild("div", "responsive
-design-section"); |
| 394 var deviceLabel = fieldsetElement.createChild("label"); | 398 var deviceLabel = sectionElement.createChild("label"); |
| 395 var deviceCheckbox = deviceLabel.createChild("input"); | 399 var deviceCheckbox = deviceLabel.createChild("input"); |
| 396 deviceCheckbox.type = "checkbox"; | 400 deviceCheckbox.type = "checkbox"; |
| 397 deviceLabel.createTextChild(WebInspector.UIString("Device")); | 401 deviceLabel.createTextChild(WebInspector.UIString("Device")); |
| 398 deviceLabel.title = WebInspector.UIString("Emulate device"); | 402 deviceLabel.title = WebInspector.UIString("Emulate device"); |
| 399 deviceCheckbox.addEventListener("change", deviceChecked, false); | 403 deviceCheckbox.addEventListener("change", deviceChecked, false); |
| 400 | 404 |
| 401 function deviceChecked() | 405 function deviceChecked() |
| 402 { | 406 { |
| 403 if (deviceCheckbox.checked) { | 407 if (deviceCheckbox.checked) { |
| 404 var option = deviceSelect.options[deviceSelect.selectedIndex]; | 408 var option = deviceSelect.options[deviceSelect.selectedIndex]; |
| 405 WebInspector.overridesSupport.emulateDevice(option.metrics, opti
on.userAgent); | 409 WebInspector.overridesSupport.emulateDevice(option.metrics, opti
on.userAgent); |
| 406 } else { | 410 } else { |
| 407 WebInspector.overridesSupport.resetEmulatedDevice(); | 411 WebInspector.overridesSupport.resetEmulatedDevice(); |
| 408 } | 412 } |
| 409 } | 413 } |
| 410 | 414 |
| 411 var deviceSelect = WebInspector.overridesSupport.createDeviceSelect(docu
ment); | 415 var deviceSelect = WebInspector.overridesSupport.createDeviceSelect(docu
ment); |
| 412 fieldsetElement.appendChild(deviceSelect); | 416 sectionElement.appendChild(deviceSelect); |
| 413 deviceSelect.addEventListener("change", emulateDevice, false); | 417 deviceSelect.addEventListener("change", emulateDevice, false); |
| 414 | 418 |
| 415 function emulateDevice() | 419 function emulateDevice() |
| 416 { | 420 { |
| 417 var option = deviceSelect.options[deviceSelect.selectedIndex]; | 421 var option = deviceSelect.options[deviceSelect.selectedIndex]; |
| 418 WebInspector.overridesSupport.emulateDevice(option.metrics, option.u
serAgent); | 422 WebInspector.overridesSupport.emulateDevice(option.metrics, option.u
serAgent); |
| 419 } | 423 } |
| 420 | 424 |
| 421 updateDeviceCheckboxStatus(); | 425 updateDeviceCheckboxStatus(); |
| 426 |
| 422 WebInspector.overridesSupport.settings.emulateViewport.addChangeListener
(updateDeviceCheckboxStatus); | 427 WebInspector.overridesSupport.settings.emulateViewport.addChangeListener
(updateDeviceCheckboxStatus); |
| 423 WebInspector.overridesSupport.settings.emulateTouchEvents.addChangeListe
ner(updateDeviceCheckboxStatus); | 428 WebInspector.overridesSupport.settings.emulateTouchEvents.addChangeListe
ner(updateDeviceCheckboxStatus); |
| 424 WebInspector.overridesSupport.settings.overrideDeviceResolution.addChang
eListener(updateDeviceCheckboxStatus); | 429 WebInspector.overridesSupport.settings.overrideDeviceResolution.addChang
eListener(updateDeviceCheckboxStatus); |
| 430 |
| 425 function updateDeviceCheckboxStatus() | 431 function updateDeviceCheckboxStatus() |
| 426 { | 432 { |
| 427 deviceCheckbox.checked = WebInspector.overridesSupport.settings.emul
ateViewport.get() && | 433 deviceCheckbox.checked = WebInspector.overridesSupport.settings.emul
ateViewport.get() && |
| 428 WebInspector.overridesSupport.settings.emulateTouchEvents.get()
&& | 434 WebInspector.overridesSupport.settings.emulateTouchEvents.get()
&& |
| 429 WebInspector.overridesSupport.settings.overrideDeviceResolution.
get(); | 435 WebInspector.overridesSupport.settings.overrideDeviceResolution.
get(); |
| 430 } | 436 } |
| 431 | 437 |
| 432 // Screen | 438 // Screen |
| 433 fieldsetElement = this._toolbarElement.createChild("fieldset", "responsi
ve-design-section"); | 439 sectionElement = this._toolbarElement.createChild("div", "responsive-des
ign-section"); |
| 434 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingCheckbo
x("Screen", WebInspector.overridesSupport.settings.overrideDeviceResolution, tru
e)); | 440 sectionElement.appendChild(WebInspector.SettingsUI.createSettingCheckbox
("Screen", WebInspector.overridesSupport.settings.overrideDeviceResolution, true
)); |
| 435 | 441 |
| 436 fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebInspe
ctor.overridesSupport.settings.overrideDeviceResolution); | 442 var fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebI
nspector.overridesSupport.settings.overrideDeviceResolution); |
| 437 this._toolbarElement.appendChild(fieldsetElement); | 443 sectionElement.appendChild(fieldsetElement); |
| 438 fieldsetElement.createChild("div", "responsive-design-icon responsive-de
sign-icon-resolution").title = WebInspector.UIString("Screen resolution"); | 444 fieldsetElement.createChild("div", "responsive-design-icon responsive-de
sign-icon-resolution").title = WebInspector.UIString("Screen resolution"); |
| 439 | 445 |
| 440 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebI
nspector.OverridesSupport.inputValidator, true)); | 446 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebI
nspector.OverridesSupport.inputValidator, true)); |
| 441 fieldsetElement.appendChild(document.createTextNode(" \u00D7 ")); | 447 fieldsetElement.appendChild(document.createTextNode(" \u00D7 ")); |
| 442 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", Web
Inspector.OverridesSupport.inputValidator, true)); | 448 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", Web
Inspector.OverridesSupport.inputValidator, true)); |
| 443 | 449 |
| 444 this._swapDimensionsElement = fieldsetElement.createChild("button", "res
ponsive-design-icon responsive-design-icon-swap"); | 450 this._swapDimensionsElement = fieldsetElement.createChild("button", "res
ponsive-design-icon responsive-design-icon-swap"); |
| 445 this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensio
ns"); | 451 this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensio
ns"); |
| 446 this._swapDimensionsElement.addEventListener("click", WebInspector.overr
idesSupport.swapDimensions.bind(WebInspector.overridesSupport), false); | 452 this._swapDimensionsElement.addEventListener("click", WebInspector.overr
idesSupport.swapDimensions.bind(WebInspector.overridesSupport), false); |
| 447 | 453 |
| 448 fieldsetElement.createChild("div", "responsive-design-icon responsive-de
sign-icon-dpr").title = WebInspector.UIString("Device pixel ratio"); | 454 fieldsetElement.createChild("div", "responsive-design-icon responsive-de
sign-icon-dpr").title = WebInspector.UIString("Device pixel ratio"); |
| 449 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceScaleFactor, true, 2, "2em"
, WebInspector.OverridesSupport.inputValidator, true)); | 455 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceScaleFactor, true, 2, "2em"
, WebInspector.OverridesSupport.inputValidator, true)); |
| 450 | 456 |
| 451 // Touch and viewport | 457 // Touch and viewport |
| 452 fieldsetElement = this._toolbarElement.createChild("fieldset", "responsi
ve-design-section"); | 458 sectionElement = this._toolbarElement.createChild("div", "responsive-des
ign-section"); |
| 453 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingCheckbo
x(WebInspector.UIString("Touch"), WebInspector.overridesSupport.settings.emulate
TouchEvents, true)); | 459 sectionElement.appendChild(WebInspector.SettingsUI.createSettingCheckbox
(WebInspector.UIString("Touch"), WebInspector.overridesSupport.settings.emulateT
ouchEvents, true)); |
| 454 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingCheckbo
x(WebInspector.UIString("Viewport"), WebInspector.overridesSupport.settings.emul
ateViewport, true)); | 460 sectionElement.appendChild(WebInspector.SettingsUI.createSettingCheckbox
(WebInspector.UIString("Viewport"), WebInspector.overridesSupport.settings.emula
teViewport, true)); |
| 455 | |
| 456 // Warning | |
| 457 this._warningMessage = this._responsiveDesignContainer.element.createChi
ld("div", "responsive-design-warning hidden"); | |
| 458 WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSup
port.Events.OverridesWarningUpdated, this._overridesWarningUpdated, this); | |
| 459 }, | 461 }, |
| 460 | 462 |
| 461 _overridesWarningUpdated: function() | 463 _overridesWarningUpdated: function() |
| 462 { | 464 { |
| 463 var message = WebInspector.overridesSupport.warningMessage(); | 465 var message = WebInspector.overridesSupport.warningMessage(); |
| 464 if (this._warningMessage.textContent === message) | 466 if (this._warningMessage.textContent === message) |
| 465 return; | 467 return; |
| 466 this._warningMessage.classList.toggle("hidden", !message); | 468 this._warningMessage.classList.toggle("hidden", !message); |
| 467 this._warningMessage.textContent = message; | 469 this._warningMessage.textContent = message; |
| 468 this._responsiveDesignModeChanged(); | 470 this._responsiveDesignModeChanged(); |
| 469 this.onResize(); | 471 this.onResize(); |
| 470 }, | 472 }, |
| 471 | 473 |
| 472 __proto__: WebInspector.VBox.prototype | 474 __proto__: WebInspector.VBox.prototype |
| 473 }; | 475 }; |
| OLD | NEW |