Tab has a method -attachTabHelpers called from the AttachTabHelpers(). Those objects are owned by Tab and not real tab helpers. They should be converted to real tab helpers as necessary.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/047e07a1423665bfe3092d81087452f5dd2da766 commit 047e07a1423665bfe3092d81087452f5dd2da766 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Mon Sep 04 09:20:35 2017 [iOS] Move PasswordController ownership to a tab helper. Introduce a new tab helper PasswordTabHelper that owns PasswordController and forward access to the public API of PasswordController and change all code to use the PasswordTabHelper instead of accessing it via Tab. Add a new protocol PasswordFormFiller to avoid requiring creating a real PasswordController and PasswordTabHelper in ActivityServiceController unit tests. Bug: 760556 Change-Id: I7587a6a1b40cd2c74247d437ef023b5b87f003a6 Reviewed-on: https://chromium-review.googlesource.com/643391 Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#499463} [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/passwords/BUILD.gn [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/passwords/password_controller.h [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/passwords/password_controller.mm [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/passwords/password_controller_unittest.mm [add] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/passwords/password_form_filler.h [add] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/passwords/password_tab_helper.h [add] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/passwords/password_tab_helper.mm [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/tabs/tab.h [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/tabs/tab_helper_util.mm [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/ui/activity_services/BUILD.gn [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/ui/activity_services/activity_service_controller.mm [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/ui/activity_services/activity_service_controller_unittest.mm [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/ui/activity_services/activity_service_legacy_coordinator.mm [modify] https://crrev.com/047e07a1423665bfe3092d81087452f5dd2da766/ios/chrome/browser/ui/activity_services/requirements/activity_service_password.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1dc59a745bf81d7625e08743e6669183356073e5 commit 1dc59a745bf81d7625e08743e6669183356073e5 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Wed Sep 06 15:56:44 2017 [iOS] Move AutofillController ownership to a tab helper. Introduce a new tab helper AutofillTabHelper that owns AutofillController and forward access to the public API of AutofillController and change all code to use the AutofillTabHelper instead of accessing it via Tab. Bug: 760556 Change-Id: Ic986c22f60f016658258c6f7b6591633ded167ac Reviewed-on: https://chromium-review.googlesource.com/647588 Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org> Cr-Commit-Position: refs/heads/master@{#499975} [modify] https://crrev.com/1dc59a745bf81d7625e08743e6669183356073e5/ios/chrome/browser/autofill/BUILD.gn [add] https://crrev.com/1dc59a745bf81d7625e08743e6669183356073e5/ios/chrome/browser/autofill/autofill_tab_helper.h [add] https://crrev.com/1dc59a745bf81d7625e08743e6669183356073e5/ios/chrome/browser/autofill/autofill_tab_helper.mm [modify] https://crrev.com/1dc59a745bf81d7625e08743e6669183356073e5/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/1dc59a745bf81d7625e08743e6669183356073e5/ios/chrome/browser/tabs/tab_helper_util.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca376a657147fdd55bd441a038878eef85f6c326 commit ca376a657147fdd55bd441a038878eef85f6c326 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Wed Sep 06 19:14:32 2017 [iOS] Move FormSuggestionController ownership to a tab helper. Introduce a new tab helper FormSuggestionTabHelper that owns FormSuggestionController and forward access to the public API of FormSuggestionController and change all code to use the FormSuggestionTabHelper instead of accessing it via Tab. Bug: 760556 Change-Id: I3e54734f8feb814a633d38bdd2959b40366ec544 Reviewed-on: https://chromium-review.googlesource.com/647591 Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org> Cr-Commit-Position: refs/heads/master@{#500034} [modify] https://crrev.com/ca376a657147fdd55bd441a038878eef85f6c326/ios/chrome/browser/autofill/BUILD.gn [add] https://crrev.com/ca376a657147fdd55bd441a038878eef85f6c326/ios/chrome/browser/autofill/form_suggestion_tab_helper.h [add] https://crrev.com/ca376a657147fdd55bd441a038878eef85f6c326/ios/chrome/browser/autofill/form_suggestion_tab_helper.mm [modify] https://crrev.com/ca376a657147fdd55bd441a038878eef85f6c326/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/ca376a657147fdd55bd441a038878eef85f6c326/ios/chrome/browser/tabs/tab_helper_util.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/34c5e0387a61b292bccf48602a12231edec76d04 commit 34c5e0387a61b292bccf48602a12231edec76d04 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Thu Sep 07 09:37:27 2017 [iOS] Move FormInputAccessoryViewController ownership to a tab helper. Introduce a new tab helper FormInputAccessoryViewTabHelper that owns FormInputAccessoryViewController and forward access to the public API of FormInputAccessoryViewController and change all code to use the FormInputAccessoryViewTabHelper instead of accessing it via Tab. Bug: 760556 Change-Id: I7dceddfd245d37ee21e116e6d44b484ad2cc8a89 Reviewed-on: https://chromium-review.googlesource.com/648930 Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org> Cr-Commit-Position: refs/heads/master@{#500256} [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/autofill/BUILD.gn [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/autofill/form_input_accessory_view_controller.h [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/autofill/form_input_accessory_view_controller.mm [add] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/autofill/form_input_accessory_view_tab_helper.h [add] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/autofill/form_input_accessory_view_tab_helper.mm [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/autofill/form_input_egtest.mm [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/autofill/form_suggestion_tab_helper.h [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/tabs/tab_helper_util.mm [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/browser/tabs/tab_private.h [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/test/app/tab_test_util.h [modify] https://crrev.com/34c5e0387a61b292bccf48602a12231edec76d04/ios/chrome/test/app/tab_test_util.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b6d2f746a05267f3aa3d26a4c322a0d32ec3256b commit b6d2f746a05267f3aa3d26a4c322a0d32ec3256b Author: Sylvain Defresne <sdefresne@chromium.org> Date: Mon Sep 11 16:11:34 2017 Remove obsolete methods from Tab private API. Tab -setShouldObserveInfoBarManager: and -setShouldObserveFaviconChanges: where only called once from -attachTabHelpers (directly or indirectly) so remove them and inline the code in the corresponding objects constructors. Remove checks for the presence of the two tab helpers TabInfoBarObserver and FaviconDriverObserverBridge as they always exists at this point (as this method is invoked just after creating all the tab helpers for Tab). Bug: 760556 Change-Id: I3a2a0de6a562c2b4f12333f1482dd33df293f3f6 Reviewed-on: https://chromium-review.googlesource.com/659797 Reviewed-by: Olivier Robin <olivierrobin@chromium.org> Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Cr-Commit-Position: refs/heads/master@{#500932} [modify] https://crrev.com/b6d2f746a05267f3aa3d26a4c322a0d32ec3256b/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/b6d2f746a05267f3aa3d26a4c322a0d32ec3256b/ios/chrome/browser/tabs/tab_private.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cacc3a58f1a4a4d07d7ea9fac62c4df3e4e75daa commit cacc3a58f1a4a4d07d7ea9fac62c4df3e4e75daa Author: Sylvain Defresne <sdefresne@chromium.org> Date: Tue Sep 12 13:51:04 2017 Convert PrintObserver to a tab helper (PrintTabHelper). Change PrintObserver to a WebStateUserData and move creation to BrowserViewController to remove the need to create it from Tab and a dependency of model on UI. Introduce a separate protocol WebStatePrinter implemented by BrowserViewController to decouple PrintTabHelper from UI. Bug: 760556 Change-Id: I42ea68e70e84b52ed7c5f705ee01e74e749e09df Reviewed-on: https://chromium-review.googlesource.com/660122 Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: Rohit Rao (ping after 24h) <rohitrao@chromium.org> Cr-Commit-Position: refs/heads/master@{#501257} [modify] https://crrev.com/cacc3a58f1a4a4d07d7ea9fac62c4df3e4e75daa/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/cacc3a58f1a4a4d07d7ea9fac62c4df3e4e75daa/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/cacc3a58f1a4a4d07d7ea9fac62c4df3e4e75daa/ios/chrome/browser/web/BUILD.gn [delete] https://crrev.com/31b1e91ff7546e6ec8d0527bf301f47b112b696e/ios/chrome/browser/web/print_observer.h [delete] https://crrev.com/31b1e91ff7546e6ec8d0527bf301f47b112b696e/ios/chrome/browser/web/print_observer.mm [add] https://crrev.com/cacc3a58f1a4a4d07d7ea9fac62c4df3e4e75daa/ios/chrome/browser/web/print_tab_helper.h [add] https://crrev.com/cacc3a58f1a4a4d07d7ea9fac62c4df3e4e75daa/ios/chrome/browser/web/print_tab_helper.mm [add] https://crrev.com/cacc3a58f1a4a4d07d7ea9fac62c4df3e4e75daa/ios/chrome/browser/web/web_state_printer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7178d4c924a6ecddc3432febadefcd37ea6ec7dd commit 7178d4c924a6ecddc3432febadefcd37ea6ec7dd Author: Sylvain Defresne <sdefresne@chromium.org> Date: Thu Sep 14 13:22:37 2017 [iOS] Move handling of favicon out of Tab. Remove Tab -favicon getter and change client code to instead fetch the favicon via the FaviconDriver (with null checks as the driver may not be installed during unit tests). Move the code that save the favicon to the NavigationItem from Tab to WebFaviconDriver (more logical location if the WebFaviconDriver is responsible for all access to the WebState's favicon). Move the code that listen to WebState navigation events from Tab to WebFaviconDriver as it is already a WebStateObserver and this make the object the one location responsible for fetching and updating the WebState's favicon. Remove Tab's FaviconDriverObserver that forwarded the notification that a new favicon was fetched and instead introduce an observer in TabModelObserversBridge (as TabModel was forwarding the event to TabModelObservers anyway). Remove Tab -fetchFavicon and the call from TabParentingObserver as it was only useful when restoring a Tab in the background. Instead move the code into the deserialisation code. Bug: 760556 Change-Id: I2dc96c62d5d437cd212fafbc6b0cd0612e190ae6 Reviewed-on: https://chromium-review.googlesource.com/663362 Reviewed-by: Rohit Rao (ping after 24h) <rohitrao@chromium.org> Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Cr-Commit-Position: refs/heads/master@{#501938} [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/components/favicon/ios/web_favicon_driver.h [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/components/favicon/ios/web_favicon_driver.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/tabs/tab.h [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/tabs/tab_model.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/tabs/tab_model_observers_bridge.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/tabs/tab_parenting_observer.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/stack_view/BUILD.gn [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/stack_view/card_set.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/stack_view/card_set_unittest.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/tab_switcher/BUILD.gn [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_cell.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/tabs/BUILD.gn [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/tabs/tab_strip_controller.mm [modify] https://crrev.com/7178d4c924a6ecddc3432febadefcd37ea6ec7dd/ios/chrome/browser/ui/tabs/tab_strip_controller_unittest.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9f296a1bb1f252949b8fcf0929c56ae7119ef448 commit 9f296a1bb1f252949b8fcf0929c56ae7119ef448 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Thu Oct 19 16:24:43 2017 Remove unused Tab -isLinkLoadingPrerenderTab. Bug: 760556 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: I5a892956e3b3247d1c01d42f1c6a04bb4a9ec8b1 Reviewed-on: https://chromium-review.googlesource.com/727023 Reviewed-by: Rohit Rao (ping after 24h) <rohitrao@chromium.org> Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Cr-Commit-Position: refs/heads/master@{#510100} [modify] https://crrev.com/9f296a1bb1f252949b8fcf0929c56ae7119ef448/ios/chrome/browser/tabs/tab.h [modify] https://crrev.com/9f296a1bb1f252949b8fcf0929c56ae7119ef448/ios/chrome/browser/tabs/tab.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/17b8aa417e88ae9208d5b8de7549308e84cd27b4 commit 17b8aa417e88ae9208d5b8de7549308e84cd27b4 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Fri Dec 22 09:58:56 2017 Add tab helper owning the SnapshotGenerator. Add SnapshotTabHelper to owns the SnapshotGenerator; it is not created for pre-rendered tabs (instead it is created when the Tab is inserted to TabModel or when converted from pre-rendered). Convert all client code to use the SnapshotTabHelper instead of the Tab API wrapping SnapshotGenerator (and remove the obsolete API from Tab). Remove dependency on TabIdTabHelper by passing the WebState's snapshot session identifier to the tab helper constructor. Bug: 760556 Change-Id: I2d4ed7546dbb793448e71656de3e14d602f77bb5 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Reviewed-on: https://chromium-review.googlesource.com/833919 Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: Justin Cohen <justincohen@chromium.org> Cr-Commit-Position: refs/heads/master@{#525965} [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/app/main_controller.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/prerender/preload_controller.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/BUILD.gn [add] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/fake_snapshot_generator_delegate.h [add] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/fake_snapshot_generator_delegate.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/snapshot_cache.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/snapshot_generator.h [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/snapshot_generator.mm [add] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/snapshot_tab_helper.h [add] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/snapshot_tab_helper.mm [add] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/snapshots/snapshot_tab_helper_unittest.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab.h [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab_helper_util.h [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab_helper_util.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab_model_closing_web_state_observer.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab_model_unittest.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab_model_web_state_list_delegate.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab_private.h [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/tabs/tab_unittest.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/activity_services/BUILD.gn [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator_unittest.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/activity_services/share_to_data_builder_unittest.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/browser_view_controller_unittest.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/side_swipe/side_swipe_controller.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/stack_view/BUILD.gn [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/stack_view/card_set.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/stack_view/card_set_unittest.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/stack_view/stack_view_controller.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/stack_view/stack_view_controller_perftest.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/tab_switcher/BUILD.gn [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/tab_switcher/tab_switcher_cache.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/tab_switcher/tab_switcher_controller.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/tab_switcher/tab_switcher_transition_context.mm [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/tabs/BUILD.gn [modify] https://crrev.com/17b8aa417e88ae9208d5b8de7549308e84cd27b4/ios/chrome/browser/ui/tabs/tab_strip_controller.mm
Comment 1 by stkhapugin@chromium.org
, Sep 1 2017