Bug 140243 - [CoordinatedGraphics] Non-overlay scrollbar is not rendered
Summary: [CoordinatedGraphics] Non-overlay scrollbar is not rendered
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Gwang Yoon Hwang
URL:
Keywords:
Depends on:
Blocks: 147725
  Show dependency treegraph
 
Reported: 2015-01-08 06:18 PST by Gwang Yoon Hwang
Modified: 2016-09-14 09:01 PDT (History)
9 users (show)

See Also:


Attachments
Patch (1.93 KB, patch)
2015-01-08 06:21 PST, Gwang Yoon Hwang
no flags Details | Formatted Diff | Diff
Patch (1.89 KB, patch)
2015-07-07 19:30 PDT, Gwang Yoon Hwang
no flags Details | Formatted Diff | Diff
Patch (1.89 KB, patch)
2015-07-07 19:33 PDT, Gwang Yoon Hwang
thorton: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gwang Yoon Hwang 2015-01-08 06:18:15 PST
[CoordinatedGraphics] Non-overlay scrollbar is not rendered
Comment 1 Gwang Yoon Hwang 2015-01-08 06:21:21 PST
Created attachment 244256 [details]
Patch
Comment 2 Gwang Yoon Hwang 2015-01-08 06:26:54 PST
RenderLayerCompositor::mainFrameBackingIsTiled is checking the
RenderLayerBacking uses tiledbacking dynamically.  In the Coordinated
Graphics, the main frame backing is always uses tiled backing store. So
it should return true.

I think we should refactor TILED_BACKING_STORE to match with Apple's tiledBacking at some point, and remove the TILED_BACKING_STORE guard in separated task.
Comment 3 Ryuan Choi 2015-05-12 15:53:30 PDT
I added gyuyoung to take a look.

Informally looks good to me.
Comment 4 Ryuan Choi 2015-05-12 17:45:16 PDT
Comment on attachment 244256 [details]
Patch

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

> Source/WebCore/rendering/RenderLayerCompositor.cpp:2927
> +#if USE(TILED_BACKING_STORE)

I removed WTF_USE_TILED_BACKING_STORE since r183529

Please change this to USE(COORDINATED_GRAPHICS)
Comment 5 Gyuyoung Kim 2015-05-12 18:02:07 PDT
Comment on attachment 244256 [details]
Patch

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

>> Source/WebCore/rendering/RenderLayerCompositor.cpp:2927
>> +#if USE(TILED_BACKING_STORE)
> 
> I removed WTF_USE_TILED_BACKING_STORE since r183529
> 
> Please change this to USE(COORDINATED_GRAPHICS)

The mainFrameBackingIsTiled() was changed to documentUsesTiledBacking() in r183943. This patch needs to be updated.
Comment 6 Simon Fraser (smfr) 2015-05-12 18:21:59 PDT
Comment on attachment 244256 [details]
Patch

r- since the patch is old. But are you sure the callers of documentUsesTiledBacking() are expecting this to return true for coordinated graphics?
Comment 7 Gwang Yoon Hwang 2015-07-07 19:30:22 PDT
Created attachment 256346 [details]
Patch
Comment 8 Gwang Yoon Hwang 2015-07-07 19:33:57 PDT
Created attachment 256347 [details]
Patch
Comment 9 Gwang Yoon Hwang 2015-07-07 19:37:34 PDT
ryuan, gyuyoung thanks for pointing out.
I just updated to match current codebase.
Comment 10 Gwang Yoon Hwang 2015-07-07 19:39:14 PDT
(In reply to comment #6)
> Comment on attachment 244256 [details]
> Patch
> 
> r- since the patch is old. But are you sure the callers of
> documentUsesTiledBacking() are expecting this to return true for coordinated
> graphics?

Patch is updated. In Coordinated Graphics, we are just support overlay scrollbar at this point. To support non-overlay scrollbar, Coordinated Graphics should get true from documentUsesTiledBacking.
And I'm pretty sure about it. :)
Comment 11 Gyuyoung Kim 2015-07-07 19:40:43 PDT
Comment on attachment 256347 [details]
Patch

LGTM for EFL port which uses the coordinated graphics. However I would delegate this review to Simon.
Comment 12 Tim Horton 2015-07-09 01:21:13 PDT
Comment on attachment 256347 [details]
Patch

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

> Source/WebCore/rendering/RenderLayerCompositor.cpp:2948
> +    return true;

This is pretty weird. Why does backing->usingTiledBacking() not return true? Why would you want this and that to return different things? Seems wrong.
Comment 13 Gwang Yoon Hwang 2015-07-14 15:57:46 PDT
(In reply to comment #12)
> Comment on attachment 256347 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=256347&action=review
> 
> > Source/WebCore/rendering/RenderLayerCompositor.cpp:2948
> > +    return true;
> 
> This is pretty weird. Why does backing->usingTiledBacking() not return true?
> Why would you want this and that to return different things? Seems wrong.

Thanks for review.

First of all, it is because CoordinatedGraphics uses TiledBackingStore, not a TiledBacking. Coordinated Graphics manages tiles in GraphicsLayer, but TiledBacking is used in RenderLayer.

There are several logics in RenderLayerBacking and RenderLayerCompositor which are specific TiledBacking implementation. 
So if we just return true in RenderLayerBacking::usingTiledBacking, it will introduce undesirable behavior in CoordinatedGraphics.

That's why I want to add it this way.

In a long-term, it is desirable to merge TiledBackingStore in to TiledBacking.
It is weird that we have two similar implementation with similar name.
And it will solve these weird stuffs.

I'll do this work after turning threaded-compositor on in GTK+ port.
Comment 14 Michael Catanzaro 2016-09-14 09:01:13 PDT
Pretty sure this bug is obsolete now!