| 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 */ |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 this._heightSlider = this._heightSliderContainer.createChild("div", "respons
ive-design-slider-thumb"); | 46 this._heightSlider = this._heightSliderContainer.createChild("div", "respons
ive-design-slider-thumb"); |
| 47 this._heightSlider.createChild("div", "responsive-design-thumb-handle"); | 47 this._heightSlider.createChild("div", "responsive-design-thumb-handle"); |
| 48 this._createResizer(this._heightSlider, true); | 48 this._createResizer(this._heightSlider, true); |
| 49 | 49 |
| 50 this._inspectedPagePlaceholder = inspectedPagePlaceholder; | 50 this._inspectedPagePlaceholder = inspectedPagePlaceholder; |
| 51 inspectedPagePlaceholder.show(this.element); | 51 inspectedPagePlaceholder.show(this.element); |
| 52 | 52 |
| 53 this._enabled = false; | 53 this._enabled = false; |
| 54 | 54 |
| 55 WebInspector.zoomManager.addEventListener(WebInspector.ZoomManager.Events.Zo
omChanged, this._onZoomChanged, this); | 55 WebInspector.zoomManager.addEventListener(WebInspector.ZoomManager.Events.Zo
omChanged, this._onZoomChanged, this); |
| 56 WebInspector.settings.responsiveDesignEnabled.addChangeListener(this._respon
siveDesignEnabledChanged, this); | 56 WebInspector.overridesSupport.settings.emulationEnabled.addChangeListener(th
is._emulationEnabledChanged, this); |
| 57 this._responsiveDesignEnabledChanged(); | 57 this._emulationEnabledChanged(); |
| 58 this._overridesWarningUpdated(); | 58 this._overridesWarningUpdated(); |
| 59 }; | 59 }; |
| 60 | 60 |
| 61 // Measured in DIP. | 61 // Measured in DIP. |
| 62 WebInspector.ResponsiveDesignView.SliderWidth = 19; | 62 WebInspector.ResponsiveDesignView.SliderWidth = 19; |
| 63 WebInspector.ResponsiveDesignView.RulerWidth = 22; | 63 WebInspector.ResponsiveDesignView.RulerWidth = 22; |
| 64 | 64 |
| 65 WebInspector.ResponsiveDesignView.prototype = { | 65 WebInspector.ResponsiveDesignView.prototype = { |
| 66 _invalidateCache: function() | 66 _invalidateCache: function() |
| 67 { | 67 { |
| 68 delete this._cachedScale; | 68 delete this._cachedScale; |
| 69 delete this._cachedCssCanvasWidth; | 69 delete this._cachedCssCanvasWidth; |
| 70 delete this._cachedCssCanvasHeight; | 70 delete this._cachedCssCanvasHeight; |
| 71 delete this._cachedCssHeight; | 71 delete this._cachedCssHeight; |
| 72 delete this._cachedCssWidth; | 72 delete this._cachedCssWidth; |
| 73 delete this._cachedZoomFactor; | 73 delete this._cachedZoomFactor; |
| 74 delete this._availableSize; | 74 delete this._availableSize; |
| 75 }, | 75 }, |
| 76 | 76 |
| 77 _responsiveDesignEnabledChanged: function() | 77 _emulationEnabledChanged: function() |
| 78 { | 78 { |
| 79 var enabled = WebInspector.settings.responsiveDesignEnabled.get(); | 79 var enabled = WebInspector.overridesSupport.settings.emulationEnabled.ge
t(); |
| 80 if (enabled && !this._enabled) { | 80 if (enabled && !this._enabled) { |
| 81 this._invalidateCache(); | 81 this._invalidateCache(); |
| 82 this._ignoreResize = true; | 82 this._ignoreResize = true; |
| 83 this._enabled = true; | 83 this._enabled = true; |
| 84 this._inspectedPagePlaceholder.clearMinimumSizeAndMargins(); | 84 this._inspectedPagePlaceholder.clearMinimumSizeAndMargins(); |
| 85 this._inspectedPagePlaceholder.show(this._pageContainer); | 85 this._inspectedPagePlaceholder.show(this._pageContainer); |
| 86 this._responsiveDesignContainer.show(this.element); | 86 this._responsiveDesignContainer.show(this.element); |
| 87 this.update(this._dipWidth || 0, this._dipHeight || 0, this._scale |
| 0); | 87 this.update(this._dipWidth || 0, this._dipHeight || 0, this._scale |
| 0); |
| 88 delete this._ignoreResize; | 88 delete this._ignoreResize; |
| 89 } else if (!enabled && this._enabled) { | 89 } else if (!enabled && this._enabled) { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 114 this._updateUI(); | 114 this._updateUI(); |
| 115 }, | 115 }, |
| 116 | 116 |
| 117 /** | 117 /** |
| 118 * WebInspector.OverridesSupport.PageResizer override. | 118 * WebInspector.OverridesSupport.PageResizer override. |
| 119 * @return {!Size} | 119 * @return {!Size} |
| 120 */ | 120 */ |
| 121 availableDipSize: function() | 121 availableDipSize: function() |
| 122 { | 122 { |
| 123 if (typeof this._availableSize === "undefined") { | 123 if (typeof this._availableSize === "undefined") { |
| 124 this._responsiveDesignEnabledChanged(); | 124 this._emulationEnabledChanged(); |
| 125 var zoomFactor = WebInspector.zoomManager.zoomFactor(); | 125 var zoomFactor = WebInspector.zoomManager.zoomFactor(); |
| 126 var rect = this._canvasContainer.element.getBoundingClientRect(); | 126 var rect = this._canvasContainer.element.getBoundingClientRect(); |
| 127 this._availableSize = new Size(rect.width * zoomFactor - WebInspecto
r.ResponsiveDesignView.RulerWidth, | 127 this._availableSize = new Size(rect.width * zoomFactor - WebInspecto
r.ResponsiveDesignView.RulerWidth, |
| 128 rect.height * zoomFactor - WebInspect
or.ResponsiveDesignView.RulerWidth); | 128 rect.height * zoomFactor - WebInspect
or.ResponsiveDesignView.RulerWidth); |
| 129 } | 129 } |
| 130 return this._availableSize; | 130 return this._availableSize; |
| 131 }, | 131 }, |
| 132 | 132 |
| 133 /** | 133 /** |
| 134 * @param {!Element} element | 134 * @param {!Element} element |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 } | 389 } |
| 390 this._toolbarElement.createChild("div", "responsive-design-separator"); | 390 this._toolbarElement.createChild("div", "responsive-design-separator"); |
| 391 | 391 |
| 392 this._toolbarExpandedChanged(); | 392 this._toolbarExpandedChanged(); |
| 393 }, | 393 }, |
| 394 | 394 |
| 395 _createExpandSection: function() | 395 _createExpandSection: function() |
| 396 { | 396 { |
| 397 this.toolbarExpandedSetting = WebInspector.settings.createSetting("respo
nsiveDesignToolbarExpanded", false); | 397 this.toolbarExpandedSetting = WebInspector.settings.createSetting("respo
nsiveDesignToolbarExpanded", false); |
| 398 var expandSection = this._toolbarElement.createChild("div", "responsive-
design-section responsive-design-section-expand"); | 398 var expandSection = this._toolbarElement.createChild("div", "responsive-
design-section responsive-design-section-expand"); |
| 399 this._expandButton = expandSection.createChild("div", "responsive-design
-expand-button"); | 399 this._expandButton = expandSection.createChild("div", "responsive-design
-button"); |
| 400 this._expandButton.createChild("div", "responsive-design-icon responsive
-design-icon-expand"); | 400 this._expandButton.createChild("div", "responsive-design-icon responsive
-design-icon-expand"); |
| 401 this._expandButton.createChild("span"); | 401 this._expandButton.createChild("span"); |
| 402 this._expandButton.addEventListener("click", this._toggleToolbarExpanded
.bind(this), false); | 402 this._expandButton.addEventListener("click", this._toggleToolbarExpanded
.bind(this), false); |
| 403 this.toolbarExpandedSetting.addChangeListener(this._toolbarExpandedChang
ed, this); | 403 this.toolbarExpandedSetting.addChangeListener(this._toolbarExpandedChang
ed, this); |
| 404 }, | 404 }, |
| 405 | 405 |
| 406 _toggleToolbarExpanded: function() | 406 _toggleToolbarExpanded: function() |
| 407 { | 407 { |
| 408 this.toolbarExpandedSetting.set(!this.toolbarExpandedSetting.get()); | 408 this.toolbarExpandedSetting.set(!this.toolbarExpandedSetting.get()); |
| 409 }, | 409 }, |
| 410 | 410 |
| 411 _toolbarExpandedChanged: function() | 411 _toolbarExpandedChanged: function() |
| 412 { | 412 { |
| 413 var expanded = this.toolbarExpandedSetting.get(); | 413 var expanded = this.toolbarExpandedSetting.get(); |
| 414 this._expandButton.querySelector("span").textContent = WebInspector.UISt
ring(expanded ? "Less" : "More"); | 414 this._expandButton.querySelector("span").textContent = WebInspector.UISt
ring(expanded ? "Less" : "More"); |
| 415 this._toolbarElement.classList.toggle("expanded", expanded); | 415 this._toolbarElement.classList.toggle("expanded", expanded); |
| 416 this.onResize(); | 416 this.onResize(); |
| 417 }, | 417 }, |
| 418 | 418 |
| 419 _createDeviceSection: function() | 419 _createDeviceSection: function() |
| 420 { | 420 { |
| 421 var deviceSection = this._toolbarElement.createChild("div", "responsive-
design-section responsive-design-section-device"); | 421 var deviceSection = this._toolbarElement.createChild("div", "responsive-
design-section responsive-design-section-device"); |
| 422 | 422 |
| 423 // Device. | 423 // Device. |
| 424 var deviceElement = deviceSection.createChild("div", "responsive-design-
suite").createChild("div"); | 424 var deviceElement = deviceSection.createChild("div", "responsive-design-
suite").createChild("div"); |
| 425 deviceElement.appendChild(WebInspector.SettingsUI.createSettingCheckbox(
WebInspector.UIString("Device"), WebInspector.overridesSupport.settings.emulateD
evice, true)); | 425 var fieldsetElement = deviceElement.createChild("fieldset"); |
| 426 deviceElement.appendChild(WebInspector.overridesSupport.createDeviceSele
ct(document)); | 426 fieldsetElement.createChild("label").textContent = WebInspector.UIString
("Device"); |
| 427 fieldsetElement.appendChild(WebInspector.overridesSupport.createDeviceSe
lect(document)); |
| 427 | 428 |
| 428 var separator = deviceSection.createChild("div", "responsive-design-sect
ion-separator expanded-only"); | 429 var separator = deviceSection.createChild("div", "responsive-design-sect
ion-separator expanded-only"); |
| 429 | 430 |
| 430 var detailsElement = deviceSection.createChild("div", "responsive-design
-suite expanded-only"); | 431 var detailsElement = deviceSection.createChild("div", "responsive-design
-suite expanded-only"); |
| 431 | 432 |
| 432 // Dimensions. | 433 // Dimensions. |
| 433 var screenElement = detailsElement.createChild("div", ""); | 434 var screenElement = detailsElement.createChild("div", ""); |
| 434 var fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebI
nspector.overridesSupport.settings.emulateDevice); | 435 fieldsetElement = screenElement.createChild("fieldset"); |
| 435 screenElement.appendChild(fieldsetElement); | |
| 436 | |
| 437 fieldsetElement.createChild("div", "responsive-design-icon responsive-de
sign-icon-resolution").title = WebInspector.UIString("Screen resolution"); | 436 fieldsetElement.createChild("div", "responsive-design-icon responsive-de
sign-icon-resolution").title = WebInspector.UIString("Screen resolution"); |
| 438 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebI
nspector.OverridesSupport.integerInputValidator, true)); | 437 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebI
nspector.OverridesSupport.deviceSizeValidator, true, true, WebInspector.UIString
("--"))); |
| 439 fieldsetElement.appendChild(document.createTextNode(" \u00D7 ")); | 438 fieldsetElement.appendChild(document.createTextNode(" \u00D7 ")); |
| 440 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", Web
Inspector.OverridesSupport.integerInputValidator, true)); | 439 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", Web
Inspector.OverridesSupport.deviceSizeValidator, true, true, WebInspector.UIStrin
g("--"))); |
| 441 | 440 |
| 442 this._swapDimensionsElement = fieldsetElement.createChild("button", "res
ponsive-design-icon responsive-design-icon-swap"); | 441 this._swapDimensionsElement = fieldsetElement.createChild("button", "res
ponsive-design-icon responsive-design-icon-swap"); |
| 443 this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensio
ns"); | 442 this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensio
ns"); |
| 444 this._swapDimensionsElement.addEventListener("click", WebInspector.overr
idesSupport.swapDimensions.bind(WebInspector.overridesSupport), false); | 443 this._swapDimensionsElement.addEventListener("click", WebInspector.overr
idesSupport.swapDimensions.bind(WebInspector.overridesSupport), false); |
| 445 | 444 |
| 446 // Device pixel ratio. | 445 // Device pixel ratio. |
| 447 detailsElement.createChild("div", "responsive-design-suite-separator"); | 446 detailsElement.createChild("div", "responsive-design-suite-separator"); |
| 448 var dprElement = detailsElement.createChild("div", ""); | 447 var dprElement = detailsElement.createChild("div", ""); |
| 449 fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebInspe
ctor.overridesSupport.settings.emulateDevice); | 448 fieldsetElement = dprElement.createChild("fieldset"); |
| 450 dprElement.appendChild(fieldsetElement); | 449 fieldsetElement.createChild("div", "responsive-design-icon responsive-de
sign-icon-dpr").title = WebInspector.UIString("Device pixel ratio"); |
| 450 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceScaleFactor, true, 4, "2.5e
m", WebInspector.OverridesSupport.deviceScaleFactorValidator, true, true, WebIns
pector.UIString("--"))); |
| 451 | 451 |
| 452 fieldsetElement.createChild("div", "responsive-design-icon responsive-de
sign-icon-dpr").title = WebInspector.UIString("Device pixel ratio"); | |
| 453 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("", WebInspector.overridesSupport.settings.deviceScaleFactor, true, 4, "2.5e
m", WebInspector.OverridesSupport.doubleInputValidator, true)); | |
| 454 | |
| 455 // Touch. | |
| 456 if (!WebInspector.overridesSupport.hasTouchInputs()) { | |
| 457 detailsElement.createChild("div", "responsive-design-suite-separator
"); | |
| 458 var touchElement = detailsElement.createChild("div", ""); | |
| 459 fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebI
nspector.overridesSupport.settings.emulateDevice); | |
| 460 touchElement.appendChild(fieldsetElement); | |
| 461 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingChe
ckbox(WebInspector.UIString("Touch"), WebInspector.overridesSupport.settings.dev
iceTouch, true)); | |
| 462 } | |
| 463 | |
| 464 // Viewport. | |
| 465 detailsElement.createChild("div", "responsive-design-suite-separator"); | 452 detailsElement.createChild("div", "responsive-design-suite-separator"); |
| 466 var viewportElement = detailsElement.createChild("div", ""); | 453 var resetButton = detailsElement.createChild("div", "responsive-design-b
utton"); |
| 467 fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebInspe
ctor.overridesSupport.settings.emulateDevice); | 454 resetButton.textContent = WebInspector.UIString("Reset"); |
| 468 viewportElement.appendChild(fieldsetElement); | 455 resetButton.addEventListener("click", WebInspector.overridesSupport.rese
t.bind(WebInspector.overridesSupport), false); |
| 469 | |
| 470 var viewportCheckbox = WebInspector.SettingsUI.createSettingCheckbox(Web
Inspector.UIString("Mobile"), WebInspector.overridesSupport.settings.emulateView
port, true); | |
| 471 viewportCheckbox.title = WebInspector.UIString("Enable meta viewport, ov
erlay scrollbars and default 980px body width"); | |
| 472 fieldsetElement.appendChild(viewportCheckbox); | |
| 473 }, | 456 }, |
| 474 | 457 |
| 475 _createNetworkSection: function() | 458 _createNetworkSection: function() |
| 476 { | 459 { |
| 477 var networkSection = this._toolbarElement.createChild("div", "responsive
-design-section responsive-design-section-network"); | 460 var networkSection = this._toolbarElement.createChild("div", "responsive
-design-section responsive-design-section-network"); |
| 478 | 461 |
| 479 // Bandwidth. | 462 // Bandwidth. |
| 480 var bandwidthElement = networkSection.createChild("div", "responsive-des
ign-suite").createChild("div"); | 463 var bandwidthElement = networkSection.createChild("div", "responsive-des
ign-suite").createChild("div"); |
| 481 var networkCheckbox = WebInspector.SettingsUI.createSettingCheckbox(WebI
nspector.UIString("Bandwidth"), WebInspector.overridesSupport.settings.emulateNe
tworkConditions, true); | 464 var fieldsetElement = bandwidthElement.createChild("fieldset"); |
| 482 bandwidthElement.appendChild(networkCheckbox); | 465 var networkCheckbox = fieldsetElement.createChild("label"); |
| 483 bandwidthElement.appendChild(WebInspector.overridesSupport.createNetwork
ThroughputSelect(document)); | 466 networkCheckbox.textContent = WebInspector.UIString("Network"); |
| 467 fieldsetElement.appendChild(WebInspector.overridesSupport.createNetworkT
hroughputSelect(document)); |
| 484 | 468 |
| 485 var separator = networkSection.createChild("div", "responsive-design-sec
tion-separator expanded-only"); | 469 var separator = networkSection.createChild("div", "responsive-design-sec
tion-separator expanded-only"); |
| 486 | 470 |
| 487 // User agent. | 471 // User agent. |
| 488 var userAgentElement = networkSection.createChild("div", "responsive-des
ign-suite expanded-only").createChild("div"); | 472 var userAgentElement = networkSection.createChild("div", "responsive-des
ign-suite expanded-only").createChild("div"); |
| 489 userAgentElement.appendChild(WebInspector.SettingsUI.createSettingLabel(
WebInspector.UIString("User Agent:"), WebInspector.overridesSupport.settings.dev
iceUserAgent, 32, "240px", WebInspector.UIString("no override"))); | 473 fieldsetElement = userAgentElement.createChild("fieldset"); |
| 474 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi
eld("UA", WebInspector.overridesSupport.settings.userAgent, false, 0, "", undefi
ned, false, false, WebInspector.UIString("no override"))); |
| 490 | 475 |
| 491 updateNetworkCheckboxTitle(); | 476 updateNetworkCheckboxTitle(); |
| 492 WebInspector.overridesSupport.settings.networkConditionsDomains.addChang
eListener(updateNetworkCheckboxTitle); | 477 WebInspector.overridesSupport.settings.networkConditionsDomains.addChang
eListener(updateNetworkCheckboxTitle); |
| 493 | 478 |
| 494 function updateNetworkCheckboxTitle() | 479 function updateNetworkCheckboxTitle() |
| 495 { | 480 { |
| 496 var domains = WebInspector.overridesSupport.settings.networkConditio
nsDomains.get(); | 481 var domains = WebInspector.overridesSupport.settings.networkConditio
nsDomains.get(); |
| 497 if (!domains.trim()) { | 482 if (!domains.trim()) { |
| 498 networkCheckbox.title = WebInspector.UIString("Limit for all dom
ains"); | 483 networkCheckbox.title = WebInspector.UIString("Limit for all dom
ains"); |
| 499 } else { | 484 } else { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 517 }, | 502 }, |
| 518 | 503 |
| 519 _closeOverridesWarning: function() | 504 _closeOverridesWarning: function() |
| 520 { | 505 { |
| 521 this._warningMessage.querySelector("span").textContent = ""; | 506 this._warningMessage.querySelector("span").textContent = ""; |
| 522 this._warningMessage.classList.add("hidden"); | 507 this._warningMessage.classList.add("hidden"); |
| 523 }, | 508 }, |
| 524 | 509 |
| 525 __proto__: WebInspector.VBox.prototype | 510 __proto__: WebInspector.VBox.prototype |
| 526 }; | 511 }; |
| OLD | NEW |