mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Inline prepare_async_load.
This commit is contained in:
parent
8d01baaf44
commit
e4c0007d04
1 changed files with 10 additions and 19 deletions
|
@ -49,7 +49,7 @@ impl LoadType {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Canary value ensuring that manually added blocking loads (ie. ones that weren't
|
/// Canary value ensuring that manually added blocking loads (ie. ones that weren't
|
||||||
/// created via DocumentLoader::prepare_async_load) are always removed by the time
|
/// created via DocumentLoader::{load_async, fetch_async}) are always removed by the time
|
||||||
/// that the owner is destroyed.
|
/// that the owner is destroyed.
|
||||||
#[derive(JSTraceable, HeapSizeOf)]
|
#[derive(JSTraceable, HeapSizeOf)]
|
||||||
#[must_root]
|
#[must_root]
|
||||||
|
@ -123,30 +123,21 @@ impl DocumentLoader {
|
||||||
self.blocking_loads.push(load);
|
self.blocking_loads.push(load);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Create a new pending network request, which can be initiated at some point in
|
|
||||||
/// the future.
|
|
||||||
pub fn prepare_async_load(&mut self,
|
|
||||||
load: LoadType,
|
|
||||||
referrer: &Document,
|
|
||||||
referrer_policy: Option<ReferrerPolicy>) -> PendingAsyncLoad {
|
|
||||||
let context = load.to_load_context();
|
|
||||||
let url = load.url().clone();
|
|
||||||
self.add_blocking_load(load);
|
|
||||||
PendingAsyncLoad::new(context,
|
|
||||||
self.resource_threads.sender(),
|
|
||||||
url,
|
|
||||||
self.pipeline,
|
|
||||||
referrer_policy.or(referrer.get_referrer_policy()),
|
|
||||||
Some(referrer.url().clone()))
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Create and initiate a new network request.
|
/// Create and initiate a new network request.
|
||||||
pub fn load_async(&mut self,
|
pub fn load_async(&mut self,
|
||||||
load: LoadType,
|
load: LoadType,
|
||||||
listener: AsyncResponseTarget,
|
listener: AsyncResponseTarget,
|
||||||
referrer: &Document,
|
referrer: &Document,
|
||||||
referrer_policy: Option<ReferrerPolicy>) {
|
referrer_policy: Option<ReferrerPolicy>) {
|
||||||
let pending = self.prepare_async_load(load, referrer, referrer_policy);
|
let context = load.to_load_context();
|
||||||
|
let url = load.url().clone();
|
||||||
|
self.add_blocking_load(load);
|
||||||
|
let pending = PendingAsyncLoad::new(context,
|
||||||
|
self.resource_threads.sender(),
|
||||||
|
url,
|
||||||
|
self.pipeline,
|
||||||
|
referrer_policy.or(referrer.get_referrer_policy()),
|
||||||
|
Some(referrer.url().clone()));
|
||||||
pending.load_async(listener)
|
pending.load_async(listener)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue