WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
103889
[Qt][WK2] REGRESSION(
r135399
): It made qmltests::DoubleTapToZoom::test_double_zoomInAndBack() API test fail
https://bugs.webkit.org/show_bug.cgi?id=103889
Summary
[Qt][WK2] REGRESSION(r135399): It made qmltests::DoubleTapToZoom::test_double...
Csaba Osztrogonác
Reported
2012-12-03 06:51:37 PST
FAIL! : qmltests::DoubleTapToZoom::test_double_zoomInAndBack() 'wait for signal contentsScaleCommitted' returned FALSE. () Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml(80)]
Attachments
Patch
(3.43 KB, patch)
2012-12-04 08:35 PST
,
Andras Becsi
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Andras Becsi
Comment 1
2012-12-04 08:35:00 PST
Created
attachment 177492
[details]
Patch
Jocelyn Turcotte
Comment 2
2012-12-05 02:30:33 PST
Comment on
attachment 177492
[details]
Patch I had a chat with Allan and maybe it is wrong that we call clearRelativeZoomState() in PageViewportControllerClientQt::didChangeViewportAttributes. I think that the initial intention was to catch when the controller adjust the content to fit because of it being zoomed out too much. The fact that we are mixing those things together is leading to this kind of bug, so maybe we should put that line somewhere else.
Andras Becsi
Comment 3
2012-12-05 04:28:00 PST
(In reply to
comment #2
)
> (From update of
attachment 177492
[details]
) > I had a chat with Allan and maybe it is wrong that we call clearRelativeZoomState() in PageViewportControllerClientQt::didChangeViewportAttributes. I think that the initial intention was to catch when the controller adjust the content to fit because of it being zoomed out too much. > The fact that we are mixing those things together is leading to this kind of bug, so maybe we should put that line somewhere else.
In the original design we used to clean the stack when applying the initial scale, but a lot of things changed since then. We might need to add a new function to the client interface to be able to explicitly clear the stack without relying on the viewport attributes changes.
Andras Becsi
Comment 4
2012-12-05 04:32:53 PST
Comment on
attachment 177492
[details]
Patch Clearing flags on attachment: 177492 Committed
r136668
: <
http://trac.webkit.org/changeset/136668
>
Andras Becsi
Comment 5
2012-12-05 04:32:57 PST
All reviewed patches have been landed. Closing bug.
Jocelyn Turcotte
Comment 6
2012-12-05 06:09:45 PST
(In reply to
comment #3
)
> In the original design we used to clean the stack when applying the initial scale, but a lot of things changed since then. > We might need to add a new function to the client interface to be able to explicitly clear the stack without relying on the viewport attributes changes.
loadCommitted might be more appropriate then. PageViewportControllerClientQt::setContentsScale also resets the stack for the initial scale, which might be the case you are talking about.
Andras Becsi
Comment 7
2012-12-05 06:26:25 PST
(In reply to
comment #6
)
> (In reply to
comment #3
) > > In the original design we used to clean the stack when applying the initial scale, but a lot of things changed since then. > > We might need to add a new function to the client interface to be able to explicitly clear the stack without relying on the viewport attributes changes. > > loadCommitted might be more appropriate then. > PageViewportControllerClientQt::setContentsScale also resets the stack for the initial scale, which might be the case you are talking about.
(In reply to
comment #6
)
> (In reply to
comment #3
) > > In the original design we used to clean the stack when applying the initial scale, but a lot of things changed since then. > > We might need to add a new function to the client interface to be able to explicitly clear the stack without relying on the viewport attributes changes. > > loadCommitted might be more appropriate then. > PageViewportControllerClientQt::setContentsScale also resets the stack for the initial scale, which might be the case you are talking about.
Yes, but since we defer setting the scale to didRenderFrame we do not actually use the isInitial flag in setContentsScale, so this information is lost. The problem with load committed is that on complex pages the user might still double-tap _after_ loadCommitted but _before_ pageTransitionViewportReady and the stack would not be reset. So I guess the right spot for explicitly clearing the scale stack would be in pageTransitionViewportReady, or to be more precise: we should reset if we apply the initial scale. I will try to clean this up after the release.
Jocelyn Turcotte
Comment 8
2012-12-05 07:23:09 PST
(In reply to
comment #7
) Ok I see, that makes sense. pageTransitionViewportReady is still something that has no direct effect on the client, the user is still seeing the old page at this point. We could also try to carry the flag through applyScaleAfterRenderingContents.
Andras Becsi
Comment 9
2012-12-05 08:29:43 PST
(In reply to
comment #8
)
> (In reply to
comment #7
) > Ok I see, that makes sense. > > pageTransitionViewportReady is still something that has no direct effect on the client, the user is still seeing the old page at this point. We could also try to carry the flag through applyScaleAfterRenderingContents.
Yepp, that's what I actually meant by "we should reset if we apply the initial scale."
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug