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

Unified Diff: Source/devtools/front_end/ui/InspectedPagePlaceholder.js

Issue 223803003: [DevTools] Switch from insets to bounds to position inspected page. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebased 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 | « Source/devtools/front_end/externs.js ('k') | Source/web/InspectorFrontendClientImpl.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/ui/InspectedPagePlaceholder.js
diff --git a/Source/devtools/front_end/ui/InspectedPagePlaceholder.js b/Source/devtools/front_end/ui/InspectedPagePlaceholder.js
index 913e55fc33031f9535b13d149ea50203414bf9be..eebb238c735c40bb2fcf7f3c2a0f442c658e37e1 100644
--- a/Source/devtools/front_end/ui/InspectedPagePlaceholder.js
+++ b/Source/devtools/front_end/ui/InspectedPagePlaceholder.js
@@ -10,13 +10,8 @@ WebInspector.InspectedPagePlaceholder = function()
{
WebInspector.View.call(this);
WebInspector.zoomManager.addEventListener(WebInspector.ZoomManager.Events.ZoomChanged, this._onZoomChanged, this);
- this._margins = { top: false, right: false, bottom: false, left: false };
- this.setMinimumSize(WebInspector.InspectedPagePlaceholder.Constraints.Width, WebInspector.InspectedPagePlaceholder.Constraints.Height);
-};
-
-WebInspector.InspectedPagePlaceholder.Constraints = {
- Width: 50,
- Height: 50
+ this._margins = { top: 0, right: 0, bottom: 0, left: 0 };
+ this.setMinimumSize(50, 50);
};
WebInspector.InspectedPagePlaceholder.MarginValue = 3;
@@ -24,8 +19,8 @@ WebInspector.InspectedPagePlaceholder.MarginValue = 3;
WebInspector.InspectedPagePlaceholder.prototype = {
_findMargins: function()
{
- var margins = { top: false, right: false, bottom: false, left: false };
- var adjacent = { top: true, right: true, bottom: true, left: true};
+ var margins = { top: 0, right: 0, bottom: 0, left: 0 };
+ var adjacent = { top: true, right: true, bottom: true, left: true };
var view = this;
while (view.parentView()) {
var parent = view.parentView();
@@ -34,7 +29,7 @@ WebInspector.InspectedPagePlaceholder.prototype = {
if (parent instanceof WebInspector.SplitView) {
var side = parent.sidebarSide();
if (adjacent[side] && !parent.hasCustomResizer())
- margins[side] = true;
+ margins[side] = WebInspector.InspectedPagePlaceholder.MarginValue;
adjacent[side] = false;
}
view = parent;
@@ -42,23 +37,12 @@ WebInspector.InspectedPagePlaceholder.prototype = {
if (this._margins.top !== margins.top || this._margins.left !== margins.left || this._margins.right !== margins.right || this._margins.bottom !== margins.bottom) {
this._margins = margins;
- this._updateMarginValue();
+ this._scheduleUpdate();
}
},
- _updateMarginValue: function()
- {
- var marginValue = Math.round(WebInspector.InspectedPagePlaceholder.MarginValue / WebInspector.zoomManager.zoomFactor()) + "px ";
- var margins = this._margins.top ? marginValue : "0 ";
- margins += this._margins.right ? marginValue : "0 ";
- margins += this._margins.bottom ? marginValue : "0 ";
- margins += this._margins.left ? marginValue : "0 ";
- this.element.style.margin = margins;
- },
-
_onZoomChanged: function()
{
- this._updateMarginValue();
this._scheduleUpdate();
},
@@ -78,38 +62,27 @@ WebInspector.InspectedPagePlaceholder.prototype = {
}
},
- _update: function()
+ _dipPageRect: function()
{
- delete this._updateId;
-
var zoomFactor = WebInspector.zoomManager.zoomFactor();
+ var rect = this.element.getBoundingClientRect();
+ var bodyRect = document.body.getBoundingClientRect();
- var marginValue = WebInspector.InspectedPagePlaceholder.MarginValue;
- var insets = {
- top: this._margins.top ? marginValue : 0,
- left: this._margins.left ? marginValue : 0,
- right: this._margins.right ? marginValue : 0,
- bottom: this._margins.bottom ? marginValue : 0};
+ var left = Math.max(rect.left * zoomFactor + this._margins.left, bodyRect.left * zoomFactor);
+ var top = Math.max(rect.top * zoomFactor + this._margins.top, bodyRect.top * zoomFactor);
+ var bottom = Math.min(rect.bottom * zoomFactor - this._margins.bottom, bodyRect.bottom * zoomFactor);
+ var right = Math.min(rect.right * zoomFactor - this._margins.right, bodyRect.right * zoomFactor);
- var minSize = {
- width: WebInspector.InspectedPagePlaceholder.Constraints.Width - Math.round(insets.left * zoomFactor) - Math.round(insets.right * zoomFactor),
- height: WebInspector.InspectedPagePlaceholder.Constraints.Height - Math.round(insets.top * zoomFactor) - Math.round(insets.bottom * zoomFactor)};
-
- // This view assumes it's always inside the main split view element, not a sidebar.
- var view = this;
- while (view) {
- if ((view instanceof WebInspector.SplitView) && view.sidebarSide())
- insets[view.sidebarSide()] += view.preferredSidebarSize();
- view = view.parentView();
- }
+ return { x: left, y: top, width: right - left, height: bottom - top };
+ },
- var roundedInsets = {
- top: Math.ceil(insets.top),
- left: Math.ceil(insets.left),
- right: Math.ceil(insets.right),
- bottom: Math.ceil(insets.bottom)};
+ _update: function()
+ {
+ delete this._updateId;
- InspectorFrontendHost.setContentsResizingStrategy(roundedInsets, minSize);
+ var rect = this._dipPageRect();
+ var bounds = { x: Math.round(rect.x), y: Math.round(rect.y), height: Math.round(rect.height), width: Math.round(rect.width) };
+ InspectorFrontendHost.setInspectedPageBounds(bounds);
},
__proto__: WebInspector.View.prototype
« no previous file with comments | « Source/devtools/front_end/externs.js ('k') | Source/web/InspectorFrontendClientImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698