Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Issue 584833003: Made double-tap zoom work in pinch virtual viewport mode. (Blink-side) (Closed)

Created:
6 years, 3 months ago by bokan
Modified:
6 years, 2 months ago
CC:
blink-reviews, mkwst+moarreviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Made double-tap zoom work in pinch virtual viewport mode. (Blink-side) On the Blink side: The clamping method used by computeScaleAndScrollForBlockRect now uses a new method PinchViewport::clampDocumentOffsetAtScale to clamp the requested viewport offset taking into account the inner and outer viewports. Added copies of AutoZoom tests that run with virtual- viewport turned on. Also added an overload of applyViewportDeltas, called in virtual viewport mode only, that applies the inner and outer deltas along page scale in one shot. This makes the viewport layers a special case again in that their scroll offsets are set through this call, rather than the standard 'did_scroll' callback of most layers. This is needed since the scroll offsets may be invalid until the page scale is applied so this is handled in one method to prevent unintended clamping. On the Compositor side: Calls the appropriate applyViewportDeltas based on which pinch mode we're running in. The page scale animation now prefers to scroll the inner viewport first, scrolling the outer only when the inner has reached its scroll extent. Chromium-side: https://codereview.chromium.org/585063002 BUG=364106 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182860

Patch Set 1 #

Total comments: 1

Patch Set 2 : #

Patch Set 3 : Added tests #

Patch Set 4 : TODO->FIXME #

Total comments: 4

Patch Set 5 : Param names #

Patch Set 6 : Rebase #

Patch Set 7 : Fix assert #

Unified diffs Side-by-side diffs Delta from patch set Stats (+471 lines, -77 lines) Patch
M Source/core/frame/PinchViewport.h View 1 2 3 4 5 3 chunks +8 lines, -0 lines 0 comments Download
M Source/core/frame/PinchViewport.cpp View 1 2 3 4 5 6 7 chunks +62 lines, -29 lines 0 comments Download
M Source/core/page/scrolling/ScrollingCoordinator.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/scrolling/ScrollingCoordinator.cpp View 1 2 3 4 5 2 chunks +11 lines, -5 lines 0 comments Download
M Source/platform/graphics/GraphicsLayer.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/graphics/GraphicsLayer.cpp View 1 2 3 4 5 1 chunk +3 lines, -5 lines 0 comments Download
M Source/web/WebViewImpl.h View 1 2 3 4 5 3 chunks +6 lines, -0 lines 0 comments Download
M Source/web/WebViewImpl.cpp View 1 2 3 4 5 5 chunks +35 lines, -18 lines 0 comments Download
M Source/web/tests/WebFrameTest.cpp View 1 2 3 4 5 9 chunks +344 lines, -19 lines 0 comments Download

Messages

Total messages: 18 (6 generated)
aelias_OOO_until_Jul13
https://codereview.chromium.org/584833003/diff/1/Source/web/WebViewImpl.cpp File Source/web/WebViewImpl.cpp (right): https://codereview.chromium.org/584833003/diff/1/Source/web/WebViewImpl.cpp#newcode4165 Source/web/WebViewImpl.cpp:4165: // When the virtual viewport is enabled, offsets are ...
6 years, 3 months ago (2014-09-19 22:39:21 UTC) #2
bokan
On 2014/09/19 22:39:21, aelias wrote: > https://codereview.chromium.org/584833003/diff/1/Source/web/WebViewImpl.cpp > File Source/web/WebViewImpl.cpp (right): > > https://codereview.chromium.org/584833003/diff/1/Source/web/WebViewImpl.cpp#newcode4165 > ...
6 years, 3 months ago (2014-09-20 01:14:22 UTC) #3
aelias_OOO_until_Jul13
lgtm
6 years, 3 months ago (2014-09-22 06:45:02 UTC) #4
bokan
Hi Elliott, could you PTAL for Source/core and Source/platform OWNER? Thanks.
6 years, 3 months ago (2014-09-23 00:49:04 UTC) #6
esprehn
lgtm https://codereview.chromium.org/584833003/diff/60001/Source/core/frame/PinchViewport.h File Source/core/frame/PinchViewport.h (right): https://codereview.chromium.org/584833003/diff/60001/Source/core/frame/PinchViewport.h#newcode98 Source/core/frame/PinchViewport.h:98: void setScaleAndLocation(float, const FloatPoint&); add argument names. https://codereview.chromium.org/584833003/diff/60001/Source/core/frame/PinchViewport.h#newcode119 ...
6 years, 3 months ago (2014-09-23 00:53:12 UTC) #7
bokan
+jamesr@ for public/web OWNER https://codereview.chromium.org/584833003/diff/60001/Source/core/frame/PinchViewport.h File Source/core/frame/PinchViewport.h (right): https://codereview.chromium.org/584833003/diff/60001/Source/core/frame/PinchViewport.h#newcode98 Source/core/frame/PinchViewport.h:98: void setScaleAndLocation(float, const FloatPoint&); On ...
6 years, 3 months ago (2014-09-23 12:42:23 UTC) #9
jamesr
lgtm
6 years, 3 months ago (2014-09-23 23:27:27 UTC) #10
bokan
This will need a 3-sided patch, I'll land the interface changes from this CL in ...
6 years, 3 months ago (2014-09-24 13:48:20 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/584833003/100001
6 years, 2 months ago (2014-09-29 15:11:29 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/26872)
6 years, 2 months ago (2014-09-29 15:29:27 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/584833003/120001
6 years, 2 months ago (2014-09-29 18:00:07 UTC) #17
commit-bot: I haz the power
6 years, 2 months ago (2014-09-29 19:38:45 UTC) #18
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as 182860

Powered by Google App Engine
This is Rietveld 408576698