| Index: ios/web_view/internal/web_view_browser_state.mm
|
| diff --git a/ios/web_view/internal/web_view_browser_state.mm b/ios/web_view/internal/web_view_browser_state.mm
|
| index 6a34819d4e913eeadac5e6246a68bd9e6412c824..c41432f649a98f1fb99b76df3609c1bc2da201ee 100644
|
| --- a/ios/web_view/internal/web_view_browser_state.mm
|
| +++ b/ios/web_view/internal/web_view_browser_state.mm
|
| @@ -34,6 +34,11 @@ namespace ios_web_view {
|
|
|
| WebViewBrowserState::WebViewBrowserState(bool off_the_record)
|
| : web::BrowserState(), off_the_record_(off_the_record) {
|
| + // IO access is required to setup the browser state. In Chrome, this is
|
| + // already allowed during thread startup. However, startup time of
|
| + // ChromeWebView is not predetermined, so IO access is temporarily allowed.
|
| + bool wasIOAllowed = base::ThreadRestrictions::SetIOAllowed(true);
|
| +
|
| CHECK(PathService::Get(base::DIR_APP_DATA, &path_));
|
|
|
| request_context_getter_ = new WebViewURLRequestContextGetter(
|
| @@ -56,6 +61,8 @@ WebViewBrowserState::WebViewBrowserState(bool off_the_record)
|
| PrefServiceFactory factory;
|
| factory.set_user_prefs(user_pref_store);
|
| prefs_ = factory.Create(pref_registry.get());
|
| +
|
| + base::ThreadRestrictions::SetIOAllowed(wasIOAllowed);
|
| }
|
|
|
| WebViewBrowserState::~WebViewBrowserState() = default;
|
|
|