[Title] [WK2] revised a callflow of ewkViewFrameRendered after nonempty layout finished.
[Issue#] N/A
[Problem] when resizing a web-provider box, webview is bliking.
[Cause] the client does not know when the actual rendering is started.
[Solution] Send "frame,rendered" message to the client
after didFirstVisuallyNonEmptyLayoutForMainFrame is called.
the message sequence is nonemptyLayout -> composite -> frame,rendered -> buffer update.
Change-Id: I41c1b1e19e0afd99b8e928c4f8b8784a1cf9b187
void PageClientImpl::didRenderFrame()
{
-#if OS(TIZEN)
- if (m_nonemptyLayoutRendered)
- ewkViewFrameRendered(m_viewImpl->view());
-#endif
-
#if ENABLE(TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE_BACKUP_IMAGE)
if (m_shouldShowBackupTexture && m_isVisible)
m_shouldShowBackupTexture = false;
void PageClientEvasGL::didRenderFrame()
{
+ ewkViewFrameRendered(m_viewImpl->view());
PageClientImpl::didRenderFrame();
}
void setWaitFrameOfNewViewortSize(bool waitFrameOfNewViewortSize) { m_waitFrameOfNewViewortSize = waitFrameOfNewViewortSize; }
#endif
+ bool notifiedNonemptyLayout() { return m_nonemptyLayoutRendered; }
#endif // #if OS(TIZEN)
private:
evas_object_image_data_set(smartData->image, pixels);
evas_object_image_data_update_add(smartData->image, 0, 0, ow, oh);
+ if (impl->pageClient->notifiedNonemptyLayout())
+ ewkViewFrameRendered(smartData->self);
+
impl->compositionAnimator = 0;
return ECORE_CALLBACK_CANCEL;