summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/PageViewportController.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)Konstantin Tokarev2017-02-021-360/+0
| | | | | Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* Import Qt5x2 branch of QtWebkit for Qt 5.2Allan Sandfeld Jensen2013-09-191-44/+109
| | | | | | | Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Refactor handling of content suspension to properly cover corner casesAndras Becsi2013-03-251-23/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=111751 This is a back-port from upstream patch http://trac.webkit.org/changeset/146355 Reviewed by Jocelyn Turcotte. The current suspend / resume infrastructure turned out to be insufficient to cover all corner cases during transitions between gestures of complex gesture chains. The requirements for robust suspend / resume handling are: - Keep the content suspended while the user is continuously interacting, eg. does not lift the finger between transition from a pan to a pinch gesture and vice versa. - The content should not be suspended unnecessarily (like for a tap gesture), only during panning and scroll animation (flick), as well as pinch zoom and scale animation (also includes double-tap-to-zoom). - The content should never end up stuck in suspended state after long gesture chains and continuous interaction. This patch reintroduces reference counting based suspension in form of a new ViewportInteractionTracker member class to make it possible to reliably control the suspend / resume cycles during scrolling and scaling. During continuous gestures, while the user is interacting, the reference count is increased without actually suspending the content to prevent resuming unnecessarily during continuous interaction. At the same time this also assures that the page is not suspended for simple tap gestures, which was a side-effect of the previous approach based on update deferrers. The newly added functionality replaces boolean members that tried to achive the above requirements. Additionally this patch also removes the redundant m_hasSuspendedContent member from the PageViewportController since WebPageProxy already keeps this information. Change-Id: Id9b55d37c7ad839a27029e92872f36bbf202e660 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Qt][EFL][WK2] Remove redundant device pixel ratio adjustment from ↵Andras Becsi2013-01-161-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PageViewportController https://bugs.webkit.org/show_bug.cgi?id=106355 Reviewed by Kenneth Rohde Christiansen. This is a backport of http://trac.webkit.org/changeset/139189. Since r137597 Qt uses the device pixel ratio of the underlying platform window as the device pixel ratio in WebCore. The tiles are rendered with the effective scale (scale adjusted with the device scale factor) and the projection matrix is also adjusted with the device pixel ratio when painting. As a result we can follow the same approach as QtQuick and all the coordinates in PageViewportController need to be in device independent pixels (UI pixels) thus we do no longer need to adjust with the device pixel ratio when calculating the viewport attributes. This simplifies the logic significantly and increases robustness, but does not allow to set a custom device pixel ratio different from the factor of the underlying platform (eg. for testing purposes). This patch is conceptually a follow-up of r137597 and fixes layout and canvas size on retina display. Change-Id: I2485ef0a4aa18726238bacddaa5176cf5869659e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* [EFL][Qt][WK2] Going back to 47-amazing-css3-animation-demos shows nothing ↵Andras Becsi2013-01-141-0/+3
| | | | | | | | | | | | | | | | | or wrong position https://bugs.webkit.org/show_bug.cgi?id=104414 Reviewed by Simon Hausmann. When contents size changes, make sure to apply any pending position change if possible. This is a cherry-pick of http://trac.webkit.org/changeset/138149 that fixes a frequent positioning issue during navigation. Change-Id: Ib535f8470b2b8994565d750af06ee535e4153c3c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Revert r136231 to fix overlay size due to incorrect visible rectAndras Becsi2012-12-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue is visible when loading the full-sized image in the flickrview example by clicking on a thumbnail. Because of css device adaptation the code already changed in trunk somewhat but the issue is also visible there, both on retina and non-retina displays. The problem here is that the visible rect that is set in WebPage::sendViewportAttributesChanged() is incorrect because it includes a rounding error if dpr != 1.0 since the stored viewport size has integer precision, additionally there is also a dependency problem since the constructed visible rect does not include the UI-side scale that might be applied later in page viewport controller due to the changed attributes. This is especially visible on Flickr since the full size images are shown in an overlay and an invalid visible rect results in wrong overlay size. In trunk this codepath is also used by css device adaptation thus we might need a more comprehensive fix there, but since we currently do not support css device adaptation we can revert http://trac.webkit.org/changeset/136231 in this branch. The issue is tracked upstream on: https://bugs.webkit.org/show_bug.cgi?id=104906 Change-Id: Ia451ee610795700b0d3d6455413b97b607e6fb32 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit 6a4a1d32e1d779548c726c4826cba9d69eb87601 ↵Simon Hausmann2012-11-301-8/+16
| | | | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@136242) Final import for the Qt 5.x series that implements the QtWebKit / QtWebKitWidgets split Extra fixes will be cherry-picked. Change-Id: I844f1ebb99c6d6b75db31d6538c2acd628e79681 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit c60cfe0fc09efd257aa0111d7b133b02deb8a63e ↵Simon Hausmann2012-11-291-2/+2
| | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@136119) New snapshot that includes the fix for installing the QtWebProcess into libexec Change-Id: I01344e079cbdac5678c4cba6ffcc05f4597cf0d7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit 76dac539db7ece7079963adfcfe878d8e2f7d861 ↵Simon Hausmann2012-11-261-13/+18
| | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@135696) New snapshot that fixes build after QMacStyle removal Change-Id: Idea95c96c73b49158d52861db2a4b8d2c51766b0 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit 8eb048315f36fa33731f28694630fe4a3c2cbc99 ↵Simon Hausmann2012-11-231-3/+3
| | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@135602) New snapshot that fixes various bugs Change-Id: Icb6ce541a26a9f500d087821ce4b83a8d8a5474a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit e89504fa9195b2063b2530961d4b73dd08de3242 ↵Simon Hausmann2012-11-221-12/+28
| | | | | | | (http://svn.webkit.org/repository/webkit/trunk@135485) Change-Id: I03774e5ac79721c13ffa30d152537a74d0b12e66 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 ↵Simon Hausmann2012-11-071-22/+13
| | | | | | (http://svn.webkit.org/repository/webkit/trunk@133733) New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
* Imported WebKit commit 7136c2962f51f9ea361d9796b069374d0f41c922 ↵Simon Hausmann2012-10-231-2/+1
| | | | | | (http://svn.webkit.org/repository/webkit/trunk@132195) Build fix for Windows when building against Qt that was built without Angle support
* Imported WebKit commit 302e7806bff028bd1167a1ec7c86a1ee00ecfb49 ↵Simon Hausmann2012-10-221-1/+2
| | | | | | (http://svn.webkit.org/repository/webkit/trunk@132067) New snapshot that fixes build without QtWidgets
* Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 ↵Simon Hausmann2012-10-171-18/+89
| | | | | | | (http://svn.webkit.org/repository/webkit/trunk@131592) New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well as the previously cherry-picked changes
* Revert "Imported WebKit commit 0dc6cd75e1d4836eaffbb520be96fac4847cc9d2 ↵Simon Hausmann2012-10-161-89/+18
| | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@131300)" This reverts commit 5466563f4b5b6b86523e3f89bb7f77e5b5270c78. Caused OOM issues on some CI machines :(
* Imported WebKit commit 0dc6cd75e1d4836eaffbb520be96fac4847cc9d2 ↵Simon Hausmann2012-10-151-18/+89
| | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@131300) WebKit update which introduces the QtWebKitWidgets module that contains the WK1 widgets based API. (In fact it renames QtWebKit to QtWebKitWidgets while we're working on completing the entire split as part of https://bugs.webkit.org/show_bug.cgi?id=99314
* Imported WebKit commit c596dd7f03007fa7ed896b928106497e8784b3b5 ↵Simon Hausmann2012-09-261-63/+43
| | | | | | (http://svn.webkit.org/repository/webkit/trunk@129610) New snapshot that removes QtQuick1 support (to be moved into QtQuick1 module)
* Imported WebKit commit c7503cef7ecb236730d1309676ab9fc723fd061d ↵Simon Hausmann2012-09-181-0/+2
| | | | | | (http://svn.webkit.org/repository/webkit/trunk@128886) New snapshot with various build fixes
* Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d ↵Simon Hausmann2012-09-101-0/+238
(http://svn.webkit.org/repository/webkit/trunk@128073) New snapshot