, 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_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);
#if ENABLE(TIZEN_WEBKIT2_VIEW_VISIBILITY)
+ void setDeferUpdateViewportSize(bool b) { m_deferUpdateViewportSize = b; }
+ bool deferUpdateViewportSize() const { return m_deferUpdateViewportSize; }
+ bool isVisible() const { return m_isVisible; }
void setIsVisible(bool isVisible);
#endif
bool m_suspendResource;
bool m_suspendRequested;
bool m_isVisible;
+ bool m_deferUpdateViewportSize;
bool m_isScrollableLayerFocused;
bool m_isScrollableNodeFocused;
#if ENABLE(TIZEN_WEBKIT2_TILED_AC)
evas_object_image_native_surface_set(smartData->image, 0);
+#if ENABLE(TIZEN_WEBKIT2_VIEW_VISIBILITY)
+ if (impl->pageClient->isVisible()) {
+ Ecore_Evas* ee = ecore_evas_ecore_evas_get(smartData->base.evas);
+ impl->pageClient->updateViewportSize(IntSize(width, height), ecore_evas_rotation_get(ee));
+ } else
+ impl->pageClient->setDeferUpdateViewportSize(true);
+#else
Ecore_Evas* ee = ecore_evas_ecore_evas_get(smartData->base.evas);
impl->pageClient->updateViewportSize(IntSize(width, height), ecore_evas_rotation_get(ee));
+#endif
+
#if ENABLE(TIZEN_RUNTIME_BACKEND_SELECTION)
if (!ewk_view_is_opengl_backend(ewkView))
_ewk_view_composite(smartData);
#endif
#if ENABLE(TIZEN_WEBKIT2_TILED_BACKING_STORE) && !ENABLE(TIZEN_WEBKIT2_EFL_WTR)
Ecore_Evas* ee = ecore_evas_ecore_evas_get(smartData->base.evas);
+ int newAngle = ecore_evas_rotation_get(ee);
+#if ENABLE(TIZEN_WEBKIT2_VIEW_VISIBILITY)
+ if (impl->pageClient->deferUpdateViewportSize()) {
+ impl->pageClient->updateViewportSize(IntSize(width, height), newAngle);
+ }
+#endif
impl->pageClient->updateVisibleContentRectSize(IntSize(width, height));
if (ewk_view_is_opengl_backend(ewkView))
impl->pageClient->displayViewport();