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

Unified Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2261663002: Disallow cast/implicit conversion from LayoutUnit to int/unsigned (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: - Created 4 years, 4 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: third_party/WebKit/Source/core/frame/FrameView.cpp
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp
index c3f496da4b94c43f42b62f0714828eabb42218a3..bb4e1e1e2a8dcc593eb8310eafde89370b6db053 100644
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
@@ -396,8 +396,8 @@ void FrameView::invalidateRect(const IntRect& rect)
return;
IntRect paintInvalidationRect = rect;
- paintInvalidationRect.move(layoutItem.borderLeft() + layoutItem.paddingLeft(),
- layoutItem.borderTop() + layoutItem.paddingTop());
+ paintInvalidationRect.move((layoutItem.borderLeft() + layoutItem.paddingLeft()).toInt(),
+ (layoutItem.borderTop() + layoutItem.paddingTop()).toInt());
// FIXME: We should not allow paint invalidation out of paint invalidation state. crbug.com/457415
DisablePaintInvalidationStateAsserts paintInvalidationAssertDisabler;
layoutItem.invalidatePaintRectangle(LayoutRect(paintInvalidationRect));
@@ -2955,7 +2955,8 @@ void FrameView::forceLayoutForPagination(const FloatSize& pageSize, const FloatS
LayoutUnit clippedLogicalLeft;
if (!layoutView->style()->isLeftToRightDirection())
clippedLogicalLeft = LayoutUnit(docLogicalRight - pageLogicalWidth);
- LayoutRect overflow(clippedLogicalLeft, docLogicalTop, pageLogicalWidth, docLogicalHeight);
+ // TODO(crbug.com/638981): Are the conversions to int intentional?
+ LayoutRect overflow(clippedLogicalLeft.toInt(), docLogicalTop.toInt(), pageLogicalWidth, docLogicalHeight.toInt());
if (!horizontalWritingMode)
overflow = overflow.transposedRect();
@@ -3019,8 +3020,8 @@ IntRect FrameView::convertToContainingWidget(const IntRect& localRect) const
IntRect rect(localRect);
// Add borders and padding??
- rect.move(layoutObject->borderLeft() + layoutObject->paddingLeft(),
- layoutObject->borderTop() + layoutObject->paddingTop());
+ rect.move((layoutObject->borderLeft() + layoutObject->paddingLeft()).toInt(),
+ (layoutObject->borderTop() + layoutObject->paddingTop()).toInt());
return parentView->convertFromLayoutObject(*layoutObject, rect);
}
@@ -3037,8 +3038,8 @@ IntRect FrameView::convertFromContainingWidget(const IntRect& parentRect) const
IntRect rect = parentView->convertToLayoutObject(*layoutObject, parentRect);
// Subtract borders and padding
- rect.move(-layoutObject->borderLeft() - layoutObject->paddingLeft(),
- -layoutObject->borderTop() - layoutObject->paddingTop());
+ rect.move((-layoutObject->borderLeft() - layoutObject->paddingLeft()).toInt(),
+ (-layoutObject->borderTop() - layoutObject->paddingTop().toInt()));
return rect;
}
@@ -3056,8 +3057,8 @@ IntPoint FrameView::convertToContainingWidget(const IntPoint& localPoint) const
IntPoint point(localPoint);
// Add borders and padding
- point.move(layoutObject->borderLeft() + layoutObject->paddingLeft(),
- layoutObject->borderTop() + layoutObject->paddingTop());
+ point.move((layoutObject->borderLeft() + layoutObject->paddingLeft()).toInt(),
+ (layoutObject->borderTop() + layoutObject->paddingTop()).toInt());
return parentView->convertFromLayoutObject(*layoutObject, point);
}
@@ -3074,8 +3075,8 @@ IntPoint FrameView::convertFromContainingWidget(const IntPoint& parentPoint) con
IntPoint point = parentView->convertToLayoutObject(*layoutObject, parentPoint);
// Subtract borders and padding
- point.move(-layoutObject->borderLeft() - layoutObject->paddingLeft(),
- -layoutObject->borderTop() - layoutObject->paddingTop());
+ point.move((-layoutObject->borderLeft() - layoutObject->paddingLeft()).toInt(),
+ (-layoutObject->borderTop() - layoutObject->paddingTop()).toInt());
return point;
}

Powered by Google App Engine
This is Rietveld 408576698