impl->pageClient->frameRectChanged();
#endif
#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
- impl->pageClient->updateTextSelectionHandlesAndContextMenu(true);
+ if (impl->pageClient->isTextSelectionMode()) {
+ impl->pageClient->updateTextSelectionHandlesAndContextMenu(false);
+ impl->pageClient->requestToShowTextSelectionHandlesAndContextMenu();
+ }
#endif
#if ENABLE(TIZEN_WEBKIT2_FOCUS_RING)
if (impl->focusRing())
if (!m_viewImpl->page()->getSelectionHandlers(leftRect, rightRect, selectionDirection))
return;
- m_lastLeftHandleRect = leftRect;
- m_lastRightHandleRect = rightRect;
+ m_lastLeftHandleRect = m_viewImpl->transformToScene().mapRect(leftRect);
+ m_lastRightHandleRect = m_viewImpl->transformToScene().mapRect(rightRect);
AffineTransform toEvasTransform = m_viewImpl->transformToScene();
WebCore::IntPoint leftEvasPoint ;
if (m_viewImpl->gestureClient->isGestureWorking())
return;
+ if (m_showTimer)
+ return;
+
updateHandlers();
showContextMenu();
} else {
void TextSelection::requestToShow()
{
+ EditorState editorState = m_viewImpl->page()->editorState();
+ if (!editorState.selectionIsRange && editorState.isContentEditable) {
+ setIsTextSelectionMode(false);
+ return;
+ }
+
if (m_showTimer)
ecore_timer_del(m_showTimer);
m_showTimer = ecore_timer_loop_add((double)200.0/1000.0, showTimerCallback, this);
WebCore::IntRect leftRect, rightRect;
int selectionDirection = LToR;
if (m_viewImpl->page()->getSelectionHandlers(leftRect, rightRect, selectionDirection)) {
+ leftRect = m_viewImpl->transformToScene().mapRect(leftRect);
+ rightRect = m_viewImpl->transformToScene().mapRect(rightRect);
if ((leftRect == m_lastLeftHandleRect) && (rightRect == m_lastRightHandleRect)) {
if (m_showTimer) {
ecore_timer_del(m_showTimer);