, m_scrollPositionBeforePageRendered(IntPoint())
#endif
, m_isVisible(true)
+ , m_deferUpdateViewportSize(false)
, m_isScrollableLayerFocused(false)
, m_isScrollableNodeFocused(false)
#if ENABLE(TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE_BACKUP_IMAGE)
#if ENABLE(TIZEN_PRERENDERING_FOR_ROTATION)
, m_waitFrameOfNewViewortSize(false)
#endif
+ , m_nonemptyLayoutRendered(false)
#endif // #if OS(TIZEN)
{
#if ENABLE(TIZEN_CANVAS_CAIRO_GLES_RENDERING)
#if ENABLE(TIZEN_DLOG_SUPPORT)
TIZEN_LOGI(" view size: [%d, %d], angle: [%d]", viewportSize.width(), viewportSize.height(), angle);
#endif
+#if ENABLE(TIZEN_WEBKIT2_VIEW_VISIBILITY)
+ if (m_deferUpdateViewportSize) {
+ m_visibleContentRect.setSize(viewportSize);
+ m_viewImpl->page()->setViewportSize(viewportSize);
+ m_deferUpdateViewportSize = false;
+ return;
+ }
+#endif
// update viewport size of webkit
m_viewImpl->page()->setViewportSize(viewportSize);
double scaleRatioBeforeRotation = m_scaleFactor / m_viewportConstraints.minimumScale;
m_viewportConstraints = computeViewportConstraints(attributes);
+#if ENABLE(TIZEN_GESTURE)
+ m_viewImpl->setDoubleTapEnabled(userScalable());
+#endif
+
// Initially, m_scaleFactor is not decided yet.
// So, we should update visible content rect at here.
if (!m_scaleFactor) {
if (isRotated) {
m_viewportAngle = angle;
newScale = m_viewportConstraints.minimumScale * scaleRatioBeforeRotation;
+ if (m_viewportFitsToContent)
+ newScale = m_viewportConstraints.minimumScale;
newScrollPosition.scale(newScale / m_scaleFactor, newScale / m_scaleFactor);
}
#if OS(TIZEN)
void PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame()
{
+ m_nonemptyLayoutRendered = true;
#if ENABLE(TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE_BACKUP_IMAGE)
m_initialViewRect.setSize(viewSize());
#endif
#if OS(TIZEN)
m_pageDidRendered = false;
m_viewportFitsToContent = false;
+ m_nonemptyLayoutRendered = false;
return;
#endif
notImplemented();
displayViewport();
#if ENABLE(TIZEN_SCREEN_READER)
- if (ScreenReaderProxy::screenReader().isEnabled()
+ if (ScreenReaderProxy::screenReader().isActive(m_viewImpl)
&& (scrollPosition() != previousScrollPosition || m_scaleFactor != previousScale))
ewkViewGetFocusRing(m_viewImpl->view())->updateScrollAndScale(previousScrollPosition, previousScale);
#endif
m_textSelection->updateHandlesAndContextMenu(isShow, isScrolling);
}
-bool PageClientImpl::textSelectionDown(const WebCore::IntPoint& point, bool isStartedTextSelectionFromOutside)
+bool PageClientImpl::textSelectionDown(const WebCore::IntPoint& point)
{
if (!evas_object_focus_get(m_viewImpl->view())) {
InputMethodContextEfl* inputMethodContext = m_viewImpl->inputMethodContext();
evas_object_focus_set(m_viewImpl->view(), true);
}
- return m_textSelection->textSelectionDown(point, isStartedTextSelectionFromOutside);
+ return m_textSelection->textSelectionDown(point);
}
-void PageClientImpl::textSelectionMove(const WebCore::IntPoint& point, bool isStartedTextSelectionFromOutside)
+void PageClientImpl::textSelectionMove(const WebCore::IntPoint& point)
{
- m_textSelection->textSelectionMove(point, isStartedTextSelectionFromOutside);
+ m_textSelection->textSelectionMove(point);
}
void PageClientImpl::textSelectionUp(const WebCore::IntPoint& point, bool isStartedTextSelectionFromOutside)
String dragStorageName("Drag");
m_viewImpl->page()->dragEntered(dragInfo, dragStorageName);
setDragMode(true);
- m_drag->setDragData(dragInfo);
+ m_drag->setDragData(dragInfo, dragImage);
m_drag->Show();
}
#endif
}
#endif
-#if ENABLE(TIZEN_WEBKIT2_GET_TEXT_STYLE_FOR_SELECTION)
-void PageClientImpl::didGetTextStyleStateForSelection(int underlineState, int italicState, int boldState)
-{
- WebCore::IntPoint startPoint, endPoint;
- WebCore::IntRect leftRect, rightRect;
-
- WebCore::IntRect caretRect;
- m_viewImpl->page()->getCaretPosition(caretRect);
- if (!caretRect.isEmpty()) {
- startPoint.setX(caretRect.x());
- startPoint.setY(caretRect.y() + caretRect.height());
-
- endPoint.setX(caretRect.x() + caretRect.width());
- endPoint.setY(caretRect.y() + caretRect.height());
- }
-#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
- else if (m_viewImpl->page()->getSelectionHandlers(leftRect, rightRect)) {
- startPoint.setX(leftRect.x());
- startPoint.setY(leftRect.y() + leftRect.height());
-
- endPoint.setX(rightRect.x() + rightRect.width());
- endPoint.setY(rightRect.y() + rightRect.height());
- }
-#endif
-
- startPoint.scale(scaleFactor(), scaleFactor());
- endPoint.scale(scaleFactor(), scaleFactor());
-
- int viewPositionX, viewPositionY;
- evas_object_geometry_get(m_viewImpl->view(), &viewPositionX, &viewPositionY, NULL, NULL);
-
- startPoint.move(-scrollPosition().x(), -scrollPosition().y());
- startPoint.move(viewPositionX, viewPositionY);
-
- endPoint.move(-scrollPosition().x(), -scrollPosition().y());
- endPoint.move(viewPositionX, viewPositionY);
-
- ewkViewDidGetTextStyleStateForSelection(m_viewImpl->view(), underlineState, italicState, boldState, startPoint, endPoint);
-}
-#endif
-
void PageClientImpl::didFindZoomableArea(const IntPoint& target, const IntRect& area)
{
ewk_view_zoomable_area_set(m_viewImpl->view(), target, area);
void PageClientEvasGL::drawContents()
{
- if (!drawingArea() || !(drawingArea()->layerTreeCoordinatorProxy()))
+ if (!drawingArea() || !(drawingArea()->layerTreeCoordinatorProxy()) || !m_isVisible)
return;
WebLayerTreeRenderer* renderer = drawingArea()->layerTreeCoordinatorProxy()->layerTreeRenderer();