mirror of
https://github.com/servo/servo.git
synced 2025-08-02 12:10:29 +01:00
IFrame elements now manage FrameIds rather than the constellation.
This commit is contained in:
parent
86f31d0dc7
commit
f53408df80
7 changed files with 169 additions and 177 deletions
|
@ -57,7 +57,7 @@ use js::jsapi::{GCTraceKindToAscii, Heap, JSObject, JSTracer, TraceKind};
|
|||
use js::jsval::JSVal;
|
||||
use js::rust::Runtime;
|
||||
use libc;
|
||||
use msg::constellation_msg::{FrameType, PipelineId, ReferrerPolicy, WindowSizeType};
|
||||
use msg::constellation_msg::{FrameId, FrameType, PipelineId, ReferrerPolicy, WindowSizeType};
|
||||
use net_traits::{Metadata, NetworkError, ResourceThreads};
|
||||
use net_traits::filemanager_thread::RelativePos;
|
||||
use net_traits::image::base::{Image, ImageMetadata};
|
||||
|
@ -308,7 +308,7 @@ no_jsmanaged_fields!(PropertyDeclarationBlock);
|
|||
no_jsmanaged_fields!(HashSet<T>);
|
||||
// These three are interdependent, if you plan to put jsmanaged data
|
||||
// in one of these make sure it is propagated properly to containing structs
|
||||
no_jsmanaged_fields!(FrameType, WindowSizeData, WindowSizeType, PipelineId);
|
||||
no_jsmanaged_fields!(FrameId, FrameType, WindowSizeData, WindowSizeType, PipelineId);
|
||||
no_jsmanaged_fields!(TimerEventId, TimerSource);
|
||||
no_jsmanaged_fields!(WorkerId);
|
||||
no_jsmanaged_fields!(QuirksMode);
|
||||
|
|
|
@ -38,7 +38,7 @@ use dom::window::{ReflowReason, Window};
|
|||
use ipc_channel::ipc;
|
||||
use js::jsapi::{JSAutoCompartment, JSContext, MutableHandleValue};
|
||||
use js::jsval::{NullValue, UndefinedValue};
|
||||
use msg::constellation_msg::{FrameType, LoadData, PipelineId, TraversalDirection};
|
||||
use msg::constellation_msg::{FrameType, FrameId, LoadData, PipelineId, TraversalDirection};
|
||||
use net_traits::response::HttpsState;
|
||||
use script_layout_interface::message::ReflowQueryType;
|
||||
use script_traits::{IFrameLoadInfo, MozBrowserEvent, ScriptMsg as ConstellationMsg};
|
||||
|
@ -67,6 +67,7 @@ bitflags! {
|
|||
#[dom_struct]
|
||||
pub struct HTMLIFrameElement {
|
||||
htmlelement: HTMLElement,
|
||||
frame_id: FrameId,
|
||||
pipeline_id: Cell<Option<PipelineId>>,
|
||||
sandbox: MutNullableHeap<JS<DOMTokenList>>,
|
||||
sandbox_allowance: Cell<Option<SandboxAllowance>>,
|
||||
|
@ -130,6 +131,7 @@ impl HTMLIFrameElement {
|
|||
let load_info = IFrameLoadInfo {
|
||||
load_data: load_data,
|
||||
parent_pipeline_id: global_scope.pipeline_id(),
|
||||
frame_id: self.frame_id,
|
||||
old_pipeline_id: old_pipeline_id,
|
||||
new_pipeline_id: new_pipeline_id,
|
||||
sandbox: sandboxed,
|
||||
|
@ -181,6 +183,7 @@ impl HTMLIFrameElement {
|
|||
document: &Document) -> HTMLIFrameElement {
|
||||
HTMLIFrameElement {
|
||||
htmlelement: HTMLElement::new_inherited(local_name, prefix, document),
|
||||
frame_id: FrameId::new(),
|
||||
pipeline_id: Cell::new(None),
|
||||
sandbox: Default::default(),
|
||||
sandbox_allowance: Cell::new(None),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue