Index: Source/devtools/front_end/toolbox/ResponsiveDesignView.js |
diff --git a/Source/devtools/front_end/ResponsiveDesignView.js b/Source/devtools/front_end/toolbox/ResponsiveDesignView.js |
similarity index 88% |
rename from Source/devtools/front_end/ResponsiveDesignView.js |
rename to Source/devtools/front_end/toolbox/ResponsiveDesignView.js |
index 246a458e8b8e5a217d124154508c143360c2b2c5..4066ff78f2f865b3f8a8a918e3166fca424c9202 100644 |
--- a/Source/devtools/front_end/ResponsiveDesignView.js |
+++ b/Source/devtools/front_end/toolbox/ResponsiveDesignView.js |
@@ -6,9 +6,9 @@ |
* @constructor |
* @extends {WebInspector.VBox} |
* @implements {WebInspector.OverridesSupport.PageResizer} |
- * @param {!WebInspector.InspectedPagePlaceholder} inspectedPagePlaceholder |
+ * @param {!WebInspector.View} innerView |
*/ |
-WebInspector.ResponsiveDesignView = function(inspectedPagePlaceholder) |
+WebInspector.ResponsiveDesignView = function(innerView) |
{ |
WebInspector.VBox.call(this); |
this.registerRequiredCSS("responsiveDesignView.css"); |
@@ -36,26 +36,23 @@ WebInspector.ResponsiveDesignView = function(inspectedPagePlaceholder) |
this._heightZeroButton = this._heightSlider.createChild("div", "responsive-design-zero-button"); |
this._heightZeroButton.addEventListener("click", this._zeroButtonClicked.bind(this, true)); |
- this._inspectedPagePlaceholder = inspectedPagePlaceholder; |
- inspectedPagePlaceholder.show(this.element); |
+ this._innerView = innerView; |
+ this._innerView.show(this.element); |
this._enabled = false; |
- |
- WebInspector.zoomManager.addEventListener(WebInspector.ZoomManager.Events.ZoomChanged, this._onZoomChanged, this); |
- WebInspector.dockController.addEventListener(WebInspector.DockController.Events.DockSideChanged, this._updateOverridesSupportOnDockSideChange, this); |
- this._updateOverridesSupportOnDockSideChange(); |
}; |
// Measured in DIP. |
WebInspector.ResponsiveDesignView.SliderWidth = 19; |
WebInspector.ResponsiveDesignView.RulerWidth = 23; |
-WebInspector.ResponsiveDesignView.prototype = { |
- _updateOverridesSupportOnDockSideChange: function() |
- { |
- WebInspector.overridesSupport.setPageResizer(WebInspector.dockController.dockSide() !== WebInspector.DockController.State.Undocked ? this : null); |
- }, |
+WebInspector.ResponsiveDesignView.Events = { |
+ Toggled: "Toggled", |
+ ResizeRequested: "ResizeRequested", |
+ AvailableSizeChanged: "AvailableSizeChanged" |
+}; |
+WebInspector.ResponsiveDesignView.prototype = { |
/** |
* WebInspector.OverridesSupport.PageResizer override. |
* @param {number} dipWidth |
@@ -65,10 +62,11 @@ WebInspector.ResponsiveDesignView.prototype = { |
enable: function(dipWidth, dipHeight, scale) |
{ |
if (!this._enabled) { |
+ WebInspector.zoomManager.addEventListener(WebInspector.ZoomManager.Events.ZoomChanged, this._updateUI, this); |
this._ignoreResize = true; |
this._enabled = true; |
- this._inspectedPagePlaceholder.clearMinimumSizeAndMargins(); |
- this._inspectedPagePlaceholder.show(this._pageContainer); |
+ this.dispatchEventToListeners(WebInspector.ResponsiveDesignView.Events.Toggled, true); |
+ this._innerView.show(this._pageContainer); |
this._container.show(this.element); |
delete this._ignoreResize; |
} |
@@ -87,12 +85,14 @@ WebInspector.ResponsiveDesignView.prototype = { |
if (!this._enabled) |
return; |
+ WebInspector.zoomManager.removeEventListener(WebInspector.ZoomManager.Events.ZoomChanged, this._updateUI, this); |
this._ignoreResize = true; |
this._enabled = false; |
this._scale = 0; |
- this._inspectedPagePlaceholder.restoreMinimumSizeAndMargins(); |
+ this.dispatchEventToListeners(WebInspector.ResponsiveDesignView.Events.Toggled, false); |
+ //this._inspectedPagePlaceholder.restoreMinimumSizeAndMargins(); |
this._container.detach(); |
- this._inspectedPagePlaceholder.show(this.element); |
+ this._innerView.show(this.element); |
delete this._ignoreResize; |
}, |
@@ -149,7 +149,7 @@ WebInspector.ResponsiveDesignView.prototype = { |
requested.height = Number.constrain(newSize, 1, this.availableDipSize().height); |
else |
requested.width = Number.constrain(newSize, 1, this.availableDipSize().width); |
- this.dispatchEventToListeners(WebInspector.OverridesSupport.PageResizer.Events.ResizeRequested, requested); |
+ this.dispatchEventToListeners(WebInspector.ResponsiveDesignView.Events.ResizeRequested, requested); |
}, |
/** |
@@ -171,7 +171,7 @@ WebInspector.ResponsiveDesignView.prototype = { |
size.height = this._dipHeight ? 0 : available.height; |
else |
size.width = this._dipWidth ? 0 : available.width; |
- this.dispatchEventToListeners(WebInspector.OverridesSupport.PageResizer.Events.ResizeRequested, size); |
+ this.dispatchEventToListeners(WebInspector.ResponsiveDesignView.Events.ResizeRequested, size); |
}, |
/** |
@@ -318,7 +318,7 @@ WebInspector.ResponsiveDesignView.prototype = { |
if (this._cachedCssWidth !== cssWidth || this._cachedCssHeight !== cssHeight) { |
this._slidersContainer.style.width = cssWidth; |
this._slidersContainer.style.height = cssHeight; |
- this._inspectedPagePlaceholder.onResize(); |
+ this._innerView.onResize(); |
} |
if (this._cachedScale !== this._scale || this._cachedCssCanvasWidth !== cssCanvasWidth || this._cachedCssCanvasHeight !== cssCanvasHeight || this._cachedZoomFactor !== zoomFactor) |
@@ -336,13 +336,10 @@ WebInspector.ResponsiveDesignView.prototype = { |
{ |
if (!this._enabled || this._ignoreResize) |
return; |
+ var oldSize = this._availableSize; |
delete this._availableSize; |
- this.dispatchEventToListeners(WebInspector.OverridesSupport.PageResizer.Events.AvailableSizeChanged); |
- this._updateUI(); |
- }, |
- |
- _onZoomChanged: function() |
- { |
+ if (!this.availableDipSize().isEqual(oldSize)) |
+ this.dispatchEventToListeners(WebInspector.ResponsiveDesignView.Events.AvailableSizeChanged); |
this._updateUI(); |
}, |
@@ -351,7 +348,7 @@ WebInspector.ResponsiveDesignView.prototype = { |
*/ |
_reset: function() |
{ |
- this.dispatchEventToListeners(WebInspector.OverridesSupport.PageResizer.Events.ResizeRequested, this.availableDipSize()); |
+ this.dispatchEventToListeners(WebInspector.ResponsiveDesignView.Events.ResizeRequested, this.availableDipSize()); |
}, |
__proto__: WebInspector.VBox.prototype |