Title: [188433] trunk/Source/WebCore
Revision
188433
Author
[email protected]
Date
2015-08-13 21:34:31 -0700 (Thu, 13 Aug 2015)

Log Message

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):

Modified Paths

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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to