Commit d90cfee3 authored by joone.hur@intel.com's avatar joone.hur@intel.com

[EFL][AC] MiniBrowser starts with a black empty view before painting a web page

https://bugs.webkit.org/show_bug.cgi?id=103745

Reviewed by Kenneth Rohde Christiansen.

Evas paints empty evas objects before rendering a web page, so it shows
a black empty view for a moment. This patch prevents from painting the empty
evas objects until a GL surface is ready for rendering.

* UIProcess/API/efl/EwkView.cpp:
(showEvasObjectsIfNeeded):
(EwkView::displayTimerFired):
(EwkView::handleEvasObjectShow):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 8a8323ce
2013-04-17 Joone Hur <joone.hur@intel.com>
[EFL][AC] MiniBrowser starts with a black empty view before painting a web page
https://bugs.webkit.org/show_bug.cgi?id=103745
Reviewed by Kenneth Rohde Christiansen.
Evas paints empty evas objects before rendering a web page, so it shows
a black empty view for a moment. This patch prevents from painting the empty
evas objects until a GL surface is ready for rendering.
* UIProcess/API/efl/EwkView.cpp:
(showEvasObjectsIfNeeded):
(EwkView::displayTimerFired):
(EwkView::handleEvasObjectShow):
2013-04-16 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add webkit_web_page_get_id() to WebKit2 GTK+ API
......@@ -130,6 +130,15 @@ static inline EwkView* toEwkView(const Ewk_View_Smart_Data* smartData)
return smartData->priv;
}
static inline void showEvasObjectsIfNeeded(const Ewk_View_Smart_Data* smartData)
{
ASSERT(smartData);
if (evas_object_clipees_get(smartData->base.clipper))
evas_object_show(smartData->base.clipper);
evas_object_show(smartData->image);
}
// EwkViewEventHandler implementation.
template <Evas_Callback_Type EventType>
......@@ -539,6 +548,9 @@ void EwkView::displayTimerFired(Timer<EwkView>*)
if (!createGLSurface())
return;
#endif
// Make Evas objects visible here in order not to paint empty Evas objects with black color.
showEvasObjectsIfNeeded(sd);
m_pendingSurfaceResize = false;
}
......@@ -1121,9 +1133,8 @@ void EwkView::handleEvasObjectShow(Evas_Object* evasObject)
Ewk_View_Smart_Data* smartData = toSmartData(evasObject);
ASSERT(smartData);
if (evas_object_clipees_get(smartData->base.clipper))
evas_object_show(smartData->base.clipper);
evas_object_show(smartData->image);
if (!toEwkView(smartData)->m_isAccelerated)
showEvasObjectsIfNeeded(smartData);
}
void EwkView::handleEvasObjectHide(Evas_Object* evasObject)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment