Title: [173945] trunk/Source/WebCore
Revision
173945
Author
[email protected]
Date
2014-09-24 21:02:03 -0700 (Wed, 24 Sep 2014)

Log Message

Use tighter typing for render objects in RenderGeometryMap
https://bugs.webkit.org/show_bug.cgi?id=137102

Reviewed by Ryosuke Niwa.

Use tighter typing for render objects in RenderGeometryMap for clarity
and efficiency.

In particular, using RenderElement type instead of RenderObject
in canMapBetweenRenderers() allows us to call the faster
RenderElement::style() instead of RenderObject::style().

No new tests, no behavior change.

* rendering/RenderGeometryMap.cpp:
(WebCore::canMapBetweenRenderers):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (173944 => 173945)


--- trunk/Source/WebCore/ChangeLog	2014-09-25 03:50:40 UTC (rev 173944)
+++ trunk/Source/WebCore/ChangeLog	2014-09-25 04:02:03 UTC (rev 173945)
@@ -1,5 +1,25 @@
 2014-09-24  Christophe Dumez  <[email protected]>
 
+        Use tighter typing for render objects in RenderGeometryMap
+        https://bugs.webkit.org/show_bug.cgi?id=137102
+
+        Reviewed by Ryosuke Niwa.
+
+        Use tighter typing for render objects in RenderGeometryMap for clarity
+        and efficiency.
+
+        In particular, using RenderElement type instead of RenderObject
+        in canMapBetweenRenderers() allows us to call the faster
+        RenderElement::style() instead of RenderObject::style().
+
+        No new tests, no behavior change.
+
+        * rendering/RenderGeometryMap.cpp:
+        (WebCore::canMapBetweenRenderers):
+        (WebCore::RenderGeometryMap::pushMappingsToAncestor):
+
+2014-09-24  Christophe Dumez  <[email protected]>
+
         Add initial is<>() / downcast<>() support for any type of Nodes
         https://bugs.webkit.org/show_bug.cgi?id=137056
 

Modified: trunk/Source/WebCore/rendering/RenderGeometryMap.cpp (173944 => 173945)


--- trunk/Source/WebCore/rendering/RenderGeometryMap.cpp	2014-09-25 03:50:40 UTC (rev 173944)
+++ trunk/Source/WebCore/rendering/RenderGeometryMap.cpp	2014-09-25 04:02:03 UTC (rev 173945)
@@ -155,9 +155,9 @@
     ASSERT(m_mapping.isEmpty() || m_mapping[0].m_renderer->isRenderView());
 }
 
-static bool canMapBetweenRenderers(const RenderObject& renderer, const RenderObject& ancestor)
+static bool canMapBetweenRenderers(const RenderLayerModelObject& renderer, const RenderLayerModelObject& ancestor)
 {
-    for (const RenderObject* current = &renderer; ; current = current->parent()) {
+    for (const RenderElement* current = &renderer; ; current = current->parent()) {
         const RenderStyle& style = current->style();
         if (style.position() == FixedPosition || style.isFlippedBlocksWritingMode())
             return false;
@@ -177,7 +177,7 @@
 
 void RenderGeometryMap::pushMappingsToAncestor(const RenderLayer* layer, const RenderLayer* ancestorLayer)
 {
-    const RenderObject& renderer = layer->renderer();
+    const RenderLayerModelObject& renderer = layer->renderer();
 
     // We have to visit all the renderers to detect flipped blocks. This might defeat the gains
     // from mapping via layers.
@@ -189,14 +189,14 @@
         // The RenderView must be pushed first.
         if (!m_mapping.size()) {
             ASSERT(ancestorLayer->renderer().isRenderView());
-            pushMappingsToAncestor(&ancestorLayer->renderer(), 0);
+            pushMappingsToAncestor(&ancestorLayer->renderer(), nullptr);
         }
 
         TemporaryChange<size_t> positionChange(m_insertionPosition, m_mapping.size());
         push(&renderer, layerOffset, /*accumulatingTransform*/ true, /*isNonUniform*/ false, /*isFixedPosition*/ false, /*hasTransform*/ false);
         return;
     }
-    const RenderLayerModelObject* ancestorRenderer = ancestorLayer ? &ancestorLayer->renderer() : 0;
+    const RenderLayerModelObject* ancestorRenderer = ancestorLayer ? &ancestorLayer->renderer() : nullptr;
     pushMappingsToAncestor(&renderer, ancestorRenderer);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to