WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
113066
[Qt][WK2] WebView's interactive property is not fully respected
https://bugs.webkit.org/show_bug.cgi?id=113066
Summary
[Qt][WK2] WebView's interactive property is not fully respected
Andras Becsi
Reported
2013-03-22 08:40:19 PDT
[Qt][WK2] WebView's interactive property is not fully respected
Attachments
Patch
(1.96 KB, patch)
2013-03-22 08:40 PDT
,
Andras Becsi
no flags
Details
Formatted Diff
Diff
Patch
(4.15 KB, patch)
2013-03-22 11:05 PDT
,
Andras Becsi
no flags
Details
Formatted Diff
Diff
Patch
(4.08 KB, patch)
2013-03-25 10:35 PDT
,
Andras Becsi
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Andras Becsi
Comment 1
2013-03-22 08:40:55 PDT
Created
attachment 194557
[details]
Patch
Andras Becsi
Comment 2
2013-03-22 08:44:43 PDT
Flickable also disables wheel scrolling if set to non-interactive, but disabling scrolling would mean that we would also ignore scroll requests coming from the web content which would not be a preferable behaviour.
Jocelyn Turcotte
Comment 3
2013-03-22 08:57:50 PDT
Comment on
attachment 194557
[details]
Patch Do we disable pinching somehow already?
Andras Becsi
Comment 4
2013-03-22 11:05:14 PDT
Created
attachment 194601
[details]
Patch
Andras Becsi
Comment 5
2013-03-22 11:06:53 PDT
(In reply to
comment #3
)
> (From update of
attachment 194557
[details]
) > Do we disable pinching somehow already?
Indeed, that's also circumventing the Flickable, so we need to ignore requests.
Jocelyn Turcotte
Comment 6
2013-03-25 08:15:41 PDT
Comment on
attachment 194601
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=194601&action=review
> Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp:433 > + if (!m_controller->allowsUserScaling() || !m_viewportItem->isInteractive())
An edge case would be if the user code sets interactive = false as a response of a certain pinch, or just randomly while a pinch is ongoing. In that case we should avoid inconsistent states, which I think could happen if we just stop listening in every callback from the recognizer. Handling this in the gesture recognizer itself would allow us to force a pinchGestureCancelled(), but this wouldn't allow us to easily send pinch gestures to the web page in the future if interactive == false. So that might not be better. Any idea?
Andras Becsi
Comment 7
2013-03-25 09:14:07 PDT
(In reply to
comment #6
)
> (From update of
attachment 194601
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=194601&action=review
> > > Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp:433 > > + if (!m_controller->allowsUserScaling() || !m_viewportItem->isInteractive()) > > An edge case would be if the user code sets interactive = false as a response of a certain pinch, or just randomly while a pinch is ongoing. > In that case we should avoid inconsistent states, which I think could happen if we just stop listening in every callback from the recognizer.
This corner case does not seem possible since we do not expose any gesture state in QML, thus there is no direct way to switch interactivity upon a pinch gesture. Indirectly it is possible to change interactivity in response to page size changes, but this does not only happen during pinch zoom.
> > Handling this in the gesture recognizer itself would allow us to force a pinchGestureCancelled(), but this wouldn't allow us to easily send pinch gestures to the web page in the future if interactive == false. So that might not be better. > Any idea?
I don't think changes in interactivity should force panGestureCancelled() since the gesture would not actually be cancelled it would only be ignored. Although the condition in pinchGestureEnded() has to be improved so that no such case can result in an inconsistent state.
Andras Becsi
Comment 8
2013-03-25 10:35:42 PDT
Created
attachment 194884
[details]
Patch
Jocelyn Turcotte
Comment 9
2013-03-26 03:57:24 PDT
LGTM Benjamin, could you have a look?
Andras Becsi
Comment 10
2013-04-03 03:19:54 PDT
Ping for review?
Benjamin Poulain
Comment 11
2013-04-05 12:25:50 PDT
Comment on
attachment 194884
[details]
Patch Good to go for WebKit2.
Andras Becsi
Comment 12
2013-04-08 04:11:55 PDT
Committed
r147909
: <
http://trac.webkit.org/changeset/147909
>
Andras Becsi
Comment 13
2013-04-08 04:12:33 PDT
Comment on
attachment 194884
[details]
Patch Clearing flags from attachment.
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