Bug 77325 - [EFL] Broken rendering occurs when scrolling in ewk_view_single.
Summary: [EFL] Broken rendering occurs when scrolling in ewk_view_single.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryuan Choi
URL:
Keywords:
: 85375 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-01-30 03:21 PST by Ryuan Choi
Modified: 2012-12-17 02:59 PST (History)
17 users (show)

See Also:


Attachments
Patch (3.96 KB, patch)
2012-01-30 03:34 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (3.95 KB, patch)
2012-01-30 21:03 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff
scrolltest.html (254 bytes, text/html)
2012-02-01 02:32 PST, Ryuan Choi
no flags Details
results (7.67 KB, image/png)
2012-02-01 02:33 PST, Ryuan Choi
no flags Details
Patch (6.71 KB, patch)
2012-02-04 22:38 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (6.71 KB, patch)
2012-02-04 23:06 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff
rebased (13.40 KB, patch)
2012-02-05 00:11 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (6.57 KB, patch)
2012-02-06 01:13 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (8.07 KB, patch)
2012-02-26 23:46 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (6.45 KB, patch)
2012-03-15 22:36 PDT, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (6.26 KB, patch)
2012-03-16 00:45 PDT, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (3.86 KB, patch)
2012-11-25 18:34 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (3.84 KB, patch)
2012-11-29 00:21 PST, Ryuan Choi
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryuan Choi 2012-01-30 03:21:35 PST
After r104687, broken rendering occur when scrolling contents.

You can see this when loading and scrolling http://news.google.co.kr/nwshp?hl=ko&tab=wn.
Comment 1 Ryuan Choi 2012-01-30 03:34:01 PST
Created attachment 124517 [details]
Patch
Comment 2 KwangHyuk 2012-01-30 08:19:21 PST
> Source/WebKit/efl/ChangeLog:3
> +        [EFL] Broken rendering occur when scrolling in ewk_view_single.

occur -> occurs ? :)

> Source/WebKit/efl/ChangeLog:8
> +        After r104687, broken rendering occur when scrolling contents.

Ditto.

> Source/WebKit/efl/ChangeLog:11
> +        This patch fix it and rename parameter to imageWidth to avoid confusion.

fix -> fixes.
rename -> renames.
"to imageWidth" may not be required. :)
Comment 3 Ryuan Choi 2012-01-30 21:03:32 PST
Created attachment 124665 [details]
Patch
Comment 4 KwangHyuk 2012-01-31 07:07:59 PST
(In reply to comment #3)
> Created an attachment (id=124665) [details]
> Patch

LGTM.
Comment 5 Ryuan Choi 2012-01-31 17:22:59 PST
Add Jungjik for double-check and Zoltan who can review this.
Comment 6 JungJik Lee 2012-01-31 21:40:16 PST
(In reply to comment #5)
> Add Jungjik for double-check and Zoltan who can review this.

Oh, it's embarrassing me and I am sorry for the mistake. I thought I had tested enough. Could you let me know which page occur this issue? I will check it more deeply and next time i'll try to write a test script.
Comment 7 Ryuan Choi 2012-01-31 21:48:31 PST
(In reply to comment #6)
> (In reply to comment #5)
> > Add Jungjik for double-check and Zoltan who can review this.
> 
> Oh, it's embarrassing me and I am sorry for the mistake. I thought I had tested enough. Could you let me know which page occur this issue? I will check it more deeply and next time i'll try to write a test script.

No problem. This is just a bug caused by good refactoring.

I found this issue in http://news.google.co.kr/nwshp?hl=ko&tab=wn.

Unfortunately, Efl port doesn't have pixel-tests yet.
So I didn't create test case for this bug.
Comment 8 Gyuyoung Kim 2012-02-01 00:16:13 PST
(In reply to comment #7)
> (In reply to comment #6)
> > (In reply to comment #5)
> > > Add Jungjik for double-check and Zoltan who can review this.
> > 
> > Oh, it's embarrassing me and I am sorry for the mistake. I thought I had tested enough. Could you let me know which page occur this issue? I will check it more deeply and next time i'll try to write a test script.
> 
> No problem. This is just a bug caused by good refactoring.
> 
> I found this issue in http://news.google.co.kr/nwshp?hl=ko&tab=wn.
> 
> Unfortunately, Efl port doesn't have pixel-tests yet.
> So I didn't create test case for this bug.

Ryuan, EFL DRT runs pixel-tests by default.
Comment 9 Ryuan Choi 2012-02-01 02:32:19 PST
Created attachment 124915 [details]
scrolltest.html
Comment 10 Ryuan Choi 2012-02-01 02:33:36 PST
Created attachment 124916 [details]
results
Comment 11 Ryuan Choi 2012-02-01 02:55:47 PST
(In reply to comment #8)
> (In reply to comment #7)
> > Unfortunately, Efl port doesn't have pixel-tests yet.
> > So I didn't create test case for this bug.
> 
> Ryuan, EFL DRT runs pixel-tests by default.

I didn't know that. thanks for the information.

I tried to create test case like scrolltest.html, but pixel-test just captured before scrolling.

For now, I don't have idea.

If we need test case for this bug, I'll try to find a way more.
Comment 12 Zoltan Herczeg 2012-02-01 14:41:01 PST
> For now, I don't have idea.

Check LayoutTestController.waitUntilDone and LayoutTestController.notifyDone
Comment 13 Ryuan Choi 2012-02-02 19:56:58 PST
(In reply to comment #12)
> > For now, I don't have idea.
> 
> Check LayoutTestController.waitUntilDone and LayoutTestController.notifyDone

Thank you for your kindness.
I studied them and it is exactly what I want.

However, I found many issues with DRT/Efl.

1) DRT/Efl does not test ewk_view_single as a default.
So, I'm not sure whether I should create test cases for this bug.
I want to know whether DRT/Efl will test both ewk_view_single version and ewk_view_tiled version.

gyuyoung, could you give me your opinion?

2) DRT/Efl has an option to test ewk_view_single, but it looks not working. 
I test like below, but DRT/Efl only tested ewk_view_tiled version.
# export DRT_USE_SINGLE_BACKING_STORE=1
# ./Tools/Scripts/run-webkit-tests --efl --release --pixel fast/events/scroll-after-loading.html

I'll investigate more and create bug when I found solution.
Now, I am thinking that env is not working well for script.

3) The implementation of PixelDumpSupportEfl looks wrong.
For now, PixelDumpSupportEfl paint weview instead of capturing buffer of webview.
So, ewk_view_single version of DRT/Efl can not reproduce this issue well although I fixed second issue locally.

To reproduce this, DRT/Efl should capture the current screen like DRT/Gtk doing.

I have a prototype for this issue, so I'll create bug for this after getting internal review.

Thank you.
Comment 14 Ryuan Choi 2012-02-04 22:38:35 PST
Created attachment 125513 [details]
Patch
Comment 15 Ryuan Choi 2012-02-04 23:06:50 PST
Created attachment 125516 [details]
Patch
Comment 16 Ryuan Choi 2012-02-04 23:08:13 PST
(In reply to comment #15)
> Created an attachment (id=125516) [details]
> Patch

updated patch to include test case.
Comment 17 Ryuan Choi 2012-02-05 00:11:53 PST
Created attachment 125518 [details]
rebased
Comment 18 Ryuan Choi 2012-02-05 00:13:45 PST
Comment on attachment 125516 [details]
Patch

Sorry for the mistake.
Comment 19 Zoltan Herczeg 2012-02-05 00:36:53 PST
Is the test efl specific? I think other ports should be able to run it. Perhaps we don't need a platform specific expected result at all, since we get the same results on all ports. Anyway, bot maintainers should be notified.
Comment 20 Ryuan Choi 2012-02-06 01:13:06 PST
Created attachment 125592 [details]
Patch
Comment 21 Ryuan Choi 2012-02-06 01:32:21 PST
(In reply to comment #19)
> Is the test efl specific? I think other ports should be able to run it. Perhaps we don't need a platform specific expected result at all, since we get the same results on all ports. Anyway, bot maintainers should be notified.

Thank you, I tested this on DRT/Gtk and got same result.

And add bot maintainers which mentioned in http://build.webkit.org/buildslaves
Comment 22 WebKit Review Bot 2012-02-06 02:17:19 PST
Comment on attachment 125592 [details]
Patch

Attachment 125592 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11434229

New failing tests:
fast/events/scroll-after-loading.html
Comment 23 Ryuan Choi 2012-02-26 23:46:53 PST
Created attachment 128968 [details]
Patch
Comment 24 Ryuan Choi 2012-02-26 23:51:38 PST
(In reply to comment #22)
> (From update of attachment 125592 [details])
> Attachment 125592 [details] did not pass chromium-ews (chromium-xvfb):
> Output: http://queues.webkit.org/results/11434229
> 
> New failing tests:
> fast/events/scroll-after-loading.html

I checked chromium-linux and realized that result is different.

In case of WebKit/Gtk, scrollbar area is rendered as empty.
but WebKit/chromium seems to fill it as black.

I am not sure which one is correct.
Now, I just added chromium specific result on LayoutTest/platform/chromium-linu.

Please let me know whether I am wrong.
Comment 25 Hajime Morrita 2012-03-15 21:40:08 PDT
Comment on attachment 128968 [details]
Patch

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

I changed the outermost scrollbar painting behavior at http://trac.webkit.org/changeset/109483,
which will have invalidated the current expectation image. Could you update them?

> LayoutTests/fast/events/scroll-after-loading.html:1
> +<head>

You can use layoutTestController.dumpAsText(true) to suppress dumping render tree while keeping pixels being dumped.
Comment 26 Ryuan Choi 2012-03-15 22:36:12 PDT
Created attachment 132199 [details]
Patch
Comment 27 Ryuan Choi 2012-03-15 22:37:46 PDT
(In reply to comment #25)
> (From update of attachment 128968 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=128968&action=review
> 
> I changed the outermost scrollbar painting behavior at http://trac.webkit.org/changeset/109483,
> which will have invalidated the current expectation image. Could you update them?

Wow, great.
I updated patch.

> 
> > LayoutTests/fast/events/scroll-after-loading.html:1
> > +<head>
> 
> You can use layoutTestController.dumpAsText(true) to suppress dumping render tree while keeping pixels being dumped.

Thanks, I fixed like you mentioned.
Comment 28 Ryuan Choi 2012-03-16 00:45:11 PDT
Created attachment 132221 [details]
Patch
Comment 29 Ryuan Choi 2012-05-02 16:07:37 PDT
*** Bug 85375 has been marked as a duplicate of this bug. ***
Comment 30 Gyuyoung Kim 2012-11-23 22:14:46 PST
Comment on attachment 132221 [details]
Patch

Ryuan, I'm wondering if this patch is still valid.
Comment 31 Ryuan Choi 2012-11-25 18:26:56 PST
(In reply to comment #30)
> (From update of attachment 132221 [details])
> Ryuan, I'm wondering if this patch is still valid.

Bug and patch is valid, but new test case is unnecessary because it is covered by existing test cases such as scale-and-scroll-window.html and DRT/Efl can not test this issue well as I mentioned before.

In order to reproduce this in LayoutTest,
we should capture the pixels of webview instead of painting webview.
But it is not easy now because EFL does not have easy way to capture x backend.

I will rebase the patch without adding test case.
Comment 32 Ryuan Choi 2012-11-25 18:34:16 PST
Created attachment 175908 [details]
Patch
Comment 33 Ryuan Choi 2012-11-29 00:21:55 PST
Created attachment 176664 [details]
Patch
Comment 34 WebKit Review Bot 2012-11-29 00:39:14 PST
Comment on attachment 176664 [details]
Patch

Clearing flags on attachment: 176664

Committed r136108: <http://trac.webkit.org/changeset/136108>
Comment 35 WebKit Review Bot 2012-11-29 00:39:22 PST
All reviewed patches have been landed.  Closing bug.
Comment 36 Mariusz Grzegorczyk 2012-12-17 02:59:26 PST
*** Bug 85375 has been marked as a duplicate of this bug. ***