Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Unified Diff: Source/WebCore/rendering/RenderInline.cpp

Issue 12616003: Merge 144350 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1410/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/WebCore/rendering/RenderInline.h ('k') | Source/WebCore/rendering/RenderLayer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/rendering/RenderInline.cpp
===================================================================
--- Source/WebCore/rendering/RenderInline.cpp (revision 145084)
+++ Source/WebCore/rendering/RenderInline.cpp (working copy)
@@ -1365,7 +1365,7 @@
repaint();
}
-void RenderInline::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint& additionalOffset)
+void RenderInline::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer)
{
AbsoluteRectsGeneratorContext context(rects, additionalOffset);
generateLineBoxRects(context);
@@ -1375,22 +1375,22 @@
FloatPoint pos(additionalOffset);
// FIXME: This doesn't work correctly with transforms.
if (curr->hasLayer())
- pos = curr->localToAbsolute();
+ pos = curr->localToContainerPoint(FloatPoint(), paintContainer);
else if (curr->isBox())
pos.move(toRenderBox(curr)->locationOffset());
- curr->addFocusRingRects(rects, flooredIntPoint(pos));
+ curr->addFocusRingRects(rects, flooredIntPoint(pos), paintContainer);
}
}
if (continuation()) {
if (continuation()->isInline())
- continuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + continuation()->containingBlock()->location() - containingBlock()->location()));
+ continuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + continuation()->containingBlock()->location() - containingBlock()->location()), paintContainer);
else
- continuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + toRenderBox(continuation())->location() - containingBlock()->location()));
+ continuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + toRenderBox(continuation())->location() - containingBlock()->location()), paintContainer);
}
}
-void RenderInline::paintOutline(GraphicsContext* graphicsContext, const LayoutPoint& paintOffset)
+void RenderInline::paintOutline(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
{
if (!hasOutline())
return;
@@ -1399,10 +1399,11 @@
if (styleToUse->outlineStyleIsAuto() || hasOutlineAnnotation()) {
if (!theme()->supportsFocusRing(styleToUse)) {
// Only paint the focus ring by hand if the theme isn't able to draw the focus ring.
- paintFocusRing(graphicsContext, paintOffset, styleToUse);
+ paintFocusRing(paintInfo, paintOffset, styleToUse);
}
}
+ GraphicsContext* graphicsContext = paintInfo.context;
if (graphicsContext->paintingDisabled())
return;
« no previous file with comments | « Source/WebCore/rendering/RenderInline.h ('k') | Source/WebCore/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698