Files
servo/components/storage/storage_thread.rs
Ashwin Naren c056f9b08e indexeddb: Report memory usage (#42486)
Reports memory usage, including partial sqlite3 memory usage stats for
the sqlite3 engine.

Testing: Manual
2026-02-19 21:00:51 +00:00

31 lines
1.3 KiB
Rust

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use std::path::PathBuf;
use base::generic_channel::GenericSender;
use profile_traits::mem::ProfilerChan as MemProfilerChan;
use storage_traits::StorageThreads;
use storage_traits::client_storage::ClientStorageThreadMessage;
use storage_traits::indexeddb::IndexedDBThreadMsg;
use storage_traits::webstorage_thread::WebStorageThreadMsg;
use crate::{ClientStorageThreadFactory, IndexedDBThreadFactory, WebStorageThreadFactory};
pub fn new_storage_threads(
mem_profiler_chan: MemProfilerChan,
config_dir: Option<PathBuf>,
) -> (StorageThreads, StorageThreads) {
let client_storage: GenericSender<ClientStorageThreadMessage> =
ClientStorageThreadFactory::new(config_dir.clone());
let idb: GenericSender<IndexedDBThreadMsg> =
IndexedDBThreadFactory::new(config_dir.clone(), mem_profiler_chan.clone());
let web_storage: GenericSender<WebStorageThreadMsg> =
WebStorageThreadFactory::new(config_dir, mem_profiler_chan);
(
StorageThreads::new(client_storage.clone(), idb.clone(), web_storage.clone()),
StorageThreads::new(client_storage, idb, web_storage),
)
}