Bug 101549 - [EFL][WK2][AC] Fixed layers are shaking when scrolling
Summary: [EFL][WK2][AC] Fixed layers are shaking when scrolling
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-07 23:18 PST by Hurnjoo Lee
Modified: 2012-11-09 12:30 PST (History)
7 users (show)

See Also:


Attachments
proposed patch (1.71 KB, patch)
2012-11-07 23:25 PST, Hurnjoo Lee
no flags Details | Formatted Diff | Diff
test case (279 bytes, text/html)
2012-11-08 20:58 PST, Hurnjoo Lee
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hurnjoo Lee 2012-11-07 23:18:57 PST
At the time of adjusting positions for fixed layers, the locations of
fixed layers are calculated incorrectly because the contentsSize is empty.
Comment 1 Hurnjoo Lee 2012-11-07 23:25:47 PST
Created attachment 172936 [details]
proposed patch
Comment 2 WebKit Review Bot 2012-11-08 06:03:26 PST
Comment on attachment 172936 [details]
proposed patch

Rejecting attachment 172936 [details] from commit-queue.

New failing tests:
fast/repaint/selection-after-delete.html
Full output: http://queues.webkit.org/results/14771173
Comment 3 Yael 2012-11-08 06:46:16 PST
Comment on attachment 172936 [details]
proposed patch

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

> Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.cpp:83
> +    drawingArea()->layerTreeCoordinatorProxy()->setContentsSize(contentsSize);

Isn't PageViewportController already setting the contentsSize?
Per https://bugs.webkit.org/show_bug.cgi?id=99850#c7 the viewport client should not be calling this explicitly.
Comment 4 Yael 2012-11-08 13:16:09 PST
(In reply to comment #0)
> At the time of adjusting positions for fixed layers, the locations of
> fixed layers are calculated incorrectly because the contentsSize is empty.

Do you have a test case for this? I'd like to take a look at this.
Thanks.
Comment 5 Hurnjoo Lee 2012-11-08 20:44:12 PST
(In reply to comment #3)
> (From update of attachment 172936 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=172936&action=review
> 
> > Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.cpp:83
> > +    drawingArea()->layerTreeCoordinatorProxy()->setContentsSize(contentsSize);
> 
> Isn't PageViewportController already setting the contentsSize?
> Per https://bugs.webkit.org/show_bug.cgi?id=99850#c7 the viewport client should not be calling this explicitly.

Yes, PageViewportController is setting its own the contentSize already but LayerTreeRenderer's contentsSize is never set.
In Qt port, set LayerTreeRenderer's contentsSize at PageViewportControllerClientQt::didChangeContentsSize.
Comment 6 Hurnjoo Lee 2012-11-08 20:58:26 PST
Created attachment 173190 [details]
test case
Comment 7 Hurnjoo Lee 2012-11-08 21:02:14 PST
(In reply to comment #4)
> (In reply to comment #0)
> > At the time of adjusting positions for fixed layers, the locations of
> > fixed layers are calculated incorrectly because the contentsSize is empty.
> 
> Do you have a test case for this? I'd like to take a look at this.
> Thanks.

I've attached test case.
Also you can test on sites.
http://jquerymobile.com/demos/1.1.0/docs/toolbars/bars-fixed.html
http://www.noobcube.com/wp-content/uploads/demos/062709-fixed-header-footer/demo/
Comment 8 Yael 2012-11-09 11:30:38 PST
Comment on attachment 172936 [details]
proposed patch

Sorry it took me so long to get to this.
You are right, in the Qt port the same call is being made indirectly.
I'll try to cq the patch because the ews error did not seem related to your change.
Comment 9 WebKit Review Bot 2012-11-09 12:30:38 PST
Comment on attachment 172936 [details]
proposed patch

Clearing flags on attachment: 172936

Committed r134098: <http://trac.webkit.org/changeset/134098>
Comment 10 WebKit Review Bot 2012-11-09 12:30:42 PST
All reviewed patches have been landed.  Closing bug.