The stack view should use snapshot of the toolbar instead of the toolbar in transition animations.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ba34b467c42fc695784a2507025030bb55e81312 commit ba34b467c42fc695784a2507025030bb55e81312 Author: Gauthier Ambard <gambard@chromium.org> Date: Mon Nov 06 09:06:42 2017 Add snapshot-based animation for the StackView This CL adds a flag to enable snapshot-based animation when entering and leaving the StackView. Having snapshot instead of reparenting the toolbar simplify the code. Bug: 779514 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: Ifd9efed50f57736efa63cd098dccad6d581d07cb Reviewed-on: https://chromium-review.googlesource.com/743722 Commit-Queue: Gauthier Ambard <gambard@chromium.org> Reviewed-by: Kurt Horimoto <kkhorimoto@chromium.org> Reviewed-by: Mark Cogan <marq@chromium.org> Cr-Commit-Position: refs/heads/master@{#514100} [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/about_flags.mm [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/content_suggestions/content_suggestions_header_view_controller.mm [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ios_chrome_flag_descriptions.cc [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ios_chrome_flag_descriptions.h [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/browser_view_controller.h [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/ntp/google_landing_view_controller.mm [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/ntp/new_tab_page_header_view.mm [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/stack_view/stack_view_controller.mm [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/stack_view/stack_view_controller_private.h [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/toolbar/public/toolbar_controller_base_feature.h [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/toolbar/public/toolbar_controller_base_feature.mm [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/toolbar/toolbar_coordinator.mm [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/toolbar/toolbar_owner.h [modify] https://crrev.com/ba34b467c42fc695784a2507025030bb55e81312/ios/chrome/browser/ui/toolbar/toolbar_snapshot_providing.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/996d9b188fc8d6987fc1129e93aebd8c3ef89635 commit 996d9b188fc8d6987fc1129e93aebd8c3ef89635 Author: Gauthier Ambard <gambard@chromium.org> Date: Mon Nov 06 09:39:21 2017 Fix rotation issue with StackView toolbar snapshot This CL makes sure that the snapshot-based animations of the stack view behave correctly when rotating the device while the user is in the stack view. It also adds support for the NTP toolbar. Bug: 779514 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: Ic077c6a7e2aa46af7278637caa66ded9ecfbf40c Reviewed-on: https://chromium-review.googlesource.com/744014 Commit-Queue: Gauthier Ambard <gambard@chromium.org> Reviewed-by: Mark Cogan <marq@chromium.org> Cr-Commit-Position: refs/heads/master@{#514103} [modify] https://crrev.com/996d9b188fc8d6987fc1129e93aebd8c3ef89635/ios/chrome/browser/content_suggestions/content_suggestions_header_view_controller.mm [modify] https://crrev.com/996d9b188fc8d6987fc1129e93aebd8c3ef89635/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/996d9b188fc8d6987fc1129e93aebd8c3ef89635/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm [modify] https://crrev.com/996d9b188fc8d6987fc1129e93aebd8c3ef89635/ios/chrome/browser/ui/ntp/new_tab_page_header_view.mm [modify] https://crrev.com/996d9b188fc8d6987fc1129e93aebd8c3ef89635/ios/chrome/browser/ui/stack_view/stack_view_controller.mm [modify] https://crrev.com/996d9b188fc8d6987fc1129e93aebd8c3ef89635/ios/chrome/browser/ui/toolbar/toolbar_coordinator.mm [modify] https://crrev.com/996d9b188fc8d6987fc1129e93aebd8c3ef89635/ios/chrome/browser/ui/toolbar/toolbar_snapshot_providing.h [modify] https://crrev.com/996d9b188fc8d6987fc1129e93aebd8c3ef89635/ios/chrome/browser/ui/uikit_ui_util.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5b35d0e9b9a2f54b58ad2535398c22bb8f473532 commit 5b35d0e9b9a2f54b58ad2535398c22bb8f473532 Author: Gauthier Ambard <gambard@chromium.org> Date: Mon Nov 06 10:24:38 2017 Background color for StackView snapshot animations This CL adds a background color to the dummy background toolbar used in the Stack View card animation. The color of the dummy toolbar is dependant of the screen it is presented on. Bug: 779514 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: I56ba44ab06a4edf3f9d0c589460e0f70d14d985d Reviewed-on: https://chromium-review.googlesource.com/746648 Commit-Queue: Gauthier Ambard <gambard@chromium.org> Reviewed-by: Mark Cogan <marq@chromium.org> Cr-Commit-Position: refs/heads/master@{#514106} [modify] https://crrev.com/5b35d0e9b9a2f54b58ad2535398c22bb8f473532/ios/chrome/browser/ui/ntp/new_tab_page_header_view.mm [modify] https://crrev.com/5b35d0e9b9a2f54b58ad2535398c22bb8f473532/ios/chrome/browser/ui/stack_view/stack_view_controller.mm [modify] https://crrev.com/5b35d0e9b9a2f54b58ad2535398c22bb8f473532/ios/chrome/browser/ui/toolbar/toolbar_coordinator.mm [modify] https://crrev.com/5b35d0e9b9a2f54b58ad2535398c22bb8f473532/ios/chrome/browser/ui/toolbar/toolbar_snapshot_providing.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ced629746545e69abcab4309e08679250d925448 commit ced629746545e69abcab4309e08679250d925448 Author: Gauthier Ambard <gambard@chromium.org> Date: Tue Nov 07 09:18:39 2017 Crop the toolbar snapshot by 1px This CL crop the toolbar snapshot by 1px, to prevent a black line from being shown. This black line comes from the space used by the shadow below the toolbar. Bug: 779514 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: I5a946dbb8ebc0f9c0b1076dcfab57dbc55f739fc Reviewed-on: https://chromium-review.googlesource.com/753345 Reviewed-by: Sylvain Defresne <sdefresne@chromium.org> Commit-Queue: Gauthier Ambard <gambard@chromium.org> Cr-Commit-Position: refs/heads/master@{#514426} [modify] https://crrev.com/ced629746545e69abcab4309e08679250d925448/ios/chrome/browser/ui/stack_view/stack_view_controller.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/27ad3afc3cc073d361f1e62bada45cf6b1412ef2 commit 27ad3afc3cc073d361f1e62bada45cf6b1412ef2 Author: Gauthier Ambard <gambard@chromium.org> Date: Wed Nov 08 14:37:04 2017 Add fake safe area constraints to toolbar When taking a snapshot of the toolbar to display it during stack view animations, the snapshot should respect the safe area. This might not work if a rotation was performed. This CL adds a method to force the safe area to respect a fake safe area. Bug: 779514 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: I5af04badb8a2382161a7013228c159a1bf04e090 Reviewed-on: https://chromium-review.googlesource.com/758358 Reviewed-by: Mark Cogan <marq@chromium.org> Commit-Queue: Gauthier Ambard <gambard@chromium.org> Cr-Commit-Position: refs/heads/master@{#514824} [modify] https://crrev.com/27ad3afc3cc073d361f1e62bada45cf6b1412ef2/ios/chrome/browser/ui/ntp/new_tab_page_header_view.mm [modify] https://crrev.com/27ad3afc3cc073d361f1e62bada45cf6b1412ef2/ios/chrome/browser/ui/stack_view/stack_view_controller.mm [modify] https://crrev.com/27ad3afc3cc073d361f1e62bada45cf6b1412ef2/ios/chrome/browser/ui/toolbar/toolbar_controller.h [modify] https://crrev.com/27ad3afc3cc073d361f1e62bada45cf6b1412ef2/ios/chrome/browser/ui/toolbar/toolbar_controller.mm [modify] https://crrev.com/27ad3afc3cc073d361f1e62bada45cf6b1412ef2/ios/chrome/browser/ui/toolbar/toolbar_coordinator.mm [modify] https://crrev.com/27ad3afc3cc073d361f1e62bada45cf6b1412ef2/ios/chrome/browser/ui/toolbar/toolbar_snapshot_providing.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ae4ba9a87fca14f9c20f2b064eee790e3303514c commit ae4ba9a87fca14f9c20f2b064eee790e3303514c Author: Gauthier Ambard <gambard@chromium.org> Date: Wed Nov 08 17:08:44 2017 Enable the snapshot-based animation by default This CL enable the the flag to use snapshot of the toolbar when entering/leaving the stack view. Bug: 779514 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: Ie8e8d3a3dc264bc6997aa9499d8f22d740c29b79 Reviewed-on: https://chromium-review.googlesource.com/758239 Commit-Queue: Gauthier Ambard <gambard@chromium.org> Reviewed-by: Olivier Robin <olivierrobin@chromium.org> Reviewed-by: Mark Cogan <marq@chromium.org> Cr-Commit-Position: refs/heads/master@{#514862} [modify] https://crrev.com/ae4ba9a87fca14f9c20f2b064eee790e3303514c/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm [modify] https://crrev.com/ae4ba9a87fca14f9c20f2b064eee790e3303514c/ios/chrome/browser/ui/toolbar/public/toolbar_controller_base_feature.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/276307e53588c8bbc852283cff8659a1f2124fdf commit 276307e53588c8bbc852283cff8659a1f2124fdf Author: Gauthier Ambard <gambard@chromium.org> Date: Tue Nov 14 09:29:14 2017 Remove StackView old animation This CL removes the code used by the StackView to do the previous animation when entering/leaving. Bug: 779514 , 778226 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Change-Id: If0b4b0207fcad38c95bb1b46d895354ce623a0d0 Reviewed-on: https://chromium-review.googlesource.com/747421 Reviewed-by: Mark Cogan <marq@chromium.org> Reviewed-by: Kurt Horimoto <kkhorimoto@chromium.org> Commit-Queue: Gauthier Ambard <gambard@chromium.org> Cr-Commit-Position: refs/heads/master@{#516246} [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/about_flags.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/content_suggestions/content_suggestions_header_view_controller.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ios_chrome_flag_descriptions.cc [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ios_chrome_flag_descriptions.h [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/ntp/google_landing_view_controller.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/ntp/new_tab_page_header_view.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/omnibox/omnibox_text_field_ios.h [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/omnibox/omnibox_text_field_ios.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/stack_view/stack_view_controller.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/stack_view/stack_view_controller_private.h [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/public/toolbar_controller_base_feature.h [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/public/toolbar_controller_base_feature.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/public/toolbar_controller_constants.h [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/public/toolbar_controller_constants.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/toolbar_controller+protected.h [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/toolbar_controller.h [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/toolbar_controller.mm [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/toolbar_owner.h [modify] https://crrev.com/276307e53588c8bbc852283cff8659a1f2124fdf/ios/chrome/browser/ui/toolbar/web_toolbar_controller.mm
Comment 1 by bugdroid1@chromium.org
, Nov 6 2017