Build the animation for dismissing into the grid. |
||||||||||||
Issue descriptionBuild the animation for dismissing into the grid.
,
Jan 23 2018
,
Jan 23 2018
,
Jan 23 2018
,
Jan 23 2018
,
Jan 23 2018
,
Jan 25 2018
,
Feb 28 2018
,
Mar 5 2018
,
Mar 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22 commit b837fa87c34fec2def8e7c1bb6f2a7afaef00c22 Author: Mark Cogan <marq@google.com> Date: Tue Mar 06 10:42:50 2018 [ios] Show the correct panel in the Tab Grid when it appears. This CL updates the adaptor's restoreInternalStateWithMainTabModel: method to set the correct visible page in the tab grid. So that the adaptor isn't directly depending on the tab grid view controller, the current-page- setting property is abstracted out into a protocol (along with the enum). Setting the current page property sets the scroll view offset accordingly. MainController needed to be tweaked so that the very first time the tab grid is displayed, -restoreInternalStateWithMainTabModel: is called. Bug: 804538 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Change-Id: If8e7cd27a81d7095486ff389fc104aa243cf406c Reviewed-on: https://chromium-review.googlesource.com/948482 Commit-Queue: Mark Cogan <marq@chromium.org> Reviewed-by: edchin <edchin@chromium.org> Cr-Commit-Position: refs/heads/master@{#541065} [modify] https://crrev.com/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22/ios/chrome/app/main_controller.mm [modify] https://crrev.com/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22/ios/chrome/browser/ui/tab_grid/BUILD.gn [modify] https://crrev.com/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22/ios/chrome/browser/ui/tab_grid/tab_grid_adaptor.h [modify] https://crrev.com/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22/ios/chrome/browser/ui/tab_grid/tab_grid_adaptor.mm [modify] https://crrev.com/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm [add] https://crrev.com/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22/ios/chrome/browser/ui/tab_grid/tab_grid_paging.h [modify] https://crrev.com/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h [modify] https://crrev.com/b837fa87c34fec2def8e7c1bb6f2a7afaef00c22/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
,
Mar 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fb1eb72750890de576245e3d339a28519134a978 commit fb1eb72750890de576245e3d339a28519134a978 Author: Mark Cogan <marq@google.com> Date: Wed Mar 07 10:25:39 2018 [iOS] Add appearance animation to tab grid. When the tab grid appears as part of an animated transition, the toolbars should drop down to animate into position. This CL implements this by triggering that animation in -viewWillAppear: and using the view controller's transition coordinator's -animateAlongsideTransition: method. The timing/details of this animation aren't final, but can easily be tweaked. Bug: 804538 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Change-Id: I20f322684598e5dcfbace21d5f928b41414658f0 Reviewed-on: https://chromium-review.googlesource.com/950944 Commit-Queue: Mark Cogan <marq@chromium.org> Reviewed-by: edchin <edchin@chromium.org> Cr-Commit-Position: refs/heads/master@{#541402} [modify] https://crrev.com/fb1eb72750890de576245e3d339a28519134a978/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
,
Mar 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/165dadf640747207ae9645763d003aca933ccd47 commit 165dadf640747207ae9645763d003aca933ccd47 Author: Mark Cogan <marq@google.com> Date: Tue Mar 13 10:15:41 2018 [iOS] Animated transition from tab to grid. This CL implements an imperfect but serviceable-for-now transition animator used when entering the tab grid. Most of the logic for building and running the animation is in the animator class. However, to set the animation up, the tab grid needs to vend some information. This is done through the TabGridTransitionStateProvider protocol, which the TabGridViewController implements. Most of this information is handled by the -transitionGridLayout method, which returns an array of dictionaries with predefined keys. Some of the values are collection cells, which GridCell provides (a grid cell can now provide a "proxy" version of itself for this purpose). These are then used to build the animation. Because the grid animation really needs to happen *behind* the grid toolbars to look right, the state provider protocol includes two somewhat janky methods to expose views to make this possible -- a view to add the transition cells to, and a view in that view to put them above. The implementations of these methods return the TabGridViewController's view, and it's scroll view, respectively. This means the animator is adding and removing stuff from the view hierarchy of a view controller, which isn't ideal. The alternative is to also proxy the tab grid toolbars in the transition animation, which will require a bit more plumbing. There are a number of fit-and-finish cleanups that need to happen; a separate task bug has been created for them. Bug: 804538 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Change-Id: Ifde8bb27b70ce350e40eeb1e1b14675579f84d7d Reviewed-on: https://chromium-review.googlesource.com/957039 Commit-Queue: Mark Cogan <marq@chromium.org> Reviewed-by: edchin <edchin@chromium.org> Reviewed-by: Mark Cogan <marq@chromium.org> Cr-Commit-Position: refs/heads/master@{#542757} [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/BUILD.gn [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/grid_cell.h [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/grid_cell.mm [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/grid_view_controller.h [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/grid_view_controller.mm [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/tab_grid_transition_handler.h [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/tab_grid_transition_handler.mm [delete] https://crrev.com/376776f18aa5a445c13c46f5f7e573c1dad65c5a/ios/chrome/browser/ui/tab_grid/tab_grid_transition_state_provider.h [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/transitions/BUILD.gn [add] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/transitions/grid_transition_layout.h [add] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/transitions/grid_transition_layout.mm [add] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/transitions/grid_transition_state_providing.h [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/transitions/tab_to_grid_animator.h [modify] https://crrev.com/165dadf640747207ae9645763d003aca933ccd47/ios/chrome/browser/ui/tab_grid/transitions/tab_to_grid_animator.mm
,
Mar 13 2018
,
Mar 13 2018
,
Mar 14 2018
The NextAction date has arrived: 2018-03-14
,
Mar 15 2018
|
||||||||||||
►
Sign in to add a comment |
||||||||||||
Comment 1 by marq@chromium.org
, Jan 23 2018Labels: MS-Tab-Grid Pri-2
Owner: marq@chromium.org
Status: Available (was: Unconfirmed)