[Webkit-unassigned] [Bug 91581] [WK2][EFL] Add an ACCELERATED_COMPOSITING implementation for Efl WebKit2
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jul 18 19:08:20 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=91581
--- Comment #5 from YoungTaeck Song <youngtaeck.song at samsung.com> 2012-07-18 19:08:18 PST ---
(In reply to comment #3)
Thank you for kind review.
> (From update of attachment 152925 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=152925&action=review
>
> > Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:76
> > ~_Ewk_View_Private_Data()
>
> You probably need Evas_GL clean up code in the destructor. I'm assuming the view can be destroyed without ewk_view_exit_accelerated_compositing_mode() being called beforehand.
When the view is destroyed, ewk_view_exit_accelerated_compositing_mode is called like below.
~_Ewk_View_Private_Data() => ~PageClientImpl() => ~WebPageProxy() => ~DrawingAreaProxyImpl()
=> WebPageProxy::exitAcceleratedCompositingMode => PageClientImpl::exitAcceleratedCompositingMode
=> ewk_view_exit_accelerated_compositing_mode
>
> > Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:383
> > +IntSize ewk_view_size_get(Evas_Object* ewkView)
>
> argument should be const.
>
fixed.
> > Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:403
> > +
>
> How about an ASSERT(!priv->evasGlSurface); to make sure we don't leak memory?
>
fixed.
> > Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:415
> > +void ewk_view_enter_accelerated_compositing_mode(Evas_Object* ewkView)
>
> How about returning a bool so that the client know if it was successful?
>
fixed.
> > Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:421
> > + priv->evasGl = evas_gl_new(evas);
>
> I think we need an EINA_SAFETY check to make sure priv->evasGl is NULL when this function is called. What if the client calls this function several times without calling the ewk_view_exit_accelerated_compositing_mode()? We should print a warning instead of leaking memory.
>
fixed.
> > Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:441
> > +void ewk_view_exit_accelerated_compositing_mode(Evas_Object* ewkView)
>
> How about returning a bool so that the client know if it was successful?
>
fixed.
> > Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:446
> > + if (!priv->evasGl)
>
> Should it be an if check or an EINA_SAFETY? I guess this mean this means the client called ewk_view_exit_accelerated_compositing_mode() without calling ewk_view_enter_accelerated_compositing_mode() first, which would be wrong API usage. Also, if ewk_view_enter_accelerated_compositing_mode() starts returning a boolean, the client has not excuse.
>
fixed.
> > Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:483
> > + evas_gl_surface_destroy(priv->evasGl, priv->evasGlSurface);
>
> I would feel better with a "priv->evasGlSurface = 0;" right after this line. I know it is not strictly needed but we might experience issues later if the ewk_view_create_gl_surface() starts checking the value of priv->evasGlSurface.
>
fixed.
> > Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:72
> > +WebCore::IntSize ewk_view_size_get(Evas_Object* ewkView);
>
> Argument should be const.
>
fixed.
> > Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:75
> > +void ewk_view_enter_accelerated_compositing_mode(Evas_Object* ewkView);
>
> the verb is usually at the end: "ewk_view_accelerated_compositing_mode_enter()".
>
> > Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:76
> > +void ewk_view_exit_accelerated_compositing_mode(Evas_Object* ewkView);
>
> Ditto.
>
fixed.
> > Tools/ChangeLog:8
> > + This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
>
> This changelog should reflect the actual change to the MiniBrowser instead of being so generic.
fixed.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list