if (!node)
return 0;
- for (node = node->parentNode(); node; node = node->parentNode()) {
- if (node->isElementNode())
- return node->renderer();
- }
+ // FIXME: This should be using NodeRenderingTraversal::parent().
+ if (Element* parent = node->parentElement())
+ return parent->renderer();
return 0;
}
}
}
-TextAutosizer::BlockFlags TextAutosizer::classifyBlock(const RenderObject* renderer, BlockFlags mask)
+TextAutosizer::BlockFlags TextAutosizer::classifyBlock(const RenderObject* renderer, BlockFlags mask) const
{
if (!renderer->isRenderBlock())
return 0;
return supercluster->m_multiplier;
}
-const RenderBlock* TextAutosizer::clusterWidthProvider(const RenderBlock* root)
+const RenderBlock* TextAutosizer::clusterWidthProvider(const RenderBlock* root) const
{
if (root->isTable() || root->isTableCell())
return root;
return deepestBlockContainingAllText(root);
}
-const RenderBlock* TextAutosizer::maxClusterWidthProvider(const Supercluster* supercluster, const RenderBlock* currentRoot)
+const RenderBlock* TextAutosizer::maxClusterWidthProvider(const Supercluster* supercluster, const RenderBlock* currentRoot) const
{
const RenderBlock* result = clusterWidthProvider(currentRoot);
float maxWidth = widthFromBlock(result);
return result;
}
-float TextAutosizer::widthFromBlock(const RenderBlock* block)
+float TextAutosizer::widthFromBlock(const RenderBlock* block) const
{
RELEASE_ASSERT(block);
RELEASE_ASSERT(block->style());
}
// FIXME: Refactor this to look more like TextAutosizer::deepestCommonAncestor.
-const RenderBlock* TextAutosizer::deepestBlockContainingAllText(const RenderBlock* root)
+const RenderBlock* TextAutosizer::deepestBlockContainingAllText(const RenderBlock* root) const
{
size_t firstDepth = 0;
const RenderObject* firstTextLeaf = findTextLeaf(root, firstDepth, First);
return containingBlock;
}
-const RenderObject* TextAutosizer::findTextLeaf(const RenderObject* parent, size_t& depth, TextLeafSearch firstOrLast)
+const RenderObject* TextAutosizer::findTextLeaf(const RenderObject* parent, size_t& depth, TextLeafSearch firstOrLast) const
{
// List items are treated as text due to the marker.
// The actual renderer for the marker (RenderListMarker) may not be in the tree yet since it is added during layout.