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

Unified Diff: Source/devtools/front_end/emulation/OverridesSupport.js

Issue 1178643004: [DevTools] Initial implementation of device modes. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Turn into class Created 5 years, 6 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
Index: Source/devtools/front_end/emulation/OverridesSupport.js
diff --git a/Source/devtools/front_end/emulation/OverridesSupport.js b/Source/devtools/front_end/emulation/OverridesSupport.js
index 418abbf312a2f389f8d423cbc153289b7da934bd..261f037161bfd062a57b8c611b7b0049db53cc10 100644
--- a/Source/devtools/front_end/emulation/OverridesSupport.js
+++ b/Source/devtools/front_end/emulation/OverridesSupport.js
@@ -87,7 +87,8 @@ WebInspector.OverridesSupport.PageResizer = function()
WebInspector.OverridesSupport.PageResizer.Events = {
AvailableSizeChanged: "AvailableSizeChanged",
ResizeRequested: "ResizeRequested",
- FixedScaleRequested: "FixedScaleRequested"
+ FixedScaleRequested: "FixedScaleRequested",
+ InsetsChanged: "InsetsChanged"
};
WebInspector.OverridesSupport.PageResizer.prototype = {
@@ -327,8 +328,9 @@ WebInspector.OverridesSupport.prototype = {
/**
* @param {?WebInspector.OverridesSupport.PageResizer} pageResizer
* @param {!Size} availableSize
+ * @param {!Insets} insets
*/
- setPageResizer: function(pageResizer, availableSize)
+ setPageResizer: function(pageResizer, availableSize, insets)
{
if (pageResizer === this._pageResizer)
return;
@@ -337,13 +339,16 @@ WebInspector.OverridesSupport.prototype = {
this._pageResizer.removeEventListener(WebInspector.OverridesSupport.PageResizer.Events.AvailableSizeChanged, this._onPageResizerAvailableSizeChanged, this);
this._pageResizer.removeEventListener(WebInspector.OverridesSupport.PageResizer.Events.ResizeRequested, this._onPageResizerResizeRequested, this);
this._pageResizer.removeEventListener(WebInspector.OverridesSupport.PageResizer.Events.FixedScaleRequested, this._onPageResizerFixedScaleRequested, this);
+ this._pageResizer.removeEventListener(WebInspector.OverridesSupport.PageResizer.Events.InsetsChanged, this._onPageResizerInsetsChanged, this);
}
this._pageResizer = pageResizer;
this._pageResizerAvailableSize = availableSize;
+ this._pageResizerInsets = insets;
if (this._pageResizer) {
this._pageResizer.addEventListener(WebInspector.OverridesSupport.PageResizer.Events.AvailableSizeChanged, this._onPageResizerAvailableSizeChanged, this);
this._pageResizer.addEventListener(WebInspector.OverridesSupport.PageResizer.Events.ResizeRequested, this._onPageResizerResizeRequested, this);
this._pageResizer.addEventListener(WebInspector.OverridesSupport.PageResizer.Events.FixedScaleRequested, this._onPageResizerFixedScaleRequested, this);
+ this._pageResizer.addEventListener(WebInspector.OverridesSupport.PageResizer.Events.InsetsChanged, this._onPageResizerInsetsChanged, this);
}
this._deviceMetricsChanged();
},
@@ -490,13 +495,22 @@ WebInspector.OverridesSupport.prototype = {
*/
_onPageResizerAvailableSizeChanged: function(event)
{
- this._pageResizerAvailableSize = /** @type {!Size} */ (event.data);
+ this._pageResizerAvailableSize = /** @type {!Size} */ (event.data.size);
+ this._pageResizerInsets = /** @type {!Insets} */ (event.data.insets);
this._deviceMetricsChanged();
},
/**
* @param {!WebInspector.Event} event
*/
+ _onPageResizerInsetsChanged: function(event)
+ {
+ this._pageResizerInsets = /** @type {!Insets} */ (event.data);
+ },
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
_onPageResizerResizeRequested: function(event)
{
if (typeof event.data.width !== "undefined") {
@@ -545,17 +559,18 @@ WebInspector.OverridesSupport.prototype = {
var scale = 1;
if (this._pageResizer) {
var available = this._pageResizerAvailableSize;
+ var insets = this._pageResizerInsets;
if (this.settings.deviceFitWindow.get()) {
if (this._fixedDeviceScale) {
scale = this._deviceScale;
} else {
scale = 1;
- while (available.width < dipWidth * scale || available.height < dipHeight * scale)
+ while (available.width < (dipWidth + insets.left + insets.right) * scale || available.height < (dipHeight + insets.top + insets.bottom) * scale)
scale *= 0.8;
}
}
- this._pageResizer.update(Math.min(dipWidth * scale, available.width), Math.min(dipHeight * scale, available.height), scale);
+ this._pageResizer.update(Math.min(dipWidth * scale, available.width - insets.left * scale), Math.min(dipHeight * scale, available.height - insets.top * scale), scale);
if (scale === 1 && available.width >= dipWidth && available.height >= dipHeight) {
// When we have enough space, no page size override is required. This will speed things up and remove lag.
overrideWidth = 0;
« no previous file with comments | « Source/devtools/front_end/emulation/EmulatedDevices.js ('k') | Source/devtools/front_end/emulation/OverridesUI.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698