Diff
Modified: trunk/Source/WebCore/ChangeLog (188432 => 188433)
--- trunk/Source/WebCore/ChangeLog 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/ChangeLog 2015-08-14 04:34:31 UTC (rev 188433)
@@ -1,3 +1,116 @@
+2015-08-13 Zalan Bujtas <[email protected]>
+
+ Remove pixelSnapped* functions from RenderBoxModelObject/RenderBox.
+ https://bugs.webkit.org/show_bug.cgi?id=147982
+
+ Reviewed by Simon Fraser.
+
+ RenderBoxModelObject/RenderBox::pixelSnapped* functions are misleading.
+ They all round to integral values, while the rest of the pixel snapping
+ functions round to device pixels.
+ This patch moves integral rounding to the callers. (Note that they all will eventually
+ go away as we convert additional modules to subpixel rendering (tables, scrolling etc).)
+
+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+ * dom/Element.cpp:
+ (WebCore::Element::offsetLeft):
+ (WebCore::Element::offsetTop):
+ (WebCore::Element::offsetWidth):
+ (WebCore::Element::offsetHeight):
+ (WebCore::Element::clientWidth):
+ (WebCore::Element::clientHeight):
+ * dom/Position.cpp:
+ (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::width):
+ (WebCore::HTMLImageElement::height):
+ * html/shadow/SpinButtonElement.cpp:
+ (WebCore::SpinButtonElement::defaultEventHandler):
+ * inspector/InspectorOverlay.cpp:
+ (WebCore::buildObjectForElementData):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::applyPaginationToViewport):
+ (WebCore::FrameView::calculateScrollbarModesForLayout):
+ (WebCore::FrameView::calculateExtendedBackgroundMode):
+ (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::pageNumberForElement):
+ * platform/graphics/LayoutRect.h:
+ (WebCore::LayoutRect::pixelSnappedSize): Deleted.
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::pixelSnappedClientWidth): Deleted.
+ (WebCore::RenderBox::pixelSnappedClientHeight): Deleted.
+ (WebCore::RenderBox::pixelSnappedOffsetWidth): Deleted.
+ (WebCore::RenderBox::pixelSnappedOffsetHeight): Deleted.
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::pixelSnappedLogicalHeight): Deleted.
+ (WebCore::RenderBox::pixelSnappedLogicalWidth): Deleted.
+ (WebCore::RenderBox::pixelSnappedSize): Deleted.
+ (WebCore::RenderBox::pixelSnappedBorderBoxRect): Deleted.
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth): Deleted.
+ (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight): Deleted.
+ * rendering/RenderBoxModelObject.h:
+ (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft): Deleted.
+ (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop): Deleted.
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::nodeWidth):
+ (WebCore::nodeHeight):
+ (WebCore::RenderFileUploadControl::maxFilenameWidth):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPosition):
+ (WebCore::RenderLayer::perspectiveTransform):
+ (WebCore::RenderLayer::clampScrollOffset):
+ (WebCore::RenderLayer::visibleSize):
+ (WebCore::RenderLayer::positionOverflowControls):
+ (WebCore::RenderLayer::hasHorizontalOverflow):
+ (WebCore::RenderLayer::hasVerticalOverflow):
+ (WebCore::RenderLayer::updateScrollbarsAfterLayout):
+ (WebCore::RenderLayer::overflowControlsIntersectRect):
+ (WebCore::RenderLayer::isPointInResizeControl):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGeometry):
+ (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
+ (WebCore::RenderLayerBacking::startAnimation):
+ (WebCore::RenderLayerBacking::startTransition):
+ * rendering/RenderLayerBacking.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::scrollWidth):
+ (WebCore::RenderListBox::scrollHeight):
+ * rendering/RenderMediaControlElements.cpp:
+ (WebCore::RenderMediaVolumeSliderContainer::layout):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::buttonRect):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addOverflowFromChildren):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::computeIntrinsicPadding):
+ (WebCore::RenderTableCell::paintCollapsedBorders):
+ (WebCore::RenderTableCell::paintBackgroundsBehindCell):
+ (WebCore::RenderTableCell::paintBoxDecorations):
+ (WebCore::RenderTableCell::paintMask):
+ * rendering/RenderTableCell.h:
+ (WebCore::RenderTableCell::logicalHeightForRowSizing):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
+ * rendering/RenderTheme.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::write):
+ * rendering/mathml/RenderMathMLFraction.cpp:
+ (WebCore::RenderMathMLFraction::paint):
+ * rendering/mathml/RenderMathMLRoot.cpp:
+ (WebCore::RenderMathMLRoot::paint):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::paintReplaced):
+ (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
+
2015-08-13 Simon Fraser <[email protected]>
Minor GraphicsLayer.h/PlatformCALayer.h cleanup
Modified: trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceImage.cpp (188432 => 188433)
--- trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceImage.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceImage.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -71,7 +71,7 @@
g_return_if_fail(ATK_IMAGE(image));
returnIfWebKitAccessibleIsInvalid(WEBKIT_ACCESSIBLE(image));
- IntSize size = core(image)->elementRect().pixelSnappedSize();
+ IntSize size = snappedIntRect(core(image)->elementRect()).size();
if (width)
*width = size.width();
Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (188432 => 188433)
--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm 2015-08-14 04:34:31 UTC (rev 188433)
@@ -2578,7 +2578,7 @@
return [NSNumber numberWithBool: m_object->isEnabled()];
if ([attributeName isEqualToString: NSAccessibilitySizeAttribute]) {
- IntSize s = m_object->elementRect().pixelSnappedSize();
+ IntSize s = snappedIntRect(m_object->elementRect()).size();
return [NSValue valueWithSize: NSMakeSize(s.width(), s.height())];
}
Modified: trunk/Source/WebCore/dom/Element.cpp (188432 => 188433)
--- trunk/Source/WebCore/dom/Element.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/dom/Element.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -714,7 +714,7 @@
{
document().updateLayoutIgnorePendingStylesheets();
if (RenderBoxModelObject* renderer = renderBoxModelObject()) {
- LayoutUnit offsetLeft = subpixelMetricsEnabled(renderer->document()) ? renderer->offsetLeft() : LayoutUnit(renderer->pixelSnappedOffsetLeft());
+ LayoutUnit offsetLeft = subpixelMetricsEnabled(renderer->document()) ? renderer->offsetLeft() : LayoutUnit(roundToInt(renderer->offsetLeft()));
double zoomFactor = 1;
double offsetLeftAdjustedWithZoom = adjustForLocalZoom(offsetLeft, *renderer, zoomFactor);
return convertToNonSubpixelValueIfNeeded(offsetLeftAdjustedWithZoom, renderer->document(), zoomFactor == 1 ? Floor : Round);
@@ -726,7 +726,7 @@
{
document().updateLayoutIgnorePendingStylesheets();
if (RenderBoxModelObject* renderer = renderBoxModelObject()) {
- LayoutUnit offsetTop = subpixelMetricsEnabled(renderer->document()) ? renderer->offsetTop() : LayoutUnit(renderer->pixelSnappedOffsetTop());
+ LayoutUnit offsetTop = subpixelMetricsEnabled(renderer->document()) ? renderer->offsetTop() : LayoutUnit(roundToInt(renderer->offsetTop()));
double zoomFactor = 1;
double offsetTopAdjustedWithZoom = adjustForLocalZoom(offsetTop, *renderer, zoomFactor);
return convertToNonSubpixelValueIfNeeded(offsetTopAdjustedWithZoom, renderer->document(), zoomFactor == 1 ? Floor : Round);
@@ -738,7 +738,7 @@
{
document().updateLayoutIfDimensionsOutOfDate(*this, WidthDimensionsCheck);
if (RenderBoxModelObject* renderer = renderBoxModelObject()) {
- LayoutUnit offsetWidth = subpixelMetricsEnabled(renderer->document()) ? renderer->offsetWidth() : LayoutUnit(renderer->pixelSnappedOffsetWidth());
+ LayoutUnit offsetWidth = subpixelMetricsEnabled(renderer->document()) ? renderer->offsetWidth() : LayoutUnit(roundToInt(renderer->offsetWidth()));
return convertToNonSubpixelValueIfNeeded(adjustLayoutUnitForAbsoluteZoom(offsetWidth, *renderer).toDouble(), renderer->document());
}
return 0;
@@ -748,7 +748,7 @@
{
document().updateLayoutIfDimensionsOutOfDate(*this, HeightDimensionsCheck);
if (RenderBoxModelObject* renderer = renderBoxModelObject()) {
- LayoutUnit offsetHeight = subpixelMetricsEnabled(renderer->document()) ? renderer->offsetHeight() : LayoutUnit(renderer->pixelSnappedOffsetHeight());
+ LayoutUnit offsetHeight = subpixelMetricsEnabled(renderer->document()) ? renderer->offsetHeight() : LayoutUnit(roundToInt(renderer->offsetHeight()));
return convertToNonSubpixelValueIfNeeded(adjustLayoutUnitForAbsoluteZoom(offsetHeight, *renderer).toDouble(), renderer->document());
}
return 0;
@@ -811,7 +811,7 @@
return adjustForAbsoluteZoom(renderView.frameView().layoutWidth(), renderView);
if (RenderBox* renderer = renderBox()) {
- LayoutUnit clientWidth = subpixelMetricsEnabled(renderer->document()) ? renderer->clientWidth() : LayoutUnit(renderer->pixelSnappedClientWidth());
+ LayoutUnit clientWidth = subpixelMetricsEnabled(renderer->document()) ? renderer->clientWidth() : LayoutUnit(roundToInt(renderer->clientWidth()));
return convertToNonSubpixelValueIfNeeded(adjustLayoutUnitForAbsoluteZoom(clientWidth, *renderer).toDouble(), renderer->document());
}
return 0;
@@ -831,7 +831,7 @@
return adjustForAbsoluteZoom(renderView.frameView().layoutHeight(), renderView);
if (RenderBox* renderer = renderBox()) {
- LayoutUnit clientHeight = subpixelMetricsEnabled(renderer->document()) ? renderer->clientHeight() : LayoutUnit(renderer->pixelSnappedClientHeight());
+ LayoutUnit clientHeight = subpixelMetricsEnabled(renderer->document()) ? renderer->clientHeight() : LayoutUnit(roundToInt(renderer->clientHeight()));
return convertToNonSubpixelValueIfNeeded(adjustLayoutUnitForAbsoluteZoom(clientHeight, *renderer).toDouble(), renderer->document());
}
return 0;
Modified: trunk/Source/WebCore/dom/Position.cpp (188432 => 188433)
--- trunk/Source/WebCore/dom/Position.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/dom/Position.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -925,7 +925,7 @@
continue;
}
if (is<RenderBox>(*o)) {
- if (downcast<RenderBox>(*o).pixelSnappedLogicalHeight())
+ if (roundToInt(downcast<RenderBox>(*o).logicalHeight()))
return true;
continue;
}
Modified: trunk/Source/WebCore/html/HTMLImageElement.cpp (188432 => 188433)
--- trunk/Source/WebCore/html/HTMLImageElement.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/html/HTMLImageElement.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -296,7 +296,10 @@
document().updateLayout();
RenderBox* box = renderBox();
- return box ? adjustForAbsoluteZoom(box->contentBoxRect().pixelSnappedSize().width(), *box) : 0;
+ if (!box)
+ return 0;
+ LayoutRect contentRect = box->contentBoxRect();
+ return adjustForAbsoluteZoom(snappedIntRect(contentRect).width(), *box);
}
int HTMLImageElement::height(bool ignorePendingStylesheets)
@@ -319,7 +322,10 @@
document().updateLayout();
RenderBox* box = renderBox();
- return box ? adjustForAbsoluteZoom(box->contentBoxRect().pixelSnappedSize().height(), *box) : 0;
+ if (!box)
+ return 0;
+ LayoutRect contentRect = box->contentBoxRect();
+ return adjustForAbsoluteZoom(snappedIntRect(contentRect).height(), *box);
}
int HTMLImageElement::naturalWidth() const
Modified: trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp (188432 => 188433)
--- trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -89,7 +89,7 @@
MouseEvent& mouseEvent = downcast<MouseEvent>(*event);
IntPoint local = roundedIntPoint(box->absoluteToLocal(mouseEvent.absoluteLocation(), UseTransforms));
if (mouseEvent.type() == eventNames().mousedownEvent && mouseEvent.button() == LeftButton) {
- if (box->pixelSnappedBorderBoxRect().contains(local)) {
+ if (box->borderBoxRect().contains(local)) {
// The following functions of HTMLInputElement may run _javascript_
// code which detaches this shadow node. We need to take a reference
// and check renderer() after such function calls.
@@ -112,7 +112,7 @@
} else if (mouseEvent.type() == eventNames().mouseupEvent && mouseEvent.button() == LeftButton)
stopRepeatingTimer();
else if (mouseEvent.type() == eventNames().mousemoveEvent) {
- if (box->pixelSnappedBorderBoxRect().contains(local)) {
+ if (box->borderBoxRect().contains(local)) {
if (!m_capturing) {
if (Frame* frame = document().frame()) {
frame->eventHandler().setCapturingMouseEventsElement(this);
Modified: trunk/Source/WebCore/inspector/InspectorOverlay.cpp (188432 => 188433)
--- trunk/Source/WebCore/inspector/InspectorOverlay.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -745,8 +745,8 @@
IntRect boundingBox = snappedIntRect(containingView->contentsToRootView(renderer->absoluteBoundingBoxRect()));
RenderBoxModelObject* modelObject = is<RenderBoxModelObject>(*renderer) ? downcast<RenderBoxModelObject>(renderer) : nullptr;
auto sizeObject = Inspector::Protocol::OverlayTypes::Size::create()
- .setWidth(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetWidth(), *modelObject) : boundingBox.width())
- .setHeight(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetHeight(), *modelObject) : boundingBox.height())
+ .setWidth(modelObject ? adjustForAbsoluteZoom(roundToInt(modelObject->offsetWidth()), *modelObject) : boundingBox.width())
+ .setHeight(modelObject ? adjustForAbsoluteZoom(roundToInt(modelObject->offsetHeight()), *modelObject) : boundingBox.height())
.release();
elementData->setSize(WTF::move(sizeObject));
Modified: trunk/Source/WebCore/page/FrameView.cpp (188432 => 188433)
--- trunk/Source/WebCore/page/FrameView.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/page/FrameView.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -735,7 +735,7 @@
void FrameView::applyPaginationToViewport()
{
Document* document = frame().document();
- auto documentElement = document->documentElement();
+ auto* documentElement = document->documentElement();
RenderElement* documentRenderer = documentElement ? documentElement->renderer() : nullptr;
RenderElement* documentOrBodyRenderer = documentRenderer;
auto* body = document->body();
@@ -784,7 +784,7 @@
if (!document)
return;
- auto documentElement = document->documentElement();
+ auto* documentElement = document->documentElement();
if (!documentElement)
return;
@@ -2858,8 +2858,8 @@
if (!document)
return ExtendedBackgroundModeNone;
- auto documentElement = document->documentElement();
- auto documentElementRenderer = documentElement ? documentElement->renderer() : nullptr;
+ auto* documentElement = document->documentElement();
+ auto* documentElementRenderer = documentElement ? documentElement->renderer() : nullptr;
if (!documentElementRenderer)
return ExtendedBackgroundModeNone;
@@ -4174,7 +4174,8 @@
// Require the document to grow a bit.
static const int documentHeightThreshold = 200;
- if (documentElement->renderBox()->layoutOverflowRect().pixelSnappedSize().height() < documentHeightThreshold)
+ LayoutRect overflowRect = documentElement->renderBox()->layoutOverflowRect();
+ if (snappedIntRect(overflowRect).height() < documentHeightThreshold)
return false;
// The first few hundred characters rarely contain the interesting content of the page.
Modified: trunk/Source/WebCore/page/PrintContext.cpp (188432 => 188433)
--- trunk/Source/WebCore/page/PrintContext.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/page/PrintContext.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -250,8 +250,8 @@
scaledPageSize.scale(frame->view()->contentsSize().width() / pageRect.width());
printContext.computePageRectsWithPageSize(scaledPageSize, false);
- int top = box->pixelSnappedOffsetTop();
- int left = box->pixelSnappedOffsetLeft();
+ int top = roundToInt(box->offsetTop());
+ int left = roundToInt(box->offsetLeft());
size_t pageNumber = 0;
for (; pageNumber < printContext.pageCount(); pageNumber++) {
const IntRect& page = printContext.pageRect(pageNumber);
Modified: trunk/Source/WebCore/platform/graphics/LayoutRect.h (188432 => 188433)
--- trunk/Source/WebCore/platform/graphics/LayoutRect.h 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/platform/graphics/LayoutRect.h 2015-08-14 04:34:31 UTC (rev 188433)
@@ -55,8 +55,6 @@
LayoutPoint location() const { return m_location; }
LayoutSize size() const { return m_size; }
- IntSize pixelSnappedSize() const { return snappedIntSize(m_size, m_location); }
-
void setLocation(const LayoutPoint& location) { m_location = location; }
void setSize(const LayoutSize& size) { m_size = size; }
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (188432 => 188433)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2015-08-14 04:34:31 UTC (rev 188433)
@@ -676,7 +676,7 @@
[m_videoLayer addObserver:m_objcObserver.get() forKeyPath:@"readyForDisplay" options:NSKeyValueObservingOptionNew context:(void *)MediaPlayerAVFoundationObservationContextAVPlayerLayer];
updateVideoLayerGravity();
[m_videoLayer setContentsScale:player()->client().mediaPlayerContentsScale()];
- IntSize defaultSize = player()->client().mediaPlayerContentBoxRect().pixelSnappedSize();
+ IntSize defaultSize = snappedIntRect(player()->client().mediaPlayerContentBoxRect()).size();
LOG(Media, "MediaPlayerPrivateAVFoundationObjC::createVideoLayer(%p) - returning %p", this, m_videoLayer.get());
#if PLATFORM(IOS)
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -571,30 +571,6 @@
return height() - borderTop() - borderBottom() - horizontalScrollbarHeight();
}
-int RenderBox::pixelSnappedClientWidth() const
-{
- // FIXME: This should use snappedIntSize() instead with absolute coordinates.
- return roundToInt(clientWidth());
-}
-
-int RenderBox::pixelSnappedClientHeight() const
-{
- // FIXME: This should use snappedIntSize() instead with absolute coordinates.
- return roundToInt(clientHeight());
-}
-
-int RenderBox::pixelSnappedOffsetWidth() const
-{
- // FIXME: This should use snappedIntSize() instead with absolute coordinates.
- return roundToInt(offsetWidth());
-}
-
-int RenderBox::pixelSnappedOffsetHeight() const
-{
- // FIXME: This should use snappedIntSize() instead with absolute coordinates.
- return roundToInt(offsetHeight());
-}
-
int RenderBox::scrollWidth() const
{
if (hasOverflowClip())
Modified: trunk/Source/WebCore/rendering/RenderBox.h (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderBox.h 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderBox.h 2015-08-14 04:34:31 UTC (rev 188433)
@@ -90,9 +90,6 @@
LayoutUnit constrainLogicalHeightByMinMax(LayoutUnit logicalHeight, LayoutUnit intrinsicContentHeight) const;
LayoutUnit constrainContentBoxLogicalHeightByMinMax(LayoutUnit logicalHeight, LayoutUnit intrinsicContentHeight) const;
- int pixelSnappedLogicalHeight() const { return style().isHorizontalWritingMode() ? pixelSnappedSize().height() : pixelSnappedSize().width(); }
- int pixelSnappedLogicalWidth() const { return style().isHorizontalWritingMode() ? pixelSnappedSize().width() : pixelSnappedSize().height(); }
-
void setLogicalLeft(LayoutUnit left)
{
if (style().isHorizontalWritingMode())
@@ -139,7 +136,6 @@
LayoutPoint location() const { return m_frameRect.location(); }
LayoutSize locationOffset() const { return LayoutSize(x(), y()); }
LayoutSize size() const { return m_frameRect.size(); }
- IntSize pixelSnappedSize() const { return m_frameRect.pixelSnappedSize(); }
void setLocation(const LayoutPoint& location) { m_frameRect.setLocation(location); }
@@ -157,8 +153,7 @@
}
LayoutRect borderBoxRect() const { return LayoutRect(LayoutPoint(), size()); }
LayoutRect paddingBoxRect() const { return LayoutRect(borderLeft(), borderTop(), contentWidth() + paddingLeft() + paddingRight(), contentHeight() + paddingTop() + paddingBottom()); }
- IntRect pixelSnappedBorderBoxRect() const { return IntRect(IntPoint(), pixelSnappedSize()); }
- virtual IntRect borderBoundingBox() const override final { return pixelSnappedBorderBoxRect(); }
+ virtual IntRect borderBoundingBox() const override final { return enclosingIntRect(borderBoxRect()); }
WEBCORE_EXPORT RoundedRect::Radii borderRadii() const;
@@ -224,9 +219,6 @@
virtual LayoutUnit offsetWidth() const override { return width(); }
virtual LayoutUnit offsetHeight() const override { return height(); }
- virtual int pixelSnappedOffsetWidth() const override final;
- virtual int pixelSnappedOffsetHeight() const override final;
-
// More IE extensions. clientWidth and clientHeight represent the interior of an object
// excluding border and scrollbar. clientLeft/Top are just the borderLeftWidth and borderTopWidth.
LayoutUnit clientLeft() const { return borderLeft(); }
@@ -238,9 +230,6 @@
LayoutUnit clientLogicalBottom() const { return borderBefore() + clientLogicalHeight(); }
LayoutRect clientBoxRect() const { return LayoutRect(clientLeft(), clientTop(), clientWidth(), clientHeight()); }
- int pixelSnappedClientWidth() const;
- int pixelSnappedClientHeight() const;
-
// scrollWidth/scrollHeight will be the same as clientWidth/clientHeight unless the
// object has overflow:hidden/scroll/auto specified and also has overflow.
// scrollLeft/Top return the current scroll position. These methods are virtual so that objects like
Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -499,18 +499,6 @@
return adjustedPositionRelativeToOffsetParent(LayoutPoint()).y();
}
-int RenderBoxModelObject::pixelSnappedOffsetWidth() const
-{
- // FIXME: This should use snappedIntSize() instead with absolute coordinates.
- return roundToInt(offsetWidth());
-}
-
-int RenderBoxModelObject::pixelSnappedOffsetHeight() const
-{
- // FIXME: This should use snappedIntSize() instead with absolute coordinates.
- return roundToInt(offsetHeight());
-}
-
LayoutUnit RenderBoxModelObject::computedCSSPadding(const Length& padding) const
{
LayoutUnit w = 0;
Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.h (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderBoxModelObject.h 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.h 2015-08-14 04:34:31 UTC (rev 188433)
@@ -125,11 +125,6 @@
virtual LayoutUnit offsetWidth() const = 0;
virtual LayoutUnit offsetHeight() const = 0;
- int pixelSnappedOffsetLeft() const { return roundToInt(offsetLeft()); }
- int pixelSnappedOffsetTop() const { return roundToInt(offsetTop()); }
- virtual int pixelSnappedOffsetWidth() const;
- virtual int pixelSnappedOffsetHeight() const;
-
virtual void updateFromStyle() override;
virtual bool requiresLayer() const override { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection(); }
Modified: trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -95,13 +95,13 @@
static int nodeWidth(Node* node)
{
- return (node && node->renderBox()) ? node->renderBox()->pixelSnappedSize().width() : 0;
+ return (node && node->renderBox()) ? roundToInt(node->renderBox()->size().width()) : 0;
}
#if PLATFORM(IOS)
static int nodeHeight(Node* node)
{
- return (node && node->renderBox()) ? node->renderBox()->pixelSnappedSize().height() : 0;
+ return (node && node->renderBox()) ? roundToInt(node->renderBox()->size().height()) : 0;
}
#endif
@@ -110,7 +110,7 @@
#if PLATFORM(IOS)
int iconWidth = nodeHeight(uploadButton());
#endif
- return std::max(0, contentBoxRect().pixelSnappedSize().width() - nodeWidth(uploadButton()) - afterButtonSpacing
+ return std::max(0, snappedIntRect(contentBoxRect()).width() - nodeWidth(uploadButton()) - afterButtonSpacing
- (inputElement().icon() ? iconWidth + iconFilenameSpacing : 0));
}
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -1313,7 +1313,7 @@
localPoint += inlineBoundingBoxOffset;
} else if (RenderBox* box = renderBox()) {
// FIXME: Is snapping the size really needed here for the RenderBox case?
- setSize(box->pixelSnappedSize());
+ setSize(snappedIntRect(box->frameRect()).size());
box->applyTopLeftLocationOffset(localPoint);
}
@@ -1375,25 +1375,26 @@
TransformationMatrix RenderLayer::perspectiveTransform() const
{
- if (!renderer().hasTransformRelatedProperty())
+ RenderBox* box = renderBox();
+ if (!box)
return TransformationMatrix();
+
+ if (!box->hasTransformRelatedProperty())
+ return TransformationMatrix();
- const RenderStyle& style = renderer().style();
+ const RenderStyle& style = box->style();
if (!style.hasPerspective())
return TransformationMatrix();
// Maybe fetch the perspective from the backing?
- const IntRect borderBox = downcast<RenderBox>(renderer()).pixelSnappedBorderBoxRect();
- const float boxWidth = borderBox.width();
- const float boxHeight = borderBox.height();
+ const FloatRect borderBox = snapRectToDevicePixels(box->borderBoxRect(), box->document().deviceScaleFactor());
+ float perspectiveOriginX = floatValueForLength(style.perspectiveOriginX(), borderBox.width());
+ float perspectiveOriginY = floatValueForLength(style.perspectiveOriginY(), borderBox.height());
- float perspectiveOriginX = floatValueForLength(style.perspectiveOriginX(), boxWidth);
- float perspectiveOriginY = floatValueForLength(style.perspectiveOriginY(), boxHeight);
-
// A perspective origin of 0,0 makes the vanishing point in the center of the element.
// We want it to be in the top-left, so subtract half the height and width.
- perspectiveOriginX -= boxWidth / 2.0f;
- perspectiveOriginY -= boxHeight / 2.0f;
+ perspectiveOriginX -= borderBox.width() / 2.0f;
+ perspectiveOriginY -= borderBox.height() / 2.0f;
TransformationMatrix t;
t.translate(perspectiveOriginX, perspectiveOriginY);
@@ -2318,8 +2319,8 @@
RenderBox* box = renderBox();
ASSERT(box);
- int maxX = scrollWidth() - box->pixelSnappedClientWidth();
- int maxY = scrollHeight() - box->pixelSnappedClientHeight();
+ int maxX = scrollWidth() - roundToInt(box->clientWidth());
+ int maxY = scrollHeight() - roundToInt(box->clientHeight());
int x = std::max(std::min(scrollOffset.width(), maxX), 0);
int y = std::max(std::min(scrollOffset.height(), maxY), 0);
@@ -2888,10 +2889,11 @@
IntSize RenderLayer::visibleSize() const
{
- if (!renderer().isBox())
+ RenderBox* box = renderBox();
+ if (!box)
return IntSize();
- return IntSize(renderBox()->pixelSnappedClientWidth(), renderBox()->pixelSnappedClientHeight());
+ return IntSize(roundToInt(box->clientWidth()), roundToInt(box->clientHeight()));
}
IntSize RenderLayer::contentsSize() const
@@ -3264,7 +3266,7 @@
if (!box)
return;
- const IntRect borderBox = box->pixelSnappedBorderBoxRect();
+ const IntRect borderBox = snappedIntRect(box->borderBoxRect());
const IntRect& scrollCorner = scrollCornerRect();
IntRect absBounds(borderBox.location() + offsetFromRoot, borderBox.size());
if (m_vBar) {
@@ -3367,14 +3369,14 @@
{
ASSERT(!m_scrollDimensionsDirty);
- return scrollWidth() > renderBox()->pixelSnappedClientWidth();
+ return scrollWidth() > roundToInt(renderBox()->clientWidth());
}
bool RenderLayer::hasVerticalOverflow() const
{
ASSERT(!m_scrollDimensionsDirty);
- return scrollHeight() > renderBox()->pixelSnappedClientHeight();
+ return scrollHeight() > roundToInt(renderBox()->clientHeight());
}
static bool styleRequiresScrollbar(const RenderStyle& style, ScrollbarOrientation axis)
@@ -3447,13 +3449,13 @@
// Set up the range (and page step/line step).
if (m_hBar) {
- int clientWidth = box->pixelSnappedClientWidth();
+ int clientWidth = roundToInt(box->clientWidth());
int pageStep = Scrollbar::pageStep(clientWidth);
m_hBar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep);
m_hBar->setProportion(clientWidth, m_scrollSize.width().round());
}
if (m_vBar) {
- int clientHeight = box->pixelSnappedClientHeight();
+ int clientHeight = roundToInt(box->clientHeight());
int pageStep = Scrollbar::pageStep(clientHeight);
m_vBar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep);
m_vBar->setProportion(clientHeight, m_scrollSize.height().round());
@@ -3511,7 +3513,7 @@
bool RenderLayer::overflowControlsIntersectRect(const IntRect& localRect) const
{
- const IntRect borderBox = renderBox()->pixelSnappedBorderBoxRect();
+ const IntRect borderBox = snappedIntRect(renderBox()->borderBoxRect());
if (rectForHorizontalScrollbar(borderBox).intersects(localRect))
return true;
@@ -3705,7 +3707,7 @@
IntPoint localPoint = roundedIntPoint(absoluteToContents(absolutePoint));
- IntRect localBounds(IntPoint(), box->pixelSnappedSize());
+ IntRect localBounds(IntPoint(), snappedIntRect(box->frameRect()).size());
return resizerCornerRect(this, localBounds).contains(localPoint);
}
Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -952,8 +952,7 @@
// FIXME: need to do some pixel snapping here.
m_scrollingLayer->setPosition(FloatPoint(paddingBox.location() - localCompositingBounds.location()));
- IntSize pixelSnappedClientSize(renderBox.pixelSnappedClientWidth(), renderBox.pixelSnappedClientHeight());
- m_scrollingLayer->setSize(pixelSnappedClientSize);
+ m_scrollingLayer->setSize(roundedIntSize(LayoutSize(renderBox.clientWidth(), renderBox.clientHeight())));
#if PLATFORM(IOS)
FloatSize oldScrollingLayerOffset = m_scrollingLayer->offsetFromRenderer();
m_scrollingLayer->setOffsetFromRenderer(FloatPoint() - paddingBox.location());
@@ -1343,7 +1342,7 @@
if (!m_owningLayer.hasScrollbars())
return;
- const IntRect borderBox = downcast<RenderBox>(renderer()).pixelSnappedBorderBoxRect();
+ const IntRect borderBox = snappedIntRect(renderBox()->borderBoxRect());
FloatSize offsetFromRenderer = m_graphicsLayer->offsetFromRenderer();
if (GraphicsLayer* layer = layerForHorizontalScrollbar()) {
@@ -2522,7 +2521,7 @@
bool didAnimate = false;
- if (hasTransform && m_graphicsLayer->addAnimation(transformVector, downcast<RenderBox>(renderer()).pixelSnappedBorderBoxRect().size(), anim, keyframes.animationName(), timeOffset))
+ if (hasTransform && m_graphicsLayer->addAnimation(transformVector, snappedIntRect(renderBox()->borderBoxRect()).size(), anim, keyframes.animationName(), timeOffset))
didAnimate = true;
if (hasOpacity && m_graphicsLayer->addAnimation(opacityVector, IntSize(), anim, keyframes.animationName(), timeOffset))
@@ -2576,7 +2575,7 @@
KeyframeValueList transformVector(AnimatedPropertyTransform);
transformVector.insert(std::make_unique<TransformAnimationValue>(0, fromStyle->transform()));
transformVector.insert(std::make_unique<TransformAnimationValue>(1, toStyle->transform()));
- if (m_graphicsLayer->addAnimation(transformVector, downcast<RenderBox>(renderer()).pixelSnappedBorderBoxRect().size(), transformAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyTransform), timeOffset)) {
+ if (m_graphicsLayer->addAnimation(transformVector, snappedIntRect(renderBox()->borderBoxRect()).size(), transformAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyTransform), timeOffset)) {
// To ensure that the correct transform is visible when the animation ends, also set the final transform.
updateTransform(*toStyle);
didAnimate = true;
Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.h (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderLayerBacking.h 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.h 2015-08-14 04:34:31 UTC (rev 188433)
@@ -255,6 +255,7 @@
std::unique_ptr<GraphicsLayer> createGraphicsLayer(const String&, GraphicsLayer::Type = GraphicsLayer::Type::Normal);
RenderLayerModelObject& renderer() const { return m_owningLayer.renderer(); }
+ RenderBox* renderBox() const { return m_owningLayer.renderBox(); }
RenderLayerCompositor& compositor() const { return m_owningLayer.compositor(); }
void updateInternalHierarchy();
Modified: trunk/Source/WebCore/rendering/RenderListBox.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderListBox.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderListBox.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -640,12 +640,12 @@
int RenderListBox::scrollWidth() const
{
// There is no horizontal scrolling allowed.
- return pixelSnappedClientWidth();
+ return roundToInt(clientWidth());
}
int RenderListBox::scrollHeight() const
{
- return std::max(pixelSnappedClientHeight(), roundToInt(listHeight()));
+ return roundToInt(std::max(clientHeight(), listHeight()));
}
int RenderListBox::scrollLeft() const
Modified: trunk/Source/WebCore/rendering/RenderMediaControlElements.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderMediaControlElements.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderMediaControlElements.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -54,7 +54,7 @@
// If the slider would be rendered outside the page, it should be moved below the controls.
if (UNLIKELY(absoluteOffsetTop < 0))
- setY(buttonBox.offsetTop() + theme().volumeSliderOffsetFromMuteButton(buttonBox, pixelSnappedSize()).y());
+ setY(buttonBox.offsetTop() + theme().volumeSliderOffsetFromMuteButton(buttonBox, size()).y());
}
// ----------------------------
Modified: trunk/Source/WebCore/rendering/RenderScrollbar.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderScrollbar.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderScrollbar.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -269,7 +269,7 @@
partRenderer->layout();
bool isHorizontal = orientation() == HorizontalScrollbar;
- IntSize pixelSnappedIntSize = partRenderer->pixelSnappedSize();
+ IntSize pixelSnappedIntSize = snappedIntRect(partRenderer->frameRect()).size();
if (partType == BackButtonStartPart)
return IntRect(location(), IntSize(isHorizontal ? pixelSnappedIntSize.width() : width(), isHorizontal ? height() : pixelSnappedIntSize.height()));
if (partType == ForwardButtonEndPart)
Modified: trunk/Source/WebCore/rendering/RenderTable.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderTable.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderTable.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -638,7 +638,7 @@
int bottomBorderOverflow = height() + outerBorderBottom() - borderBottom();
int topBorderOverflow = borderTop() - outerBorderTop();
IntRect borderOverflowRect(leftBorderOverflow, topBorderOverflow, rightBorderOverflow - leftBorderOverflow, bottomBorderOverflow - topBorderOverflow);
- if (borderOverflowRect != pixelSnappedBorderBoxRect()) {
+ if (borderOverflowRect != snappedIntRect(borderBoxRect())) {
addLayoutOverflow(borderOverflowRect);
addVisualOverflow(borderOverflowRect);
}
Modified: trunk/Source/WebCore/rendering/RenderTableCell.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderTableCell.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderTableCell.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -201,7 +201,7 @@
{
int oldIntrinsicPaddingBefore = intrinsicPaddingBefore();
int oldIntrinsicPaddingAfter = intrinsicPaddingAfter();
- int logicalHeightWithoutIntrinsicPadding = pixelSnappedLogicalHeight() - oldIntrinsicPaddingBefore - oldIntrinsicPaddingAfter;
+ int logicalHeightWithoutIntrinsicPadding = roundToInt(logicalHeight()) - oldIntrinsicPaddingBefore - oldIntrinsicPaddingAfter;
int intrinsicPaddingBefore = 0;
switch (style().verticalAlign()) {
@@ -1194,7 +1194,7 @@
LayoutRect localRepaintRect = paintInfo.rect;
localRepaintRect.inflate(maximalOutlineSize(paintInfo.phase));
- LayoutRect paintRect = LayoutRect(paintOffset + location(), pixelSnappedSize());
+ LayoutRect paintRect = LayoutRect(paintOffset + location(), snappedIntRect(frameRect()).size());
if (paintRect.y() - table()->outerBorderTop() >= localRepaintRect.maxY())
return;
@@ -1281,7 +1281,7 @@
width() - borderLeft() - borderRight(), height() - borderTop() - borderBottom());
paintInfo.context->clip(clipRect);
}
- paintFillLayers(paintInfo, c, bgLayer, LayoutRect(adjustedPaintOffset, pixelSnappedSize()), BackgroundBleedNone, CompositeSourceOver, backgroundObject);
+ paintFillLayers(paintInfo, c, bgLayer, LayoutRect(adjustedPaintOffset, snappedIntRect(frameRect()).size()), BackgroundBleedNone, CompositeSourceOver, backgroundObject);
}
}
@@ -1294,7 +1294,7 @@
if (!tableElt->collapseBorders() && style().emptyCells() == HIDE && !firstChild())
return;
- LayoutRect paintRect = LayoutRect(paintOffset, pixelSnappedSize());
+ LayoutRect paintRect = LayoutRect(paintOffset, snappedIntRect(frameRect()).size());
paintBoxShadow(paintInfo, paintRect, style(), Normal);
// Paint our cell background.
@@ -1317,7 +1317,7 @@
if (!tableElt->collapseBorders() && style().emptyCells() == HIDE && !firstChild())
return;
- paintMaskImages(paintInfo, LayoutRect(paintOffset, pixelSnappedSize()));
+ paintMaskImages(paintInfo, LayoutRect(paintOffset, snappedIntRect(frameRect()).size()));
}
bool RenderTableCell::boxShadowShouldBeAppliedToBackground(const LayoutPoint&, BackgroundBleedAvoidance, InlineFlowBox*) const
Modified: trunk/Source/WebCore/rendering/RenderTableCell.h (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderTableCell.h 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderTableCell.h 2015-08-14 04:34:31 UTC (rev 188433)
@@ -283,7 +283,7 @@
inline int RenderTableCell::logicalHeightForRowSizing() const
{
// FIXME: This function does too much work, and is very hot during table layout!
- int adjustedLogicalHeight = pixelSnappedLogicalHeight() - (intrinsicPaddingBefore() + intrinsicPaddingAfter());
+ int adjustedLogicalHeight = roundToInt(logicalHeight()) - (intrinsicPaddingBefore() + intrinsicPaddingAfter());
int styleLogicalHeight = valueForLength(style().logicalHeight(), 0);
// In strict mode, box-sizing: content-box do the right thing and actually add in the border and padding.
// Call computedCSSPadding* directly to avoid including implicitPadding.
Modified: trunk/Source/WebCore/rendering/RenderTheme.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderTheme.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderTheme.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -552,13 +552,13 @@
return formatMediaControlsTime(currentTime - duration);
}
-IntPoint RenderTheme::volumeSliderOffsetFromMuteButton(const RenderBox& muteButtonBox, const IntSize& size) const
+LayoutPoint RenderTheme::volumeSliderOffsetFromMuteButton(const RenderBox& muteButtonBox, const LayoutSize& size) const
{
- int y = -size.height();
- FloatPoint absPoint = muteButtonBox.localToAbsolute(FloatPoint(muteButtonBox.pixelSnappedOffsetLeft(), y), IsFixed | UseTransforms);
+ LayoutUnit y = -size.height();
+ FloatPoint absPoint = muteButtonBox.localToAbsolute(FloatPoint(muteButtonBox.offsetLeft(), y), IsFixed | UseTransforms);
if (absPoint.y() < 0)
y = muteButtonBox.height();
- return IntPoint(0, y);
+ return LayoutPoint(0, y);
}
#endif
Modified: trunk/Source/WebCore/rendering/RenderTheme.h (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderTheme.h 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderTheme.h 2015-08-14 04:34:31 UTC (rev 188433)
@@ -209,7 +209,7 @@
virtual String formatMediaControlsRemainingTime(float currentTime, float duration) const;
// Returns the media volume slider container's offset from the mute button.
- virtual IntPoint volumeSliderOffsetFromMuteButton(const RenderBox&, const IntSize&) const;
+ virtual LayoutPoint volumeSliderOffsetFromMuteButton(const RenderBox&, const LayoutSize&) const;
#endif
#if ENABLE(METER_ELEMENT)
Modified: trunk/Source/WebCore/rendering/RenderThemeMac.mm (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderThemeMac.mm 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.mm 2015-08-14 04:34:31 UTC (rev 188433)
@@ -1712,7 +1712,7 @@
float zoomLevel = o.style().effectiveZoom();
- FloatRect localBounds = [search cancelButtonRectForBounds:NSRect(input->renderBox()->pixelSnappedBorderBoxRect())];
+ FloatRect localBounds = [search cancelButtonRectForBounds:NSRect(snappedIntRect(input->renderBox()->borderBoxRect()))];
localBounds = convertToPaintingRect(*input->renderer(), o, localBounds, r);
FloatRect unzoomedRect(localBounds);
@@ -1787,7 +1787,7 @@
if ([search searchMenuTemplate] != nil)
[search setSearchMenuTemplate:nil];
- FloatRect localBounds = [search searchButtonRectForBounds:NSRect(input->renderBox()->pixelSnappedBorderBoxRect())];
+ FloatRect localBounds = [search searchButtonRectForBounds:NSRect(snappedIntRect(input->renderBox()->borderBoxRect()))];
localBounds = convertToPaintingRect(*input->renderer(), o, localBounds, r);
[[search searchButtonCell] drawWithFrame:localBounds inView:documentViewFor(o)];
@@ -1823,7 +1823,7 @@
GraphicsContextStateSaver stateSaver(*paintInfo.context);
float zoomLevel = o.style().effectiveZoom();
- FloatRect localBounds = [search searchButtonRectForBounds:NSRect(input->renderBox()->pixelSnappedBorderBoxRect())];
+ FloatRect localBounds = [search searchButtonRectForBounds:NSRect(snappedIntRect(input->renderBox()->borderBoxRect()))];
localBounds = convertToPaintingRect(*input->renderer(), o, localBounds, r);
IntRect unzoomedRect(localBounds);
Modified: trunk/Source/WebCore/rendering/RenderTreeAsText.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/RenderTreeAsText.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/RenderTreeAsText.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -615,9 +615,9 @@
ts << " scrollX " << l.scrollXOffset();
if (l.scrollYOffset())
ts << " scrollY " << l.scrollYOffset();
- if (l.renderBox() && l.renderBox()->pixelSnappedClientWidth() != l.scrollWidth())
+ if (l.renderBox() && roundToInt(l.renderBox()->clientWidth()) != l.scrollWidth())
ts << " scrollWidth " << l.scrollWidth();
- if (l.renderBox() && l.renderBox()->pixelSnappedClientHeight() != l.scrollHeight())
+ if (l.renderBox() && roundToInt(l.renderBox()->clientHeight()) != l.scrollHeight())
ts << " scrollHeight " << l.scrollHeight();
}
Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLFraction.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/mathml/RenderMathMLFraction.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLFraction.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -155,8 +155,7 @@
info.context->setStrokeThickness(m_lineThickness);
info.context->setStrokeStyle(SolidStroke);
info.context->setStrokeColor(style().visitedDependentColor(CSSPropertyColor), ColorSpaceSRGB);
-
- info.context->drawLine(adjustedPaintOffset, IntPoint(adjustedPaintOffset.x() + denominatorWrapper->pixelSnappedOffsetWidth(), adjustedPaintOffset.y()));
+ info.context->drawLine(adjustedPaintOffset, roundedIntPoint(LayoutPoint(adjustedPaintOffset.x() + denominatorWrapper->offsetWidth(), adjustedPaintOffset.y())));
}
Optional<int> RenderMathMLFraction::firstLineBaseline() const
Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -337,7 +337,7 @@
// The preferred width of the radical is sometimes incorrect, so we draw a slightly longer line to ensure it touches the radical symbol (https://bugs.webkit.org/show_bug.cgi?id=130326).
LayoutUnit sizeError = radical->trailingSpaceError();
IntPoint adjustedPaintOffset = roundedIntPoint(paintOffset + location() + base->location() + LayoutPoint(-sizeError, -(m_verticalGap + m_ruleThickness / 2)));
- info.context->drawLine(adjustedPaintOffset, IntPoint(adjustedPaintOffset.x() + base->pixelSnappedOffsetWidth() + sizeError, adjustedPaintOffset.y()));
+ info.context->drawLine(adjustedPaintOffset, roundedIntPoint(LayoutPoint(adjustedPaintOffset.x() + base->offsetWidth() + sizeError, adjustedPaintOffset.y())));
}
RenderPtr<RenderMathMLRootWrapper> RenderMathMLRootWrapper::createAnonymousWrapper(RenderMathMLRoot* renderObject)
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp (188432 => 188433)
--- trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2015-08-14 03:54:32 UTC (rev 188432)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2015-08-14 04:34:31 UTC (rev 188433)
@@ -224,7 +224,7 @@
void RenderSVGRoot::paintReplaced(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
{
// An empty viewport disables rendering.
- if (pixelSnappedBorderBoxRect().isEmpty())
+ if (borderBoxRect().isEmpty())
return;
// Don't paint, if the context explicitly disabled it.
@@ -357,7 +357,7 @@
// Apply initial viewport clip
if (shouldApplyViewportClip())
- repaintRect.intersect(pixelSnappedBorderBoxRect());
+ repaintRect.intersect(snappedIntRect(borderBoxRect()));
if (m_hasBoxDecorations || hasRenderOverflow()) {
// The selectionRect can project outside of the overflowRect, so take their union