diff --git content/browser/blob_storage/chrome_blob_storage_context.cc content/browser/blob_storage/chrome_blob_storage_context.cc index d0318111b239..bcc733af5ddb 100644 --- content/browser/blob_storage/chrome_blob_storage_context.cc +++ content/browser/blob_storage/chrome_blob_storage_context.cc @@ -117,7 +117,8 @@ ChromeBlobStorageContext* ChromeBlobStorageContext::GetFor( // If we're not incognito mode, schedule all of our file tasks to enable // disk on the storage context. - if (!context->IsOffTheRecord() && io_thread_valid) { + if (!context->GetPath().empty() && !context->IsOffTheRecord() && + io_thread_valid) { file_task_runner = base::ThreadPool::CreateTaskRunner( {base::MayBlock(), base::TaskPriority::USER_VISIBLE, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); diff --git content/browser/browser_context.cc content/browser/browser_context.cc index 18cb0f6c588d..93ef44e197fc 100644 --- content/browser/browser_context.cc +++ content/browser/browser_context.cc @@ -253,7 +253,7 @@ StoragePartition* BrowserContext::GetStoragePartition( GetStoragePartitionMap(browser_context); auto config_to_use = storage_partition_config; - if (browser_context->IsOffTheRecord()) + if (browser_context->IsOffTheRecord() || browser_context->GetPath().empty()) config_to_use = storage_partition_config.CopyWithInMemorySet(); return partition_map->Get(config_to_use, can_create); @@ -575,7 +575,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() { kUseInMemoryDBDefault); std::unique_ptr stats_db; - if (use_in_memory_db) { + if (use_in_memory_db || GetPath().empty()) { stats_db = std::make_unique(nullptr); } else { diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc index fdf4b2466077..938df52d348e 100644 --- storage/browser/database/database_tracker.cc +++ storage/browser/database/database_tracker.cc @@ -508,7 +508,7 @@ bool DatabaseTracker::LazyInit() { meta_table_.reset(new sql::MetaTable()); is_initialized_ = - base::CreateDirectory(db_dir_) && + (is_off_the_record_ ? true : base::CreateDirectory(db_dir_)) && (db_->is_open() || (is_off_the_record_ ? db_->OpenInMemory() : db_->Open(kTrackerDatabaseFullPath))) &&