mirror of
https://github.com/servo/servo.git
synced 2025-08-02 20:20:14 +01:00
Make non-initial about:blank loads asynchronous
Don't update iframe pipeline until load completes To preserve the previous functionality of delaying load events when a new navigation is triggered, pending pipeline id represents the current pending load. The load event is only fired if the load message's pipeline id matches the pending pipeline id. Track frame size on Frame instead of Pipeline Disabled matchMedia test Track creator pipeline id
This commit is contained in:
parent
f579405510
commit
d004db95cf
18 changed files with 305 additions and 200 deletions
|
@ -26,7 +26,7 @@ use ipc_channel::ipc::IpcSender;
|
|||
use layout_debug;
|
||||
use model::{self, IntrinsicISizes, IntrinsicISizesContribution, MaybeAuto, SizeConstraint};
|
||||
use model::{style_length, ToGfxMatrix};
|
||||
use msg::constellation_msg::PipelineId;
|
||||
use msg::constellation_msg::{FrameId, PipelineId};
|
||||
use net_traits::image::base::{Image, ImageMetadata};
|
||||
use net_traits::image_cache::{ImageOrMetadataAvailable, UsePlaceholder};
|
||||
use range::*;
|
||||
|
@ -467,19 +467,23 @@ impl ImageFragmentInfo {
|
|||
}
|
||||
}
|
||||
|
||||
/// A fragment that represents an inline frame (iframe). This stores the pipeline ID so that the
|
||||
/// A fragment that represents an inline frame (iframe). This stores the frame ID so that the
|
||||
/// size of this iframe can be communicated via the constellation to the iframe's own layout thread.
|
||||
#[derive(Clone)]
|
||||
pub struct IframeFragmentInfo {
|
||||
/// The pipeline ID of this iframe.
|
||||
/// The frame ID of this iframe.
|
||||
pub frame_id: FrameId,
|
||||
/// The pipelineID of this iframe.
|
||||
pub pipeline_id: PipelineId,
|
||||
}
|
||||
|
||||
impl IframeFragmentInfo {
|
||||
/// Creates the information specific to an iframe fragment.
|
||||
pub fn new<N: ThreadSafeLayoutNode>(node: &N) -> IframeFragmentInfo {
|
||||
let frame_id = node.iframe_frame_id();
|
||||
let pipeline_id = node.iframe_pipeline_id();
|
||||
IframeFragmentInfo {
|
||||
frame_id: frame_id,
|
||||
pipeline_id: pipeline_id,
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue