See todo in tab.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f2e00d9b5d947bd9a8b64e980bc7e634432f2643 commit f2e00d9b5d947bd9a8b64e980bc7e634432f2643 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Thu Aug 24 10:54:05 2017 Refactor restoring of foreign navigations in NavigationManager. Add a Restore method to NavigationManager that uses the same API as the corresponding method of NavigationController on content/. This method loads a list of NavigationItem in an empty NavigationManager. Add a helper method to session_utils to create a WebState and load a list of NavigationItem and use it in the different code path that load a foreign session. Remove the -loadSessionTab: from Tab interface, and instead create a new WebState the helper method and insert it into the WebStateList or replace the currently active WebState (depending on whether the session loading should happen in the current tab or in a new tab). Remove old NavigationManagerImpl API to reset the session controller, remove use of NavigationManagerImpl API in favour of the new public NavigationManager API, remove Tab -didReplaceSessionHistory (no tab has its history replaced anymore, instead a new tab is created). Bug: 619992,620083,620465, 661666 Change-Id: Ib5f54cbf2d66e06a9af223525e4a32c822cb85fb Reviewed-on: https://chromium-review.googlesource.com/529307 Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: Eugene But <eugenebut@chromium.org> Cr-Commit-Position: refs/heads/master@{#497003} [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/sessions/BUILD.gn [delete] https://crrev.com/b75e8b02d2f61fda88cfd9663799677657b8345e/ios/chrome/browser/sessions/DEPS [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/sessions/session_util.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/sessions/session_util.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/tabs/tab.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/tabs/tab.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/tabs/tab_model_notification_observer.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/tabs/tab_model_notification_observer.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/ui/tab_switcher/BUILD.gn [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/chrome/browser/ui/tab_switcher/tab_switcher_controller.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/navigation/legacy_navigation_manager_impl.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/navigation/legacy_navigation_manager_impl.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/navigation/navigation_manager_impl.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/navigation/navigation_manager_impl_unittest.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/navigation/wk_based_navigation_manager_impl.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/navigation/wk_based_navigation_manager_impl.mm [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/public/navigation_manager.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/public/test/fakes/test_navigation_manager.h [modify] https://crrev.com/f2e00d9b5d947bd9a8b64e980bc7e634432f2643/ios/web/public/test/fakes/test_navigation_manager.mm
Code has been removed, closing.
Comment 1 by eugene...@chromium.org
, Nov 3 2016Components: UI>Browser>FullScreen
Labels: -Type-Bug Type-Feature
Status: Available (was: Unconfirmed)