Commit 30195a3b authored by Mohammad Refaat's avatar Mohammad Refaat Committed by Commit Bot

Remove Tabmodel usage from tab grid mediator

Use SessionRestorationAgent to restore the session directly using the
browser instead of calling it through tabModel.

Bug: 1010164, 783777
Change-Id: Ib1dd37941eccd3e85d0c6c72c2d463ea2cfc69f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2007519Reviewed-by: default avatarMark Cogan <marq@chromium.org>
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#734073}
parent 64687c5b
...@@ -28,6 +28,7 @@ source_set("tab_grid") { ...@@ -28,6 +28,7 @@ source_set("tab_grid") {
"//ios/chrome/browser/browser_state", "//ios/chrome/browser/browser_state",
"//ios/chrome/browser/main", "//ios/chrome/browser/main",
"//ios/chrome/browser/sessions", "//ios/chrome/browser/sessions",
"//ios/chrome/browser/sessions:restoration_agent",
"//ios/chrome/browser/sessions:serialisation", "//ios/chrome/browser/sessions:serialisation",
"//ios/chrome/browser/snapshots", "//ios/chrome/browser/snapshots",
"//ios/chrome/browser/tabs", "//ios/chrome/browser/tabs",
......
...@@ -15,12 +15,12 @@ ...@@ -15,12 +15,12 @@
#include "ios/chrome/browser/chrome_url_constants.h" #include "ios/chrome/browser/chrome_url_constants.h"
#import "ios/chrome/browser/chrome_url_util.h" #import "ios/chrome/browser/chrome_url_util.h"
#include "ios/chrome/browser/main/browser.h" #include "ios/chrome/browser/main/browser.h"
#import "ios/chrome/browser/sessions/session_restoration_browser_agent.h"
#import "ios/chrome/browser/snapshots/snapshot_cache.h" #import "ios/chrome/browser/snapshots/snapshot_cache.h"
#import "ios/chrome/browser/snapshots/snapshot_cache_factory.h" #import "ios/chrome/browser/snapshots/snapshot_cache_factory.h"
#import "ios/chrome/browser/snapshots/snapshot_cache_observer.h" #import "ios/chrome/browser/snapshots/snapshot_cache_observer.h"
#import "ios/chrome/browser/snapshots/snapshot_tab_helper.h" #import "ios/chrome/browser/snapshots/snapshot_tab_helper.h"
#include "ios/chrome/browser/system_flags.h" #include "ios/chrome/browser/system_flags.h"
#import "ios/chrome/browser/tabs/tab_model.h"
#import "ios/chrome/browser/tabs/tab_title_util.h" #import "ios/chrome/browser/tabs/tab_title_util.h"
#import "ios/chrome/browser/ui/tab_grid/grid/grid_consumer.h" #import "ios/chrome/browser/ui/tab_grid/grid/grid_consumer.h"
#import "ios/chrome/browser/ui/tab_grid/grid/grid_item.h" #import "ios/chrome/browser/ui/tab_grid/grid/grid_item.h"
...@@ -341,9 +341,8 @@ web::WebState* GetWebStateWithId(WebStateList* web_state_list, ...@@ -341,9 +341,8 @@ web::WebState* GetWebStateWithId(WebStateList* web_state_list,
if (!self.closedSessionWindow) if (!self.closedSessionWindow)
return; return;
DCHECK(self.browser->GetBrowserState()); DCHECK(self.browser->GetBrowserState());
[self.browser->GetTabModel() restoreSessionWindow:self.closedSessionWindow SessionRestorationBrowserAgent::FromBrowser(self.browser)
forInitialRestore:NO]; ->RestoreSessionWindow(self.closedSessionWindow);
self.closedSessionWindow = nil; self.closedSessionWindow = nil;
[self removeEntriesFromTabRestoreService]; [self removeEntriesFromTabRestoreService];
self.syncedClosedTabsCount = 0; self.syncedClosedTabsCount = 0;
......
...@@ -283,18 +283,10 @@ class TabGridMediatorTest : public PlatformTest { ...@@ -283,18 +283,10 @@ class TabGridMediatorTest : public PlatformTest {
// Prepare the mock method to restore the tabs. // Prepare the mock method to restore the tabs.
void PrepareForRestoration() { void PrepareForRestoration() {
[[[tab_model_ expect] andDo:^(NSInvocation* inv) {
SessionWindowIOS* sessionWindow;
[inv retainArguments];
[inv getArgument:&sessionWindow atIndex:2];
TestSessionService* test_session_service = TestSessionService* test_session_service =
[[TestSessionService alloc] init]; [[TestSessionService alloc] init];
SessionRestorationBrowserAgent::CreateForBrowser(browser_.get(), SessionRestorationBrowserAgent::CreateForBrowser(browser_.get(),
test_session_service); test_session_service);
SessionRestorationBrowserAgent* session_restoration_agent =
SessionRestorationBrowserAgent::FromBrowser(browser_.get());
session_restoration_agent->RestoreSessionWindow(sessionWindow);
}] restoreSessionWindow:[OCMArg any] forInitialRestore:NO];
} }
protected: protected:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment