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

Unified Diff: Source/devtools/front_end/ResponsiveDesignView.js

Issue 304693002: DevTools: get rid of deviceMetics settings. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Tests fixed. Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/devtools/front_end/common/Settings.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/ResponsiveDesignView.js
diff --git a/Source/devtools/front_end/ResponsiveDesignView.js b/Source/devtools/front_end/ResponsiveDesignView.js
index a9b71a9ec27df4c96820c0caeb1243e2a28848b5..a9f8b17c92c6ce6d3053e8e2b8535fb41c4342be 100644
--- a/Source/devtools/front_end/ResponsiveDesignView.js
+++ b/Source/devtools/front_end/ResponsiveDesignView.js
@@ -42,6 +42,7 @@ WebInspector.ResponsiveDesignView = function(inspectedPagePlaceholder)
WebInspector.zoomManager.addEventListener(WebInspector.ZoomManager.Events.ZoomChanged, this._onZoomChanged, this);
WebInspector.dockController.addEventListener(WebInspector.DockController.Events.DockSideChanged, this._updateOverridesSupportOnDockSideChange, this);
+ WebInspector.settings.responsiveDesignMode.addChangeListener(this._responsiveDesignModeChanged, this);
this._updateOverridesSupportOnDockSideChange();
};
@@ -51,51 +52,66 @@ WebInspector.ResponsiveDesignView.RulerWidth = 20;
WebInspector.ResponsiveDesignView.ToolbarHeight = 24;
WebInspector.ResponsiveDesignView.prototype = {
- _updateOverridesSupportOnDockSideChange: function()
+ _responsiveDesignModeChanged: function()
{
- WebInspector.overridesSupport.setPageResizer(WebInspector.dockController.dockSide() !== WebInspector.DockController.State.Undocked ? this : null);
- },
+ if (WebInspector.dockController.dockSide() === WebInspector.DockController.State.Undocked) {
+ WebInspector.overridesSupport.setPageResizer(null);
+ return;
+ }
- /**
- * WebInspector.OverridesSupport.PageResizer override.
- * @param {number} dipWidth
- * @param {number} dipHeight
- * @param {number} scale
- */
- enable: function(dipWidth, dipHeight, scale)
- {
- if (!this._enabled) {
+ delete this._cachedScale;
+ delete this._cachedCssCanvasWidth;
+ delete this._cachedCssCanvasHeight;
+ delete this._cachedCssHeight;
+ delete this._cachedCssWidth;
+ delete this._cachedZoomFactor;
+ delete this._availableSize;
+
+ var enabled = WebInspector.settings.responsiveDesignMode.get();
+ if (enabled && !this._enabled) {
this._ignoreResize = true;
this._enabled = true;
this._inspectedPagePlaceholder.clearMinimumSizeAndMargins();
this._inspectedPagePlaceholder.show(this._pageContainer);
this._responsiveDesignContainer.show(this.element);
+ WebInspector.overridesSupport.setPageResizer(this);
delete this._ignoreResize;
}
- this._scale = scale;
- this._dipWidth = dipWidth;
- this._dipHeight = dipHeight;
- this._resolutionWidthLabel.textContent = dipWidth + "px";
- this._resolutionHeightLabel.textContent = dipHeight + "px";
- this._updateUI();
+ if (!enabled && this._enabled) {
+ this._ignoreResize = true;
+ this._enabled = false;
+ this._scale = 0;
+ this._inspectedPagePlaceholder.restoreMinimumSizeAndMargins();
+ this._responsiveDesignContainer.detach();
+ this._inspectedPagePlaceholder.show(this.element);
+ WebInspector.overridesSupport.setPageResizer(null);
+ delete this._ignoreResize;
+ }
+ },
+
+ _updateOverridesSupportOnDockSideChange: function()
+ {
+ this._responsiveDesignModeChanged();
},
/**
* WebInspector.OverridesSupport.PageResizer override.
+ * @param {number} dipWidth
+ * @param {number} dipHeight
+ * @param {number} scale
*/
- disable: function()
+ update: function(dipWidth, dipHeight, scale)
{
if (!this._enabled)
return;
- this._ignoreResize = true;
- this._enabled = false;
- this._scale = 0;
- this._inspectedPagePlaceholder.restoreMinimumSizeAndMargins();
- this._responsiveDesignContainer.detach();
- this._inspectedPagePlaceholder.show(this.element);
- delete this._ignoreResize;
+ this._scale = scale;
+ this._dipWidth = dipWidth;
+ this._dipHeight = dipHeight;
+ this._resolutionWidthLabel.textContent = dipWidth + "px";
+ this._resolutionHeightLabel.textContent = dipHeight + "px";
+ this._updateUI();
},
/**
@@ -357,64 +373,23 @@ WebInspector.ResponsiveDesignView.prototype = {
{
this._toolbarElement = this._responsiveDesignContainer.element.createChild("div", "responsive-design-toolbar");
- const metricsSetting = WebInspector.overridesSupport.settings.deviceMetrics.get();
- var metrics = WebInspector.OverridesSupport.DeviceMetrics.parseSetting(metricsSetting);
+ this._toolbarElement.appendChild(WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("Resolution"), WebInspector.overridesSupport.settings.overrideDeviceResolution, true));
- /**
- * @this {WebInspector.ResponsiveDesignView}
- */
- function swapDimensionsClicked()
- {
- var widthValue = this._widthOverrideElement.value;
- this._widthOverrideElement.value = this._heightOverrideElement.value;
- this._heightOverrideElement.value = widthValue;
- this._applyDeviceMetricsUserInput();
- }
+ var fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebInspector.overridesSupport.settings.overrideDeviceResolution);
+ this._toolbarElement.appendChild(fieldsetElement);
+
+ fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputField("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebInspector.OverridesSupport.inputValidator, true));
+ fieldsetElement.appendChild(document.createTextNode(" \u00D7 "));
+ fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputField("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", WebInspector.OverridesSupport.inputValidator, true));
- this._toolbarElement.appendChild(document.createTextNode("Screen")).title = WebInspector.UIString("Screen resolution");
- this._widthOverrideElement = WebInspector.SettingsUI.createInput(this._toolbarElement, "responsive-design-override-width", String(metrics.width), this._applyDeviceMetricsUserInput.bind(this), true, "3em");
- this._toolbarElement.appendChild(document.createTextNode(" \u00D7 "));
- this._heightOverrideElement = WebInspector.SettingsUI.createInput(this._toolbarElement, "responsive-design-override-height", String(metrics.height), this._applyDeviceMetricsUserInput.bind(this), true, "3em");
- this._swapDimensionsElement = this._toolbarElement.createChild("button", "responsive-design-override-swap");
+ this._swapDimensionsElement = fieldsetElement.createChild("button", "responsive-design-override-swap");
this._swapDimensionsElement.appendChild(document.createTextNode(" \u21C4 ")); // RIGHTWARDS ARROW OVER LEFTWARDS ARROW.
this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensions");
- this._swapDimensionsElement.addEventListener("click", swapDimensionsClicked.bind(this), false);
+ this._swapDimensionsElement.addEventListener("click", WebInspector.overridesSupport.swapDimensions.bind(WebInspector.overridesSupport), false);
this._swapDimensionsElement.tabIndex = -1;
- var span = this._toolbarElement.createChild("span");
- span.textContent = WebInspector.UIString("Dpr");
- span.title = WebInspector.UIString("Device pixel ratio");
- this._deviceScaleFactorOverrideElement = WebInspector.SettingsUI.createInput(this._toolbarElement, "responsive-design-device-scale", String(metrics.deviceScaleFactor), this._applyDeviceMetricsUserInput.bind(this), true, "2em");
-
- var textAutosizingOverrideElement = WebInspector.SettingsUI.createNonPersistedCheckbox(WebInspector.UIString("Enable text autosizing "), this._applyDeviceMetricsUserInput.bind(this));
- textAutosizingOverrideElement.title = WebInspector.UIString("Text autosizing is the feature that boosts font sizes on mobile devices.");
- this._textAutosizingOverrideCheckbox = textAutosizingOverrideElement.firstChild;
- this._textAutosizingOverrideCheckbox.checked = metrics.textAutosizing;
-
- var checkbox = WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("Viewport"), WebInspector.overridesSupport.settings.emulateViewport, true);
- this._toolbarElement.appendChild(checkbox);
-
- WebInspector.overridesSupport.settings.deviceMetrics.addChangeListener(this._updateDeviceMetricsElement, this);
- },
-
- _updateDeviceMetricsElement: function()
- {
- const metricsSetting = WebInspector.overridesSupport.settings.deviceMetrics.get();
- var metrics = WebInspector.OverridesSupport.DeviceMetrics.parseSetting(metricsSetting);
-
- if (this._widthOverrideElement.value != metrics.width)
- this._widthOverrideElement.value = metrics.width;
- if (this._heightOverrideElement.value != metrics.height)
- this._heightOverrideElement.value = metrics.height;
- if (this._deviceScaleFactorOverrideElement.value != metrics.deviceScaleFactor)
- this._deviceScaleFactorOverrideElement.value = metrics.deviceScaleFactor;
- if (this._textAutosizingOverrideCheckbox.checked !== metrics.textAutosizing)
- this._textAutosizingOverrideCheckbox.checked = metrics.textAutosizing;
- },
-
- _applyDeviceMetricsUserInput: function()
- {
- WebInspector.OverridesSupport.DeviceMetrics.applyOverrides(this._widthOverrideElement, this._heightOverrideElement, this._deviceScaleFactorOverrideElement, this._textAutosizingOverrideCheckbox);
+ fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputField(WebInspector.UIString("Dpr"), WebInspector.overridesSupport.settings.deviceScaleFactor, true, 2, "2em", WebInspector.OverridesSupport.inputValidator, true));
+ this._toolbarElement.appendChild(WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("Viewport"), WebInspector.overridesSupport.settings.emulateViewport, true));
},
__proto__: WebInspector.VBox.prototype
« no previous file with comments | « no previous file | Source/devtools/front_end/common/Settings.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698