Code should instead use WebState and tab helpers.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5b1174cb82121658d9d944dda4940eb417b3a300 commit 5b1174cb82121658d9d944dda4940eb417b3a300 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Tue Jan 16 15:47:58 2018 Remove WebStateListFastEnumerationHelper. Port code to iterate over TabModel's WebStateList instead of TabModel. This is required to eventually remove TabModel. Add method to create LegacyTabHeper with a mock Tab and use it to fix tests that created mock TabModel and iterated over them (no longer possible). Bug: 783777 Change-Id: I332ada720436228b6567944085c269cae9d7a7ee 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/867054 Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: Mark Cogan <marq@chromium.org> Cr-Commit-Position: refs/heads/master@{#529431} [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/app/BUILD.gn [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/app/application_delegate/BUILD.gn [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/app/application_delegate/user_activity_handler.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/app/main_controller.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/crash_report/BUILD.gn [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/crash_report/crash_report_helper.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/sessions/ios_chrome_tab_restore_service_client.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/tabs/legacy_tab_helper.h [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/tabs/legacy_tab_helper.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/tabs/tab_model.h [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/tabs/tab_model.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/stack_view/BUILD.gn [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/stack_view/card_set.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/stack_view/card_set_unittest.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/tab_switcher/BUILD.gn [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/tab_switcher/tab_model_snapshot.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/tab_switcher/tab_model_snapshot_unittest.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/tabs/BUILD.gn [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/tabs/tab_strip_controller.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/ui/tabs/tab_strip_controller_unittest.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/browser/web_state_list/BUILD.gn [delete] https://crrev.com/5df550fb031d7975bbae1a3bb28b7d82d1dd01c9/ios/chrome/browser/web_state_list/web_state_list_fast_enumeration_helper.h [delete] https://crrev.com/5df550fb031d7975bbae1a3bb28b7d82d1dd01c9/ios/chrome/browser/web_state_list/web_state_list_fast_enumeration_helper.mm [delete] https://crrev.com/5df550fb031d7975bbae1a3bb28b7d82d1dd01c9/ios/chrome/browser/web_state_list/web_state_list_fast_enumeration_helper_unittest.mm [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/test/app/BUILD.gn [modify] https://crrev.com/5b1174cb82121658d9d944dda4940eb417b3a300/ios/chrome/test/app/tab_test_util.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/be33ae99520fae290262b679c2455d33cf1c38d2 commit be33ae99520fae290262b679c2455d33cf1c38d2 Author: Rohit Rao <rohitrao@chromium.org> Date: Mon Jan 14 18:52:26 2019 [ios] Removes -[TabModel currentlyReferencedExternalFiles]. This method did not use any of TabModel's private member variables and was only called from ExternalFileRemoverImpl. The implementation of this method has been converted to a free function and moved into external_file_remover_impl.mm. BUG=783777 Change-Id: I254b41bb505756f0e5e998340127fc0a8a21b57d Reviewed-on: https://chromium-review.googlesource.com/c/1409342 Reviewed-by: Sergio Collazos <sczs@chromium.org> Commit-Queue: Rohit Rao <rohitrao@chromium.org> Cr-Commit-Position: refs/heads/master@{#622536} [modify] https://crrev.com/be33ae99520fae290262b679c2455d33cf1c38d2/ios/chrome/browser/tabs/tab_model.h [modify] https://crrev.com/be33ae99520fae290262b679c2455d33cf1c38d2/ios/chrome/browser/tabs/tab_model.mm [modify] https://crrev.com/be33ae99520fae290262b679c2455d33cf1c38d2/ios/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/be33ae99520fae290262b679c2455d33cf1c38d2/ios/chrome/browser/ui/external_file_remover_impl.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f17f78569099c6b3116e6f6f2f5fde44fb2cb031 commit f17f78569099c6b3116e6f6f2f5fde44fb2cb031 Author: Rohit Rao <rohitrao@chromium.org> Date: Tue Jan 22 20:16:41 2019 [ios] Moves SnapshotCacheWebStateListObserver out of TabModel. This observer was added to the WebStateList by code in TabModel's constructor, but it should be part of the snapshot feature. Instead, use TabModelListObserver to listen for changes to the TabModelList and register the snapshot observer that way. SnapshotCache is shared between the normal and OTR browser states, so the new SnapshotCacheTabModelListObserver listens for changes to either browser state. BUG=783777 Change-Id: I646611a74be5538e1f3a55c0c1d05eaaeb1207ae Reviewed-on: https://chromium-review.googlesource.com/c/1425791 Reviewed-by: edchin <edchin@chromium.org> Commit-Queue: Rohit Rao <rohitrao@chromium.org> Cr-Commit-Position: refs/heads/master@{#624897} [modify] https://crrev.com/f17f78569099c6b3116e6f6f2f5fde44fb2cb031/ios/chrome/browser/snapshots/BUILD.gn [modify] https://crrev.com/f17f78569099c6b3116e6f6f2f5fde44fb2cb031/ios/chrome/browser/snapshots/snapshot_cache_factory.mm [add] https://crrev.com/f17f78569099c6b3116e6f6f2f5fde44fb2cb031/ios/chrome/browser/snapshots/snapshot_cache_tab_model_list_observer.h [add] https://crrev.com/f17f78569099c6b3116e6f6f2f5fde44fb2cb031/ios/chrome/browser/snapshots/snapshot_cache_tab_model_list_observer.mm [modify] https://crrev.com/f17f78569099c6b3116e6f6f2f5fde44fb2cb031/ios/chrome/browser/tabs/tab_model.mm
Comment 1 by sdefresne@chromium.org
, Nov 10 2017Status: Started (was: Untriaged)