return localCaretRectWithoutUpdate();
}
+#if ENABLE(TIZEN_NOT_USE_TRANSFORM_INFO_WHEN_GETTING_CARET_RECT)
+IntRect CaretBase::absoluteBoundsForLocalRect(Node* node, const LayoutRect& rect, bool useTransforms) const
+#else
IntRect CaretBase::absoluteBoundsForLocalRect(Node* node, const LayoutRect& rect) const
+#endif
{
RenderObject* caretPainter = caretRenderer(node);
if (!caretPainter)
toRenderBox(caretPainter)->flipForWritingMode(localRect);
#if ENABLE(TIZEN_NOT_USE_TRANSFORM_INFO_WHEN_GETTING_CARET_RECT)
- return caretPainter->localToAbsoluteQuad(FloatRect(localRect), false, 0, false).enclosingBoundingBox();
-#else
- return caretPainter->localToAbsoluteQuad(FloatRect(localRect)).enclosingBoundingBox();
+ if (!useTransforms)
+ return caretPainter->localToAbsoluteQuad(FloatRect(localRect), false, 0, false).enclosingBoundingBox();
+ else
#endif
+ return caretPainter->localToAbsoluteQuad(FloatRect(localRect)).enclosingBoundingBox();
}
IntRect FrameSelection::absoluteCaretBounds()
return;
case VisibleSelection::CaretSelection:
#if ENABLE(TIZEN_NOT_USE_TRANSFORM_INFO_WHEN_GETTING_CARET_RECT)
- return;
+ rect = absoluteBoundsForLocalRect(m_selection.start().deprecatedNode(), localCaretRectWithoutUpdate(), true);
#else
rect = absoluteCaretBounds();
- break;
#endif
+ break;
case VisibleSelection::RangeSelection:
rect = revealExtent ? VisiblePosition(extent()).absoluteCaretBounds() : enclosingIntRect(bounds(false));
break;
void invalidateCaretRect(Node*, bool caretRectChanged = false);
void clearCaretRect();
bool updateCaretRect(Document*, const VisiblePosition& caretPosition);
+#if ENABLE(TIZEN_NOT_USE_TRANSFORM_INFO_WHEN_GETTING_CARET_RECT)
+ IntRect absoluteBoundsForLocalRect(Node*, const LayoutRect&, bool useTransforms = false) const;
+#else
IntRect absoluteBoundsForLocalRect(Node*, const LayoutRect&) const;
+#endif
IntRect caretRepaintRect(Node*) const;
bool shouldRepaintCaret(const RenderView*, bool isContentEditable) const;
void paintCaret(Node*, GraphicsContext*, const LayoutPoint&, const LayoutRect& clipRect) const;