Title: [160763] trunk/Source/WebCore
Revision
160763
Author
[email protected]
Date
2013-12-18 07:02:45 -0800 (Wed, 18 Dec 2013)

Log Message

RenderElement-ize adjustForAbsoluteZoom() and friends.
<https://webkit.org/b/125921>

Make adjustForAbsoluteZoom() take a const RenderElement& instead
of a RenderObject* so we can avoid the extra branch in style().
All call sites already had RenderElements.

Reviewed by Antti Koivisto.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (160762 => 160763)


--- trunk/Source/WebCore/ChangeLog	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/ChangeLog	2013-12-18 15:02:45 UTC (rev 160763)
@@ -1,3 +1,14 @@
+2013-12-18  Andreas Kling  <[email protected]>
+
+        RenderElement-ize adjustForAbsoluteZoom() and friends.
+        <https://webkit.org/b/125921>
+
+        Make adjustForAbsoluteZoom() take a const RenderElement& instead
+        of a RenderObject* so we can avoid the extra branch in style().
+        All call sites already had RenderElements.
+
+        Reviewed by Antti Koivisto.
+
 2013-12-18  Chris Fleizach  <[email protected]>
 
         AX: HTML spec change indicates @aria-required should trump @required on any element

Modified: trunk/Source/WebCore/css/MediaQueryEvaluator.cpp (160762 => 160763)


--- trunk/Source/WebCore/css/MediaQueryEvaluator.cpp	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/css/MediaQueryEvaluator.cpp	2013-12-18 15:02:45 UTC (rev 160763)
@@ -396,7 +396,7 @@
     if (value) {
         int height = view->layoutHeight();
         if (RenderView* renderView = frame->document()->renderView())
-            height = adjustForAbsoluteZoom(height, renderView);
+            height = adjustForAbsoluteZoom(height, *renderView);
         RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
         int length;
         return computeLength(value, !frame->document()->inQuirksMode(), style, rootStyle, length) && compareValue(height, length, op);
@@ -414,7 +414,7 @@
     if (value) {
         int width = view->layoutWidth();
         if (RenderView* renderView = frame->document()->renderView())
-            width = adjustForAbsoluteZoom(width, renderView);
+            width = adjustForAbsoluteZoom(width, *renderView);
         RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
         int length;
         return computeLength(value, !frame->document()->inQuirksMode(), style, rootStyle, length) && compareValue(width, length, op);

Modified: trunk/Source/WebCore/dom/Element.cpp (160762 => 160763)


--- trunk/Source/WebCore/dom/Element.cpp	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-12-18 15:02:45 UTC (rev 160763)
@@ -701,9 +701,9 @@
     document().updateLayoutIgnorePendingStylesheets();
     if (RenderBoxModelObject* renderer = renderBoxModelObject())
 #if ENABLE(SUBPIXEL_LAYOUT)
-        return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedOffsetWidth(), renderer).round();
+        return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedOffsetWidth(), *renderer).round();
 #else
-        return adjustForAbsoluteZoom(renderer->pixelSnappedOffsetWidth(), renderer);
+        return adjustForAbsoluteZoom(renderer->pixelSnappedOffsetWidth(), *renderer);
 #endif
     return 0;
 }
@@ -713,9 +713,9 @@
     document().updateLayoutIgnorePendingStylesheets();
     if (RenderBoxModelObject* renderer = renderBoxModelObject())
 #if ENABLE(SUBPIXEL_LAYOUT)
-        return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedOffsetHeight(), renderer).round();
+        return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedOffsetHeight(), *renderer).round();
 #else
-        return adjustForAbsoluteZoom(renderer->pixelSnappedOffsetHeight(), renderer);
+        return adjustForAbsoluteZoom(renderer->pixelSnappedOffsetHeight(), *renderer);
 #endif
     return 0;
 }
@@ -745,7 +745,7 @@
     document().updateLayoutIgnorePendingStylesheets();
 
     if (RenderBox* renderer = renderBox())
-        return adjustForAbsoluteZoom(roundToInt(renderer->clientLeft()), renderer);
+        return adjustForAbsoluteZoom(roundToInt(renderer->clientLeft()), *renderer);
     return 0;
 }
 
@@ -754,7 +754,7 @@
     document().updateLayoutIgnorePendingStylesheets();
 
     if (RenderBox* renderer = renderBox())
-        return adjustForAbsoluteZoom(roundToInt(renderer->clientTop()), renderer);
+        return adjustForAbsoluteZoom(roundToInt(renderer->clientTop()), *renderer);
     return 0;
 }
 
@@ -770,13 +770,13 @@
     // When in quirks mode, clientWidth for the body element should return the width of the containing frame.
     bool inQuirksMode = document().inQuirksMode();
     if ((!inQuirksMode && document().documentElement() == this) || (inQuirksMode && isHTMLElement() && document().body() == this))
-        return adjustForAbsoluteZoom(renderView.frameView().layoutWidth(), &renderView);
+        return adjustForAbsoluteZoom(renderView.frameView().layoutWidth(), renderView);
     
     if (RenderBox* renderer = renderBox())
 #if ENABLE(SUBPIXEL_LAYOUT)
-        return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedClientWidth(), renderer).round();
+        return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedClientWidth(), *renderer).round();
 #else
-        return adjustForAbsoluteZoom(renderer->pixelSnappedClientWidth(), renderer);
+        return adjustForAbsoluteZoom(renderer->pixelSnappedClientWidth(), *renderer);
 #endif
     return 0;
 }
@@ -793,13 +793,13 @@
     // When in quirks mode, clientHeight for the body element should return the height of the containing frame.
     bool inQuirksMode = document().inQuirksMode();
     if ((!inQuirksMode && document().documentElement() == this) || (inQuirksMode && isHTMLElement() && document().body() == this))
-        return adjustForAbsoluteZoom(renderView.frameView().layoutHeight(), &renderView);
+        return adjustForAbsoluteZoom(renderView.frameView().layoutHeight(), renderView);
 
     if (RenderBox* renderer = renderBox())
 #if ENABLE(SUBPIXEL_LAYOUT)
-        return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedClientHeight(), renderer).round();
+        return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedClientHeight(), *renderer).round();
 #else
-        return adjustForAbsoluteZoom(renderer->pixelSnappedClientHeight(), renderer);
+        return adjustForAbsoluteZoom(renderer->pixelSnappedClientHeight(), *renderer);
 #endif
     return 0;
 }
@@ -816,10 +816,10 @@
     RenderView& renderView = *document().renderView();
 
     if (document().documentElement() == this)
-        return adjustForAbsoluteZoom(renderView.frameView().scrollX(), &renderView);
+        return adjustForAbsoluteZoom(renderView.frameView().scrollX(), renderView);
 
     if (RenderBox* rend = renderBox())
-        return adjustForAbsoluteZoom(rend->scrollLeft(), rend);
+        return adjustForAbsoluteZoom(rend->scrollLeft(), *rend);
     return 0;
 }
 
@@ -835,10 +835,10 @@
     RenderView& renderView = *document().renderView();
 
     if (document().documentElement() == this)
-        return adjustForAbsoluteZoom(renderView.frameView().scrollY(), &renderView);
+        return adjustForAbsoluteZoom(renderView.frameView().scrollY(), renderView);
 
     if (RenderBox* rend = renderBox())
-        return adjustForAbsoluteZoom(rend->scrollTop(), rend);
+        return adjustForAbsoluteZoom(rend->scrollTop(), *rend);
     return 0;
 }
 
@@ -888,7 +888,7 @@
 {
     document().updateLayoutIgnorePendingStylesheets();
     if (RenderBox* rend = renderBox())
-        return adjustForAbsoluteZoom(rend->scrollWidth(), rend);
+        return adjustForAbsoluteZoom(rend->scrollWidth(), *rend);
     return 0;
 }
 
@@ -896,7 +896,7 @@
 {
     document().updateLayoutIgnorePendingStylesheets();
     if (RenderBox* rend = renderBox())
-        return adjustForAbsoluteZoom(rend->scrollHeight(), rend);
+        return adjustForAbsoluteZoom(rend->scrollHeight(), *rend);
     return 0;
 }
 

Modified: trunk/Source/WebCore/html/HTMLImageElement.cpp (160762 => 160763)


--- trunk/Source/WebCore/html/HTMLImageElement.cpp	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/html/HTMLImageElement.cpp	2013-12-18 15:02:45 UTC (rev 160763)
@@ -265,7 +265,7 @@
         document().updateLayout();
 
     RenderBox* box = renderBox();
-    return box ? adjustForAbsoluteZoom(box->contentBoxRect().pixelSnappedWidth(), box) : 0;
+    return box ? adjustForAbsoluteZoom(box->contentBoxRect().pixelSnappedWidth(), *box) : 0;
 }
 
 int HTMLImageElement::height(bool ignorePendingStylesheets)
@@ -288,7 +288,7 @@
         document().updateLayout();
 
     RenderBox* box = renderBox();
-    return box ? adjustForAbsoluteZoom(box->contentBoxRect().pixelSnappedHeight(), box) : 0;
+    return box ? adjustForAbsoluteZoom(box->contentBoxRect().pixelSnappedHeight(), *box) : 0;
 }
 
 int HTMLImageElement::naturalWidth() const

Modified: trunk/Source/WebCore/html/ImageInputType.cpp (160762 => 160763)


--- trunk/Source/WebCore/html/ImageInputType.cpp	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/html/ImageInputType.cpp	2013-12-18 15:02:45 UTC (rev 160763)
@@ -192,7 +192,7 @@
     element->document().updateLayout();
 
     RenderBox* box = element->renderBox();
-    return box ? adjustForAbsoluteZoom(box->contentHeight(), box) : 0;
+    return box ? adjustForAbsoluteZoom(box->contentHeight(), *box) : 0;
 }
 
 unsigned ImageInputType::width() const
@@ -216,7 +216,7 @@
     element->document().updateLayout();
 
     RenderBox* box = element->renderBox();
-    return box ? adjustForAbsoluteZoom(box->contentWidth(), box) : 0;
+    return box ? adjustForAbsoluteZoom(box->contentWidth(), *box) : 0;
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/inspector/InspectorOverlay.cpp (160762 => 160763)


--- trunk/Source/WebCore/inspector/InspectorOverlay.cpp	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.cpp	2013-12-18 15:02:45 UTC (rev 160763)
@@ -661,8 +661,8 @@
     FrameView* containingView = containingFrame->view();
     IntRect boundingBox = pixelSnappedIntRect(containingView->contentsToRootView(renderer->absoluteBoundingBoxRect()));
     RenderBoxModelObject* modelObject = renderer->isBoxModelObject() ? toRenderBoxModelObject(renderer) : 0;
-    elementInfo->setString("nodeWidth", String::number(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetWidth(), modelObject) : boundingBox.width()));
-    elementInfo->setString("nodeHeight", String::number(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetHeight(), modelObject) : boundingBox.height()));
+    elementInfo->setString("nodeWidth", String::number(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetWidth(), *modelObject) : boundingBox.width()));
+    elementInfo->setString("nodeHeight", String::number(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetHeight(), *modelObject) : boundingBox.height()));
     
     if (renderer->isRenderNamedFlowFragmentContainer()) {
         RenderNamedFlowFragment* region = toRenderBlockFlow(renderer)->renderNamedFlowFragment();

Modified: trunk/Source/WebCore/rendering/RenderElement.h (160762 => 160763)


--- trunk/Source/WebCore/rendering/RenderElement.h	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/rendering/RenderElement.h	2013-12-18 15:02:45 UTC (rev 160763)
@@ -334,6 +334,18 @@
     return toRenderElement(Node::renderer());
 }
 
+inline int adjustForAbsoluteZoom(int value, const RenderElement& renderer)
+{
+    return adjustForAbsoluteZoom(value, renderer.style());
+}
+
+#if ENABLE(SUBPIXEL_LAYOUT)
+inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const RenderElement& renderer)
+{
+    return adjustLayoutUnitForAbsoluteZoom(value, renderer.style());
+}
+#endif
+
 } // namespace WebCore
 
 #endif // RenderElement_h

Modified: trunk/Source/WebCore/rendering/RenderObject.h (160762 => 160763)


--- trunk/Source/WebCore/rendering/RenderObject.h	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/rendering/RenderObject.h	2013-12-18 15:02:45 UTC (rev 160763)
@@ -1149,18 +1149,6 @@
     return m_bitfields.boxDecorationState() == HasBoxDecorationsAndBackgroundIsKnownToBeObscured;
 }
 
-inline int adjustForAbsoluteZoom(int value, RenderObject* renderer)
-{
-    return adjustForAbsoluteZoom(value, &renderer->style());
-}
-
-#if ENABLE(SUBPIXEL_LAYOUT)
-inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, RenderObject* renderer)
-{
-    return adjustLayoutUnitForAbsoluteZoom(value, &renderer->style());
-}
-#endif
-
 #define RENDER_OBJECT_TYPE_CASTS(ToValueTypeName, predicate) \
     TYPE_CASTS_BASE(ToValueTypeName, RenderObject, object, object->predicate, object.predicate)
 

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (160762 => 160763)


--- trunk/Source/WebCore/rendering/style/RenderStyle.h	2013-12-18 14:18:41 UTC (rev 160762)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h	2013-12-18 15:02:45 UTC (rev 160763)
@@ -1926,9 +1926,9 @@
     void appendContent(std::unique_ptr<ContentData>);
 };
 
-inline int adjustForAbsoluteZoom(int value, const RenderStyle* style)
+inline int adjustForAbsoluteZoom(int value, const RenderStyle& style)
 {
-    double zoomFactor = style->effectiveZoom();
+    double zoomFactor = style.effectiveZoom();
     if (zoomFactor == 1)
         return value;
     // Needed because computeLengthInt truncates (rather than rounds) when scaling up.
@@ -1948,9 +1948,9 @@
 }
 
 #if ENABLE(SUBPIXEL_LAYOUT)
-inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const RenderStyle* style)
+inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const RenderStyle& style)
 {
-    return value / style->effectiveZoom();
+    return value / style.effectiveZoom();
 }
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to