mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Factor out FileManager::promote_memory().
This commit is contained in:
parent
5ce869d58a
commit
f672bf9eab
2 changed files with 13 additions and 7 deletions
|
@ -150,6 +150,17 @@ impl<UI: 'static + UIProvider> FileManager<UI> {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn promote_memory(&self,
|
||||||
|
blob_buf: BlobBuf,
|
||||||
|
set_valid: bool,
|
||||||
|
sender: IpcSender<Result<Uuid, BlobURLStoreError>>,
|
||||||
|
origin: FileOrigin) {
|
||||||
|
let store = self.store.clone();
|
||||||
|
spawn_named("transfer memory".to_owned(), move || {
|
||||||
|
store.promote_memory(blob_buf, set_valid, sender, origin);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/// Message handler
|
/// Message handler
|
||||||
pub fn handle(&self, msg: FileManagerThreadMsg, cancel_listener: Option<CancellationListener>) {
|
pub fn handle(&self, msg: FileManagerThreadMsg, cancel_listener: Option<CancellationListener>) {
|
||||||
match msg {
|
match msg {
|
||||||
|
@ -171,10 +182,7 @@ impl<UI: 'static + UIProvider> FileManager<UI> {
|
||||||
self.read_file(sender, id, check_url_validity, origin, cancel_listener);
|
self.read_file(sender, id, check_url_validity, origin, cancel_listener);
|
||||||
}
|
}
|
||||||
FileManagerThreadMsg::PromoteMemory(blob_buf, set_valid, sender, origin) => {
|
FileManagerThreadMsg::PromoteMemory(blob_buf, set_valid, sender, origin) => {
|
||||||
let store = self.store.clone();
|
self.promote_memory(blob_buf, set_valid, sender, origin);
|
||||||
spawn_named("transfer memory".to_owned(), move || {
|
|
||||||
store.promote_memory(blob_buf, set_valid, sender, origin);
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
FileManagerThreadMsg::AddSlicedURLEntry(id, rel_pos, sender, origin) =>{
|
FileManagerThreadMsg::AddSlicedURLEntry(id, rel_pos, sender, origin) =>{
|
||||||
self.store.add_sliced_url_entry(id, rel_pos, sender, origin);
|
self.store.add_sliced_url_entry(id, rel_pos, sender, origin);
|
||||||
|
|
|
@ -98,7 +98,6 @@ fn test_fetch_aboutblank() {
|
||||||
fn test_fetch_blob() {
|
fn test_fetch_blob() {
|
||||||
use ipc_channel::ipc;
|
use ipc_channel::ipc;
|
||||||
use net_traits::blob_url_store::BlobBuf;
|
use net_traits::blob_url_store::BlobBuf;
|
||||||
use net_traits::filemanager_thread::FileManagerThreadMsg;
|
|
||||||
|
|
||||||
let context = new_fetch_context(None);
|
let context = new_fetch_context(None);
|
||||||
|
|
||||||
|
@ -113,8 +112,7 @@ fn test_fetch_blob() {
|
||||||
let origin = ServoUrl::parse("http://www.example.org/").unwrap();
|
let origin = ServoUrl::parse("http://www.example.org/").unwrap();
|
||||||
|
|
||||||
let (sender, receiver) = ipc::channel().unwrap();
|
let (sender, receiver) = ipc::channel().unwrap();
|
||||||
let message = FileManagerThreadMsg::PromoteMemory(blob_buf, true, sender, "http://www.example.org".into());
|
context.filemanager.promote_memory(blob_buf, true, sender, "http://www.example.org".into());
|
||||||
context.filemanager.handle(message, None);
|
|
||||||
let id = receiver.recv().unwrap().unwrap();
|
let id = receiver.recv().unwrap().unwrap();
|
||||||
let url = ServoUrl::parse(&format!("blob:{}{}", origin.as_str(), id.simple())).unwrap();
|
let url = ServoUrl::parse(&format!("blob:{}{}", origin.as_str(), id.simple())).unwrap();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue