Commit 427d3bbb authored by Olivier Li's avatar Olivier Li Committed by Commit Bot

Set browser state builder dir to avoid file leaks in ios tests in /ios/chrome/browser/ui/toolbar

This cl is generated with 'git cl split'

This CL was uploaded by git cl split.

R=gambard@chromium.org

Bug: 546640
Change-Id: I6d29caeda4e1b42e6e9fc71e71106ff30a0cd063
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1991714
Commit-Queue: Oliver Li <olivierli@chromium.org>
Reviewed-by: default avatarGauthier Ambard <gambard@chromium.org>
Auto-Submit: Oliver Li <olivierli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#730240}
parent 83c2b507
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <memory> #include <memory>
#include "base/files/scoped_temp_dir.h"
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "components/bookmarks/browser/bookmark_model.h" #include "components/bookmarks/browser/bookmark_model.h"
...@@ -104,6 +105,11 @@ class ToolbarMediatorTest : public PlatformTest { ...@@ -104,6 +105,11 @@ class ToolbarMediatorTest : public PlatformTest {
: scoped_provider_( : scoped_provider_(
std::make_unique<TestToolbarMediatorChromeBrowserProvider>()) { std::make_unique<TestToolbarMediatorChromeBrowserProvider>()) {
TestChromeBrowserState::Builder test_cbs_builder; TestChromeBrowserState::Builder test_cbs_builder;
bool success = state_dir_.CreateUniqueTempDir();
DCHECK(success);
test_cbs_builder.SetPath(state_dir_.GetPath());
chrome_browser_state_ = test_cbs_builder.Build(); chrome_browser_state_ = test_cbs_builder.Build();
chrome_browser_state_->CreateBookmarkModel(false); chrome_browser_state_->CreateBookmarkModel(false);
bookmark_model_ = ios::BookmarkModelFactory::GetForBrowserState( bookmark_model_ = ios::BookmarkModelFactory::GetForBrowserState(
...@@ -128,6 +134,11 @@ class ToolbarMediatorTest : public PlatformTest { ...@@ -128,6 +134,11 @@ class ToolbarMediatorTest : public PlatformTest {
~ToolbarMediatorTest() override { [mediator_ disconnect]; } ~ToolbarMediatorTest() override { [mediator_ disconnect]; }
protected: protected:
// A state directory that outlives |task_environment_| is needed because
// CreateHistoryService/CreateBookmarkModel use the directory to host
// databases. See https://crbug.com/546640 for more details.
base::ScopedTempDir state_dir_;
web::WebTaskEnvironment task_environment_; web::WebTaskEnvironment task_environment_;
void SetUpWebStateList() { void SetUpWebStateList() {
web_state_list_ = std::make_unique<WebStateList>(&web_state_list_delegate_); web_state_list_ = std::make_unique<WebStateList>(&web_state_list_delegate_);
......
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