mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
First part of refactoring constellation to support iframe navigation.
The history is now recorded per frame, but needs to be exposed in a followup PR. Also fixes a race condition that occurs loading iframes under heavy CPU load. This ensures that iframes never do a reflow / layout until they have a valid window size set from their parent frame.
This commit is contained in:
parent
0888a3a16d
commit
939a89568e
11 changed files with 587 additions and 921 deletions
|
@ -26,7 +26,7 @@ impl ConstellationChan {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Eq, Copy)]
|
||||
#[derive(PartialEq, Eq, Copy, Debug)]
|
||||
pub enum IFrameSandboxState {
|
||||
IFrameSandboxed,
|
||||
IFrameUnsandboxed
|
||||
|
@ -36,7 +36,7 @@ pub enum IFrameSandboxState {
|
|||
#[derive(Clone, Copy)]
|
||||
pub struct Failure {
|
||||
pub pipeline_id: PipelineId,
|
||||
pub parent: Option<(PipelineId, SubpageId)>,
|
||||
pub parent_info: Option<(PipelineId, SubpageId)>,
|
||||
}
|
||||
|
||||
#[derive(Copy)]
|
||||
|
@ -236,19 +236,15 @@ impl LoadData {
|
|||
}
|
||||
}
|
||||
|
||||
/// Represents the two different ways to which a page can be navigated
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug)]
|
||||
pub enum NavigationType {
|
||||
Load, // entered or clicked on a url
|
||||
Navigate, // browser forward/back buttons
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug)]
|
||||
pub enum NavigationDirection {
|
||||
Forward,
|
||||
Back,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug)]
|
||||
pub struct FrameId(pub uint);
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug)]
|
||||
pub struct PipelineId(pub uint);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue