[Title] Fix orange world focus ring issue
[Issue#] P131023-00136
[Problem] Focus ring is smaller than image in orange world.
[Cause] Clipped by invalid rect.
[Solution] Modify clipping rect.
Change-Id: Icf5f7390d8c865e03018c3950162a675906e51e4
} else {
if (node->isDocumentNode())
rect = static_cast<Document*>(node)->frame()->view()->visibleContentRect();
- else
- rect = renderer->absoluteBoundingBoxRect();
+ else {
+ rect = renderer->clippedOverflowRectForRepaint(renderer->enclosingBoxModelObject());
+ rect = LayoutRect(renderer->localToAbsoluteQuad(FloatRect(rect)).boundingBox());
+
+ LayoutRect boundingRect = renderer->absoluteBoundingBoxRect();
+ if (boundingRect.contains(rect))
+ rect = boundingRect;
+ }
}
rect.moveBy(frameOffset);