diff options
author | GauriGNaik <gaurinaik.145@gmail.com> | 2015-12-04 19:19:21 -0500 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2015-12-14 11:18:30 -0500 |
commit | fc81276c8ef755a7b5c5b21ce5a58c4824efdd90 (patch) | |
tree | 8a221f4f7316cd41fd147bc4369b1bc9259ce387 /components/script/dom | |
parent | 6032f8225b765dd5a0645118d7b43fa5913f9431 (diff) | |
download | servo-fc81276c8ef755a7b5c5b21ce5a58c4824efdd90.tar.gz servo-fc81276c8ef755a7b5c5b21ce5a58c4824efdd90.zip |
Add pipeline information to CSS error reporting.
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/cssstyledeclaration.rs | 2 | ||||
-rw-r--r-- | components/script/dom/document.rs | 8 | ||||
-rw-r--r-- | components/script/dom/element.rs | 2 | ||||
-rw-r--r-- | components/script/dom/window.rs | 4 |
4 files changed, 12 insertions, 4 deletions
diff --git a/components/script/dom/cssstyledeclaration.rs b/components/script/dom/cssstyledeclaration.rs index 64b6f738d2f..cbffda3e834 100644 --- a/components/script/dom/cssstyledeclaration.rs +++ b/components/script/dom/cssstyledeclaration.rs @@ -11,6 +11,7 @@ use dom::bindings::reflector::{Reflector, reflect_dom_object}; use dom::element::{Element, StylePriority}; use dom::node::{Node, NodeDamage, document_from_node, window_from_node}; use dom::window::Window; +use msg::ParseErrorReporter; use selectors::parser::PseudoElement; use std::ascii::AsciiExt; use std::borrow::ToOwned; @@ -18,7 +19,6 @@ use std::cell::Ref; use string_cache::Atom; use style::properties::{PropertyDeclaration, Shorthand}; use style::properties::{is_supported_property, parse_one_declaration}; -use style_traits::ParseErrorReporter; use util::str::{DOMString, str_join}; // http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 299df8d592d..1d7c7c43eb3 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -89,6 +89,7 @@ use net_traits::ControlMsg::{GetCookiesForUrl, SetCookiesForUrl}; use net_traits::CookieSource::NonHTTP; use net_traits::{AsyncResponseTarget, PendingAsyncLoad}; use num::ToPrimitive; +use script_task::CSSError; use script_task::{MainThreadScriptMsg, Runnable}; use script_traits::{ScriptMsg as ConstellationMsg, TouchEventType, TouchId, UntrustedNodeAddress}; use std::ascii::AsciiExt; @@ -203,6 +204,8 @@ pub struct Document { dom_content_loaded_event_start: Cell<u64>, dom_content_loaded_event_end: Cell<u64>, dom_complete: Cell<u64>, + /// Vector to store CSS errors + css_errors_store: DOMRefCell<Vec<CSSError>>, } impl PartialEq for Document { @@ -294,6 +297,10 @@ impl Document { self.is_html_document } + pub fn report_css_error(&self, css_error: CSSError) { + self.css_errors_store.borrow_mut().push(css_error); + } + // https://html.spec.whatwg.org/multipage/#fully-active pub fn is_fully_active(&self) -> bool { let browsing_context = self.window.browsing_context(); @@ -1495,6 +1502,7 @@ impl Document { dom_content_loaded_event_start: Cell::new(Default::default()), dom_content_loaded_event_end: Cell::new(Default::default()), dom_complete: Cell::new(Default::default()), + css_errors_store: DOMRefCell::new(vec![]), } } diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index e47879051e7..3a7e7f861f2 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -63,6 +63,7 @@ use html5ever::serialize::SerializeOpts; use html5ever::serialize::TraversalScope; use html5ever::serialize::TraversalScope::{ChildrenOnly, IncludeNode}; use html5ever::tree_builder::{LimitedQuirks, NoQuirks, Quirks}; +use msg::ParseErrorReporter; use selectors::matching::{DeclarationBlock, matches}; use selectors::matching::{common_style_affecting_attributes, rare_style_affecting_attributes}; use selectors::parser::{AttrSelector, NamespaceConstraint, parse_author_origin_selector_list_from_str}; @@ -80,7 +81,6 @@ use style::properties::longhands::{self, background_image, border_spacing, font_ use style::properties::{PropertyDeclaration, PropertyDeclarationBlock, parse_style_attribute}; use style::values::CSSFloat; use style::values::specified::{self, CSSColor, CSSRGBA, LengthOrPercentage}; -use style_traits::ParseErrorReporter; use url::UrlParser; use util::mem::HeapSizeOf; use util::str::{DOMString, LengthOrPercentageOrAuto}; diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index a0ca6cfa432..0c0b1c01445 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -42,6 +42,7 @@ use js::rust::Runtime; use layout_interface::{ContentBoxResponse, ContentBoxesResponse, ResolvedStyleResponse, ScriptReflow}; use layout_interface::{LayoutChan, LayoutRPC, Msg, Reflow, ReflowGoal, ReflowQueryType}; use libc; +use msg::ParseErrorReporter; use msg::compositor_msg::{LayerId, ScriptToCompositorMsg}; use msg::constellation_msg::{ConstellationChan, LoadData, PipelineId, SubpageId, WindowSizeData}; use msg::webdriver_msg::{WebDriverJSError, WebDriverJSResult}; @@ -71,7 +72,6 @@ use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::mpsc::TryRecvError::{Disconnected, Empty}; use std::sync::mpsc::{Sender, channel}; use string_cache::Atom; -use style_traits::ParseErrorReporter; use time; use timers::{ActiveTimers, IsInterval, ScheduledCallback, TimerCallback, TimerHandle}; use url::Url; @@ -1272,7 +1272,7 @@ impl Window { lchan.send(Msg::GetRPC(rpc_send)).unwrap(); rpc_recv.recv().unwrap() }; - let error_reporter = CSSErrorReporter; + let error_reporter = CSSErrorReporter { pipelineid: id }; let win = box Window { eventtarget: EventTarget::new_inherited(), script_chan: script_chan, |