Bug 137336 - REGRESSION(r173785): Previous page scroll position isn't restored correctly on EFL since r173785
Summary: REGRESSION(r173785): Previous page scroll position isn't restored correctly o...
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: XML (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Gyuyoung Kim
URL:
Keywords:
Depends on: 136917
Blocks:
  Show dependency treegraph
 
Reported: 2014-10-02 01:13 PDT by Gyuyoung Kim
Modified: 2014-11-03 00:00 PST (History)
0 users

See Also:


Attachments
WIP (2.05 KB, patch)
2014-10-07 01:48 PDT, Gyuyoung Kim
no flags Details | Formatted Diff | Diff
WIP(not include test case yet) (2.99 KB, patch)
2014-11-02 21:57 PST, Gyuyoung Kim
no flags Details | Formatted Diff | Diff
WIP (5.08 KB, patch)
2014-11-02 23:59 PST, Gyuyoung 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 Gyuyoung Kim 2014-10-02 01:13:03 PDT
When user back to previous page using backward button on MiniBrowser, previous page's scroll position isn't restored. RenderLayer::scrollRectToVisible() causes this problem because r173785 supports requestScrollPositionUpdate() for EFL port.


void RenderLayer::scrollRectToVisible(const LayoutRect& rect, const ScrollAlignment& alignX, const ScrollAlignment& alignY)
{
   ...
        } else {
#if !PLATFORM(IOS)
            LayoutRect viewRect = frameView.visibleContentRect();
            LayoutRect visibleRectRelativeToDocument = viewRect;
            IntSize documentScrollOffsetRelativeToScrollableAreaOrigin = frameView.documentScrollOffsetRelativeToScrollableAreaOrigin();
            visibleRectRelativeToDocument.setLocation(IntPoint(documentScrollOffsetRelativeToScrollableAreaOrigin.width(), documentScrollOffsetRelativeToScrollableAreaOrigin.height()));
#else
            LayoutRect viewRect = frameView.unobscuredContentRect();
            LayoutRect visibleRectRelativeToDocument = viewRect;
#endif

            LayoutRect r = getRectToExpose(viewRect, visibleRectRelativeToDocument, rect, alignX, alignY);
                
            frameView.setScrollPosition(roundedIntPoint(r.location()));
   ...
}
Comment 1 Gyuyoung Kim 2014-10-07 01:48:14 PDT
Created attachment 239402 [details]
WIP
Comment 2 Gyuyoung Kim 2014-11-02 21:57:53 PST
Created attachment 240827 [details]
WIP(not include test case yet)
Comment 3 Gyuyoung Kim 2014-11-02 23:58:14 PST
It looks this is normal behavior.
Comment 4 Gyuyoung Kim 2014-11-02 23:59:50 PST
Reopening to attach new patch.
Comment 5 Gyuyoung Kim 2014-11-02 23:59:53 PST
Created attachment 240830 [details]
WIP