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