Bug 131108 - [EFL] Should flush and render layers after the root layer is changed.
Summary: [EFL] Should flush and render layers after the root layer is changed.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Linux
: P2 Normal
Assignee: Hyowon Kim
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-02 08:46 PDT by Hyowon Kim
Modified: 2014-04-03 23:27 PDT (History)
7 users (show)

See Also:


Attachments
Patch (2.48 KB, patch)
2014-04-02 08:56 PDT, Hyowon Kim
no flags Details | Formatted Diff | Diff
Patch (2.74 KB, patch)
2014-04-02 23:12 PDT, Hyowon Kim
no flags Details | Formatted Diff | Diff
Patch (2.72 KB, patch)
2014-04-03 00:05 PDT, Hyowon Kim
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hyowon Kim 2014-04-02 08:46:18 PDT
When the root layer is changed, we should repaint the webview by calling syncLayers().
Comment 1 Hyowon Kim 2014-04-02 08:56:43 PDT
Created attachment 228399 [details]
Patch
Comment 2 Ryuan Choi 2014-04-02 09:45:13 PDT
Comment on attachment 228399 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=228399&action=review

> Source/WebKit/efl/ChangeLog:7
> +

Maybe we need some description why?

We discussed about regression. Is this patch for that?

> Source/WebKit/efl/ChangeLog:11
> +        (WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Deleted.

This comment is ambiguous.

> Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:187
> +    m_syncTimer.startOneShot(0);

Don't we need to check wehther m_syncTimer is active?
Comment 3 Hyowon Kim 2014-04-02 22:29:10 PDT
(In reply to comment #2)
> (From update of attachment 228399 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=228399&action=review
> 
> > Source/WebKit/efl/ChangeLog:7
> > +
> 
> Maybe we need some description why?
> 
> We discussed about regression. Is this patch for that?

Yes, I'll add some more description.

> > Source/WebKit/efl/ChangeLog:11
> > +        (WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Deleted.
> 
> This comment is ambiguous.

It's automatically generated comment.
I'll replace it with "Move implementation from header file to source file".

> > Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:187
> > +    m_syncTimer.startOneShot(0);
> 
> Don't we need to check wehther m_syncTimer is active?

We will set the syncTimer with 0 interval and do flushAndRenderLayers() as soon as possible even though syncTimer is active by css animations.
Comment 4 Ryuan Choi 2014-04-02 22:37:59 PDT
Comment on attachment 228399 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=228399&action=review

>>> Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:187
>>> +    m_syncTimer.startOneShot(0);
>> 
>> Don't we need to check wehther m_syncTimer is active?
> 
> We will set the syncTimer with 0 interval and do flushAndRenderLayers() as soon as possible even though syncTimer is active by css animations.

Well, if some javascript changes the condition of it to enable/disable sequentially?
I am not sure whether it is impossible.
Comment 5 Hyowon Kim 2014-04-02 23:08:01 PDT
(In reply to comment #4)
> (From update of attachment 228399 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=228399&action=review
> 
> >>> Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:187
> >>> +    m_syncTimer.startOneShot(0);
> >> 
> >> Don't we need to check wehther m_syncTimer is active?
> > 
> > We will set the syncTimer with 0 interval and do flushAndRenderLayers() as soon as possible even though syncTimer is active by css animations.
> 
> Well, if some javascript changes the condition of it to enable/disable sequentially?
> I am not sure whether it is impossible.

I understand your point. startOneShot(0) may be repeatedly called by setRootGraphicsLayer() calls.
I'll add isActive() check.
Comment 6 Hyowon Kim 2014-04-02 23:12:49 PDT
Created attachment 228468 [details]
Patch
Comment 7 Ryuan Choi 2014-04-02 23:38:33 PDT
Comment on attachment 228468 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=228468&action=review

> Source/WebKit/efl/ChangeLog:10
> +        Empty or non updated webview is shown when there is no update event after the root layer is changed.
> +        Because the syncTimer is not being triggered by root layer change.
> +        We should flush and render layers by starting syncTimer when the root layer is changed.

Patch itself is fine to me.

Nit, comment is bit ambiguous to me. (but I am also bad with english :) )
Comment 8 Gyuyoung Kim 2014-04-02 23:45:27 PDT
Comment on attachment 228468 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=228468&action=review

> Source/WebKit/efl/ChangeLog:8
> +        Empty or non updated webview is shown when there is no update event after the root layer is changed.

I modify this description a slightly.

"Even when there isn't any update event, empty(or, non-updated webview) webview can be shown after root layer is changed."
Comment 9 Hyowon Kim 2014-04-03 00:05:33 PDT
Created attachment 228476 [details]
Patch
Comment 10 Ryuan Choi 2014-04-03 18:42:19 PDT
(In reply to comment #9)
> Created an attachment (id=228476) [details]
> Patch

Good to me.
Comment 11 Gyuyoung Kim 2014-04-03 22:29:20 PDT
Comment on attachment 228476 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=228476&action=review

r=me. Please land it after applying my comment.

> Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:185
> +{

Please add ASSERT(rootLayer); It looks rootLayer can be null when user set it as null by using ewk_view_root_graphics_layer_set().
Comment 12 WebKit Commit Bot 2014-04-03 23:27:21 PDT
Comment on attachment 228476 [details]
Patch

Clearing flags on attachment: 228476

Committed r166768: <http://trac.webkit.org/changeset/166768>
Comment 13 WebKit Commit Bot 2014-04-03 23:27:28 PDT
All reviewed patches have been landed.  Closing bug.