Commit e0f8b2f4 authored by Mark Cogan's avatar Mark Cogan Committed by Commit Bot

[iOS] Remove TabModelList from ExternalFileRemoverImpl

Removes use of TabModelList from the external file remover, replacing it
with equivalent BrowserList code.

The ComputeReferencedExternalFiles() helper function is updated to
accept a single Browser parameter.

Bug: 1058350
Change-Id: I258fa3c20cd932e9bd5ecdd6da538a5b68b915a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2116053Reviewed-by: default avatarMohammad Refaat <mrefaat@chromium.org>
Commit-Queue: Mohammad Refaat <mrefaat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#753574}
parent aae3ffa1
...@@ -20,8 +20,8 @@ source_set("external_files") { ...@@ -20,8 +20,8 @@ source_set("external_files") {
"//ios/chrome/browser", "//ios/chrome/browser",
"//ios/chrome/browser/bookmarks", "//ios/chrome/browser/bookmarks",
"//ios/chrome/browser/browser_state", "//ios/chrome/browser/browser_state",
"//ios/chrome/browser/main:public",
"//ios/chrome/browser/sessions", "//ios/chrome/browser/sessions",
"//ios/chrome/browser/tabs",
"//ios/chrome/browser/web_state_list", "//ios/chrome/browser/web_state_list",
] ]
} }
...@@ -17,9 +17,10 @@ ...@@ -17,9 +17,10 @@
#include "ios/chrome/browser/bookmarks/bookmark_model_factory.h" #include "ios/chrome/browser/bookmarks/bookmark_model_factory.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state.h" #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
#include "ios/chrome/browser/chrome_url_util.h" #include "ios/chrome/browser/chrome_url_util.h"
#import "ios/chrome/browser/main/browser.h"
#import "ios/chrome/browser/main/browser_list.h"
#import "ios/chrome/browser/main/browser_list_factory.h"
#include "ios/chrome/browser/sessions/ios_chrome_tab_restore_service_factory.h" #include "ios/chrome/browser/sessions/ios_chrome_tab_restore_service_factory.h"
#import "ios/chrome/browser/tabs/tab_model.h"
#import "ios/chrome/browser/tabs/tab_model_list.h"
#import "ios/chrome/browser/web_state_list/web_state_list.h" #import "ios/chrome/browser/web_state_list/web_state_list.h"
#include "ios/web/public/navigation/navigation_item.h" #include "ios/web/public/navigation/navigation_item.h"
#import "ios/web/public/navigation/navigation_manager.h" #import "ios/web/public/navigation/navigation_manager.h"
...@@ -44,11 +45,11 @@ const CFTimeInterval kSecondsPerDay = 60 * 60 * 24; ...@@ -44,11 +45,11 @@ const CFTimeInterval kSecondsPerDay = 60 * 60 * 24;
// checking for null closure). // checking for null closure).
void RunCallback(base::ScopedClosureRunner closure_runner) {} void RunCallback(base::ScopedClosureRunner closure_runner) {}
NSSet* ComputeReferencedExternalFiles(ChromeBrowserState* browser_state, NSSet* ComputeReferencedExternalFiles(Browser* browser) {
WebStateList* web_state_list) {
NSMutableSet* referenced_files = [NSMutableSet set]; NSMutableSet* referenced_files = [NSMutableSet set];
if (!browser_state) if (!browser)
return referenced_files; return referenced_files;
WebStateList* web_state_list = browser->GetWebStateList();
// Check the currently open tabs for external files. // Check the currently open tabs for external files.
for (int index = 0; index < web_state_list->count(); ++index) { for (int index = 0; index < web_state_list->count(); ++index) {
web::WebState* web_state = web_state_list->GetWebStateAt(index); web::WebState* web_state = web_state_list->GetWebStateAt(index);
...@@ -67,7 +68,8 @@ NSSet* ComputeReferencedExternalFiles(ChromeBrowserState* browser_state, ...@@ -67,7 +68,8 @@ NSSet* ComputeReferencedExternalFiles(ChromeBrowserState* browser_state,
} }
// Do the same for the recently closed tabs. // Do the same for the recently closed tabs.
sessions::TabRestoreService* restore_service = sessions::TabRestoreService* restore_service =
IOSChromeTabRestoreServiceFactory::GetForBrowserState(browser_state); IOSChromeTabRestoreServiceFactory::GetForBrowserState(
browser->GetBrowserState());
DCHECK(restore_service); DCHECK(restore_service);
for (const auto& entry : restore_service->entries()) { for (const auto& entry : restore_service->entries()) {
sessions::TabRestoreService::Tab* tab = sessions::TabRestoreService::Tab* tab =
...@@ -232,10 +234,13 @@ NSSet* ExternalFileRemoverImpl::GetReferencedExternalFiles() { ...@@ -232,10 +234,13 @@ NSSet* ExternalFileRemoverImpl::GetReferencedExternalFiles() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
// Add files from all TabModels. // Add files from all TabModels.
NSMutableSet* referenced_external_files = [NSMutableSet set]; NSMutableSet* referenced_external_files = [NSMutableSet set];
for (TabModel* tab_model in TabModelList::GetTabModelsForChromeBrowserState( BrowserList* browser_list =
browser_state_)) { BrowserListFactory::GetForBrowserState(browser_state_);
NSSet* files = std::set<Browser*> browsers = browser_state_->IsOffTheRecord()
ComputeReferencedExternalFiles(browser_state_, tab_model.webStateList); ? browser_list->AllIncognitoBrowsers()
: browser_list->AllRegularBrowsers();
for (Browser* browser : browsers) {
NSSet* files = ComputeReferencedExternalFiles(browser);
if (files) { if (files) {
[referenced_external_files unionSet:files]; [referenced_external_files unionSet:files];
} }
......
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