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") {
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/main",
"//ios/chrome/browser/sessions",
"//ios/chrome/browser/sessions:restoration_agent",
"//ios/chrome/browser/sessions:serialisation",
"//ios/chrome/browser/snapshots",
"//ios/chrome/browser/tabs",
......
......@@ -15,12 +15,12 @@
#include "ios/chrome/browser/chrome_url_constants.h"
#import "ios/chrome/browser/chrome_url_util.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_factory.h"
#import "ios/chrome/browser/snapshots/snapshot_cache_observer.h"
#import "ios/chrome/browser/snapshots/snapshot_tab_helper.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/ui/tab_grid/grid/grid_consumer.h"
#import "ios/chrome/browser/ui/tab_grid/grid/grid_item.h"
......@@ -341,9 +341,8 @@ web::WebState* GetWebStateWithId(WebStateList* web_state_list,
if (!self.closedSessionWindow)
return;
DCHECK(self.browser->GetBrowserState());
[self.browser->GetTabModel() restoreSessionWindow:self.closedSessionWindow
forInitialRestore:NO];
SessionRestorationBrowserAgent::FromBrowser(self.browser)
->RestoreSessionWindow(self.closedSessionWindow);
self.closedSessionWindow = nil;
[self removeEntriesFromTabRestoreService];
self.syncedClosedTabsCount = 0;
......
......@@ -283,18 +283,10 @@ class TabGridMediatorTest : public PlatformTest {
// Prepare the mock method to restore the tabs.
void PrepareForRestoration() {
[[[tab_model_ expect] andDo:^(NSInvocation* inv) {
SessionWindowIOS* sessionWindow;
[inv retainArguments];
[inv getArgument:&sessionWindow atIndex:2];
TestSessionService* test_session_service =
[[TestSessionService alloc] init];
SessionRestorationBrowserAgent::CreateForBrowser(browser_.get(),
test_session_service);
SessionRestorationBrowserAgent* session_restoration_agent =
SessionRestorationBrowserAgent::FromBrowser(browser_.get());
session_restoration_agent->RestoreSessionWindow(sessionWindow);
}] restoreSessionWindow:[OCMArg any] forInitialRestore:NO];
}
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